@charset "UTF-8";

/*
Theme Name: BASARA
Theme URI: https://tcd-theme.com/tcd100/
Description: "BASARA" is designed with the concept of Japanese-style confectionary store. It is the perfect WordPress theme for online stores related to sake, Japanese sweets, and Japanese culture. It functions as an e-commerce site with a sophisticated design that enhances the brand power of your products.
Author: TCD
Author URI: https://tcd-theme.com/
Version: 1.1.4
Text Domain: tcd-basara
Requires at least: 6.0
Requires PHP: 7.4
*/

/**
 * Reset
 */

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
	padding: 0;
	margin: 0;
	font-size: 100%;
	vertical-align: baseline;
	border: 0;
	outline: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
	display: block;
}

audio,
canvas,
video {
	display: inline-block;
	max-width: 100%;
}

html {
	-webkit-text-size-adjust: 100%;
}

ul,
ol {
	list-style: none;
}

blockquote,
q {
	quotes: none;
}

blockquote::before,
blockquote::after,
q::before,
q::after {
	content: "";
	content: none;
}

a:focus {
	outline: none;
}

ins {
	text-decoration: none;
}

mark {
	font-style: italic;
	font-weight: 600;
}

del {
	text-decoration: line-through;
}

abbr[title],
dfn[title] {
	cursor: help;
	border-bottom: 1px dotted;
}

table {
	width: 100%;
	border-spacing: 0;
	border-collapse: collapse;
}

hr {
	display: block;
	height: 1px;
	padding: 0;
	margin: 1em 0;
	border: 0;
	border-top: 1px solid #ddd;
}

button,
input,
select,
textarea {
	box-sizing: border-box;
	font-size: 100%;
	color: inherit;
	outline: 0;
}

input,
textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border-radius: 0;
}

input[type="checkbox"] {
	-webkit-appearance: checkbox;
}

input[type="radio"] {
	-webkit-appearance: radio;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
	padding: 0;
	border: 0;
}

/**
 * web fonts ウェブフォントファイルを変更した場合はv=1.0の数字を変更（キャッシュ対策）
 */
@font-face {
	font-family: "design_plus";
	font-style: normal;
	font-weight: normal;
	src: url("fonts/design_plus.eot?v=1.0");
	src:
		url("fonts/design_plus.eot?v=1.0#iefix") format("embedded-opentype"),
		url("fonts/design_plus.woff?v=1.0") format("woff"),
		url("fonts/design_plus.ttf?v=1.0") format("truetype"),
		url("fonts/design_plus.svg?v=1.0#design_plus") format("svg");
}

@font-face {
	font-family: "footer_bar";
	font-style: normal;
	font-weight: normal;
	src: url("fonts/footer_bar.eot?v=1.0");
	src:
		url("fonts/footer_bar.eot?v=1.0#iefix") format("embedded-opentype"),
		url("fonts/footer_bar.woff?v=1.0") format("woff"),
		url("fonts/footer_bar.ttf?v=1.0") format("truetype"),
		url("fonts/footer_bar.svg?v=1.0#footer_bar") format("svg");
}
@font-face {
  font-family: 'tiktok_x_icon';
  src: url('fonts/tiktok_x_icon.eot?v=1.0');
  src: url('fonts/tiktok_x_icon.eot?v=1.0#iefix') format('embedded-opentype'),
       url('fonts/tiktok_x_icon.woff?v=1.0') format('woff'),
       url('fonts/tiktok_x_icon.ttf?v=1.0') format('truetype'),
       url('fonts/tiktok_x_icon.svg?v=1.0#tiktok_x_icon') format('svg');
  font-weight: normal;
  font-style: normal;
}

/**
 * Base
 */

:root,
::before,
::after {
	--tcd-font-type1: arial, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", meiryo, sans-serif;
	--tcd-font-type2: arial, "Hiragino Sans", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "游ゴシック", yugothic, "メイリオ", meiryo, sans-serif;
	--tcd-font-type3: "Times New Roman", times, "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
	--tcd-accent-color: #729b23;
	--tcd-link-color: #729b23;
	--tcd-headerbar-height: 102px;
	--tcd-header-content-headline-font-size: 34px;
	--tcd-header-content-color: #fff;
	--tcd-header-content-bg-color: transparent;
	--tcd-header-headline-font-type: var(--tcd-font-type3);
	--tcd-header-headline-font-weight: 600;
	--tcd-header-headline-color: #000;
	--tcd-header-headline-font-size: 26px;
	--tcd-header-headline-bg-color: #fff;
	--tcd-header-overlay-color: transparent;
	--tcd-headline-font-size: 32px;
	--tcd-headline-font-type: var(--tcd-font-type3);
	--tcd-headline-font-weight: 600;
	--tcd-font-type: var(--tcd-font-type2);
	--tcd-root-font-color: #000;
	--tcd-root-font-size: 16px;
	--tcd-line-height: 2.4;
	--tcd-line-height-offset: calc((var(--tcd-line-height) - 1) * -0.5em);
	--tcd-image-effect-transform: scale(1);
	--tcd-image-effect-transition-property: none;
	--tcd-image-effect-transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
	--tcd-image-effect-transition-duration: 0.5s;
	--tcd-image-effect-hover-transform: none;
	--tcd-image-effect-hover-opacity: 1;
	--tcd-image-effect-hover-bg-color: transparent;
	--tcd-header-logo-font-size: 34px;
	--tcd-footer-logo-font-size: 34px;
	--tcd-single-title-font-size: 26px;
	--tcd-single-content-font-size: 16px;
	--tcd-header-cart-badge-bg-color: #729b23;
	--tcd-header-cart-badge-color: #fff;
	--tcd-product-badge-new-color: #6c975e;
	--tcd-product-badge-sale-color: #c4837a;
	--tcd-product-badge-featured-color: #d2b460;
	--tcd-product-archive-outofstock-color: rgba(183, 39, 19, 0.7);
	--tcd-product-wishlist-message-bg-color: #000;
	--tcd-footer-images-bg-color: #3a4c1c;
	--tcd-copyright-bg-color: #3a4c1c;
	--tcd-copyright-color: #fff;
	--tcd-qt-google-map-marker-color: #fff;
	--tcd-qt-google-map-marker-bg-color: #000;
	--tcd-modal-cta-catch-font-size: 20px;
}

:root {
	font-size: var(--tcd-root-font-size);
}

@media (max-width: 991px) {
	:root,
	::before,
	::after {
		--tcd-line-height: 2.2;
		--tcd-headline-font-size: 22px;
		--tcd-headerbar-height: 60px;
		--tcd-header-logo-font-size: 28px;
		--tcd-footer-logo-font-size: 28px;
		--tcd-header-content-headline-font-size: 24px;
		--tcd-header-headline-font-size: 22px;
		--tcd-single-title-font-size: 20px;
	}
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	position: relative;
	overflow-x: hidden;
	overflow-y: auto;
	background: #fff;
	scroll-padding-top: calc(var(--tcd-headerbar-height) + 50px);
}

body {
	width: 100%;
	min-width: 320px;
	font-family: var(--tcd-font-type, sans-serif);
	font-size: 16px;
	line-height: 1;
	color: var(--tcd-root-font-color);
	word-break: break-word;
	word-wrap: break-word;
	overflow-wrap: break-word;
	-webkit-font-smoothing: antialiased;
}

a {
	color: var(--tcd-root-font-color);
	text-decoration: none;
}

b,
strong {
	font-weight: 600;
}

big {
	font-size: larger;
}

small {
	font-size: 80%;
}

sub {
	font-size: smaller;
	vertical-align: sub;
}

sup {
	font-size: smaller;
	vertical-align: super;
}

i,
cite,
em,
var,
address,
dfn {
	font-style: italic;
}

tt,
code,
kbd,
samp {
	font-family: monospace;
}

u,
ins {
	text-decoration: underline;
}

button,
input[type="button"],
input[type="submit"] {
	color: var(--tcd-root-font-color);
}

a,
input,
button,
.p-button,
.p-article-title,
.p-article-like,
.p-megamenu01 .p-megamenu-list-item-title,
.p-megamenu02 .p-megamenu-list-item-title,
.p-megamenu02 .p-megamenu-archive-item-title,
.p-ranking-tab,
.p-featured-child-title,
.p-featured-child-catch {
	transition-timing-function: ease;
	transition-duration: 0.3s;
	transition-property: background-color, border-color, color, opacity;
}

@media (hover: hover) and (pointer: fine) {
	a:hover {
		color: var(--tcd-accent-color);
	}
}

@media (max-width: 991px) {
	html {
		scroll-padding-top: calc(var(--tcd-headerbar-height) + 40px);
	}
}

/**
 * Layout
 */

/* Header */
.l-header {
	position: relative;
	z-index: 98;
	height: var(--tcd-headerbar-height);
}

.l-header-bar {
	position: relative;
	z-index: 999;
	width: 100%;
	background-color: #fff;
}

body.l-header-fix.is-header-fixed .l-header-bar {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	animation: headerSlideDown 0.5s ease;
}

body.l-header-fix.is-header-fixed .l-header-bar::after {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	content: "";
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

body.l-header-fix.is-header-fixed.is-header-fixed-hiding .l-header {
	overflow: hidden;
}

body.l-header-fix.is-header-fixed.is-header-fixed-hiding .l-header-bar {
	animation: headerSlideUp 0.5s ease;
}

@keyframes headerSlideDown {
	0% {
		transform: translate3d(0, -100%, 0);
	}

	100% {
		transform: translate3d(0, 0, 0);
	}
}

@keyframes headerSlideUp {
	0% {
		transform: translate3d(0, 0, 0);
	}

	100% {
		transform: translate3d(0, -100%, 0);
	}
}

/* Footer */
.l-footer {}

/* Inner */
.l-inner {
	max-width: 1100px;
	padding-right: 40px;
	padding-left: 40px;
	margin-right: auto;
	margin-left: auto;
}

.l-inner02 {
	max-width: 800px;
	margin-right: auto;
	margin-left: auto;
}

.l-inner03 {
	margin-right: 40px;
	margin-left: 40px;
}

@media (max-width: 991px) {
	.l-inner,
	.l-inner02,
	.l-inner03 {
		max-width: none;
		padding-right: 20px;
		padding-left: 20px;
		margin-right: 0;
		margin-left: 0;
	}

	.l-inner .l-inner,
	.l-inner .l-inner02,
	.l-inner .l-inner03,
	.l-inner02 .l-inner,
	.l-inner02 .l-inner02,
	.l-inner02 .l-inner03,
	.l-inner03 .l-inner,
	.l-inner03 .l-inner02,
	.l-inner03 .l-inner03 {
		padding-right: 0;
		padding-left: 0;
	}
}

/* main */
.l-main {
	position: relative;
}

.l-main-inner {
	margin-top: 50px;
	margin-bottom: 150px;
}

.l-header + .l-main {
	border-top: 1px solid #ddd;
}

body.hide-main-top-border .l-header + .l-main {
	border-top: none;
}

@media (max-width: 991px) {
	.l-main-inner {
		margin-top: 40px;
		margin-bottom: 40px;
	}
}

/* sidebar */
@media (min-width: 992px) {
	body.sidebar-left .l-main-inner,
	body.sidebar-right .l-main-inner {
		display: flex;
		justify-content: space-between;
	}

	body.sidebar-left .l-main-inner .l-primary,
	body.sidebar-right .l-main-inner .l-primary {
		width: calc(100% - 340px);
	}

	body.sidebar-left .l-main-inner .l-secondary,
	body.sidebar-right .l-main-inner .l-secondary {
		width: 300px;
	}

	body.sidebar-left .l-main-inner {
		flex-direction: row-reverse;
	}
}

@media (max-width: 991px) {
	.l-secondary {
		margin-top: 40px;
	}
}

/* adminbar */
@media (min-width: 783px) {
	body.admin-bar {
		padding-top: 32px;
	}

	body.admin-bar.is-header-fixed .l-header-bar {
		top: 32px;
	}
}

@media (max-width: 782px) {
	body.admin-bar {
		padding-top: 46px;
	}

	body.admin-bar.is-header-fixed .l-header-bar {
		top: 46px;
	}
}

@media (max-width: 600px) {
	body.admin-bar.is-header-fixed .l-header-bar {
		top: 0;
	}
}

/**
 * Component
 */

/* icon button */
button.c-icon-button {
	padding: 0;
	font-family: "design_plus";
	cursor: pointer;
	background: transparent;
	border: none;
	border-radius: 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

/* font type */
.c-font-type1 {
	font-family: var(--tcd-font-type1) !important;
}

.c-font-type2 {
	font-family: var(--tcd-font-type2) !important;
}

.c-font-type3 {
	font-family: var(--tcd-font-type3) !important;
	font-weight: 500;
}

/* breadcrumb */
.c-breadcrumb-item {
	display: inline;
}

.c-breadcrumb-item-home a::before {
	font-family: "design_plus";
	content: "\e90c";
}

.c-breadcrumb-item-home span {
	display: none;
}

/* コメント */
.c-comment {
	margin-top: 60px;
}

.c-comment-tab {
	display: flex;
	margin-bottom: 25px;
}

.c-comment-tab-item {
	display: flex;
	flex: 1;
	text-align: center;
}

.c-comment-tab-item a,
.c-comment-tab-item p {
	display: block;
	width: 100%;
	padding: 15px;
	font-size: 14px;
	line-height: 1.8;
	color: var(--tcd-root-font-color);
	text-decoration: none;
	background: #fff;
	border-color: #ddd;
	border-style: solid;
	border-width: 1px 0 1px 1px;
}

.c-comment-tab-item:last-child > * {
	border-right-width: 1px;
}

.c-comment-tab-item.is-active a,
.c-comment-tab-item.is-active p {
	position: relative;
	color: #000;
	background-color: #eee;
}

.c-comment-tab-item.is-active a::after,
.c-comment-tab-item.is-active p::after {
	position: absolute;
	right: 0;
	bottom: -12px;
	left: 0;
	width: 0;
	height: 0;
	margin: auto;
	content: "";
	border-style: solid;
	border-width: 6px;
	border-top-color: #ddd;
	border-right-color: transparent;
	border-bottom-color: transparent;
	border-left-color: transparent;
}

@media (hover: hover) and (pointer: fine) {
	.c-comment-tab-item:not(.is-active) a:hover {
		color: #fff;
		background-color: var(--tcd-accent-color);
		border-color: var(--tcd-accent-color);
	}
}

@media (max-width: 992px) {
	.c-comment {
		margin-top: 40px;
		margin-bottom: 40px;
	}
}

@media (max-width: 767px) {
	.c-comment-item-act {
		position: static;
		padding-left: 0;
		margin-top: 10px;
	}

	.c-comment-tab-item a,
	.c-comment-tab-item p {
		padding: 9px 10px;
	}

	.c-comment-tab-item.is-active a,
	.c-comment-tab-item.is-active p {
		display: flex;
		align-items: center;
		justify-content: center;
	}
}

.c-comment-list-item {
	padding: 15px 20px 0;
	margin-bottom: 15px;
	background: #fff;
	border: 1px solid #ddd;
}

.c-comment-item-body {
	font-size: 14px;
	line-height: var(--tcd-line-height);
}

.c-comment-item-body p {
	margin-bottom: 15px;
}

.c-comment-item-header {
	position: relative;
	margin-bottom: 10px;
}

.c-comment-item-meta img.avatar {
	float: left;
	width: 40px;
	height: 40px;
	margin-right: 10px;
	border-radius: 50%;
}

.c-comment-item-author {
	display: block;
	margin-bottom: 9px;
}

a.c-comment-item-author {
	text-decoration: underline;
}

.c-comment-item-date {
	display: block;
	font-size: 14px;
	color: #999;
}

.c-comment-item-act {
	position: absolute;
	top: 0;
	right: 0;
	padding-left: 10px;
	margin-top: 5px;
	font-size: 14px;
}

.c-comment-item-act > li {
	display: inline;
	padding-right: 10px;
	margin-right: 6px;
	border-right: 1px solid #aaa;
}

.c-comment-item-act > li:last-child {
	padding-right: 0;
	margin-right: 0;
	border-right: 0;
}

.c-comment-item-note {
	display: block;
	padding: 10px 15px;
	margin-bottom: 1em;
	font-size: 12px;
	color: #33a8e5;
	background: #d6f4f0;
	border: 1px solid #94ddd4;
}

.c-comment-trackback-url {
	padding: 10px;
	font-size: 14px;
	background: #fafafa;
}

/* コメントフォーム */
.c-comment-form-wrapper {
	padding: 15px;
	margin-top: 30px;
	background: #fff;
	border: 1px solid #ddd;
}

.c-comment-cancel {
	margin-bottom: 1em;
	font-size: 12px;
	color: #666;
}

.c-comment-cancel a {
	color: #666;
}

.c-comment-cancel a::before {
	display: inline-block;
	font-family: "design_plus";
	content: "\e910";
}

.c-comment-form-login {
	font-size: 14px;
	color: #666;
}

.c-comment-form-login a {
	color: #666;
}

.c-comment-input {
	margin-bottom: 12px;
	text-align: left;
}

.c-comment-input input {
	width: 100%;
	padding: 5px;
	border: 1px solid #ddd;
}

.c-comment-input textarea {
	width: 100%;
	height: 150px;
	padding: 5px;
	margin-top: 15px;
	overflow: auto;
	line-height: 1.5;
	border: 1px solid #ddd;
}

.c-comment-label-text {
	display: block;
	margin-bottom: 5px;
	font-size: 14px;
	color: #666;
}

.c-comment-form-submit.p-button {
	display: block;
	margin: 15px auto 0;
}

.c-comment-form-hidden {
	display: none;
}

/* パスワード保護 */
.c-comment-password-protected {
	padding: 10px 20px;
	color: #fff;
	text-align: center;
	background-color: #000;
	border-radius: 5px;
}

.c-comment-password-protected p {
	font-size: 12px;
	line-height: 1.6;
}

/* meta box */
.c-meta-box {
	font-size: 12px;
}

.c-meta-box-item {
	position: relative;
	float: left;
	padding-right: 12px;
	padding-left: 20px;
	margin-right: 12px;
	margin-bottom: 5px;
	border-right: 1px solid #ddd;
}

.c-meta-box-item:last-child {
	padding-right: 0;
	margin-right: 0;
	border-right: none;
}

.c-meta-box-item::before {
	position: absolute;
	left: 0;
	font-family: "design_plus";
	color: #aaa;
}

.c-meta-box-item-author::before {
	content: "\e90d";
}

.c-meta-box-item-category::before {
	content: "\e92f";
}

.c-meta-box-item-tag::before {
	content: "\e935";
}

.c-meta-box-item-comment::before {
	content: "\e916";
}

@media (max-width: 767px) {
	.c-meta-box {
		padding: 0;
		margin-bottom: 10px;
		background: none;
	}

	.c-meta-box-item {
		float: none;
		margin-bottom: 16px;
		border-right: 0;
	}

	.c-meta-box-item:last-child {
		margin-bottom: 0;
	}
}

/* entry nav */
.c-entry-nav {
	display: flex;
}

.c-entry-nav-item {
	position: relative;
	flex: 0 0 50%;
}

.c-entry-nav-item a {
	display: flex;
	align-items: center;
	height: 130px;
	padding: 0 30px;
	font-size: 14px;
	line-height: 1.8;
}

.c-entry-nav-item a span {
	display: -webkit-box;
	max-height: 5.4em;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.c-entry-nav-item-thumbnail {
	flex: 0 0 157px;
	width: 157px;
	height: 108px;
	margin-right: 30px;
	margin-left: -20px;
}

.c-entry-nav-item-prev,
.c-entry-nav-item-next {
	border: 1px solid #ddd;
}

.c-entry-nav-item-prev + .c-entry-nav-item-next {
	border-left: none;
}

.c-entry-nav-item-empty {
	border: none;
}

@media (max-width: 991px) {
	.c-entry-nav {
		border-top: none;
	}

	.c-entry-nav-item {
		width: 50%;
		height: 50px;
		font-size: 12px;
		text-align: center;
	}

	.c-entry-nav-item-prev + .c-entry-nav-item-next {
		border-left: none;
	}

	.c-entry-nav-item a {
		display: block;
		height: 48px;
		line-height: 48px;
	}

	.c-entry-nav-item a span {
		display: none;
	}

	.c-entry-nav-item-prev a {
		padding-right: 0;
	}

	.c-entry-nav-item-next a {
		padding-left: 0;
	}

	.c-entry-nav-item-prev a::after {
		content: attr(data-prev);
	}

	.c-entry-nav-item-next a::before {
		content: attr(data-next);
	}

	.c-entry-nav-item-prev a::before,
	.c-entry-nav-item-next a::after {
		position: absolute;
		top: 0;
		display: block;
		width: 50px;
		font-family: "design_plus";
		font-size: 14px;
		text-align: center;
	}

	.c-entry-nav-item-prev a::before {
		left: 0;
		content: "\e90f";
	}

	.c-entry-nav-item-next a::after {
		right: 0;
		content: "\e910";
	}
}

/* pw */
.c-pw {
	margin-top: 50px;
}

.c-pw-box {
	padding: 40px;
	font-size: 16px;
	border: 1px solid #ddd;
}

.c-pw-box-inner {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	justify-content: center;
	width: 100%;
	height: 50px;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
}

.c-pw-box-desc {
	margin: -0.4em 0 2em !important;
	line-height: 1.8 !important;
}

.c-pw-box-input {
	display: block;
	flex: 1;
	height: 100%;
	padding: 0 20px;
	background: #eee;
	border: none;
}

.c-pw-btn--submit {
	display: block;
	min-width: 150px;
	height: 100%;
	padding: 0 1em;
	color: #fff !important;
	cursor: pointer;
	background: #111;
	border: 0;
}

@media (hover: hover) and (pointer: fine) {
	.c-pw-btn--submit:hover {
		background: var(--tcd-accent-color);
	}
}

@media (max-width: 767px) {
	.c-pw {
		margin-top: 40px;
	}

	.c-pw-box {
		padding: 20px;
		font-size: 14px;
	}

	.c-pw-box-inner {
		height: 40px;
	}

	.c-pw-box-desc {
		margin-bottom: 1em !important;
	}

	.c-pw-box-input {
		width: calc(100% - 100px);
		padding: 0 10px;
	}

	.c-pw-btn--submit {
		width: 100px;
		min-width: auto;
	}
}

/* Share */
.c-share {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
}

.c-share-btn {
	font-size: 12px;
	text-align: center;
}

.c-share-btn a {
	display: block;
	border-radius: 2px;
}

.c-share-icn {
	font-family: "design_plus" !important;
	font-style: normal;
	font-weight: 400;
	font-variant: normal;
	line-height: 1;
	text-transform: none;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	speak: none;
}

.c-share-icn-facebook::before {
	content: "\e903";
}

.c-share-icn-facebook2::before {
	content: "\e902";
}

.c-share-icn-feedly::before {
	content: "\e907";
}

.c-share-icn-hatebu::before {
	content: "\e908";
}

.c-share-icn-line::before {
	content: "\e909";
}

.c-share-icn-pinterest::before {
	content: "\e905";
}

.c-share-icn-pocket::before {
	content: "\e90a";
}

.c-share-icn-rss::before {
	content: "\e90b";
}

.c-share-icn-rss2::before {
	content: "\e906";
}

.c-share-icn-twitter::before {
	font-family: 'tiktok_x_icon'; content: "\e901";
}

.c-share-sm {
	min-width: 27px;
	line-height: 25px;
}

.c-share-sm a {
	padding: 1px 5px 0;
}

.c-share-sm .c-share-icn {
	position: relative;
	top: 3px;
	font-size: 1.3em;
	text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.1);
}

.c-share-sm .c-share-title {
	margin: 0 3px 0 2px;
	line-height: 20px;
}

.c-share-lg {
	gap: 2px;
}

.c-share-lg .c-share-btn {
	flex-basis: calc((100% - 6px) / 4);
	flex-grow: 0;
	flex-shrink: 0;
}

@media (max-width: 374px) {
	.c-share-lg .c-share-btn {
		flex-basis: calc((100% - 2px) / 2);
	}
}

.c-share-lg .c-share-btn a {
	padding: 10px 2px;
}

.c-share-lg .c-share-icn {
	position: relative;
	top: 3px;
	font-size: 140%;
}

.c-share-lg .c-share-title {
	margin: 0 3px 0 4px;
}

.c-share-color a {
	color: #fff;
}

.c-share-color .c-share-btn-twitter a {
	background-color: #000;
}

.c-share-color .c-share-btn-facebook a {
	background-color: #1877f2;
}

.c-share-color .c-share-btn-hatebu a {
	background-color: #3c7dd1;
}

.c-share-color .c-share-btn-pocket a {
	background-color: #ee4056;
}

.c-share-color .c-share-btn-rss a {
	background-color: #ffb53c;
}

.c-share-color .c-share-btn-feedly a {
	background-color: #6cc655;
}

.c-share-color .c-share-btn-pinterest a {
	background-color: #d4121c;
}

.c-share-mono a {
	color: #222;
	background: #fafafa;
	border: 1px solid rgba(0, 0, 0, 0.1);
}

@media (max-width: 767px) {
	.c-share-sm .c-share-icn {
		left: 1px;
	}

	.c-share-sm .c-share-title {
		display: none;
	}
}

.c-share-official {
	align-items: flex-start;
}

.c-share-official .c-share-btn {
	line-height: 1;
}

.c-share-official .c-share-btn-twitter {
	width: 77px;
}

.c-share-official .c-share-btn-facebook {
	height: 20px;
}

.c-share-official .c-share-btn-pocket {
	width: 88px;
}

@media (hover: hover) and (pointer: fine) {
	.c-share-color a:hover {
		color: #fff;
		transform: translate3d(0, 1px, 0);
	}

	.c-share-color .c-share-btn-twitter a:hover {
		background-color: #222;
	}

	.c-share-color .c-share-btn-facebook a:hover {
		background-color: #1f3669;
	}

	.c-share-color .c-share-btn-hatebu a:hover {
		background-color: #0270ac;
	}

	.c-share-color .c-share-btn-pocket a:hover {
		background-color: #c53648;
	}

	.c-share-color .c-share-btn-rss a:hover {
		background-color: #e09900;
	}

	.c-share-color .c-share-btn-feedly a:hover {
		background-color: #5ca449;
	}

	.c-share-color .c-share-btn-pinterest a:hover {
		background-color: #a42f35;
	}

	.c-share-mono a:hover {
		color: #fff;
		border-color: rgba(255, 255, 255, 0.1);
	}

	.c-share-mono .c-share-btn-twitter a:hover {
		background-color: #000;
	}

	.c-share-mono .c-share-btn-facebook a:hover {
		background-color: #1877f2;
	}

	.c-share-mono .c-share-btn-hatebu a:hover {
		background-color: #3c7dd1;
	}

	.c-share-mono .c-share-btn-pocket a:hover {
		background-color: #ee4056;
	}

	.c-share-mono .c-share-btn-rss a:hover {
		background-color: #ff8c00;
	}

	.c-share-mono .c-share-btn-feedly a:hover {
		background-color: #6cc655;
	}

	.c-share-mono .c-share-btn-pinterest a:hover {
		background-color: #d4121c;
	}
}

/* ヘッダーメッセージ */
.c-header-message {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 45px;
	padding: 16px 20px;
	font-size: 14px;
	font-weight: 600;
	text-align: center;
}

.c-header-message .label {
	display: block;
	padding-top: 1px;
	margin: -0.2em 0;
	line-height: 1.4;
	color: inherit;
}

@media (hover: hover) and (pointer: fine) {
	.c-header-message a.label:hover {
		text-decoration: underline;
	}
}

@media (max-width: 767px) {
	.c-header-message {
		font-size: 12px;
	}
}

/**
 * Project
 */

/* common text direction */
.p-text-direction-type1,
.p-text-direction-type2 {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.p-text-direction-type2 .p-text-direction-inner {
	display: block;
	text-align: left;
	writing-mode: vertical-rl;
}

.p-text-direction-type1 .p-headline-logo,
.p-text-direction-type2 .p-headline-logo {
	display: block;
	margin-bottom: 20px;
}

.p-text-direction-type1 .p-headline-logo img,
.p-text-direction-type2 .p-headline-logo img {
	display: block;
	margin: 0 auto;
}

@media (max-width: 991px) {
	.p-text-direction-type1 .p-headline-logo,
	.p-text-direction-type2 .p-headline-logo {
		margin-bottom: 16px;
	}
}

/* header bar */
.l-header-bar-inner {
	display: flex;
	justify-content: space-between;
	min-height: var(--tcd-headerbar-height);
	padding: 0 40px;
}

.l-header-bar-inner a {
	color: inherit;
}

@media (hover: hover) and (pointer: fine) {
	.l-header-bar-inner a:hover,
	.l-header-bar-inner button:hover {
		color: var(--tcd-accent-color);
	}
}

@media (max-width: 991px) {
	.l-header-bar-inner {
		padding: 0 20px;
	}
}

/* header logo */
.p-header-logo,
.p-header-logo-mobile {
	display: flex;
	flex: 0 1 auto;
	align-items: center;
	font-weight: 600;
}

.p-header-logo img,
.p-header-logo-mobile img {
	display: block;
	max-width: 100%;
	max-height: 80px;
}

.p-header-logo-text {
	font-size: var(--tcd-header-logo-font-size);
	line-height: 1.2;
}

@media (min-width: 992px) {
	.p-header-logo-mobile {
		display: none;
	}
}

@media (max-width: 991px) {
	.p-header-logo {
		display: none;
	}
	.p-header-logo-mobile img {
		max-height: 50px;
	}
}

/* menu button */
body.drawer-available .p-menu-button {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding-right: 20px;
	padding-left: 30px;
	margin-right: -20px;
	color: inherit;
	cursor: pointer;
	background: transparent;
	border: none;
	transition: right 0.3s ease;
}

body.drawer-available .p-menu-button span {
	display: block;
	width: 20px;
	height: 1px;
	margin: 3px auto;
	background-color: currentcolor;
}

body:not(.drawer-available) .p-menu-button {
	display: none;
}

@media (max-width: 991px) {
	body.drawer-available .p-menu-button {
		padding-right: 20px;
		padding-left: 20px;
		margin-right: -20px;
		margin-left: -4px;
	}
}

/* drawer */
.p-drawer {
	flex: 1 1 auto;
}

.p-drawer-contents-close {
	display: none;
}

body.drawer-available .p-drawer-contents-close {
	position: relative;
	display: block;
	width: 45px;
	height: 50px;
	padding: 0;
	margin-left: auto;
	color: inherit;
	text-align: center;
	cursor: pointer;
	background: transparent;
	border: none;
}

body.drawer-available .p-drawer-contents-close::before,
body.drawer-available .p-drawer-contents-close::after {
	position: absolute;
	top: 0;
	right: 20px;
	bottom: 0;
	display: block;
	width: 14px;
	height: 1px;
	margin: auto;
	content: "";
	background: currentcolor;
}

body.drawer-available .p-drawer-contents-close::before {
	transform: rotate(-45deg);
}

body.drawer-available .p-drawer-contents-close::after {
	transform: rotate(45deg);
}

body.drawer-available .p-drawer-contents {
	position: fixed;
	top: 0;
	right: -100%;
	bottom: 0;
	z-index: 999;
	width: calc(100vw - 50px);
	max-width: 420px;
	font-size: 14px;
	background-color: #fff;
	transition: right 0.3s ease;
}

body.drawer-available .p-drawer-contents-inner {
	height: 100%;
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	border-top: 1px solid #ddd;
}

body.drawer-available .p-drawer-overlay {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 998;
	visibility: hidden;
	background: rgba(0, 0, 0, 0.3);
	opacity: 0;
	transition-timing-function: ease-out;
	transition-duration: 0.3s;
	transition-property: opacity, visibility;
}

body.drawer-available.show-drawer .p-drawer-contents {
	right: 0;
}

body.drawer-available.show-drawer .p-drawer-overlay {
	visibility: visible;
	opacity: 1;
}

body.drawer-available.admin-bar .p-drawer-contents,
body.drawer-available.admin-bar .p-drawer-overlay {
	top: 32px;
}

body.drawer-available.admin-bar .p-drawer-contents {
	max-height: calc(100vh - 32px);
}

@media (max-width: 782px) {
	body.drawer-available.admin-bar .p-drawer-contents,
	body.drawer-available.admin-bar .p-drawer-overlay {
		top: 46px;
	}

	body.drawer-available.admin-bar .p-drawer-contents {
		max-height: calc(100vh - 46px);
	}
}

@media (max-width: 600px) {
	body.drawer-available.admin-bar .p-drawer-contents,
	body.drawer-available.admin-bar .p-drawer-overlay {
		top: 0;
	}

	body.drawer-available.admin-bar .p-drawer-contents {
		max-height: 100vh;
	}

	body.drawer-available.admin-bar.show-drawer #wpadminbar {
		z-index: 998;
	}
}

@media (hover: hover) and (pointer: fine) {
	body.drawer-available .p-drawer-contents-close:hover {
		color: var(--tcd-accent-color);
	}
}

/* drawer menu */
body.drawer-available .p-drawer-menu {
	display: block;
}

body.drawer-available .p-drawer-menu > li {
	border-color: #ddd;
	border-style: solid;
	border-width: 0 0 1px;
}

body.drawer-available .p-drawer-menu > li.is-active {
	border-color: transparent;
}

body.drawer-available .p-drawer-menu a {
	position: relative;
	display: block;
	min-height: 48px;
	padding: 15.6px 20px;
	overflow: hidden;
	line-height: 1.2;
	color: inherit;
}

body.drawer-available .p-drawer-menu li.current-menu-item > a {
	color: var(--tcd-accent-color);
}

body.drawer-available .p-drawer-menu .menu-item-has-children > a {
	padding-right: 48px;
}

body.drawer-available .p-drawer-menu .menu-item-has-children > a > .p-drawer-menu-toggle {
	position: absolute;
	top: 0;
	right: 0;
	width: 48px;
	height: 48px;
	padding-right: 20px;
	line-height: 48px;
	color: #000;
	text-align: right;
}

body.drawer-available .p-drawer-menu .menu-item-has-children > a > .p-drawer-menu-toggle::before {
	display: block;
	font-family: "design_plus";
	content: "\e90e";
	transition: transform 0.5s ease;
}

body.drawer-available .p-drawer-menu .menu-item-has-children > a > .p-drawer-menu-toggle.is-active::before {
	transform: rotateX(180deg);
}

body.drawer-available .p-drawer-menu .sub-menu {
	position: relative;
	display: none;
}

body.drawer-available .p-drawer-menu > li > .sub-menu::after {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: -1;
	content: "";
	background-color: currentcolor;
	opacity: 0.05;
}

body.drawer-available .p-drawer-menu .sub-menu .sub-menu a {
	padding-left: calc(20px + 1em);
}

body.drawer-available .p-drawer-menu .sub-menu .sub-menu .sub-menu a {
	padding-left: calc(20px + 2em);
}

body.drawer-available .p-drawer-menu .sub-menu .sub-menu .sub-menu .sub-menu a {
	padding-left: calc(20px + 3em);
}

@media (hover: hover) and (pointer: fine) {
	body.drawer-available .p-drawer-menu a:hover,
	body.drawer-available .p-drawer-menu .menu-item-has-children > a > .p-drawer-menu-toggle:hover {
		color: var(--tcd-accent-color);
	}

	body.drawer-available .p-drawer-menu a:hover:has(.p-drawer-menu-toggle:hover) {
		color: inherit;
	}
}

/* drawer menu dark */
body.drawer-available .p-drawer-type2 {
	color: #fff;
}

body.drawer-available .p-drawer-type2 .p-drawer-contents {
	background-color: #000;
}

body.drawer-available .p-drawer-type2 .p-drawer-contents-inner,
body.drawer-available .p-drawer-type2 .p-drawer-menu > li {
	border-color: #333;
}

body.drawer-available .p-drawer-type2 .p-drawer-menu > li > .sub-menu a,
body.drawer-available .p-drawer-type2 .p-drawer-menu .menu-item-has-children > a > .p-drawer-menu-toggle {
	color: #fff !important;
}

body.drawer-available .p-drawer-type2 .p-drawer-menu > li > .sub-menu::after {
	background-color: var(--tcd-accent-color);
	opacity: 1;
}

/* global nav */
@media (min-width: 992px) {
	body:not(.drawer-available) .p-global-nav {
		display: flex;
		justify-content: center;
		font-size: 16px;
		line-height: 1.7;
	}

	body:not(.drawer-available) .p-global-nav a {
		position: relative;
		display: block;
	}

	body:not(.drawer-available) .p-global-nav > li > a {
		display: flex;
		align-items: center;
		justify-content: center;
		height: 100%;
		min-height: var(--tcd-headerbar-height);
		padding-right: min(15px, 1vw);
		padding-left: min(15px, 1vw);
		overflow: hidden;
		text-align: center;
	}

	body:not(.drawer-available) .p-global-nav > li.menu-item-has-children > .sub-menu {
		top: 100%;
		left: 0;
		z-index: 3;
	}

	body:not(.drawer-available) .p-global-nav > li.current-menu-item > a {
		z-index: 2;
		color: var(--tcd-accent-color);
	}

	body:not(.drawer-available) .p-global-nav .sub-menu {
		position: absolute;
		top: 0;
		left: 100%;
		z-index: 1;
		visibility: hidden;
		opacity: 0;
		transition: all 0.2s ease-out;
	}

	body:not(.drawer-available) .p-global-nav > li.rev .sub-menu .sub-menu, body:not(.drawer-available) .p-global-nav > li:nth-last-of-type(1) .sub-menu .sub-menu {
		left: auto;
		right: 100%;
	}
	body:not(.drawer-available) .p-global-nav > li.rev .sub-menu li.menu-item-has-children > a:after, body:not(.drawer-available) .p-global-nav > li:nth-last-of-type(1) .sub-menu li.menu-item-has-children > a:after { content:'\e90f'; right:auto; left:20px; }
	body:not(.drawer-available) .p-global-nav > li.rev .sub-menu li.menu-item-has-children > a, body:not(.drawer-available) .p-global-nav > li:nth-last-of-type(1) .sub-menu li.menu-item-has-children > a { padding: 13.5px 20px 13.5px 40px; }


	body:not(.drawer-available) .p-global-nav .sub-menu {
		font-size: 14px;
	}

	body:not(.drawer-available) .p-global-nav .sub-menu a {
		z-index: 2;
		width: 240px;
		padding: 13.5px 22px;
		color: #fff;
		background: #000;
	}

	body:not(.drawer-available) .p-global-nav .sub-menu .current-menu-item > a {
		background-color: var(--tcd-accent-color);
	}

	body:not(.drawer-available) .p-global-nav .menu-item-has-children {
		position: relative;
	}

	body:not(.drawer-available) .p-global-nav .sub-menu .menu-item-has-children > a::after {
		position: absolute;
		right: 16px;
		font-family: "design_plus";
		content: "\e910";
		-webkit-transition: none;
	}

	body:not(.drawer-available) .p-global-nav .p-has-megamenu .sub-menu {
		display: none;
	}

	@media (hover: hover) and (pointer: fine) {
		body:not(.drawer-available) .p-global-nav > li > a:hover {
			z-index: 2;
			color: var(--tcd-accent-color);
		}

		body:not(.drawer-available) .p-global-nav .sub-menu a:hover {
			background-color: var(--tcd-accent-color);
		}

		body:not(.drawer-available) .p-global-nav .menu-item-has-children:hover > .sub-menu {
			visibility: visible;
			opacity: 1;
		}
	}
}

/* megamenu */
.p-megamenu {
	position: absolute;
	top: 100%;
	right: 0;
	left: 0;
	color: #fff;
	pointer-events: none;
	visibility: hidden;
	background-color: #000;
	opacity: 0;
	transition-delay: 0.1s;
	transition-timing-function: ease-in;
	transition-duration: 0.1s;
	transition-property: opacity, visibility;
}

.p-megamenu.is-active {
	z-index: 999;
	pointer-events: auto;
	visibility: visible;
	opacity: 1;
	transition-delay: 0s;
	transition-timing-function: ease-out;
	transition-duration: 0.2s;
}

.is-header-fixed-animate .p-megamenu {
	visibility: hidden;
	opacity: 0;
	transition: none !important;
}

.p-megamenu01 .p-megamenu-list {
	display: flex;
}

.p-megamenu01 .p-megamenu-list-item {
	position: relative;
	flex: 1 1 100%;
}

.p-megamenu01 .p-megamenu-list-item a {
	display: block;
	color: #fff;
}

.p-megamenu01 .p-megamenu-list-item-title {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 60px;
}

.p-megamenu01 .p-megamenu-list-item-title span {
	display: -webkit-box;
	max-height: 3.2em;
	padding: 0 12px;
	overflow: hidden;
	font-size: 16px;
	line-height: 1.6;
	text-align: center;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.p-megamenu01 .p-megamenu-list-item-thumbnail {
	position: relative;
	padding-top: 320px;
	overflow: hidden;
}

.p-megamenu01 .p-megamenu-list-item-thumbnail-image {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
	width: 100%;
	height: 100% !important;
	object-fit: cover;
}

.p-megamenu01 .p-megamenu-list-item-thumbnail-overlay {
	position: absolute;
	top: 0;
	right: -1px;
	bottom: -1px;
	left: 0;
	z-index: 2;
	background: rgba(0, 0, 0, 0.2);
	background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.7) 100%);
	opacity: 0;
}

.p-megamenu01 .p-megamenu-list-item-thumbnail-overlay,
.p-megamenu01 .p-megamenu-list-item-info {
	transition: opacity 0.5s ease-out;
}

.p-megamenu01 .p-megamenu-list-item-info {
	position: absolute;
	right: 14px;
	bottom: 20px;
	left: 20px;
	z-index: 3;
	opacity: 0;
}

.p-megamenu01 .p-megamenu-list-item-desc {
	display: -webkit-box;
	max-height: 16em;
	margin-bottom: -0.3em;
	overflow: hidden;
	font-size: 14px;
	line-height: 1.6;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 10;
}

.p-megamenu02 a {
	color: inherit;
}

.p-megamenu02 .p-megamenu-list {
	display: flex;
}

.p-megamenu02 .p-megamenu-list-item {
	flex: 1 1 100%;
}

.p-megamenu02 .p-megamenu-list-item-title {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 60px;
}

.p-megamenu02 .p-megamenu-list-item-title span {
	display: -webkit-box;
	max-height: 3.2em;
	padding: 0 12px;
	overflow: hidden;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.6;
	text-align: center;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.p-megamenu02 .p-megamenu-archives {
	width: 100%;
	min-height: 300px;
	margin-top: 20px;
}

.p-megamenu02 .p-megamenu-archive {
	display: flex;
	height: 0;
	overflow: hidden;
}

.p-megamenu02 .p-megamenu-archive.is-active {
	height: auto;
	overflow: visible;
}

.p-megamenu02 .p-archive-item,
.p-megamenu02 .p-archive03-item {
	flex: 0 0 25%;
}

.p-megamenu02 .p-archive-item a,
.p-megamenu02 .p-archive03-item a {
	display: block;
}

.p-megamenu02 .p-archive-item-thumbnail,
.p-megamenu02 .p-archive03-item-thumbnail {
	padding-top: 176px;
}

.p-megamenu02 .p-archive-item-info,
.p-megamenu02 .p-archive03-item-info {
	padding: 20px;
	margin-top: 0;
	font-size: 14px;
}

.p-megamenu02 .p-archive-item-title {
	display: -webkit-box;
	height: 4.8em;
	max-height: none;
	margin: -0.3em 0;
	overflow: hidden;
	font-size: inherit;
	font-weight: 400;
	line-height: 1.6;
	color: inherit;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.p-megamenu02 .p-archive-item-meta {
	margin-top: 11px;
	margin-bottom: -3px;
	color: #666;
}

.p-megamenu02 .p-archive03-item-title {
	margin: -0.3em 0;
	font-size: inherit;
	font-weight: 400;
	line-height: 1.6;
	color: inherit;
}

.p-megamenu02 .p-archive03-item-price {
	margin-top: 13px;
	color: inherit;
}

.p-megamenu02 .p-archive03-item-excerpt {
	padding-top: 19px;
	margin-top: 19px;
	color: inherit;
	border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.p-megamenu03 .p-megamenu-list {
	display: flex;
	flex-wrap: wrap;
	gap: 22px;
	padding: 22px 0;
}

.p-megamenu03 .p-megamenu-list-item {
	flex: 0 0 calc((100% - 44px) / 3);
	background-color: #fff;
}

.p-megamenu03 .p-megamenu-list-item a {
	display: flex;
	align-items: center;
	height: 120px;
}

.p-megamenu03 .p-megamenu-list-item-thumbnail {
	flex: 0 0 120px;
	height: 100%;
}

.p-megamenu03 .p-megamenu-list-item-title {
	display: -webkit-box;
	max-height: 5.4em;
	padding-right: 22px;
	padding-left: 30px;
	overflow: hidden;
	font-size: 16px;
	line-height: 1.8;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

@media (hover: hover) and (pointer: fine) {
	.p-megamenu:hover {
		z-index: 999;
		pointer-events: auto;
		visibility: visible;
		opacity: 1;
		transition-duration: 0.2s;
	}

	.p-megamenu01 .p-megamenu-list-item a:hover .p-megamenu-list-item-title {
		background-color: var(--tcd-accent-color);
	}

	.p-megamenu01 .p-megamenu-list-item a:hover .p-megamenu-list-item-thumbnail-overlay,
	.p-megamenu01 .p-megamenu-list-item a:hover .p-megamenu-list-item-info {
		opacity: 1;
	}

	.p-megamenu02 .p-megamenu-archive-item a:hover .p-megamenu-archive-item-title {
		color: var(--tcd-accent-color);
	}

	.p-megamenu02 .p-megamenu-list-item.is-active .p-megamenu-list-item-title,
	.p-megamenu02 .p-megamenu-list-item-title:hover {
		background-color: var(--tcd-accent-color);
	}
}

@media (max-width: 991px) {
	.p-megamenu {
		display: none !important;
	}
}

/* header search */
.p-header-search {
	position: relative;
	display: flex;
	flex: 0 0 auto;
	align-items: center;
}

.p-header-search-form {
	position: absolute;
	top: 0;
	right: 100%;
	bottom: 0;
	z-index: 2;
	display: flex;
	align-items: center;
}

.p-header-search-input {
	display: block;
	width: 0;
	max-width: calc(100vw - 237px);
	height: 50px;
	padding: 0 25px;
	background: #f6f6f6;
	border: none;
	border-radius: 20px;
	opacity: 0;
	transition-timing-function: ease;
	transition-duration: 0.3s;
	transition-property: width, opacity;
}

button.p-header-search-button {
	padding: 10px;
	color: inherit;
}

button.p-header-search-button::before {
	font-size: 20px;
	content: "\e951";
}

@media (min-width: 768px) {
	.p-header-search-input:focus,
	.p-header-search-input:not(:placeholder-shown) {
		width: 450px;
		opacity: 1;
	}

	@media (hover: hover) and (pointer: fine) {
		.p-header-search:hover .p-header-search-input {
			width: 450px;
			opacity: 1;
		}
	}

	@media not all and (hover: hover) and (pointer: fine) {
		.p-header-search.is-active .p-header-search-input {
			width: 450px;
			opacity: 1;
		}
	}
}

@media (max-width: 992px) {
	.p-header-search-input {
		max-width: 50vw;
		height: 40px;
	}
}

@media (max-width: 767px) {
	.p-header-search {
		position: static;
	}

	.p-header-search-form {
		top: 100%;
		right: 0;
		left: 0;
		display: block;
		margin-top: -1px;
	}

	.p-header-search-input {
		display: block;
		width: 100%;
		max-width: none;
		height: 0;
		padding: 0 20px;
		border-color: #ddd;
		border-style: solid;
		border-width: 0;
		border-radius: 0;
		transition-property: height, opacity;
	}

	.p-header-search-input:focus,
	.p-header-search-input:not(:placeholder-shown) {
		height: 45px;
		border-width: 1px 0;
		opacity: 1;
	}

	@media (hover: hover) and (pointer: fine) {
		.p-header-search:hover .p-header-search-input {
			height: 45px;
			border-width: 1px 0;
			opacity: 1;
		}
	}

	@media not all and (hover: hover) and (pointer: fine) {
		.p-header-search.is-active .p-header-search-input {
			height: 45px;
			border-width: 1px 0;
			opacity: 1;
		}
	}
}

/* page header */
.p-page-header-text {
	padding-top: 60px;
	margin-bottom: 60px;
	border-top: 1px solid #ddd;
}

.p-page-header-text .p-page-header-catch {
	margin-top: -0.2em;
	margin-bottom: -0.2em;
	font-size: 26px;
	font-weight: 600;
	line-height: 1.4;
	text-align: center;
}

.p-page-header-image {
	position: relative;
	overflow: hidden;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.p-page-header-image .p-header-content {
	min-height: 360px;
}

@media (min-width: 992px) {
	.p-page-header {
		margin-top: 40px;
	}

	.l-header ~ .l-main .p-page-header {
		margin-top: 0;
	}

	.p-page-header-image,
	.p-page-header-image .p-header-content-overlay {
		border-radius: 8px;
	}
}

@media (max-width: 991px) {
	.p-page-header-text {
		padding-top: 40px;
		margin-bottom: 40px;
	}

	.p-page-header-text .p-page-header-catch {
		font-size: 22px;
	}

	.p-page-header-image .p-header-content {
		min-height: 240px;
	}
}

/* breadcrumb */
.p-breadcrumb {
	padding-top: 30px;
}

.p-breadcrumb:first-child {
	padding-top: 0;
	border-bottom: 1px solid #ddd;
}

.p-breadcrumb-inner {
	font-size: 14px;
	line-height: 1;
	color: var(--tcd-accent-color);
	white-space: nowrap;
}

.p-breadcrumb-item + .p-breadcrumb-item::before {
	display: inline-block;
	margin-right: 4px;
	margin-left: 4px;
	font-family: "design_plus";
	font-size: 10px;
	color: var(--tcd-root-font-color);
	content: "\e910";
}

.c-breadcrumb-item a {
	display: inline-block;
}

.c-breadcrumb-item-home a::before {
	font-size: 12px;
}

@media (min-width: 992px) {
	.p-breadcrumb-inner {
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.p-breadcrumb:first-child .p-breadcrumb-inner {
		line-height: 58px;
	}
}

@media (max-width: 991px) {
	.p-breadcrumb {
		padding-top: 0;
		overflow-x: auto;
		overflow-y: hidden;
	}

	.p-breadcrumb-inner {
		font-size: 12px;
		line-height: 48px;
	}

	.p-breadcrumb[data-simplebar="init"]  .p-breadcrumb-inner > :last-child::after {
		display: inline-block;
		width: 20px;
		content: "";
	}

	body:not(.wp-mobile-device) .p-breadcrumb:not([data-simplebar="init"]) {
		scrollbar-width: none;
	}

	body:not(.wp-mobile-device) .p-breadcrumb:not([data-simplebar="init"])::-webkit-scrollbar {
		display: none;
	}

	.p-page-header + .p-breadcrumb {
		border-bottom: 1px solid #ddd;
	}
}

/* footer images */
.p-footer-images {
	background: var(--tcd-footer-images-bg-color);
}

.p-footer-images-inner {
	position: relative;
	display: flex;
}

.p-footer-image {
	position: relative;
	width: 100%;
	height: 340px;
	overflow: hidden;
}

.p-footer-image-info {
	position: relative;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding: 20px;
}

.p-footer-image-image {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.p-footer-image-overlay {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 2;
}

.p-footer-image-healine {
	font-family: var(--tcd-headline-font-type);
	font-size: 26px;
	font-weight: var(--tcd-headline-font-weight);
	line-height: 1.3;
	color: #fff;
}

.p-footer-image-1 .p-footer-image-healine {
	color: var(--tcd-footer-images-headline-color1);
}

.p-footer-image-2 .p-footer-image-healine {
	color: var(--tcd-footer-images-headline-color2);
}

.p-footer-image-3 .p-footer-image-healine {
	color: var(--tcd-footer-images-headline-color3);
}

.p-footer-image-4 .p-footer-image-healine {
	color: var(--tcd-footer-images-headline-color4);
}

.p-footer-image-5 .p-footer-image-healine {
	color: var(--tcd-footer-images-headline-color5);
}

@media (max-width: 991px) {
	.p-footer-images-inner {
		padding: 20px;
	}

	.p-footer-image {
		height: 200px;
	}

	.p-footer-image-healine {
		font-size: 20px;
	}
}

@media (max-width: 767px) {
	.p-footer-images-inner {
		display: block;
	}

	.p-footer-image {
		display: block;
		height: 200px;
	}
}

/* footer */
.p-footer {
	padding: 60px 0;
	text-align: center;
	border-top: 1px solid #ddd;
}

.p-footer-images + .p-footer {
	border-top: none;
}

@media (max-width: 991px) {
	.p-footer {
		padding: 40px 0;
	}
}

/* footer logo */
.p-footer-logo {
	font-weight: 600;
}

.p-footer-logo img {
	max-width: 100%;
	height: auto;
}

.p-footer-logo-text {
	margin: -0.2em 0;
	font-size: var(--tcd-footer-logo-font-size);
	line-height: 1.2;
}

@media (min-width: 992px) {
	.p-footer-logo-mobile {
		display: none;
	}
}

@media (max-width: 991px) {
	.p-footer-logo {
		display: none;
	}
}

/* social nav */
.p-social-nav {
	margin-top: 28px;
}

.p-social-nav-item {
	display: inline-block;
	margin-right: 1em;
	font-size: 16px;
}

.p-social-nav-item:last-child {
	margin-right: 0;
}

.p-social-nav-item a::before {
	font-family: "design_plus";
}

.p-social-nav-item-instagram a::before {
	content: "\ea92";
}

.p-social-nav-item-tiktok a::before {
	font-family: 'tiktok_x_icon'; content: "\e900";
}

.p-social-nav-item-twitter a::before {
	font-family: 'tiktok_x_icon'; content: "\e901";
}

.p-social-nav-item-facebook a::before {
	content: "\e944";
}

.p-social-nav-item-pinterest a::before {
	content: "\e905";
}

.p-social-nav-item-youtube a::before {
	content: "\ea9d";
}

.p-social-nav-item-contact a::before {
	content: "\f003";
}

.p-social-nav-item-url a::before {
	margin-bottom: -2px;
	font-size: 120%;
	content: "\e88a";
}

.p-social-nav-item-rss a::before {
	content: "\e90b";
}

.p-social-nav-type2 .p-social-nav-item-facebook a::before {
	color: #1877f2;
}

.p-social-nav-type2 .p-social-nav-item-twitter a::before {
	color: #000000;
}

.p-social-nav-type2 .p-social-nav-item-instagram a::before {
	color: #e4405f;
}

.p-social-nav-type2 .p-social-nav-item-pinterest a::before {
	color: #bd081c;
}

.p-social-nav-type2 .p-social-nav-item-youtube a::before {
	color: #f00;
}

.p-social-nav-type2 .p-social-nav-item-contact a::before {
	color: #00729f;
}

.p-social-nav-type2 .p-social-nav-item-url a::before {
	color: #00729f;
}

.p-social-nav-type2 .p-social-nav-item-rss a::before {
	color: orange;
}

/* footer menu */
.p-footer-nav-area {
	display: flex;
	margin: 58px -20px 0;
	text-align: left;
}

.p-footer-nav-container {
	flex: 1 1 100%;
	padding: 0 20px;
}

.p-footer-nav {
	margin: -0.6em 0;
	font-size: 14px;
	line-height: 2.2;
}

.p-footer-nav li + li {
	margin-top: 0.4em;
}

.p-footer-nav ul {
	margin-top: 0.4em;
	margin-left: 1em;
}

@media (hover: hover) and (pointer: fine) {
	.p-footer-nav a:hover,
	.p-footer-nav-area .p-social-nav a:hover {
		color: var(--tcd-accent-color);
	}
}

@media (min-width: 992px) {
	.p-footer-nav-area {
		justify-content: center;
		margin-right: -20px;
		margin-left: -20px;
	}

	.p-footer-nav-container:only-child {
		flex: 0 0 auto;
	}
}

@media (max-width: 991px) {
	.p-footer-nav-area {
		margin: 0 -10px -10px;
	}

	.p-footer-nav-container {
		padding: 40px 10px 10px;
	}

	.p-footer-nav {
		margin: -0.5em 0;
		line-height: 2;
	}
}

@media (max-width: 849px) {
	.p-footer-nav-area.has-4navs {
		flex-wrap: wrap;
	}

	.p-footer-nav-area.has-4navs .p-footer-nav-container {
		flex: 1 1 50%;
	}
}

@media (max-width: 767px) {
	.p-footer-nav-area {
		flex-wrap: wrap;
	}

	.p-footer-nav-container {
		flex: 1 1 50%;
	}
}

/* footer desc */
.p-footer-desc {
	border-top: 1px solid #ddd;
}

.p-footer-desc-inner {
	min-height: 60px;
	font-size: 14px;
	line-height: 2;
	text-align: center;
}

@media (min-width: 992px) {
	.p-footer-desc-mobile {
		display: none;
	}
}

@media (max-width: 991px) {
	.p-footer-desc-pc {
		display: none;
	}
}

@media (min-width: 768px) {
	.p-footer-desc-inner {
		padding-top: 16px;
		padding-bottom: 16px;
	}
}

@media (max-width: 767px) {
	.p-footer-desc-inner {
		padding-top: 32px;
		padding-bottom: 32px;
	}
}

/* copyright */
.p-copyright {
	min-height: 60px;
	padding: 21px 0;
	font-size: 12px;
	line-height: 1.5;
	color: var(--tcd-copyright-color);
	text-align: center;
	background-color: var(--tcd-copyright-bg-color);
}

.p-copyright .l-inner {
	position: relative;
}

@media (max-width: 991px) {
	.p-copyright {
		min-height: 50px;
		padding: 16px 0;
	}
}

/* pagetop */
.p-pagetop {
	position: fixed;
	right: 0;
	bottom: 0;
	z-index: 90;
	visibility: hidden;
	opacity: 0;
	transition-timing-function: ease;
	transition-duration: 0.3s;
	transition-property: opacity, visibility;
}

.p-pagetop.is-active {
	visibility: visible;
	opacity: 1;
	transition-duration: 1s;
}

.p-pagetop a {
	display: block;
	width: 60px;
	height: 60px;
	line-height: 60px;
	color: #fff;
	text-align: center;
	background-color: var(--tcd-accent-color);
}

.p-pagetop a::after {
	font-family: "design_plus";
	font-size: 14px;
	content: "\e911";
}

@media screen {
	body.has-footer-bar.footer-bar-active .p-pagetop {
		bottom: 50px;
	}
}

@media (hover: hover) and (pointer: fine) {
	.p-pagetop a:hover {
		color: #fff;
		background-color: #000;
	}
}

@media (max-width: 991px) {
	.p-pagetop a {
		width: 50px;
		height: 50px;
		line-height: 50px;
	}

	.p-pagetop.u-hidden-sm {
		display: none !important;
	}
}

@media only print {
	.p-pagetop {
		display: none !important;
	}
}

/* article title */
.p-article-title {
	color: var(--tcd-root-font-color);
}

/* article excerpt */
.p-article-excerpt {
	color: var(--tcd-root-font-color);
}

.p-article-excerpt span {
	display: block;
}

/* article meta */
.p-article-meta {
	display: flex;
	flex-wrap: wrap;
	font-size: 14px;
	line-height: 1.2;
	color: #999;
}

.p-article-meta::after {
	display: table;
	clear: both;
	content: "";
}

.p-article-meta a {
	color: #999;
}

.p-article-meta > *::after {
	display: inline-block;
	margin-right: 6px;
	margin-left: 6px;
	font-size: 10px;
	vertical-align: 1px;
	content: "|";
}

.p-article-meta > *:last-child::after {
	display: none;
}

.p-article-meta::after {
	display: table;
	clear: both;
	content: "";
}

@media (hover: hover) and (pointer: fine) {
	.p-article-meta a:hover {
		color: #bbb;
	}
}

/* article category */
.p-article-category {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
}

/* article date */
.p-article-date {}

.p-article-moddate {}

.p-article-moddate::before {
	padding-right: 5px;
	font-family: "design_plus";
	font-size: 83.3333%;
	content: "\e943";
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.p-article-date + .p-article-moddate {
	margin-left: 5px;
}

/* ad */
.p-ad {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	align-items: flex-start;
	justify-content: center;
	margin: 50px 0;
}

@media (max-width: 991px) {
	.p-ad {
		gap: 20px;
		margin: 40px 0;
	}
}

/* author */
.p-author {
	display: flex;
	align-items: center;
	border: 1px solid #ddd;
}

.p-author-left {
	flex: 0 0 auto;
	padding: 39px 40px 39px 39px;
	text-align: center;
}

.p-author-right {
	flex: 1 1 auto;
	padding: 39px 39px 39px 0;
}

.p-author-thumbnail {
	display: block;
	width: 100px;
	height: 100px;
	overflow: hidden;
	border-radius: 50%;

	/* old webkit bug fix */
	-webkit-transform: translate3d(0, 0, 0);
	-webkit-backface-visibility: hidden;
}

.p-author-thumbnail-inner {
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.p-author-name {
	margin: -0.4em 0;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.8;
}

.p-author-name a {
	font-weight: inherit;
}

.p-author-desc {
	margin: 12px 0 -0.4em;
	font-size: 14px;
	line-height: 1.8;
}

.p-author-desc p + p {
	margin-top: 1.8em;
}

.p-author-desc a {
	color: var(--tcd-link-color);
}

.p-author-right .p-social-nav {
	margin-top: 20px;
	font-size: 14px;
}

body.author .p-author {
	position: relative;
	margin-bottom: 60px;
}

body.author	.p-author-thumbnail {
	width: 120px;
	height: 120px;
}

body.author .p-author-name {
	font-size: 20px;
}

body.author .p-author + .p-headline {
	margin-bottom: calc(60px - 0.4em);
}

@media (max-width: 991px) {
	.p-author-left {
		padding: 19px 22px 19px 19px;
	}

	.p-author-right {
		padding: 19px 19px 19px 0;
	}

	.p-author-thumbnail {
		width: 90px;
		height: 90px;
	}

	.p-author-name {
		font-size: 16px;
	}

	.p-author-right .p-social-nav {
		margin-top: 16px;
		line-height: 1.6;
	}

	body.author .p-author {
		margin-bottom: 40px;
	}

	body.author	.p-author-thumbnail {
		width: 90px;
		height: 90px;
	}

	body.author .p-author-name {
		font-size: 18px;
	}

	body.author .p-author + .p-headline {
		margin-bottom: calc(40px - 0.4em);
	}
}

@media (hover: hover) and (pointer: fine) {
	.p-author-desc a:hover {
		text-decoration: underline;
	}
}

/* button */
.p-button {
	display: inline-block;
	min-width: 280px;
	height: 60px;
	padding: 0 20px;
	overflow: hidden;
	line-height: 60px;
	color: #fff !important;
	text-align: center;
	cursor: pointer;
	background-color: #000;
	border: none;
}

.p-button span {
	display: block;
}

.p-button span::after {
	display: inline-block;
	margin-right: -6px;
	margin-left: 6px;
	font-family: "design_plus";
	content: "\e910";
}

.p-rounded-button {
	border-radius: 30px;
}

.p-button.p-button-gray {
	color: #fff !important;
	background: #ccc;
}

.p-button-sm {
	min-width: auto;
}

.p-button-white {
	display: inline-block;
	min-width: 240px;
	height: 60px;
	padding: 0 20px;
	overflow: hidden;
	line-height: 60px;
	color: #000 !important;
	text-align: center;
	cursor: pointer;
	background: transparent !important;
	border: none;
}

.p-button-wrapper {
	margin-top: 60px;
	text-align: center;
}

@media (hover: hover) and (pointer: fine) {
	a.p-button:hover,
	button.p-button:not(:disabled):hover {
		background-color: var(--tcd-accent-color);
	}
}

@media (max-width: 991px) {
	.p-button {
		min-width: 250px;
		height: 50px;
		line-height: 50px;
	}

	.p-rounded-button {
		border-radius: 25px;
	}

	.p-button-wrapper {
		margin-top: 40px;
	}
}

/* copy button */
.p-single-copy-title-url {
	margin-top: 50px;
	margin-bottom: 50px;
	font-size: 14px;
	text-align: center;
}

.p-single-copy-title-url-button {
	min-width: 300px;
	padding: 0 5px;
	line-height: 54px;
	cursor: pointer;
	background: #fff;
	border: 3px solid #ccc;
	transition-timing-function: ease;
	transition-duration: 0.3s;
	transition-property: background-color, color;
}

.p-single-copy-title-url-button.copied {
	color: #fff !important;
	background: #ccc;
}

@media (hover: hover) and (pointer: fine) {
	.p-single-copy-title-url-button:hover {
		color: #aaa;
	}
}

@media (max-width: 991px) {
	.p-single-copy-title-url {
		margin-top: 40px;
		margin-bottom: 40px;
	}

	.p-single-copy-title-url-button {
		min-width: 250px;
		font-size: 12px;
		line-height: 46px;
		border-width: 2px;
	}
}

/* category */
.p-float-category {
	position: absolute;
	top: 0;
	bottom: 120px;
	left: -0.1px;
	z-index: 5;
	max-width: 100%;
}

.p-float-category > a,
.p-float-category > span {
	display: block;
	min-width: 110px;
	max-width: 100%;
	min-height: 45px;
	max-height: 100%;
	padding: 0 20px;
	overflow: hidden;
	font-size: 14px;
	line-height: 45px;
	text-align: center;
	background: #fff;
}

.p-float-category-type2 > a,
.p-float-category-type2 > span {
	display: block;
	min-width: 45px;
	min-height: 110px;
	padding: 20px 0;
	overflow: hidden;
	writing-mode: vertical-rl;
}

.p-float-category > span a {
	display: inline-block;
}

.p-archive .p-float-category > a,
.p-archive .p-float-category > span {
	text-overflow: ellipsis;
	white-space: nowrap;
}

@media (max-width: 991px) {
	.p-float-category {
		bottom: 63px;
	}

	.p-float-category > a,
	.p-float-category > span {
		min-width: 90px;
		min-height: 40px;
		padding: 0 15px;
		font-size: 12px;
		line-height: 40px;
	}

	.p-float-category-type2 > a,
	.p-float-category-type2 > span {
		min-width: 40px;
		min-height: 90px;
		padding: 15px 0;
	}
}

/* headline */
.p-headline {
	margin-top: -0.2em;
	margin-bottom: calc(50px - 0.2em);
	font-size: 24px;
	font-weight: 600;
	line-height: 1.4;
	text-align: center;
}

@media (max-width: 991px) {
	.p-headline {
		margin-bottom: calc(40px - 0.2em);
		font-size: 20px;
	}
}

/* page-links */
.p-page-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-top: 35px;
	text-align: center;
}

.p-page-links .post-page-numbers {
	display: inline-block;
	min-width: 50px;
	height: 50px;
	padding: 0 5px;
	margin: 5px 0 0 -1px;
	font-size: 14px;
	line-height: 48px;
	text-align: center;
	text-decoration: none;
	background: #fff;
	border: 1px solid #ddd;
}

.p-body .p-page-links a.post-page-numbers {
	color: inherit;
}

.p-page-links .post-page-numbers.current {
	color: #fff;
	background-color: #000;
	border-color: #000;
}

@media (hover: hover) and (pointer: fine) {
	.p-page-links a.post-page-numbers:hover {
		color: #fff;
		text-decoration: none !important;
		background-color: #000;
		border-color: #000;
	}
}

@media (max-width: 991px) {
	.p-page-links {
		margin-top: 25px;
	}
}

/* pager */
.p-pager {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-top: 55px;
	text-align: center;
}

.p-pager-item {
	margin: 5px 0 0 -1px;
	vertical-align: top;
}

.p-pager-item .page-numbers {
	display: inline-block;
	min-width: 50px;
	height: 50px;
	padding: 0 5px;
	font-size: 14px;
	line-height: 48px;
	color: var(--tcd-root-font-color);
	text-align: center;
	background: #fff;
	border: 1px solid #ddd;
}

.p-pager-item .current {
	position: relative;
	z-index: 1;
	color: #fff;
	background-color: #000;
	border-color: #000;
}

.p-pager-item .prev,
.p-pager-item .next {
	font-family: "design_plus";
	font-size: 12px;
}

.p-pager-comments {
	padding-bottom: 0;
	margin-top: 26px;
	margin-bottom: 30px;
}

@media (hover: hover) and (pointer: fine) {
	.p-pager-item a.page-numbers:hover {
		position: relative;
		z-index: 1;
		color: #fff;
		background-color: #000;
		border-color: #000;
	}
}

@media (max-width: 991px) {
	.p-pager {
		margin-top: 35px;
	}
}

@media (max-width: 767px) {
	.p-pager-item .page-numbers {
		min-width: 45px;
		height: 45px;
		padding: 0 5px;
		line-height: 43px;
	}
}

/* hover effect */
.p-hover-effect {
	overflow: hidden;
}

.p-hover-effect-image {
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	opacity: 1;
	transition-timing-function: var(--tcd-image-effect-transition-timing-function);
	transition-duration: var(--tcd-image-effect-transition-duration);
	transition-property: var(--tcd-image-effect-transition-property);
	transform: var(--tcd-image-effect-transform);
}

img.p-hover-effect-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.p-hover-effect-bg {
	overflow: hidden;
	transition-timing-function: ease-in;
	transition-duration: var(--tcd-image-effect-transition-duration);
	transition-property: background-color;
}

.p-hover-effect-text {
	transition-timing-function: var(--tcd-image-effect-transition-timing-function);
	transition-duration: var(--tcd-image-effect-transition-duration);
	transition-property: color;
}

@media (hover: hover) and (pointer: fine) {
	.p-hover-effect:hover .p-hover-effect-image {
		opacity: var(--tcd-image-effect-hover-opacity);
		transform: var(--tcd-image-effect-hover-transform);
	}

	.p-hover-effect:hover .p-hover-effect-bg,
	.p-hover-effect.p-hover-effect-bg:hover {
		background-color: var(--tcd-image-effect-hover-bg-color);
		transition-property: none;
	}
}

/* archive */
.p-archive {
	display: flex;
	flex-wrap: wrap;
	gap: 58px 30px;
}

.p-archive-item {
	position: relative;
	flex: 0 0 calc((100% - 60px) / 3);
}

.p-archive-item-anchor {
	display: block;
}

.p-archive-item-thumbnail {
	position: relative;
	padding-top: 68.75%;
	overflow: hidden;
}

.p-archive-item-thumbnail-image {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
}

.p-archive-item-info {
	margin-top: 30px;
}

.p-archive-item-title {
	display: -webkit-box;
	max-height: 3em;
	margin-top: -0.25em;
	margin-bottom: -0.25em;
	overflow: hidden;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.5;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.p-archive-item-price {
	margin-top: 0.5em;
	margin-bottom: -0.25em;
	line-height: 1.5;
}

.p-archive-item-excerpt {
	margin-top: calc(20px - 0.5em);
	margin-bottom: -0.5em;
	font-size: 14px;
	line-height: 2;
}

.p-archive-item-excerpt span {
	display: -webkit-box;
	max-height: 4em;
	overflow: hidden;
	line-height: 2;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.p-archive-item-meta {
	margin-top: 14px;
	margin-bottom: -0.1em;
}

.p-archive-item-excerpt + .p-archive-item-meta {
	margin-top: 17px;
}

.p-no-post {
	padding: 100px 0;
	text-align: center;
}

@media (max-width: 991px) {
	.l-main-inner .l-primary > .p-archive:first-child {
		margin-top: -20px;
	}

	.p-archive {
		gap: 37px 15px;
	}

	.p-archive-item {
		flex-basis: calc((100% - 15px) / 2);
	}

	.p-archive-item-info {
		margin-top: 19px;
	}

	.p-archive-item-title {
		height: auto;
		max-height: 3em;
		font-size: 16px;
	}

	.p-archive-item-excerpt span {
		max-height: 3.4em;
		line-height: 1.7;
	}

	.p-archive-item-meta {
		margin-top: 12px;
	}

	.p-archive-item-excerpt + .p-archive-item-meta {
		margin-top: 13px;
	}

	.p-no-post {
		padding: 50px 0;
		text-align: center;
	}
}

@media (max-width: 767px) {
	.p-archive {
		display: block;
	}

	.p-archive-item {
		margin-bottom: 37px;
	}

	.p-archive-item:last-child {
		margin-bottom: 0;
	}
}

/* entry */
.p-entry {}

.p-entry-header {
	position: relative;
	margin-bottom: 50px;
}

.p-entry-thumbnail {
	position: relative;
	max-height: 550px;
	aspect-ratio: 800 / 550;
}

.p-entry-thumbnail img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.p-entry-title {
	margin-top: -0.2em;
	margin-bottom: -0.2em;
	font-family: var(--tcd-single-title-font-type);
	font-size: var(--tcd-single-title-font-size);
	font-weight: 600;
	line-height: 1.4;
}

.p-entry-header.has-thumbnail .p-entry-header-content {
	position: relative;
	min-height: 100px;
	padding: 40px 40px 0;
	margin: -100px 50px 50px;
	margin-top: calc(-38px - var(--tcd-single-title-font-size));
	margin-right: 50px;
	margin-bottom: 50px;
	margin-left: 50px;
	background: #fff;
}

.p-entry-meta {
	margin-top: 10px;
	margin-bottom: -0.4em;
	line-height: 1.8;
}

.p-entry-body {
	font-size: var(--tcd-single-content-font-size);
}

.p-entry-post-body {
	margin-top: 34px;
}

.p-entry-body .p-ad-item-code img {
	width: auto;
	max-width: none;
}

.p-entry-share {
	margin-top: 50px;
}

.p-entry-nav {
	margin-top: 50px;
}

.p-entry-author {
	margin-top: 50px;
}

.p-entry-author .p-author-desc {
	display: -webkit-box;
	max-height: 3.6em;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.p-entry-author .p-author-right .p-social-nav {
	margin-top: 12px;
	line-height: 1.6;
}

.p-entry-related {
	padding-top: 50px;
	padding-bottom: 100px;
	margin-top: -50px;
	background-color: #f6f6f6;
}

.p-entry-related-headline {
	position: relative;
	margin-top: -0.2em;
	margin-bottom: calc(50px - 0.2em);
	font-size: 24px;
	font-weight: 600;
	line-height: 1.4;
	text-align: center;
}

.p-entry-related-carousel {}

.p-entry-related-item {
	position: relative;
	width: 320px;
}

.p-entry-related-item a {
	display: block;
}

.p-entry-related-item-thumbnail {
	position: relative;
	height: 220px;
	overflow: hidden;
}

.p-entry-related-item-title {
	display: -webkit-box;
	height: 3em;
	margin-top: 26px;
	overflow: hidden;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.5;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.p-entry-related-item-meta {
	margin-top: 9px;
}

.p-entry-related-item .p-float-category a {
	background: #f6f6f6;
}

.p-entry-related-carousel .splide__arrow {
	top: 110px;
}

@media (max-width: 991px) {
	.p-entry-header {
		margin-bottom: 40px;
	}

	.p-entry-thumbnail {
		height: 250px;
		max-height: none;
		aspect-ratio: initial;
	}

	.p-entry-header.has-thumbnail {
		margin-top: -41px;
		margin-right: -20px;
		margin-left: -20px;
	}

	.p-entry-header.has-thumbnail .p-entry-header-content {
		position: relative;
		min-height: auto;
		padding: 30px 30px 0;
		margin-top: calc(-28px - var(--tcd-single-title-font-size));
		margin-right: 20px;
		margin-bottom: 0;
		margin-left: 20px;
		background: #fff;
	}

	.p-entry-meta {
		margin-top: 6px;
	}

	.p-entry-ad-top {
		margin-bottom: 40px;
	}

	.p-entry-next-page {
		margin-top: 40px;
	}

	.p-entry-nav {
		margin-top: 40px;
	}

	.p-entry-author {
		margin-top: 40px;
	}

	.p-entry-related {
		padding-top: 40px;
		padding-bottom: 40px;
		margin-top: 40px;
	}

	.p-entry-related-headline {
		margin-bottom: calc(40px - 0.2em);
	}

	.p-entry-related-carousel {
		margin-right: -20px;
	}

	.p-entry-related-item {
		width: 230px;
	}

	.p-entry-related-item-thumbnail {
		height: 160px;
	}

	.p-entry-related-item-title {
		margin-top: 15px;
		font-size: 14px;
	}

	.p-entry-related-item-meta {
		margin-top: 8px;
	}

	.p-entry-related-carousel .splide__arrow {
		top: 80px;
	}
}

@media (max-width: 399px) {
	.p-entry-meta-date.has-modified-date {
		width: 100%;
	}

	.p-entry-meta-date.has-modified-date::after {
		content: "";
	}
}

/* news entry */
.p-entry-news-body {
	margin-top: 34px;
}

/* news archive */
.p-archive02 {}

.p-archive02-item {
	position: relative;
	background: #fff;
}

.p-archive02 .p-archive02-item::before {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	content: "";
	border-color: #ddd;
	border-style: solid;
	border-width: 0 1px 1px 1px;
}

.p-archive02 .p-archive02-item:first-child::before {
	border-top-width: 1px;
}

.p-archive02 .p-archive02-item-anchor {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
}

.p-archive02 .p-archive02-item-thumbnail {
	position: relative;
	flex: 0 0 320px;
	padding-top: 220px;
	overflow: hidden;
}

.p-archive02 .p-archive02-item-thumbnail-image {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}

.p-archive02 .p-archive02-item-info {
	padding: 20px 50px;
}

.p-archive02 .p-archive02-item-date {
	display: block;
	margin-top: -0.1em;
	margin-bottom: 9px;
	font-size: 14px;
	line-height: 1.2;
	color: #999;
}

.p-archive02 .p-archive02-item-title {
	display: -webkit-box;
	max-height: 4.5em;
	overflow: hidden;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.5;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.p-recent-news {
	margin-top: 50px;
}

.p-archive02-s .p-archive02-item {
	line-height: 58px;
	border: 1px solid #ddd;
	border-radius: 30px;
}

.p-archive02-s .p-archive02-item + .p-archive02-item {
	margin-top: 13px;
}

.p-archive02-s .p-archive02-item-date {
	padding-right: 16px;
	font-size: 14px;
	color: var(--tcd-accent-color);
}

.p-archive02-s .p-archive02-item-title {
	display: inline;
	font-size: 16px;
	font-weight: 400;
}

@media (hover: hover) and (pointer: fine) {
	.p-archive02-s .p-archive02-item-anchor:hover .p-archive02-item-title {
		color: var(--tcd-accent-color);
	}
}

@media (min-width: 992px) {
	.p-archive02-s .p-archive02-item-info {
		height: 58px;
		padding: 0 34px;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
}

@media (max-width: 991px) {
	.p-archive02 {
		display: flex;
		flex-wrap: wrap;
		margin-right: -20px;
		margin-left: -20px;
	}

	.l-primary > .p-archive02:first-child {
		margin-top: -41px;
	}

	.p-archive02 .p-archive02-item {
		flex: 0 0 50%;
	}

	.p-archive02 .p-archive02-item::before {
		display: none;
	}

	.p-archive02 .p-archive02-item:nth-last-child(-n+2) {
		border-bottom: 1px solid #ddd;
	}

	.p-archive02 .p-archive02-item-anchor {
		display: block;
	}

	.p-archive02 .p-archive02-item-thumbnail {
		padding-top: 68.33%;
	}

	.p-archive02 .p-archive02-item-info {
		padding: 19px 20px 18px;
	}

	.p-archive02 .p-archive02-item:nth-child(odd) .p-archive02-item-info {
		border-right: 1px solid #ddd;
	}

	.p-archive02 .p-archive02-item-date {
		margin-bottom: 11px;
	}

	.p-archive02 .p-archive02-item-title {
		height: 3.2em;
		max-height: none;
		margin: -0.3em 0;
		font-size: 14px;
		line-height: 1.6;
		-webkit-line-clamp: 2;
	}

	.p-recent-news {
		margin-top: 40px;
	}

	.l-primary > .p-archive02-s:first-child {
		margin-top: -20px;
	}

	.p-archive02-s .p-archive02-item {
		margin: -0.5em 0;
		line-height: 2;
		border-width: 0;
		border-radius: 0;
	}

	.p-archive02-s .p-archive02-item + .p-archive02-item {
		padding-top: 12px;
		margin-top: 17px;
		border-width: 1px 0 0 0;
	}

	.p-archive02-s .p-archive02-item-date {
		display: block;
		padding-right: 0;
	}

	.p-archive02-s .p-archive02-item-title {
		display: block;
		overflow: hidden;
		font-size: 14px;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
}

/* 404, search no rssults */
.p-main-expand-image {
	position: relative;
	height: 100%;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.p-main-expand-contents {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	gap: 40px;
	align-items: center;
	justify-content: center;
	height: 100%;
	padding-top: 40px;
	padding-bottom: 40px;
}

.p-main-expand-contents-dark {
	color: #fff;
}

.p-main-expand-headline {
	margin-top: -0.2em;
	margin-bottom: -0.2em;
	font-family: var(--tcd-headline-font-type);
	font-size: 42px;
	font-weight: var(--tcd-headline-font-weight);
	line-height: 1.4;
}

.p-main-expand-desc {
	margin-top: -0.5em;
	margin-bottom: -0.5em;
	line-height: 2;
}

.p-main-expand-overlay {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}

.p-main-expand-search-form {
	display: flex;
	width: 80%;
	max-width: 550px;
	height: 50px;
	overflow: hidden;
	background-color: #f5f5f5;
	border-radius: 25px;
}

.p-main-expand-search-input {
	flex: 1 1 auto;
	padding-right: 0;
	padding-left: 25px;
	background: transparent;
	border-width: 0;
}

button.p-main-expand-search-submit {
	flex: 0 0 50px;
	padding-right: 6px;
	background: transparent;
	border-width: 0;
}

@media (max-width: 991px) {
	.p-main-expand {
		height: calc(100vh - 60px - 50px);
	}

	.p-main-expand-contents {
		gap: 20px;
		padding-top: 20px;
		padding-bottom: 20px;
	}

	.p-main-expand-headline {
		font-size: 24px;
	}

	.p-main-expand-search-form {
		height: 45px;
		border-radius: 22.5px;
	}

	button.p-main-expand-search-submit {
		flex: 0 0 45px;
		padding-right: 3px;
	}
}

@media (max-width: 575px) {
	.p-main-expand-search-form {
		width: 100%;
		max-width: 280px;
	}
}

@media (hover: hover) and (pointer: fine) {
	.p-main-expand-search-submit:hover {
		color: var(--tcd-accent-color);
	}
}

/* oEmbed */
div:not(.wp-block-embed__wrapper, .wp-block-embed-wrapper) > .p-embed-container {
	max-width: 100%;
	height: auto;
	margin: 0 0 2rem;
}

div:not(.wp-block-embed__wrapper, .wp-block-embed-wrapper) > .p-embed-container-youtube {
	position: relative;
	width: 100%;
	height: 0;
	padding-top: 56.25%;
	overflow: hidden;
}

div:not(.wp-block-embed__wrapper, .wp-block-embed-wrapper) > .p-embed-container-youtube iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

div:not(.wp-block-embed__wrapper, .wp-block-embed-wrapper) > .p-embed-container-twitter > *,
div:not(.wp-block-embed__wrapper, .wp-block-embed-wrapper) > .p-embed-container-instagram iframe {
	margin-right: auto !important;
	margin-left: auto !important;
}

/* header contents */
.p-header-content-image {
	height: 100%;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.p-header-content-video {
	height: 100%;
}

.p-header-content-video-video {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.p-header-content-youtube {
	height: 100%;
}

.p-header-content-youtube-inner {
	height: 100%;
}

.p-header-content-youtube iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: none;
}

.p-header-content,
.p-header-content-overlay {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: block;
}

.p-header-content-overlay {
	z-index: 1;
	background-color: var(--tcd-header-overlay-color);
}

.p-header-content {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 40px;
	overflow: hidden;
	text-align: center;
	pointer-events: none;
	-webkit-user-select: none;
	user-select: none;
}

.p-header-content-inner {
	flex: 0 0 auto;
}

.p-header-content-catch {
	font-family: var(--tcd-header-headline-font-type);
	font-size: min(var(--tcd-header-headline-font-size), var(--tcd-header-headline-has-bg-row-height));
	font-weight: var(--tcd-header-headline-font-weight);
	line-height: 1.4;
	color: #fff;
	text-align: center;
	--tcd-header-headline-has-bg-row-height: 60px;
	--tcd-header-headline-has-bg-padding-lr: 20px;
	--tcd-header-headline-has-bg-padding-tb: max(0px, calc((var(--tcd-header-headline-has-bg-row-height) - var(--tcd-header-headline-font-size) * 1.4) / 2));
	--tcd-header-headline-has-bg-padding-tb-offset: -1px;
}

.p-header-content-catch[data-font-type="type3"] {
	--tcd-header-headline-has-bg-padding-tb-offset: 1px;
}

body.android .p-header-content-catch {
	--tcd-header-headline-has-bg-padding-tb-offset: 1.5px;
}

body.android .p-header-content-catch[data-font-type="type3"] {
	--tcd-header-headline-has-bg-padding-tb-offset: 2.5px;
}

.p-header-content-has-catch-bg .p-header-content-catch {
	color: #000;
}

.p-header-content-has-catch-bg .p-header-content-catch-bg {
	background-color: #fff;
}

.p-header-content.p-text-direction-type2 .p-header-content-catch {
	text-align: left;
}

.p-header-content-animation-type2 .p-header-content-catch-row {
	min-height: 1.4em;
}

.p-header-content-has-catch-bg .p-header-content-catch-block {
	padding-top: calc(var(--tcd-header-headline-has-bg-padding-tb) + var(--tcd-header-headline-has-bg-padding-tb-offset));
	padding-right: var(--tcd-header-headline-has-bg-padding-lr);
	padding-bottom: calc(var(--tcd-header-headline-has-bg-padding-tb) - var(--tcd-header-headline-has-bg-padding-tb-offset));
	padding-left: var(--tcd-header-headline-has-bg-padding-lr);
}

.p-header-content-has-catch-bg.p-text-direction-type2 .p-header-content-catch-block {
	padding-top: var(--tcd-header-headline-has-bg-padding-lr);
	padding-right: calc(var(--tcd-header-headline-has-bg-padding-tb) + var(--tcd-header-headline-has-bg-padding-tb-offset));
	padding-bottom: var(--tcd-header-headline-has-bg-padding-lr);
	padding-left: calc(var(--tcd-header-headline-has-bg-padding-tb) - var(--tcd-header-headline-has-bg-padding-tb-offset));
}

.p-header-content-has-catch-bg.p-header-content-animation-type2 .p-header-content-catch-row {
	height: var(--tcd-header-headline-has-bg-row-height);
	overflow: hidden;
}

.p-header-content-has-catch-bg.p-header-content-animation-type2 .p-header-content-catch-block {
	display: inline-block;
	padding-top: calc(var(--tcd-header-headline-has-bg-padding-tb) + var(--tcd-header-headline-has-bg-padding-tb-offset));
	padding-right: var(--tcd-header-headline-has-bg-padding-lr);
	padding-bottom: calc(var(--tcd-header-headline-has-bg-padding-tb) - var(--tcd-header-headline-has-bg-padding-tb-offset));
	padding-left: var(--tcd-header-headline-has-bg-padding-lr);
}

.p-header-content-animation-type2.p-text-direction-type2 .p-header-content-catch-row {
	min-width: 1.4em;
	min-height: auto;
}

.p-header-content-has-catch-bg.p-header-content-animation-type2.p-text-direction-type2 .p-header-content-catch-row {
	width: var(--tcd-header-headline-has-bg-row-height);
	height: auto;
}

.p-header-content-has-catch-bg.p-header-content-animation-type2.p-text-direction-type2 .p-header-content-catch-block {
	padding-top: var(--tcd-header-headline-has-bg-padding-lr);
	padding-right: calc(var(--tcd-header-headline-has-bg-padding-tb) + var(--tcd-header-headline-has-bg-padding-tb-offset));
	padding-bottom: var(--tcd-header-headline-has-bg-padding-lr);
	padding-left: calc(var(--tcd-header-headline-has-bg-padding-tb) - var(--tcd-header-headline-has-bg-padding-tb-offset));
}

.p-header-content-button {
	position: absolute;
	right: 30px;
	bottom: 30px;
	z-index: 5;
	overflow: hidden;
}

.p-header-content-button a {
	position: relative;
	display: block;
	min-width: 280px;
	max-width: calc(100vw - 140px);
	padding: 0 22px;
	padding-right: 40px;
	overflow: hidden;
	font-size: 14px;
	line-height: 60px;
	text-align: left;
	text-overflow: ellipsis;
	white-space: nowrap;
	pointer-events: auto;
	background: #fff;
	border-radius: 5px;
	transition: all 0.25s ease;
}

.p-header-content-button a::after {
	position: absolute;
	right: 16px;
	bottom: -1px;
	font-family: "design_plus";
	content: "\e910";
}

.p-header-content-button a:hover{
	padding-left: calc(22px + 1em);
}

@media (min-width: 992px) {
	.p-header-content-catch-mobile,
	.p-header-content-desc-mobile {
		display: none;
	}
}

@media (max-width: 991px) {
	.p-header-content {
		padding: 20px 0;
	}

	.p-header-content-catch {
		--tcd-header-headline-has-bg-row-height: 50px;
		--tcd-header-headline-has-bg-padding-lr: 15px;
		--tcd-header-headline-has-bg-padding-tb-offset: -0.5px;
	}

	.p-header-content-catch[data-font-type="type3"] {
		--tcd-header-headline-has-bg-padding-tb-offset: 1.5px;
	}

	.p-header-content-catch-pc,
	.p-header-content-desc-pc {
		display: none;
	}

	.p-header-content-button {
		right: 20px;
		bottom: 20px;
	}

	.p-header-content-button a {
		min-width: 240px;
		max-width: calc(100vw - 40px);
		line-height: 50px;
	}
}

@media (max-width: 575px) {
	.p-header-content-button {
		left: 20px;
		max-width: none;
	}
}

@media (hover: hover) and (pointer: fine) {
	a.p-header-content-overlay::after {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		display: block;
		content: "";
		background-color: rgba(0, 0, 0, 0);
		transition-timing-function: ease-out;
		transition-duration: 0.3s;
		transition-property: background-color;
	}

	a.p-header-content-overlay:hover::after {
		background-color: rgba(0, 0, 0, 0.1);
	}
}

/* iOS safari chrome ヘッダー見出しの帯表示間に隙間が空く対策 */
_::-webkit-full-page-media,
_:future,
:root .p-header-content-has-catch-bg .p-header-content-catch .p-header-content-catch-row + .p-header-content-catch-row {
	margin-top: -0.7px;
}

_::-webkit-full-page-media,
_:future,
:root .p-header-content-has-catch-bg.p-text-direction-type2 .p-header-content-catch .p-header-content-catch-row + .p-header-content-catch-row {
	margin-top: 0;
	margin-right: -0.7px;
}

/* header content transition */
.p-header-content-inner {
	opacity: 0;
	transition: opacity 1.5s ease 0.5s;
}

.show-header-content .p-header-content-inner {
	opacity: 1;
}

.p-header-content-button-inner {
	transition: transform 0.5s ease 1.5s;
	transform: translate3d(100%, 0, 0);
}

.show-header-content .p-header-content-button-inner {
	transform: translate3d(0, 0, 0);
}

@media (max-width: 767px) {
	.p-header-content-button-inner {
		opacity: 0;
		transition: opacity 1s ease 1.5s;
		transform: translate3d(0, 0, 0);
	}

	.show-header-content .p-header-content-button-inner {
		opacity: 1;
	}
}

.p-header-content-animation-type2 .p-header-content-inner {
	opacity: 1;
	transition: none;
}

.p-header-content-animation-type2 .p-header-content-inner i {
	position: relative;
	z-index: 2;
	font-style: normal;
	opacity: 0;
	transition: opacity 0.5s ease 0.15s;
}

.p-header-content-animation-type2 .p-header-content-inner i.is-active {
	opacity: 1;
}

.p-header-content-animation-type2 .p-header-content-catch-block {
	position: relative;
	overflow: hidden;
}

.p-header-content-animation-type2 .p-header-content-catch-row .p-header-content-catch-bg {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
	content: "";
	transition: transform 0.1s linear;
}

.p-header-content-animation-type2 .p-header-content-catch-row .p-header-content-catch-bg {
	transform: translate3d(-100%, 0, 0);
}

.p-header-content-animation-type2 .p-header-content-catch-row.is-active .p-header-content-catch-bg {
	transform: translate3d(0, 0, 0);
}

.p-header-content-animation-type2.p-text-direction-type2 .p-header-content-catch-row .p-header-content-catch-bg {
	transform: translate3d(0, -100%, 0);
}

.p-header-content-animation-type2.p-text-direction-type2 .p-header-content-catch-row.is-active .p-header-content-catch-bg {
	transform: translate3d(0, 0, 0);
}

/* header slider */
.p-header-slider {
	position: relative;
	height: 100vh;
	height: calc(100vh - 135px);
}

.p-header-slider-item {
	position: relative;
	overflow: hidden;
}

.p-header-slider .splide__track {
	height: 100%;
}

@media (min-width: 992px) {
	.p-header-slider {
		overflow: hidden;
		border-radius: 8px;
	}
}

@media (max-width: 991px) {
	.p-header-slider {
		height: calc(100vh - 60px);
	}

	.p-header-slider.l-inner03 {
		padding-right: 0;
		padding-left: 0;
	}
}

@media (min-width: 768px) {
	.p-header-slider .splide__pagination {
		bottom: 30px;
	}

	.p-header-slider .p-header-content {
		padding-bottom: 70px;
	}
}

@media (max-width: 767px) {
	.p-header-slider .splide__pagination {
		top: 20px;
		bottom: auto;
	}

	.p-header-slider .p-header-content {
		padding-top: 52px;
	}

	.p-header-slider .has-button .p-header-content {
		padding-bottom: 90px;
	}
}

/* header video */
.p-header-video {
	position: relative;
	height: 100vh;
	height: calc(100vh - 135px);
}

@media (min-width: 992px) {
	.p-header-video {
		overflow: hidden;
		border-radius: 8px;
	}
}

@media (max-width: 991px) {
	.p-header-video {
		height: calc(100vh - 60px);
	}

	.p-header-video.l-inner03 {
		padding-right: 0;
		padding-left: 0;
	}

	.p-header-video.has-button .p-header-content {
		padding-bottom: 90px;
	}
}

/* header contents for header slider and shop page */
.p-header-content02 {
	position: absolute;
	min-height: auto !important;
}

.p-header-content02 .p-header-content-inner {
	max-height: 100%;
	padding: 40px;
	color: var(--tcd-header-content-color);
}

.p-header-content02.has-bg-color .p-header-content-inner {
	padding: 50px;
	background: var(--tcd-header-content-bg-color);
}

.p-header-content02 .p-header-content-catch {
	margin: -0.15em 0;
	font-size: var(--tcd-header-content-headline-font-size);
	line-height: 1.3;
	color: inherit;
}

.p-header-content02 .p-header-content-desc {
	margin: var(--tcd-line-height-offset) 0;
	font-size: 16px;
	line-height: var(--tcd-line-height);
}

.p-header-content02 .p-header-content-catch ~ .p-header-content-desc {
	margin-top: 22px;
}

.p-header-content02.p-text-direction-type2 .p-header-content-catch {
	margin: 0 -0.15em;
	text-align: left;
}

.p-header-content02.p-text-direction-type2 .p-header-content-desc {
	margin: 0 var(--tcd-line-height-offset);
}

.p-header-content02.p-text-direction-type2 .p-header-content-catch ~ .p-header-content-desc {
	margin-top: 0;
	margin-right: 22px;
}

@media (max-width: 991px) {
	.p-header-content02 .p-header-content-inner {
		padding: 20px;
	}

	.p-header-content02.has-bg-color .p-header-content-inner {
		padding: 30px;
	}

	.p-header-content02 .p-header-content-desc {
		font-size: 14px;
	}

	.p-header-content02 .p-header-content-catch ~ .p-header-content-desc {
		margin-top: 10px;
	}

	.p-header-content02.p-text-direction-type2 .p-header-content-catch ~ .p-header-content-desc {
		margin-top: 0;
		margin-right: 10px;
	}
}

/* contents builder */
.p-cb-item {
	position: relative;
	margin-top: 120px;
}

.p-cb-item-headline {
	margin-bottom: 60px;
	font-family: var(--tcd-headline-font-type);
	font-size: var(--tcd-headline-font-size);
	font-weight: var(--tcd-headline-font-weight);
	line-height: 1.3;
}

.p-cb-item-headline .p-text-direction-inner {
	display: block;
	margin: -0.15em 0;
}

.p-cb-item-headline.p-text-direction-type2 .p-text-direction-inner {
	margin: 0;
}

.p-cb-item-desc {
	margin-bottom: 60px;
	line-height: var(--tcd-line-height);
	text-align: center;
}

.p-cb-item-desc p {
	margin: var(--tcd-line-height-offset) 0;
}

@media (min-width: 992px) {
	.p-cb-item:first-child {
		padding-top: 60px;
		margin-top: 0;
		border-top: 1px solid #ddd;
	}

	.p-header-slider + .p-cb-item.has-headline-logo {
		margin-top: 60px;
	}

	.p-cb-item:last-child {
		margin-bottom: 150px;
	}

	.p-cb-item-desc-mobile {
		display: none;
	}
}

@media (max-width: 991px) {
	.p-cb-item {
		margin-top: 40px;
		margin-bottom: 40px;
	}

	.p-cb-item:first-child {
		padding-top: 40px;
		margin-top: 0;
		border-top: 1px solid #ddd;
	}

	.p-cb-item-headline {
		margin-bottom: 40px;
	}

	.p-cb-item-desc {
		margin-bottom: 40px;
		text-align: left;
	}

	.p-cb-item-desc-pc {
		display: none;
	}

	.p-cb-item-postlist .p-archive {
		display: flex;
		flex-wrap: wrap;
		gap: 22px 15px;
	}

	.p-cb-item-postlist .p-archive-item {
		flex: 0 0 calc((100% - 15px) / 2);
		margin-bottom: 0;
	}
}

/* contents builder button */
.p-cb-item-button {
	display: inline-block;
	min-width: 280px;
	height: 60px;
	line-height: 60px;
	color: #fff;
	text-align: center;
	background-color: #000;
	transition-timing-function: cubic-bezier(0.17, 0.84, 0.44, 1);
	transition-duration: 0.5s;
	transition-property: background-color;
}

@media (max-width: 991px) {
	.p-cb-item-button {
		min-width: 250px;
		height: 50px;
		line-height: 50px;
	}
}

@media (hover: hover) and (pointer: fine) {
	.p-cb-item-button:hover {
		color: #fff;
		background-color: var(--tcd-accent-color);
	}
}

/* contents builder design content */
.p-cb-design-content .p-cb-item-desc {
	text-align: left;
}

.p-cb-design-content-image img {
	display: block;
	width: 100%;
	height: auto;
}

.p-cb-design-content-info .p-button-wrapper:only-child {
	margin-top: 0;
}

.p-cb-design-content-info > *:last-child {
	margin-bottom: 0;
}

@media (min-width: 992px) {
	.p-cb-design-content-inner {
		display: flex;
	}

	.p-cb-design-content-image {
		flex: 1 1 auto;
		min-height: 580px;
	}

	.p-cb-design-content-image img {
		height: 100%;
		object-fit: cover;
	}

	.p-cb-design-content-info {
		flex: 0 0 50%;
		align-self: center;
		padding-right: 5.5%;
		padding-left: 5.5%;
	}

	.p-cb-design-content-info:only-child {
		margin: auto;
	}

	.p-cb-design-content-type2 .p-cb-design-content-image {
		order: 2;
	}

	.p-cb-design-content-image:only-child {
		flex: 1 1 100%;
		min-height: auto;
	}

	.p-cb-design-content-image:only-child img {
		height: auto;
		object-fit: contain;
	}

	/* 縦書き（見出しロゴ画像付き）の例外処理 */
	.p-cb-item-design_content .p-cb-headline-logo-wrapper {
		margin-bottom: 20px;
	}

	.p-cb-item-design_content .p-cb-headline-logo-wrapper > * {
		min-height: auto;
	}

	.p-cb-item-design_content .p-cb-headline-logo-wrapper .p-headline-logo img {
		display: block;
		margin: auto;
	}

	.p-cb-item-design_content .p-cb-headline-logo-wrapper + .p-cb-design-content-inner .p-headline-logo {
		display: none;
	}

	.p-cb-item-design_content .p-cb-headline-logo-wrapper + .p-cb-design-content-inner .p-cb-design-content-info {
		align-self: flex-start;
	}
}

@media (min-width: 1200px) {
	.p-cb-design-content-info {
		flex: 0 0 44.1379%;
	}
}

@media (max-width: 991px) {
	.p-cb-design-content-info {
		padding-right: 20px;
		padding-left: 20px;
		margin-top: 40px;
	}

	.p-cb-design-content-info .p-cb-item-headline + .p-cb-item-desc {
		margin-top: 40px;
	}

	.p-cb-design-content-type2 .p-cb-design-content-inner {
		display: flex;
		flex-direction: column;
	}

	.p-cb-design-content-type2 .p-cb-design-content-info {
		margin-top: 0;
		margin-bottom: 40px;
	}

	.p-cb-design-content-type2 .p-cb-design-content-image {
		order: 2;
	}

	.p-cb-design-content-info:only-child,
	.p-cb-design-content-type2 .p-cb-design-content-info:only-child {
		margin-top: 0;
		margin-bottom: 0;
	}

	.p-cb-item-design_content .p-cb-headline-logo-wrapper {
		display: none !important;
	}
}

/* contents builder carousel */
.p-cb-carousel {}

.p-cb-carousel .p-archive-item,
.p-cb-carousel .p-archive03-item {
	width: 320px;
}

.p-cb-carousel .p-archive-item-info,
.p-cb-carousel .p-archive03-item-info {
	margin-top: 22px;
}

.p-cb-carousel .splide__arrow {
	top: 110px;
}

@media (min-width: 992px) {
	.p-cb-item-carousel.has-headline .p-cb-item-inner > .p-cb-item-headline {
		display: none;
	}

	.p-cb-item-carousel.has-headline .p-cb-item-content {
		display: flex;
	}

	.p-cb-item-carousel.has-headline .p-cb-carousel-headline {
		flex: 0 0 21.5862%;
		max-width: 370px;
		padding-right: 40px;
		padding-left: 40px;
		overflow: hidden;
	}

	.p-cb-item-carousel.has-headline .p-cb-carousel-headline .p-cb-item-headline {
		margin-bottom: 0;
	}

	.p-cb-item-carousel.has-headline .p-cb-carousel-wrapper {
		width: 78.4138%;
		padding-right: 0;
		padding-left: 0;
		margin-right: 0;
		margin-left: 0;
	}

	.p-cb-item-carousel.has-headline .p-cb-carousel .splide__arrow {
		top: 96px;
		background: #fff;
		border-radius: 50%;
	}

	.p-cb-item-carousel.has-headline .p-cb-carousel .splide__arrow--prev {
		transform: translate3d(-50%, -50%, 0);
	}

	.p-cb-item-carousel.has-headline .p-cb-carousel .splide__arrow--next {
		right: auto;
		left: 1050px;
		transform: translate3d(-45px, -50%, 0);
	}

	.p-cb-item-carousel.has-headline .p-cb-carousel .splide__arrow svg {
		width: 18px;
		height: 18px;
	}

	.p-cb-carousel-headline.p-text-direction-type2 .p-text-direction-inner {
		margin: 0;
	}

	/* 縦書き（見出しロゴ画像付き）の例外処理 */
	.p-cb-item-carousel .p-cb-headline-logo-wrapper {
		width: 21.5862%;
		max-width: 370px;
		padding-right: 40px;
		padding-left: 40px;
	}

	.p-cb-item-carousel .p-cb-headline-logo-wrapper .p-headline-logo img {
		display: block;
		margin: auto;
	}

	.p-cb-item-carousel .p-cb-headline-logo-wrapper + .p-cb-item-content .p-headline-logo {
		display: none;
	}
}

@media (min-width: 1715px) {
	.p-cb-item-carousel.has-headline .p-cb-carousel-wrapper {
		width: calc(100% - 370px);
	}
}

@media (min-width: 1280px) {
	.p-cb-item-carousel.has-headline .p-cb-carousel-headline,
	.p-cb-item-carousel .p-cb-headline-logo-wrapper {
		padding-left: 80px;
	}
}

@media (max-width: 991px) {
	.p-cb-carousel .p-archive-item,
	.p-cb-carousel .p-archive03-item {
		flex: 0 0 230px;
		width: 230px;
	}

	.p-cb-carousel .p-archive-item-info,
	.p-cb-carousel .p-archive03-item-info {
		margin-top: 20px;
	}

	.p-cb-carousel .p-archive03-item-meta {
		margin-bottom: calc(14px - 0.1em);
	}

	.p-cb-item-carousel .p-cb-carousel-wrapper {
		margin-right: -20px;
	}

	.p-cb-item-carousel.has-headline .p-cb-carousel-wrapper {
		margin-right: 0;
		margin-left: 20px;
	}

	.p-cb-item-carousel .p-cb-headline-logo-wrapper,
	.p-cb-item-carousel .p-cb-carousel-headline {
		display: none;
	}
}

/* contents builder tab carousel */
.p-cb-carousel-tab {
	display: flex;
}

.p-cb-carousel-tab-item {
	flex: 1 1 100%;
}

.p-cb-carousel-tab-item:only-child {
	flex: 0 0 auto;
	min-width: 33.3333%;
}

.p-cb-carousel-tab-item a {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 60px;
	padding: 0 20px;
	overflow: hidden;
	font-size: 16px;
	color: var(--tcd-root-font-color);
	text-align: center;
	background: #eee;
}

.p-cb-carousel-tab-item a span {
	display: -webkit-box;
	max-height: 2.4em;
	overflow: hidden;
	line-height: 1.2;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.p-cb-carousel-tab-item.is-active a {
	color: #fff;
	pointer-events: none;
	background-color: #000;
}

.p-cb-item-tab_carousel .p-cb-item-content {
	background-color: #000;
}

.p-cb-item-tab_carousel .p-archive-item-anchor,
.p-cb-item-tab_carousel .p-archive03-item-anchor,
.p-cb-item-tab_carousel .splide__arrow {
	color: #fff;
}

.p-cb-item-tab_carousel .p-cb-carousel-wrapper {
	padding-top: 60px;
	padding-bottom: 60px;
}

.p-cb-item-tab_carousel .p-article-title,
.p-cb-item-tab_carousel .p-article-excerpt,
.p-cb-item-tab_carousel .p-article-meta,
.p-cb-item-tab_carousel .p-article-price,
.p-cb-item-tab_carousel .p-article-rating {
	color: inherit;
}

.p-cb-item-tab_carousel .p-article-excerpt {
	padding-top: 21px;
	margin-top: 19px;
	border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.p-cb-item-tab_carousel .p-cb-carousel-tab-content {
	display: none;
}

.p-cb-item-tab_carousel .p-cb-carousel-tab-content.is-active {
	display: block;
}

@media (hover: hover) and (pointer: fine) {
	.p-cb-carousel-tab-item a:hover {
		color: #fff;
		background-color: var(--tcd-accent-color);
	}
}

@media (max-width: 991px) {
	.p-cb-carousel-tab-item a {
		height: 50px;
		padding: 0 10px;
		font-size: 14px;
	}

	.p-cb-item-tab_carousel .p-cb-carousel-wrapper {
		padding-top: 40px;
		padding-right: 0;
		padding-bottom: 40px;
	}

	.p-cb-item-tab_carousel .p-article-excerpt {
		padding-top: 20px;
		margin-top: 18px;
	}

	.p-cb-item-tab_carousel .p-archive03-item-meta {
		margin-top: 0;
		margin-bottom: calc(15px - 0.1em);
	}
}

@media (max-width: 575x) {
	.p-cb-carousel-tab-item a {
		font-size: 12px;
	}
}

/* page */
.p-entry-page .p-entry-thumbnail {
	margin-bottom: 60px;
}

.p-entry-page .p-entry-thumbnail img {
	height: auto;
}

.p-entry-page-body h1,
.p-entry-page-body h2,
.p-entry-page-body h3,
.p-entry-page-body h4,
.p-entry-page-body h5,
.p-entry-page-body h6 {
	font-family: var(--tcd-headline-font-type);
	font-weight: var(--tcd-headline-font-weight);
}

@media (max-width: 991px) {
	.p-entry-page .p-entry-thumbnail {
		margin-bottom: 40px;
	}
}

/* LP */
.l-main-lp-page .p-body h1 {
	font-size: 2.375rem;
}

.l-main-lp-page .p-body h2 {
	font-size: 2.125rem;
}

.l-main-lp-page .p-body h3 {
	font-size: 1.625rem;
}

.l-main-lp-page .p-body > .post_row,
.l-main-lp-page .p-body > .p-expand-area .post_row {
	margin-bottom: -20px;
}

@media (min-width: 992px) {
	.l-main-lp-page .l-main-inner {
		margin-top: 100px;
	}

	.l-main-lp-page .p-body > *:not(h1, h2, h3, h4, h5, h6, p) {
		margin-top: 100px;
		margin-bottom: 100px;
	}

	.l-main-lp-page .p-body > *:is(h1, h2, h3, h4, h5, h6) + *:not(h1, h2, h3, h4, h5, h6, p) {
		margin-top: 40px;
	}

	.l-main-lp-page .p-body > *:first-child:is(h1, h2) {
		margin-bottom: 100px;
	}

	.l-main-lp-page .l-inner02 .p-body .p-expand-area {
		padding-right: 40px;
		padding-left: 40px;
		margin-right: calc(-50vw + 400px);
		margin-left: calc(-50vw + 400px);
	}

	.l-main-lp-page .p-body > .post_row,
	.l-main-lp-page .p-body > .p-expand-area .post_row {
		margin-bottom: -30px;
	}
}

@media (min-width: 1100px) {
	.l-main-lp-page .l-inner02 .p-body .p-expand-area {
		padding-right: 40px;
		padding-left: 40px;
		margin-right: -150px;
		margin-left: -150px;
	}
}

@media (max-width: 991px) {
	.p-lp-header {
		margin-top: 0;
	}

	.p-lp-header.l-inner03 {
		padding-right: 0;
		padding-left: 0;
	}

	.p-lp-header .p-header-content {
		min-height: 240px;
	}

	.p-lp-header-type2 .p-header-content {
		height: 100vh;
		min-height: auto;
	}

	.l-header + .l-main .p-lp-header-type2 .p-header-content {
		height: calc(100vh - 60px);
	}

	.l-main-lp-page .p-body h1 {
		font-size: 1.5rem;
	}

	.l-main-lp-page .p-body h2 {
		font-size: 1.375rem;
	}

	.l-main-lp-page .p-body h3 {
		font-size: 1.25rem;
	}

	.l-main-lp-page .p-body > * {
		margin-top: 40px;
		margin-bottom: 40px;
	}
}

.l-main-lp-page .p-body > *:first-child {
	margin-top: 0;
}

.l-main-lp-page .p-body > *:last-child {
	margin-bottom: 0;
}

/* shortcode builder */
.sb-content {}

@media (min-width: 992px) {
	.sb-content-width-type2 {
		padding-right: 50%;
		padding-left: 50%;
	}

	.sb-content-width-type2 .sb-content-inner {
		margin-right: -50vw;
		margin-left: -50vw;
	}
}

@media (max-width: 991px) {
	.sb-content-width-type2 {
		margin-right: -20px;
		margin-left: -20px;
	}
}

/* shortcode builder common */
.sb-content .sb-catch {
	margin: -0.5em 0;
	line-height: 2;
	text-align: center;
}

.sb-content h2.sb-catch {
	margin: -0.15em 0;
	line-height: 1.3;
}

.sb-content h3.sb-catch {
	margin: -0.2em 0;
	line-height: 1.4;
}

.sb-content h4.sb-catch {
	margin: -0.3em 0;
	line-height: 1.6;
}

.sb-content h5.sb-catch {
	margin: -0.4em 0;
	line-height: 1.8;
}

.sb-content .sb-desc {
	margin: var(--tcd-line-height-offset) 0;
	line-height: var(--tcd-line-height);
	text-align: left;
}

@media (min-width: 992px) {
	.sb-content .sb-desc-mobile {
		display: none;
	}
}

@media (max-width: 991px) {
	.sb-content .sb-desc-pc {
		display: none;
	}
}

.sb-content .sb-center-content {
	justify-content: center;
}

/* shortcode builder vertically catch desc */
.sb-content-vertically_catch_desc .p-text-direction-type2 .sb-catch {
	margin: 0 -0.15em;
	line-height: 1.3;
	text-align: left;
}

.sb-content-vertically_catch_desc .p-text-direction-type2 .sb-desc {
	margin: 0 var(--tcd-line-height-offset);
	text-align: left;
}

.sb-content-vertically_catch_desc .p-text-direction-type2 .sb-catch ~ .sb-desc {
	margin-right: 16px;
}

/* shortcode builder parallax */
.sb-parallax-image {
	position: relative;
}

.sb-parallax-image .sb-catch {
	text-align: center;
}

.sb-parallax-image .sb-center-content {
	position: relative;
	z-index: 2;
}

.sb-parallax-image .sb-center-content-inner {
	padding: 50px 40px;
}

.sb-parallax-image .sb-overlay {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}

.sb-parallax-image .p-text-direction-type2 .sb-catch {
	margin: 0;
	line-height: 1.3;
	text-align: left;
}

.sb-parallax-image.has-bg-image {
	min-height: 460px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.sb-parallax-image.has-bg-image.parallax-ready[data-parallax-image] {
	transition-timing-function: cubic-bezier(0, 0.33, 0.07, 1);
	transition-duration: 1s;
	transition-property: background-position;
}

.sb-parallax-image.has-bg-image .sb-center-content {
	min-height: 460px;
}

@media (max-width: 991px) {
	.sb-parallax-image.has-bg-image,
	.sb-parallax-image.has-bg-image .sb-center-content {
		min-height: 300px;
	}

	.sb-parallax-image.has-bg-image .sb-center-content-inner {
		padding: 40px 20px;
	}
}

/* shortcode builder accordion */
dl.sb-accordion {
	margin: 0 !important;
	line-height: var(--tcd-line-height);
	border-bottom: 1px solid #ddd;
}

dl.sb-accordion dt > *:first-child,
dl.sb-accordion dd > div > *:first-child {
	margin-top: 0 !important;
}

dl.sb-accordion dt > *:last-child,
dl.sb-accordion dd > div > *:last-child {
	margin-bottom: 0 !important;
}

dl.sb-accordion dt {
	position: relative;
	margin: 0 0 -1px 0 !important;
	font-weight: inherit;
	cursor: pointer;
	border: 1px solid #ddd;
}

dl.sb-accordion dt::after {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	font-weight: 100;
	text-align: center;
	content: "＋";
}

dl.sb-accordion dd {
	height: 0;
	margin: 0 !important;
	overflow: hidden;
	background: #f7f7f7;
	border-color: #ddd;
	border-style: solid;
	border-width: 0 1px;
	-webklit-transition: height 0.5s ease;
	transition: height 0.5s ease;
}

dl.sb-accordion dt,
dl.sb-accordion dd > div {
	padding: 14px 30px;
}

dl.sb-accordion dt {
	min-height: 68px;
	padding-right: 60px;
}

dl.sb-accordion dt.is-open::after {
	content: "－";
}

@media (max-width: 991px) {
	dl.sb-accordion {
		line-height: 1.8;
	}

	dl.sb-accordion dt,
	dl.sb-accordion dd > div {
		padding: 9px 20px;
	}

	dl.sb-accordion dt {
		min-height: 48px;
		padding-right: 45px;
	}

	dl.sb-accordion dt::after {
		width: 45px;
	}
}

/* widget */
.p-widget {
	margin-bottom: 40px;
	font-size: 14px;
	line-height: 1.8;
}

.p-widget:last-child {
	margin-bottom: 0;
}

/* widget title */
.p-widget-title {
	position: relative;
	padding-top: 22px;
	margin-bottom: 22px;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.4;
	border-top: 3px solid var(--tcd-accent-color);
}

/* default widget */
.p-widget p {
	margin-bottom: 0.4em;
}

.p-widget ul {
	margin-bottom: -0.4em;
}

.p-widget li {
	margin-bottom: 0.4em;
}

.p-widget ul ul {
	padding-left: 0.75em;
	margin-top: 0.4em;
	margin-bottom: 0.4em;
}

.p-widget select {
	display: block;
	width: 100%;
	height: 60px;
	padding: 0 22px;
	cursor: pointer;
	background: #fff;
	border: 1px solid #ddd;
}

.p-widget select:focus {
	border-color: #aaa;
}

.p-widget .screen-reader-text {
	display: none;
}

.widget_archive.has-select,
.widget_categories form {
	position: relative;
}

.widget_archive.has-select select,
.widget_categories form select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	padding-right: 42px;
}

.widget_archive.has-select::after {
	position: absolute;
	right: 22px;
	bottom: 0;
	width: 1em;
	font-family: "design_plus";
	font-size: 14px;
	line-height: 60px;
	pointer-events: none;
	content: "\e90e";
}

.widget_categories form::after {
	position: absolute;
	top: 0;
	right: 22px;
	bottom: 0;
	width: 1em;
	height: 1em;
	margin: auto;
	font-family: "design_plus";
	font-size: 14px;
	line-height: 1;
	pointer-events: none;
	content: "\e90e";
}


.p-widget .calendar_wrap {
	text-align: center;
}

.p-widget .calendar_wrap caption {
	margin-bottom: 8px;
}

.p-widget .search-form,
.p-widget .searchform {
	position: relative;
}

.p-widget .search-form .search-field,
.p-widget .searchform #s {
	box-sizing: border-box;
	width: 100%;
	height: 60px;
	padding: 0 59px 0 22px;
	background: #fff;
	border: 1px solid #ddd;
}

.p-widget .search-form .search-submit,
.p-widget .searchform #searchsubmit {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 2;
	box-sizing: border-box;
	width: 60px;
	height: 60px;
	padding: 0;
	font-family: "design_plus";
	font-size: 16px;
	cursor: pointer;
	background: transparent;
	border: none;
	border-radius: 0;
}

@media (hover: hover) and (pointer: fine) {
	.p-widget a:not(.p-button):hover {
		text-decoration: underline;
	}
}

@media (max-width: 767px) {
	.p-widget select {
		height: 50px;
	}

	.widget_archive.has-select::after {
		line-height: 50px;
	}

	.p-widget .search-form .search-field,
	.p-widget .searchform #s {
		height: 50px;
		padding-right: 50px;
	}

	.p-widget .search-form .search-submit,
	.p-widget .searchform #searchsubmit {
		width: 50px;
		height: 50px;
	}
}

/* widget tab post list */
.styled-post-list-tabs {
	display: flex;
	padding: 0;
	margin: 0 0 -1px 0 !important;
	border-left: 1px solid #ddd;
}

.styled-post-list-tabs li {
	width: 50%;
	padding: 0;
	margin: 0 !important;
	background: #f6f6f6;
	border-color: #ddd;
	border-style: solid;
	border-width: 1px 1px 1px 0;
}

.styled-post-list-tabs li label {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	min-height: 48px;
	padding: 9px 10px;
	line-height: 1.4;
	text-align: center;
	cursor: pointer;
}

.styled-post-list-tab-content {
	display: none;
}

.tcd-styled-post-list-tab-widget .tab-radio {
	display: none;
}

.tcd-styled-post-list-tab-widget .tab-radio--1:checked ~ .styled-post-list-tabs .tab-label--1,
.tcd-styled-post-list-tab-widget .tab-radio--2:checked ~ .styled-post-list-tabs .tab-label--2 {
	background: #fff;
	border-bottom-color: #fff;
}

.tcd-styled-post-list-tab-widget .tab-radio--1:checked ~ .styled-post-list-tab-content--1,
.tcd-styled-post-list-tab-widget .tab-radio--2:checked ~ .styled-post-list-tab-content--2 {
	display: block;
}

.tcd-styled-post-list-tab-widget .p-widget-list {
	margin: 0 !important;
	background: #fff;
	border-top: 1px solid #ddd;
}

.tcd-styled-post-list-tab-widget .p-widget-list-item {
	position: relative;
	padding: 0;
	margin: 0 !important;
	border-color: #ddd;
	border-style: solid;
	border-width: 0 1px 1px 1px;
}

.tcd-styled-post-list-tab-widget .p-widget-list-item.p-no-post {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 109px;
	padding: 9px 15px 9px 10px;
}

.tcd-styled-post-list-tab-widget .p-widget-list-item > a {
	display: flex;
	gap: 20px;
	align-items: center;
	padding: 9px 15px 9px 10px;
	color: inherit;
	text-decoration: none !important;
}

.tcd-styled-post-list-tab-widget .p-widget-list-item-thumbnail {
	position: relative;
	flex: 0 0 90px;
	width: 90px;
	height: 90px;
	overflow: hidden;
}

.tcd-styled-post-list-tab-widget .p-widget-list-item-rank {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	min-width: 30px;
	padding: 0 6px;
	font-size: 12px;
	line-height: 30px;
	text-align: center;
	background-color: #fff;
}

.tcd-styled-post-list-tab-widget .p-widget-list-item-title {
	display: -webkit-box;
	max-height: 3.6em;
	overflow: hidden;
	line-height: 1.8;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.tcd-styled-post-list-tab-widget .p-widget-list-item-meta {
	margin-top: 0.5em;
}

.tcd-styled-post-list-tab-widget .p-widget-list-type2 .p-widget-list-item-thumbnail {
	flex: 0 0 115px;
	width: 115px;
	height: 80px;
	overflow: hidden;
}

/* category widget */
.p-widget.widget_categories ul {
	padding: 0;
	margin: 0 !important;
	background: #fff;
	border-color: #ddd;
	border-style: solid;
	border-width: 0 1px 1px 1px;
}

.p-widget.widget_categories ul li {
	position: relative;
	margin: 0 !important;
	border-top: 1px solid #ddd;
}

.p-widget.widget_categories ul li a {
	display: flex;
	gap: 5px;
	align-items: center;
	min-height: 58px;
	padding: 16px 22px;
	line-height: 1.8;
	color: #000;
	text-decoration: none;
}

.p-widget.widget_categories a .count {
	display: inline-block;
	min-width: 30px;
	height: 30px;
	padding: 0 5px;
	margin-top: -2px;
	margin-right: -8px;
	margin-bottom: -2px;
	margin-left: auto;
	font-size: 14px;
	line-height: 28px;
	color: #000;
	text-align: center;
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 15px;
}

.p-widget.widget_categories .has-children > a {
	padding-right: 46px;
}

.p-widget.widget_categories .has-children > a > .count {
	display: none;
}

.p-widget.widget_categories .toggle-children {
	position: absolute;
	top: 0;
	right: 0;
	display: flex;
	align-items: center;
	padding-right: 22px;
	padding-left: 10px;
	line-height: 58px;
	cursor: pointer;
	opacity: 1;
	transition: opacity 0.5s ease, transform 0.5s ease;
}

.p-widget.widget_categories .toggle-children::after {
	display: block;
	font-family: "design_plus";
	content: "\e90e";
}

.p-widget.widget_categories li.is-active > .toggle-children {
	transform: rotateX(180deg);
}

.p-widget.widget_categories ul .children {
	padding: 0 !important;
	margin: 0 !important;
	border-width: 0;
}

.p-widget.widget_categories ul .children a {
	padding-left: calc(22px + 1em);
	background: #f6f6f6;
}

.p-widget.widget_categories ul .children .children a {
	padding-left: calc(22px + 2em);
}

.p-widget.widget_categories ul .children .children .children a {
	padding-left: calc(22px + 3em);
}

.p-widget.widget_categories ul .children .children .children .children a {
	padding-left: calc(22px + 4em);
}

.p-widget.widget_categories ul .children .children .children .children .children a {
	padding-left: calc(22px + 5em);
}

@media (hover: hover) and (pointer: fine) {
	.p-widget.widget_categories ul li a:hover {
		color: #000;
		text-decoration: none;
		background: #f6f6f6;
	}

	.p-widget.widget_categories .toggle-children:hover {
		opacity: 0.6;
	}
}

@media (max-width: 991px) {
	.p-widget.widget_categories ul li a {
		display: block;
		min-height: 48px;
		padding: 11px 22px;
	}

	.p-widget.widget_categories .toggle-children {
		line-height: 48px;
	}
}

/* widget_tag_cloud */
.widget_tag_cloud .tagcloud {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.widget_tag_cloud .tag-cloud-link {
	display: block;
	height: 35px;
	padding: 0 12px;
	margin: 0;
	overflow: hidden;
	font-size: 12px !important;
	line-height: 35px;
	color: #000;
	text-overflow: ellipsis;
	white-space: nowrap;
	background: #eee;
	border-radius: 5px;
	transition: all 0.2s ease;
}

@media (hover: hover) and (pointer: fine) {
	.widget_tag_cloud .tag-cloud-link:hover {
		color: #fff;
		text-decoration: none !important;
		background: var(--tcd-accent-color);
	}
}

/* post single bottom widget area */
.p-single-bottom {
	display: flex;
	justify-content: space-between;
	padding: 40px;
	margin-top: 50px;
	background: #f6f6f6;
}

.p-single-bottom-left {
	width: 50.6944%;
}

.p-single-bottom-right {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	width: 44.44%;
}

.p-single-bottom .p-widget {
	margin-bottom: 0;
}

.p-single-bottom .p-widget-title {
	padding: 0;
	margin-bottom: 16px;
	border-width: 0;
}

@media (max-width: 767px) {
	.p-single-bottom {
		display: block;
		padding: 20px;
		margin: 40px -20px 0;
	}

	.p-single-bottom .p-widget + .p-widget,
	.p-single-bottom-right {
		margin-top: 20px;
	}

	.p-single-bottom-left,
	.p-single-bottom-right {
		width: auto;
	}
}

/* post bottom slider */
.tcd-post-slider-widget {
	padding: 19px 19px 16px;
	background: #fff;
	border-color: var(--tcd-accent-color) #ddd #ddd #ddd;
	border-style: solid;
	border-width: 3px 1px 1px 1px;
}

.tcd-post-slider-widget .p-widget-title {
	margin: 2px 40px 22px 0;
	font-size: 16px;
}

.tcd-post-slider-widget .p-widget-slider-item a {
	text-decoration: none !important;
}

.tcd-post-slider-widget .p-widget-slider-item-thumbnail {
	position: relative;
	height: 106px;
	padding-top: 67.5%;
	overflow: hidden;
}

.tcd-post-slider-widget .p-widget-slider-item-thumbnail-image {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}

.tcd-post-slider-widget .p-widget-slider-item-info {
	margin-top: 15px;
}

.tcd-post-slider-widget .p-widget-slider-item-title {
	display: -webkit-box;
	height: 3.6em;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.tcd-post-slider-widget .splide__arrow {
	width: 22px;
	height: 20px;
}

.tcd-post-slider-widget .splide__arrow--prev {
	top: -43px;
	right: 14px;
	left: auto;
	transform: none;
}

.tcd-post-slider-widget .splide__arrow--next {
	top: -43px;
	right: -8px;
	left: auto;
	transform: none;
}

.tcd-post-slider-widget .splide__arrow--prev svg,
.tcd-post-slider-widget .splide__arrow--next svg {
	width: 16px;
	height: 16px;
}

@media (hover: hover) and (pointer: fine) {
	.p-widget .tcd-post-slider-widget a:hover {
		text-decoration: none;
	}
}

/* product archive */
.p-archive03 {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}

.p-archive03-item {
	position: relative;
}

.p-archive03 .p-archive03-item {
	flex: 0 0 calc((100% - 90px) / 4);
}

.p-archive03-item-thumbnail {
	position: relative;
	padding-top: 68.75%;
	overflow: hidden;
}

.p-archive03-item-square-image .p-archive03-item-thumbnail {
	padding-top: 100%;
}

.p-archive03-item-thumbnail-image {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
}

.p-archive03-item-category {
	font-size: 14px;
	color: var(--tcd-accent-color);
}

.p-archive03-item-info {
	margin-top: 17px;
	line-height: 1.5;
}

.p-archive03-item-meta {
	margin-top: -0.1em;
	margin-bottom: 13px;
}

.p-archive03-item-title {
	display: -webkit-box;
	max-height: 3em;
	margin-top: -0.25em;
	margin-bottom: -0.25em;
	overflow: hidden;
	font-size: 20px;
	font-weight: 600;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.p-archive03-item-price {
	margin-top: 8px;
	margin-bottom: -0.25em;
}

.p-archive03-item-excerpt {
	margin-top: calc(20px - 0.5em);
	margin-bottom: -0.5em;
	font-size: 14px;
}

.p-archive03-item-excerpt span {
	display: -webkit-box;
	max-height: 4em;
	overflow: hidden;
	line-height: 2;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.p-archive03-item-rank {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 4;
	min-width: 40px;
	height: 40px;
	padding: 0 5px;
	font-weight: 600;
	line-height: 40px;
	color: #fff;
	text-align: center;
	background-color: var(--tcd-accent-color);
}

.p-archive03-item-outofstock {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	z-index: 5;
	height: 45px;
	padding: 0 10px;
	margin-top: 68.75%;
	overflow: hidden;
	font-size: 14px;
	font-weight: 600;
	line-height: 45px;
	color: #fff;
	text-align: center;
	pointer-events: none;
	background: var(--tcd-product-archive-outofstock-color);
	transform: translate3d(0, -100%, 0);
}

.p-archive03-item-actions {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 5;
	display: flex;
	height: 0;
	margin-top: 68.75%;
	overflow: hidden;
	pointer-events: none;
	transition: height 0.35s ease-out;
	transform: translate3d(0, -100%, 0);
}

.p-archive03-item-square-image .p-archive03-item-actions,
.p-archive03-item-square-image .p-archive03-item-outofstock {
	margin-top: 100%;
}

.p-archive03-item-like,
.p-archive03-item-cart a {
	display: block;
	min-width: 45px;
	height: 45px;
	padding: 0;
	line-height: 45px;
	text-align: center;
}

.p-archive03-item-like {
	color: #fff !important;
	background-color: #000;
}

.p-archive03-item-cart a {
	color: var(--tcd-accent-color);
	background: #fff;
}

.p-archive03-item-cart a::before {
	font-family: "design_plus";
	font-size: 18px;
	content: "\e950";
}

.p-archive03-item-cart a ~ * {
	display: none !important;
}

.p-archive03-animation .p-archive03-item,
.p-archive03-animation + .p-pager {
	opacity: 0;
}

.p-archive03-animation .p-archive03-item.is-animate {
	opacity: 1;
	transition: opacity 0.5s ease;
}

.p-archive03-animation + .p-pager.is-animate {
	opacity: 1;
	transition: opacity 1s ease;
}

@media (hover: hover) and (pointer: fine) {
	.p-archive03-item-inner:hover .p-archive03-item-actions {
		height: 45px;
		pointer-events: auto;
	}

	.p-archive03-item-like:hover,
	.p-archive03-item-cart a:hover {
		color: #fff;
		background-color: var(--tcd-accent-color);
	}
}

@media (min-width: 1600px) {
	.p-archive03 .p-archive03-item {
		flex: 0 0 calc((100% - 120px) / 5);
	}
}

@media (min-width: 1980px) {
	.p-archive03 .p-archive03-item {
		flex: 0 0 calc((100% - 150px) / 6);
	}
}

@media (max-width: 991px) {
	.p-archive03 {
		gap: 22px 15px;
	}

	.p-archive03 .p-archive03-item {
		flex: 0 0 calc((100% - 15px) / 2);
	}

	.p-archive03-item-info {
		margin-top: 15px;
	}

	.p-archive03-item-title {
		font-size: 16px;
	}

	.p-archive03-item-meta {
		margin-bottom: calc(15px - 0.1em);
	}

	.p-archive03-item-price {
		margin-top: 9px;
	}

	.p-archive03-item-excerpt {
		margin-top: calc(20px - 0.35em);
		margin-bottom: -0.1em;
	}

	.p-archive03-item-excerpt span {
		max-height: 3.4em;
		line-height: 1.7;
	}

	.p-archive03-item-rank {
		min-width: 30px;
		height: 30px;
		line-height: 30px;
	}
}

@media (max-width: 575px) {
	.p-archive03-item-outofstock {
		height: 35px;
		line-height: 35px;
	}
}

/* products carousel */
@media (max-width: 991px) {
	.p-archive03-carousel {
		margin-right: -20px;
	}

	.p-archive03-carousel .p-archive03-item {
		flex: 0 0 230px;
		width: 230px;
	}

	.p-archive03-carousel .p-archive03-item-info {
		margin-top: 20px;
	}
}

/* contents builder product archive */
.p-cb-archive03 {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}

@media (min-width: 992px) {
	.p-cb-archive03 .p-archive03-item {
		flex: 0 0 calc((100% - 60px) / 3);
	}
}

@media (max-width: 991px) {
	.p-cb-archive03 {
		gap: 22px 15px;
	}

	.p-cb-archive03 .p-archive03-item {
		flex: 0 0 calc((100% - 15px) / 2);
	}
}

/* Modal CTA */
.p-modal-cta {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 99998;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow-y: scroll;
	overscroll-behavior: contain;
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.5s ease;
	scrollbar-width: none;
}

.p-modal-cta::-webkit-scrollbar {
	display: none;
}

.p-modal-cta::after {
	display: block;
	width: 1px;
	height: calc(100vh + 1px);
	content: "";
}

.p-modal-cta.is-active {
	pointer-events: auto;
	opacity: 1;
}

.p-modal-cta-overlay {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: block;
	background: rgba(0, 0, 0, 0.4);
}

.p-modal-cta-inner {
	position: relative;
	z-index: 1;
	max-width: 80vw;
	max-height: 80vh;
	margin: 30px;
}

.p-modal-cta-contents {
	position: relative;
}

.p-modal-cta-anchor {
	position: relative;
	display: block;
}

.p-modal-cta-info {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	width: 100%;
}

.p-modal-cta-catch {
	max-width: 80vw;
	max-height: 80vh;
	padding: calc(30px - 0.25em) 30px;
	overflow-x: hidden;
	overflow-y: auto;
	font-size: var(--tcd-modal-cta-catch-font-size);
	font-weight: 600;
	line-height: 1.5;
	color: #fff;
	text-align: center;
}

.p-modal-cta-image {
	display: block;
}

.p-modal-cta-image img {
	display: block;
	width: auto;
	max-width: 80vw;
	height: auto;
	max-height: 80vh;
}

.p-modal-cta-image ~ .p-modal-cta-info {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}

.p-modal-cta-image ~ .p-modal-cta-info .p-modal-cta-catch {
	width: 100%;
	max-width: none;
	max-height: 100%;
}

.p-modal-cta-freespace {
	max-width: 80vw;
	max-height: 80vh;
	padding: 30px 50px;
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	background: #fff;
}

.p-modal-cta-freespace.qt_google_map {
	min-width: 50vw;
	height: auto;
}

.p-modal-cta-freespace .qt_google_map .qt_googlemap_embed {
	height: 50vh;
	min-height: 200px;
}

.p-modal-cta-freespace .ytube {
	min-width: 50vw;
}

.p-modal-cta-contents-overlay {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
	display: block;
	background: rgba(0, 0, 0, 0.4);
}

.p-modal-cta-close {
	position: absolute;
	top: -25px;
	right: -28px;
	width: 30px;
	padding: 0;
	font-family: "design_plus";
	font-size: 26px;
	line-height: 30px;
	color: #fff;
	text-align: center;
	cursor: pointer;
	background: transparent;
	border: none;
	transition: opacity 0.3s ease;
}

.p-modal-cta-close:hover {
	opacity: 0.6;
}

@media (max-width: 767px) {
	.p-modal-cta-inner {
		margin: 30px 22px 22px;
	}

	.p-modal-cta-inner,
	.p-modal-cta-image img,
	.p-modal-cta-catch,
	.p-modal-cta-freespace {
		max-width: calc(100vw - 44px);
		max-height: calc(100vh - 52px);
	}

	.p-modal-cta-close {
		top: -30px;
		right: -7px;
	}

	.p-modal-cta-catch {
		padding: calc(30px - -0.1em) 22px;
		margin: -0.1em 0;
		line-height: 1.2;
	}

	.p-modal-cta-freespace {
		padding: 30px;
	}
}

/**
 * Wordpress preset styles
 */

.p-body {
	font-size: 1rem;
	line-height: var(--tcd-line-height);
}

.p-body > * {
	margin-bottom: 2rem;
}

.p-body > *:last-child {
	margin-bottom: 0;
}

.p-body a:not(.p-button, .wp-block-button__link, .button),
.custom-html-widget a:not(.p-button, .wp-block-button__link, .button) {
	color: var(--tcd-link-color);
}

@media (hover: hover) and (pointer: fine) {
	.p-body a:not(.p-button, .wp-block-button__link, .button):hover,
	.custom-html-widget a:not(.p-button, .wp-block-button__link, .button):hover {
		text-decoration: underline;
	}
}

/* alignment */
.p-body .alignright {
	float: right;
}

.p-body .alignleft {
	float: left;
}

.p-body .aligncenter {
	display: table;
	margin-right: auto;
	margin-bottom: 7px;
	margin-left: auto;
}

.p-body blockquote.alignleft,
.p-body img.alignleft {
	margin: 7px 24px 7px 0;
}

.p-body .wp-caption.alignleft {
	margin: 7px 14px 7px 0;
}

.p-body blockquote.alignright,
.p-body img.alignright {
	margin: 7px 0 7px 24px;
}

.p-body .wp-caption.alignright {
	margin: 7px 0 7px 14px;
}

.p-body blockquote.aligncenter,
.p-body img.aligncenter,
.p-body .wp-caption.aligncenter {
	margin-top: 7px;
	margin-bottom: 7px;
}

/* text and headline */
.p-body p {
	margin-bottom: calc(2rem - var(--tcd-line-height-offset));
}

.p-body > p:first-child {
	margin-top: var(--tcd-line-height-offset);
}

.p-body > p:last-child {
	margin-bottom: var(--tcd-line-height-offset);
}

.p-body h1,
.p-body h2,
.p-body h3,
.p-body h4,
.p-body h5,
.p-body h6 {
	--tcd-post-headline-line-height: 1.8;
	--tcd-post-headline-font-size: 16px;
	margin-top: 4rem;
	margin-bottom: 2rem;
	clear: both;
	font-size: max(var(--tcd-post-headline-font-size), 14px);
	font-weight: var(--tcd-headline-font-weight);
	line-height: var(--tcd-post-headline-line-height);
}

.p-body h1,
.p-body h2 {
	--tcd-post-headline-line-height: 1.5;
	--tcd-post-headline-font-size: var(--tcd-single-title-font-size);
}

.p-body h1:not(.wp-block-heading, .wp-block-tcd-heading),
.p-body h2:not(.wp-block-heading, .wp-block-tcd-heading) {
	text-align: center;
}

.p-body h3 {
	--tcd-post-headline-line-height: 1.6;
	--tcd-post-headline-font-size: calc(var(--tcd-single-title-font-size) - 2px);
}

.p-body h4 {
	--tcd-post-headline-line-height: 1.6;
	--tcd-post-headline-font-size: calc(var(--tcd-single-title-font-size) - 4px);
}

.p-body h5 {
	--tcd-post-headline-line-height: 1.8;
	--tcd-post-headline-font-size: calc(var(--tcd-single-title-font-size) - 6px);
}

.p-body h6 {
	--tcd-post-headline-line-height: 1.8;
	--tcd-post-headline-font-size: calc(var(--tcd-single-title-font-size) - 8px);
}

.p-body > *:is(h1, h2, h3, h4, h5, h6):not(.has-background) {
	margin-top: calc(4rem - (var(--tcd-post-headline-line-height) - 1) * 0.5em);
	margin-bottom: calc(2rem - (var(--tcd-post-headline-line-height) - 1) * 0.5em);
}

.p-body > *:is(h1, h2, h3, h4, h5, h6):first-child {
	margin-top: 0;
}

.p-body > *:is(h1, h2, h3, h4, h5, h6):not(.has-background):first-child {
	margin-top: calc((var(--tcd-post-headline-line-height) - 1) * -0.5em);
}

@media (max-width: 991px) {
	.p-body h1,
	.p-body h2,
	.p-body h3,
	.p-body h4,
	.p-body h5,
	.p-body h6 {
		margin-top: 2rem;
		margin-bottom: 1rem;
	}

	.p-body > *:is(h1, h2, h3, h4, h5, h6):not(.has-background) {
		margin-top: calc(4rem - (var(--tcd-post-headline-line-height) - 1) * 0.5em);
		margin-bottom: calc(2rem - (var(--tcd-post-headline-line-height) - 1) * 0.5em);
	}
}

/* image */
.p-body img[class*="align"],
.p-body img[class*="wp-image-"],
.p-body img[class*="attachment-"],
.p-body .size-full,
.p-body .size-large,
.p-body .wp-post-image,
.p-body img {
	max-width: 100%;
	height: auto;
}

/* list */
.p-body li,
.p-body dt,
.p-body dd {}

.p-body ul,
.p-body ol,
.p-body dl {
	margin-bottom: 2rem;
}

.p-body ol {
	margin-left: 1.5em;
	list-style: decimal outside none;
}

.p-body ul {
	margin-left: 1.3em;
	list-style: circle outside none;
}

.p-body li ul,
.p-body li ol {
	margin-bottom: 0;
}

.p-body dt {
	font-weight: 600;
}

.p-body dd {
	margin-bottom: 1rem;
}

/* table */
.p-body table {
	margin-bottom: 2rem;
}

.p-body table th,
.p-body table td {
	padding: 10px 15px;
	font-weight: 400;
	line-height: 2;
	vertical-align: middle;
}

.p-body table th > :last-child,
.p-body table td > :last-child {
	margin-bottom: 0;
}

.p-body > table th,
.p-body :not(.wp-block-table) > table th {
	background: #f9f9f9;
	border: 1px solid #ddd;
}

.p-body > table td,
.p-body :not(.wp-block-table) > table td {
	background: #fff;
	border: 1px solid #ddd;
}

/* table style */
.table_no_border th,
.table_no_border td {
	padding-left: 0;
	border: none;
}

.table_border_horizontal th,
.table_border_horizontal td {
	padding-left: 0;
	border-right: none;
	border-left: none;
}

/* tableスクロール */
body.wp-mobile-device .p-body .s_table,
body.wp-mobile-device .wp-block-table {
	display: flex;
	padding-right: 0 !important;
	padding-left: 20px;
	margin-right: -20px;
	margin-bottom: 2rem;
	margin-left: -20px;
	overflow: auto;
	white-space: nowrap;
}

body.wp-mobile-device .p-body .s_table::after,
body.wp-mobile-device .wp-block-table::after {
	flex: 0 0 20px;
	content: "";
}

body.wp-mobile-device .p-body .s_table table {
	margin-bottom: 0;
}

@media (max-width: 991px) {
	.p-body .s_table,
	.wp-block-table {
		padding-right: 20px;
		padding-left: 20px;
		margin-right: -20px;
		margin-bottom: 2rem;
		margin-left: -20px;
		overflow: auto;
		white-space: nowrap;
	}


	.p-body .s_table table {
		margin-bottom: 0;
	}
}

/* block quote */
blockquote {
	margin-bottom: 2rem;
}

blockquote p:last-of-type {
	margin-bottom: 0;
}

.wp-block-pullquote blockquote {
	margin-bottom: 0;
}

:not(.wp-block-pullquote) > blockquote:not([class*="is-style-"]),
.wp-block-quote.is-style-default {
	position: relative;
	padding: 2rem 2.4rem;
	line-height: 1.8;
	color: rgba(0, 0, 0, 0.6);
	background: rgba(0, 0, 0, 0.03);
	border-top: none;
	border-right: none;
	border-bottom: none;
	border-left: 5px solid var(--tcd-accent-color);
}

:not(.wp-block-pullquote) > blockquote:not([class*="is-style-"])::before,
:not(.wp-block-pullquote) > blockquote:not([class*="is-style-"])::after,
.wp-block-quote.is-style-default::before,
.wp-block-quote.is-style-default::after {
	position: absolute;
	width: 30px;
	height: 30px;
	font-size: 30px;
	font-style: italic;
	font-weight: 400;
	color: var(--tcd-accent-color);
	content: '"';
}

:not(.wp-block-pullquote) > blockquote:not([class*="is-style-"])::before,
.wp-block-quote.is-style-default::before {
	top: 5px;
	left: 10px;
	line-height: 40px;
}

:not(.wp-block-pullquote) > blockquote:not([class*="is-style-"])::after,
.wp-block-quote.is-style-default::after {
	right: -2px;
	bottom: 7px;
	line-height: 60px;
	text-align: left;
}

:not(.wp-block-pullquote) > blockquote:not([class*="is-style-"]) cite,
.wp-block-quote.is-style-default cite {
	display: block;
	padding: 2rem 0 0 0;
	margin: 2rem 0 0 0;
	font-size: 90%;
	font-style: italic;
	text-align: right;
	border-top: 1px dotted var(--tcd-accent-color);
}

/* captions */
.wp-caption {
	padding: 10px;
	margin-bottom: 2rem;
	background: #fff;
	border: 1px solid #ddd;
}

.wp-caption-text {
	padding: 10px 0 0;
	margin: 0 auto;
	font-size: 14px;
	line-height: 1.5;
	text-align: center;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin: 0 auto;
}

/* gallery */
.gallery {
	margin-bottom: 2rem;
}

.gallery::after {
	display: table;
	clear: both;
	content: "";
}

.gallery a img {
	border: 0 !important;
}

.gallery-item {
	position: relative;
	float: left;
	margin: 0 4px 4px 0 !important;
	overflow: hidden;
}

.gallery-columns-1 .gallery-item {
	max-width: 100%;
}

.gallery-columns-2 .gallery-item {
	max-width: 48%;
	max-width: calc(50% - 4px);
}

.gallery-columns-3 .gallery-item {
	max-width: 32%;
	max-width: calc(33.3% - 4px);
}

.gallery-columns-4 .gallery-item {
	max-width: 23%;
	max-width: calc(25% - 4px);
}

.gallery-columns-5 .gallery-item {
	max-width: 19%;
	max-width: calc(20% - 4px);
}

.gallery-columns-6 .gallery-item {
	max-width: 15%;
	max-width: calc(16.7% - 4px);
}

.gallery-columns-7 .gallery-item {
	max-width: 13%;
	max-width: calc(14.28% - 4px);
}

.gallery-columns-8 .gallery-item {
	max-width: 11%;
	max-width: calc(12.5% - 4px);
}

.gallery-columns-9 .gallery-item {
	max-width: 9%;
	max-width: calc(11.1% - 4px);
}

.gallery-columns-10 .gallery-item {
	max-width: 7%;
	max-width: calc(9.4% - 0px);
}

.gallery-columns-1 .gallery-item:nth-of-type(1n),
.gallery-columns-2 .gallery-item:nth-of-type(2n),
.gallery-columns-3 .gallery-item:nth-of-type(3n),
.gallery-columns-4 .gallery-item:nth-of-type(4n),
.gallery-columns-5 .gallery-item:nth-of-type(5n),
.gallery-columns-6 .gallery-item:nth-of-type(6n),
.gallery-columns-7 .gallery-item:nth-of-type(7n),
.gallery-columns-8 .gallery-item:nth-of-type(8n),
.gallery-columns-9 .gallery-item:nth-of-type(9n),
.gallery-columns-10 .gallery-item:nth-of-type(10n) {
	margin-right: 0;
}

.gallery-caption {
	position: absolute;
	bottom: 0;
	width: 100%;
	max-height: 50%;
	padding: 6px 8px;
	margin: 0;
	font-size: 12px;
	line-height: 1.5;
	color: #fff;
	text-align: left;
	background-color: rgba(0, 0, 0, 0.7);
	opacity: 0;
	lcn-eft: 0;
}

.gallery-caption::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	min-height: 49px;
	content: "";
}

.gallery-columns-7 .gallery-caption,
.gallery-columns-8 .gallery-caption,
.gallery-columns-9 .gallery-caption,
.gallery-columns-10 .gallery-caption {
	display: none;
}

@media (hover: hover) and (pointer: fine) {
	.gallery-item:hover .gallery-caption {
		opacity: 1;
	}
}

/* etc */
.p-body .wp-smiley {
	padding: 0;
	margin-top: 0;
	margin-bottom: 0;
	border: 0;
}

.p-body pre {
	margin-bottom: 2rem;
}

.p-body pre:not(.wp-block-code) {
	padding: 20px;
	overflow: auto;
	line-height: 1.8;
	background: rgba(0, 0, 0, 0.03);
	border-top: none;
	border-right: none;
	border-bottom: none;
	border-left: 3px solid var(--tcd-accent-color);
}

.p-body address,
.p-body figure,
.p-body .mejs-container {
	margin-bottom: 2rem;
}

/* block editor */
.p-body .wp-block-buttons,
.p-body .wp-block-media-text,
.p-body .wp-block-cover {
	margin-bottom: 2rem;
}

.p-body .wp-block-table table {
	margin-bottom: 0;
}

.wp-block-table th,
.wp-block-table td {
	text-align: left;
}

.wp-block-table table:not(.has-background) th {
	background: #f9f9f9;
}

.wp-block-table table:not(.has-background) thead th {
	background: #f0f0f0;
}

.wp-block-table table:not(.has-border-color) {
	border-color: #ddd;
}

.wp-block-table table:not(.has-border-color) thead,
.wp-block-table table:not(.has-border-color) tbody,
.wp-block-table table:not(.has-border-color) tfoot,
.wp-block-table table:not(.has-border-color) tr,
.wp-block-table table:not(.has-border-color) th,
.wp-block-table table:not(.has-border-color) td {
	border-color: inherit;
}

.wp-block-table.is-style-stripes {
	border-width: 0;
}

.wp-block-table figcaption {
	margin-top: 1rem;
}

.wp-block-video video,
.wp-block-audio audio {
	display: block;
}

.p-body .wp-block-cover img.wp-block-cover__image-background {
	height: 100%;
}

.p-body .wp-block-column > :first-child,
.p-body .wp-block-media-text__content > :first-child,
.p-body .wp-block-cover .wp-block-cover__inner-container > :first-child {
	margin-top: 0;
}

.p-body .wp-block-column > :last-child,
.p-body .wp-block-media-text__content > :last-child,
.p-body .wp-block-cover .wp-block-cover__inner-container > :last-child {
	margin-bottom: 0;
}

/**
 * Utility
 */

/* clearfix */
.clearfix::after,
.u-clearfix::after {
	display: table;
	clear: both;
	content: "";
}

/* float */
.u-left {
	float: left;
}

.u-right {
	float: right;
}

.u-center {
	float: none;
	margin-right: auto;
	margin-left: auto;
	text-align: center;
}

.clear,
.u-clear {
	clear: both;
}

/* hidden */
.hidden,
.u-hidden {
	display: none;
}

.u-visible-sm,
.u-visible-xs {
	display: none;
}

@media (max-width: 991px) {
	.u-hidden-sm {
		display: none;
	}

	.u-visible-sm {
		display: block;
	}
}

@media (max-width: 767px) {
	.u-hidden-xs {
		display: none;
	}

	.u-visible-xs {
		display: block;
	}
}

/* overflow */
.u-overflow-hidden {
	overflow: hidden;
}

/* splide */
.splide__arrow {
	position: absolute;
	top: 50%;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;
	padding: 0;
	color: inherit;
	cursor: pointer;
	background: transparent;
	border: 0;
	transform: translateY(-50%);
}

.splide__arrow svg {
	width: 24px;
	height: 24px;
	fill: currentcolor;
	transition-timing-function: ease;
	transition-duration: 0.3s;
	transition-property: fill;
}

.splide__arrow:disabled {
	opacity: 0;
}

.splide__arrow--prev {
	left: 0;
	transform: translate3d(-100%, -50%, 0);
}

.splide__arrow--prev svg {
	transform: scaleX(-1);
}

.splide__arrow--next {
	right: 0;
	transform: translate3d(100%, -50%, 0);
}

.splide__arrow:focus-visible,
.splide.is-focus-in .splide__arrow:focus {
	outline: 3px solid #0bf;
	outline-offset: -3px;
}

.splide__pagination {
	position: absolute;
	right: 0;
	bottom: 10px;
	left: 0;
	z-index: 1;
	gap: 10px;
	padding: 0 20px;
}

.splide__pagination__page {
	display: block;
	width: 12px;
	height: 12px;
	padding: 0;
	margin: 0;
	cursor: pointer;
	background: transparent;
	border: 1px solid #fff;
	border-radius: 50%;
	transition-timing-function: ease;
	transition-duration: 0.3s;
	transition-property: background-color, border-color;
}

.splide__pagination__page.is-active {
	background-color: var(--tcd-accent-color);
	border-color: var(--tcd-accent-color);
}

.splide__pagination__page:focus-visible,
.splide.is-focus-in .splide__pagination__page:focus {
	outline: 3px solid var(--tcd-accent-color);
	outline-offset: 3px;
}

@media (hover: hover) and (pointer: fine) {
	.splide__arrow:hover:not(:disabled) {
		color: #999;
	}

	.splide__pagination__page:hover {
		background-color: var(--tcd-accent-color);
		border-color: var(--tcd-accent-color);
	}
}

@media (max-width: 991px) {
	.splide__arrow {
		width: 40px;
		height: 40px;
	}
}

/**
 * TCD styles
 */

/* Column layout - カラムレイアウト */
.post_row {}

.post_col,
.post_col-2,
.post_col-3 {
	margin-bottom: 20px;
}

@media (min-width: 992px) {
	.post_row {
		margin-right: -15px;
		margin-left: -15px;
	}

	.post_row::before,
	.post_row::after {
		display: table;
		content: " ";
	}

	.post_row::after {
		clear: both;
	}

	.post_col,
	.post_col-2,
	.post_col-3 {
		position: relative;
		box-sizing: border-box;
		float: left;
		width: 100%;
		min-height: 1px;
		padding-right: 15px;
		padding-left: 15px;
		margin-bottom: 30px;
	}

	.post_col-2 {
		width: 50%;
	}

	.post_col-3 {
		width: 33.33333%;
	}
}

/* 見出し */
.styled_h2 {
	padding: var(--tcd-custom-h2-padding, 0) !important;
	font-size: var(--tcd-custom-h2-font-size, 22px) !important;
	font-weight: var(--tcd-custom-h2-font-weight, 600) !important;
	color: var(--tcd-custom-h2-color, #000) !important;
	text-align: var(--tcd-custom-h2-text-align, left) !important;
	background-color: var(--tcd-custom-h2-bg-color, transparent) !important;
	border-color: var(--tcd-custom-h2-border-color, #000) !important;
	border-style: var(--tcd-custom-h2-border-style, solid) !important;
	border-width: var(--tcd-custom-h2-border-width, 0) !important;
}

.styled_h3 {
	padding: var(--tcd-custom-h3-padding, 0) !important;
	font-size: var(--tcd-custom-h3-font-size, 20px) !important;
	font-weight: var(--tcd-custom-h3-font-weight, 600) !important;
	color: var(--tcd-custom-h3-color, #000) !important;
	text-align: var(--tcd-custom-h3-text-align, left) !important;
	background-color: var(--tcd-custom-h3-bg-color, transparent) !important;
	border-color: var(--tcd-custom-h3-border-color, #000) !important;
	border-style: var(--tcd-custom-h3-border-style, solid) !important;
	border-width: var(--tcd-custom-h3-border-width, 0) !important;
}

.styled_h4 {
	padding: var(--tcd-custom-h4-padding, 0) !important;
	font-size: var(--tcd-custom-h4-font-size, 18px) !important;
	font-weight: var(--tcd-custom-h4-font-weight, 600) !important;
	color: var(--tcd-custom-h4-color, #000) !important;
	text-align: var(--tcd-custom-h4-text-align, left) !important;
	background-color: var(--tcd-custom-h4-bg-color, transparent) !important;
	border-color: var(--tcd-custom-h4-border-color, #000) !important;
	border-style: var(--tcd-custom-h4-border-style, solid) !important;
	border-width: var(--tcd-custom-h4-border-width, 0) !important;
}

.styled_h5 {
	padding: var(--tcd-custom-h5-padding, 0) !important;
	font-size: var(--tcd-custom-h5-font-size, 16px) !important;
	font-weight: var(--tcd-custom-h5-font-weight, 600) !important;
	color: var(--tcd-custom-h5-color, #000) !important;
	text-align: var(--tcd-custom-h5-text-align, left) !important;
	background-color: var(--tcd-custom-h5-bg-color, transparent) !important;
	border-color: var(--tcd-custom-h5-border-color, #000) !important;
	border-style: var(--tcd-custom-h5-border-style, solid) !important;
	border-width: var(--tcd-custom-h5-border-width, 0) !important;
}

/* flame - 囲み枠 */
.q_frame {
	position: relative;
	padding: 23px 29px;
	margin-bottom: 2rem;
	line-height: 1.8;
	border: 1px solid #ddd;
}

* + .q_frame {
	margin-top: 2.5rem;
}

.q_frame_label {
	position: absolute;
	top: -0.7em;
	left: 1rem;
	display: block;
	max-width: calc(100% - 2rem);
	padding: 0 1em;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.4;
	background: inherit;
}

@media (max-width: 767px) {
	.q_frame {
		padding: 13px 19px;
	}

	.q_frame_label {
		padding: 0 0.5rem;
	}
}

.q_frame1 {
	background-color: var(--tcd-frame1-bg-color, #fff);
	border-color: var(--tcd-frame1-border-color, #ddd);
	border-style: var(--tcd-frame1-border-style, solid);
	border-width: var(--tcd-frame1-border-width, 1px);
	border-radius: var(--tcd-frame1-border-radius, 0);
}

.q_frame1 .q_frame_label {
	color: var(--tcd-frame1-label-color, #000);
}

.q_frame2 {
	background-color: var(--tcd-frame2-bg-color, #fff);
	border-color: var(--tcd-frame2-border-color, #ddd);
	border-style: var(--tcd-frame2-border-style, solid);
	border-width: var(--tcd-frame2-border-width, 1px);
	border-radius: var(--tcd-frame2-border-radius, 0);
}

.q_frame2 .q_frame_label {
	color: var(--tcd-frame2-label-color, #000);
}

.q_frame3 {
	background-color: var(--tcd-frame3-bg-color, transparent);
	border-color: var(--tcd-frame3-border-color, #ddd);
	border-style: var(--tcd-frame3-border-style, solid);
	border-width: var(--tcd-frame3-border-width, 1px);
	border-radius: var(--tcd-frame3-border-radius, 0);
}

.q_frame3 .q_frame_label {
	color: var(--tcd-frame3-label-color, #000);
}

.well {
	padding: 1.1rem 2rem;
	margin-bottom: 2rem;
	background-color: #fafafa;
	border: 1px solid #ddd;
	border-radius: 6px;
}

.well2 {
	padding: 1.1rem 2rem;
	margin-bottom: 2rem;
	border: 1px solid #ddd;
}

.well3 {
	padding: 1.1rem 2rem;
	margin-bottom: 2rem;
	background: #fafafa;
	border: 1px dashed #ddd;
}

.wl_red {
	color: #a94442;
	background-color: #f2dede;
	border-color: #ebccd1;
}

.wl_yellow {
	color: #8a6d3b;
	background-color: #fcf8e3;
	border-color: #faebcc;
}

.wl_blue {
	color: #31708f;
	background-color: #d9edf7;
	border-color: #bce8f1;
}

.wl_green {
	color: #3c763d;
	background-color: #dff0d8;
	border-color: #d6e9c6;
}

@media (max-width: 767px) {
	.well,
	.well2,
	.well3 {
		padding: 0.9em 0.8em 0.9em 1em;
	}
}

/* styled ol */
.q_styled_ol {
	margin-bottom: 2em;
	margin-left: 0 !important;
	list-style-type: none;
	counter-reset: item;
}

.q_styled_ol li {
	display: flex;
	margin-bottom: 0.4em;
}

.q_styled_ol li::before {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 1.5em;
	height: 1.5em;
	margin-top: 0.3em;
	margin-right: 0.7em;
	line-height: 1;
	color: #fff;
	content: counter(item);
	counter-increment: item;
	background: #000;
	border-radius: 50%;
}

@media (max-width: 767px) {
	.q_styled_ol li::before {
		margin-top: 0.1em;
	}
}

/* カスタムボタン */
.q_button_wrap {
	text-align:center;
	margin: 2em auto;
}

.q_custom_button {
	position: relative;
	z-index: 1;
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 270px;
	max-width: 100%;
	height: 50px;
	padding: 0 1.5rem;
	overflow: hidden;
	font-size: 1rem;
	line-height: 1.5;
	color: #fff !important;
	text-align: center;
	text-decoration: none !important;
	background-color: #000;
	transition-timing-function: cubic-bezier(0.17, 0.84, 0.44, 1);
	transition-duration: 0.5s;
	transition-property: background-color, border-color, color;
}

.q_custom_button::before {
	position: absolute;
	inset: 0;
	z-index: -2;
	display: block;
	content: "";
	border-color: transparent;
	border-style: solid;
	border-width: 0;
	border-radius: inherit;
}

.q_custom_button::after {
	position: absolute;
	inset: 0;
	z-index: -1;
	display: block;
	content: "";
	background-color: var(--tcd-accent-color, #000);
	opacity: 0;
	transition-timing-function: cubic-bezier(0.17, 0.84, 0.44, 1);
	transition-duration: 0.5s;
	transition-property: opacity, transform;
}

.q_custom_button1 {
	min-width: var(--tcd-custom-button1-min-width, 130px);
	height: var(--tcd-custom-button1-height, 40px);
	line-height: var(--tcd-custom-button1-height, 40px);
	color: var(--tcd-custom-button1-color, #fff) !important;
	background-color: var(--tcd-custom-button1-bg-color, transparent);
	border-radius: var(--tcd-custom-button1-border-radius, 0);
}

.q_custom_button1::before {
	border-color: var(--tcd-custom-button1-border-color, transparent);
	border-width: var(--tcd-custom-button1-border-width, 0);
}

.q_custom_button1::after {
	inset: var(--tcd-custom-button1-effect-inset, 0);
	background-color: var(--tcd-custom-button1-effect-bg-color, transparent);
	opacity: var(--tcd-custom-button1-effect-opacity, 1);
	transform: var(--tcd-custom-button1-effect-transform, none);
}

.q_custom_button2 {
	min-width: var(--tcd-custom-button2-min-width, 130px);
	height: var(--tcd-custom-button2-height, 40px);
	line-height: var(--tcd-custom-button2-height, 40px);
	color: var(--tcd-custom-button2-color, #fff) !important;
	background-color: var(--tcd-custom-button2-bg-color, transparent);
	border-radius: var(--tcd-custom-button2-border-radius, 0);
}

.q_custom_button2::before {
	border-color: var(--tcd-custom-button2-border-color, transparent);
	border-width: var(--tcd-custom-button2-border-width, 0);
}

.q_custom_button2::after {
	inset: var(--tcd-custom-button2-effect-inset, 0);
	background-color: var(--tcd-custom-button2-effect-bg-color, transparent);
	opacity: var(--tcd-custom-button2-effect-opacity, 1);
	transform: var(--tcd-custom-button2-effect-transform, none);
}

.q_custom_button3 {
	min-width: var(--tcd-custom-button3-min-width, 130px);
	height: var(--tcd-custom-button3-height, 40px);
	line-height: var(--tcd-custom-button3-height, 40px);
	color: var(--tcd-custom-button3-color, #fff) !important;
	background-color: var(--tcd-custom-button3-bg-color, transparent);
	border-radius: var(--tcd-custom-button3-border-radius, 0);
}

.q_custom_button3::before {
	border-color: var(--tcd-custom-button3-border-color, transparent);
	border-width: var(--tcd-custom-button3-border-width, 0);
}

.q_custom_button3::after {
	inset: var(--tcd-custom-button3-effect-inset, 0);
	background-color: var(--tcd-custom-button3-effect-bg-color, transparent);
	opacity: var(--tcd-custom-button3-effect-opacity, 1);
	transform: var(--tcd-custom-button3-effect-transform, none);
}

@media (hover: hover) and (pointer: fine) {
	.q_custom_button:hover {
		color: #fff !important;
	}

	.q_custom_button:hover::before {
		opacity: 1;
	}

	.q_custom_button1:hover {
		color: var(--tcd-custom-button1-hover-color, #fff) !important;
	}

	.q_custom_button1:hover::after {
		opacity: var(--tcd-custom-button1-hover-effect-opacity, 1);
		transform: var(--tcd-custom-button1-hover-effect-transform, none);
	}

	.q_custom_button2:hover {
		color: var(--tcd-custom-button2-hover-color, #fff) !important;
	}

	.q_custom_button2:hover::after {
		opacity: var(--tcd-custom-button2-hover-effect-opacity, 1);
		transform: var(--tcd-custom-button2-hover-effect-transform, none);
	}

	.q_custom_button3:hover {
		color: var(--tcd-custom-button3-hover-color, #fff) !important;
	}

	.q_custom_button3:hover::after {
		opacity: var(--tcd-custom-button3-hover-effect-opacity, 1);
		transform: var(--tcd-custom-button3-hover-effect-transform, none);
	}
}

.rounded {
	border-radius: 6px;
}

.pill {
	border-radius: 50px;
}

/* Youtube responsive - Youtube動画のレスポンシブ表示 */
.ytube {
	position: relative;
	height: 0;
	padding-top: 30px;
	padding-bottom: 56.25%;
	margin-bottom: 2rem;
	overflow: hidden;
}

.ytube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}

/* Underline - アンダーライン */
.q_underline {
	background-image: linear-gradient(to right, transparent 50%, #fff799 50%);
	background-repeat: repeat-x;
	background-position: 0 0.8em;
	background-size: 200% 0.5em;
	border: none;
	border-bottom-color: transparent;
	transition: background 2s ease;
}

.q_underline.is-active {
	background-position: -100% 0.8em !important;
}

.q_underline1 {
	font-weight: var(--tcd-underline1-font-weight, 400);
	background-image: linear-gradient(to right, transparent 50%, var(--tcd-underline1-color, var(--tcd-accent-color)) 50%);
	background-position: var(--tcd-underline1-background-position, 0 0.8em);
}

.q_underline2 {
	font-weight: var(--tcd-underline2-font-weight, 400);
	background-image: linear-gradient(to right, transparent 50%, var(--tcd-underline2-color, var(--tcd-accent-color)) 50%);
	background-position: var(--tcd-underline2-background-position, 0 0.8em);
}

.q_underline3 {
	font-weight: var(--tcd-underline3-font-weight, 400);
	background-image: linear-gradient(to right, transparent 50%, var(--tcd-underline3-color, var(--tcd-accent-color)) 50%);
	background-position: var(--tcd-underline3-background-position, 0 0.8em);
}

/* Speech balloon - 吹き出し */
.speech_balloon {
	display: flex;
	align-items: flex-start;
}

.speech_balloon_user {
	flex: 0 0 auto;
	min-width: 80px;
	margin-right: 36px;
	margin-bottom: 2rem;
	text-align: center;
}

.speech_balloon_user_image {
	width: 80px;
	height: 80px !important;
	border-radius: 50%;
	object-fit: cover;
}

.speech_balloon_user_name {
	margin-top: 12px;
	font-size: 87.5%;
	line-height: 1.2;
}

.speech_balloon_user_name:only-child {
	display: flex;
	align-items: center;
	min-height: 80px;
	margin-top: 0;
}

.speech_balloon_text {
	position: relative;
	flex: 1 1 auto;
	margin-bottom: 2rem;
}

.speech_balloon_text_inner {
	position: relative;
	min-height: 80px;
	padding: 22px 28px;
	line-height: 2;
	background: #fff;
	border: 2px solid #ddd;
	border-radius: 10px;
}

.speech_balloon_text_inner > *:last-child {
	margin-bottom: 0 !important;
}

.speech_balloon.right {
	flex-direction: row-reverse;
}

.speech_balloon.right .speech_balloon_user {
	margin-right: 0;
	margin-left: 36px;
}

.speech_balloon_text .before,
.speech_balloon_text .after {
	position: absolute;
	top: 40px;
	right: 100%;
	width: 0;
	height: 0;
	margin-top: -10px;
	pointer-events: none;
	border-color: transparent;
	border-style: solid;
	border-width: 8px 10px 8px 0;
}

.speech_balloon_text .after {
	margin-right: -3px;
}

.speech_balloon.right .before {
	left: 100%;
	transform: rotate(180deg);
}

.speech_balloon.right .after {
	left: 100%;
	margin-right: 0;
	margin-left: -3px;
	transform: rotate(180deg);
}

.speech_balloon1 .speech_balloon_text_inner {
	color: var(--tcd-speech-balloon1-color, #000);
	background-color: var(--tcd-speech-balloon1-bg-color, #fff);
	border-color: var(--tcd-speech-balloon1-border-color, #ddd);
}

.speech_balloon1 .before {
	border-right-color: var(--tcd-speech-balloon1-border-color, #ddd);
}

.speech_balloon1 .after {
	border-right-color: var(--tcd-speech-balloon1-bg-color, #fff);
}

.speech_balloon2 .speech_balloon_text_inner {
	color: var(--tcd-speech-balloon2-color, #000);
	background-color: var(--tcd-speech-balloon2-bg-color, #fff);
	border-color: var(--tcd-speech-balloon2-border-color, #ddd);
}

.speech_balloon2 .before {
	border-right-color: var(--tcd-speech-balloon2-border-color, #ddd);
}

.speech_balloon2 .after {
	border-right-color: var(--tcd-speech-balloon2-bg-color, #fff);
}

.speech_balloon3 .speech_balloon_text_inner {
	color: var(--tcd-speech-balloon3-color, #000);
	background-color: var(--tcd-speech-balloon3-bg-color, #fff);
	border-color: var(--tcd-speech-balloon3-border-color, #ddd);
}

.speech_balloon3 .before {
	border-right-color: var(--tcd-speech-balloon3-border-color, #ddd);
}

.speech_balloon3 .after {
	border-right-color: var(--tcd-speech-balloon3-bg-color, #fff);
}

.speech_balloon4 .speech_balloon_text_inner {
	color: var(--tcd-speech-balloon4-color, #000);
	background-color: var(--tcd-speech-balloon4-bg-color, #fff);
	border-color: var(--tcd-speech-balloon4-border-color, #ddd);
}

.speech_balloon4 .before {
	border-right-color: var(--tcd-speech-balloon4-border-color, #ddd);
}

.speech_balloon4 .after {
	border-right-color: var(--tcd-speech-balloon4-bg-color, #fff);
}

/* クイックタグ googlemap */
.qt_google_map {
	width: 100%;
	height: 550px;
	margin: 0 0 2rem 0;
	background: #ddd;
}

.qt_google_map .qt_googlemap_embed {
	width: 100%;
	height: 550px;
}

.qt_google_map .googlemap_custom-overlay-inner {
	position: absolute;
	top: -114px;
	left: -50px;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100px !important;
	height: 100px !important;
	overflow: hidden;
	font-size: 18px;
	color: var(--tcd-qt-google-map-marker-color);
	text-align: center;
	background-color: var(--tcd-qt-google-map-marker-bg-color);
	border-radius: 50%;
}

.qt_google_map .googlemap_custom-overlay::after {
	position: absolute;
	bottom: 0;
	left: -5px;
	z-index: 1;
	display: block;
	width: 0;
	height: 0;
	content: "";
	border-style: solid;
	border-width: 16px 5px 0 5px;
	border-top-color: var(--tcd-qt-google-map-marker-bg-color);
	border-right-color: transparent;
	border-bottom-color: transparent;
	border-left-color: transparent;
}

.googlemap_custom-overlay-img,
.p-body .googlemap_custom-overlay-img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: 100%;
}

@media (max-width: 767px) {
	.qt_google_map {
		height: 320px;
	}

	.qt_google_map .qt_googlemap_embed {
		height: 320px;
	}

	.qt_google_map .googlemap_custom-overlay-inner {
		top: -94px;
		left: -40px;
		width: 80px !important;
		height: 80px !important;
	}
}

/* Cardlink style - カードリンクのスタイル */
.cardlink {
	display: flex;
	max-width: 100%;
	padding: 20px;
	margin: 0 0 2rem;
	background: #fafafa;
	border: 1px solid #ddd;
}

.cardlink-thumbnail {
	flex: 0 0 130px;
	margin-right: 20px;
}

.cardlink-thumbnail img {
	display: block;
	width: 130px;
	height: 130px;
	object-fit: cover;
}

.cardlink-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5em;
	margin-bottom: 18px;
	font-size: 14px;
	line-height: 1;
	color: #222;
}

.cardlink-date,
.cardlink-modified-date {
	display: inline-flex;
	align-items: center;
}

.cardlink-date {
	margin-right: 0.5em;
}

.cardlink-date::before,
.cardlink-modified-date::before {
	padding-right: 5px;
	margin-bottom: -1px;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.cardlink-date::before {
	font-family: "footer_bar";
	font-size: 12px;
	content: "\e912";
}

.cardlink-modified-date::before {
	padding-right: 4px;
	font-family: "design_plus";
	font-size: 12px;
	content: "\e943";
}

.cardlink-title {
	display: -webkit-box;
	max-height: 3.2em;
	margin-top: -0.35em;
	margin-bottom: -0.35em;
	overflow: hidden;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.7;
	text-decoration: none;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.cardlink-excerpt {
	display: -webkit-box;
	max-height: 3.8em;
	margin-top: 12px;
	margin-bottom: -0.35em;
	overflow: hidden;
	font-size: 14px;
	line-height: 1.7;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.cardlink-excerpt:empty {
	display: none;
}

@media (hover: hover) and (pointer: fine) {
	a.cardlink-title:hover {
		text-decoration: underline;
	}
}

@media (max-width: 767px) {
	.cardlink {
		display: block;
		padding: 15px;
	}

	.cardlink-thumbnail {
		float: left;
		margin-right: 15px;
	}

	.cardlink-thumbnail img {
		width: 120px;
		height: 120px;
	}

	.cardlink-date-title {
		display: flex;
		flex-direction: column;
		justify-content: center;
		min-height: 120px;
	}

	.cardlink-meta {
		margin-bottom: 15px;
	}

	.cardlink-title {
		max-height: 5.4em;
		-webkit-line-clamp: 3;
	}

	.cardlink-excerpt {
		padding-top: 10px;
		margin-top: 0;
		clear: both;
	}
}

/* handy-class */
.e_link {
	position: relative;
	display: inline-block;
	padding-right: 1em;
}

.e_link::after {
	position: absolute;
	top: 50%;
	right: 0;
	display: block;
	margin-top: -0.1em;
	font-family: "design_plus";
	font-size: 100%;
	content: "\e92a";
	transition: none;
	transform: translateY(-50%);
}

img.frame {
	border: 1px solid #d2d2d2;
	box-shadow: 0 6px 6px -6px #ccc;
}

.a_break {
	display: inline-block;
}

@media (max-width: 767px) {
	.is-pc {
		display: none !important;
	}
}

@media (min-width: 768px) {
	.is-sp {
		display: none !important;
	}
}

/* Contactform - お問い合わせフォーム */
.wpcf7 {
	width: 100%;
	padding: 0;
	margin: 0 0 2.5rem !important;
	font-size: 14px;
	background: #fafafa;
	border: 1px solid #ddd;
}

.wpcf7 form {
	margin: 1.5rem 1.5rem 0;
}

.wpcf7 p {
	margin-bottom: 1rem;
}

.wpcf7 input,
.wpcf7 textarea {
	box-sizing: border-box;
	width: 100%;
	padding: 8px;
	line-height: 1.2;
	border: 1px solid #ccc;
}

.wpcf7 select,
.wpcf7 input[type="checkbox"],
.wpcf7 input[type="radio"] {
	width: auto;
	max-width: 97%;
	padding: 8px;
	border: 1px solid #ccc;
}

.wpcf7 select,
.wpcf7 .wpcf7-list-item-label {
	font-size: 14px;
	line-height: 1.2;
}

.wpcf7 .wpcf7-list-item {
	display: block;
}

.wpcf7 textarea {
	height: 300px;
}

.wpcf7 input:focus,
.wpcf7 textarea:focus {
	border: 1px solid #bbb;
	outline: none;
}

.wpcf7 .wpcf7-submit,
.wpcf7 .wpcf7-previous {
	position: relative;
	box-sizing: border-box;
	display: block;
	width: 225px;
	height: 48px;
	margin: 30px auto 0;
	font-size: 14px;
	line-height: 1.5;
	color: #fff;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	background-color: #333;
	border: none !important;
	outline: none;
	transition: all 0.3s;
}

.wpcf7 .wpcf7-submit::before,
.wpcf7 .wpcf7-submit::after {
	box-sizing: border-box;
}

.wpcf7 .wpcf7-submit .wpcf7-not-valid {
	background: pink;
}

.wpcf7 .wpcf7-submit .wpcf7-response-output {
	padding: 8px 35px 8px 14px;
	margin: 10px 0 0;
	border-radius: 4px;
}

.wpcf7 .wpcf7-submit .wpcf7-validation-errors {
	color: #b94a48;
	background-color: #f2dede;
	border: 1px solid #eed3d7;
}

.wpcf7 .wpcf7-submit .wpcf7-mail-sent-ok {
	color: #3a87ad;
	background-color: #d9edf7;
	border: 1px solid #bce8f1;
}

.wpcf7 .wpcf7-previous + br {
	display: none;
}

.wpcf7 form .wpcf7-response-output {
	padding: 0;
	margin: 2rem 0.5rem 2rem;
	text-align: center;
	border: none;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
	font-size: 1em;
	color: #dc3232;
}

@media (hover: hover) and (pointer: fine) {
	.wpcf7 .wpcf7-submit:hover,
	.wpcf7 .wpcf7-previous:hover {
		background-color: #666;
	}
}

/* font-size - フォントサイズ */
.text70 {
	font-size: 70%;
}

.text80 {
	font-size: 80%;
}

.text90 {
	font-size: 90%;
}

.text100 {
	font-size: 100%;
}

.text110 {
	font-size: 110%;
}

.text120 {
	font-size: 120%;
}

.text130 {
	font-size: 130%;
}

.text140 {
	font-size: 140%;
}

.text150 {
	font-size: 150%;
}

.text160 {
	font-size: 160%;
}

.text170 {
	font-size: 170%;
}

.text180 {
	font-size: 180%;
}

.text190 {
	font-size: 190%;
}

.text200 {
	font-size: 200%;
}

.text210 {
	font-size: 210%;
}

.text220 {
	font-size: 220%;
}

/* 太字 */
.b {
	font-weight: 600;
}

/* 下線 */
.u {
	text-decoration: underline;
}

/* 打ち消し線 */
.del {
	text-decoration: line-through;
}

/* font-color - フォントカラー */
.red {
	color: red;
}

.blue {
	color: #2ca9e1;
}

.green {
	color: #82ae46;
}

.orange {
	color: #ff7d00;
}

.yellow {
	color: #fff000;
}

.pink {
	color: #ff0084;
}

.gray {
	color: #999;
}

/* background-color - 背景色 */
.bg-blue {
	padding: 2px;
	background-color: #4ab0f5;
}

.bg-red {
	padding: 2px;
	background-color: red;
}

.bg-yellow {
	padding: 2px;
	background-color: #ff0;
}

/* text-align - 配置 */
.align1 {
	text-align: center !important;
}

.align2 {
	text-align: right !important;
}

.align3 {
	text-align: left !important;
}

/* float - 回り込み */
.r-flo {
	float: right;
	margin: 10px;
}

.l-flo {
	float: left;
	margin: 10px;
}

/* 回り込みの解除 */
.f-clear {
	clear: both;
}

/* hover - 画像リンクマウスオーバー時の不透明度 */
a img.fade {
	background: none !important;
	outline: none;
	transition: all 0.3s;
}

@media (hover: hover) and (pointer: fine) {
	a:hover img.fade {
		background: none !important;
		opacity: 0.7;
	}
}

/* text-style - テキストスタイル */
.att {
	padding-left: 1em;
	text-indent: -1em;
}

.att_box {
	padding: 1em 1.2em;
	margin: 2em 0 2.5em;
	line-height: 2;
	background: #fcfcfc;
	border: 1px dotted #ddd;
	box-shadow: 0 4px 0 0 #f9f9f9;
}

/* margin - 要素の外側の余白 */
.m0 {
	margin: 0 !important;
}

.mt0 {
	margin-top: 0 !important;
}

.mr0 {
	margin-right: 0 !important;
}

.mb0 {
	margin-bottom: 0 !important;
}

.ml0 {
	margin-left: 0 !important;
}

.m5 {
	margin: 5px !important;
}

.mt5 {
	margin-top: 5px !important;
}

.mr5 {
	margin-right: 5px !important;
}

.mb5 {
	margin-bottom: 5px !important;
}

.ml5 {
	margin-left: 5px !important;
}

.m10 {
	margin: 10px !important;
}

.mt10 {
	margin-top: 10px !important;
}

.mr10 {
	margin-right: 10px !important;
}

.mb10 {
	margin-bottom: 10px !important;
}

.ml10 {
	margin-left: 10px !important;
}

.m15 {
	margin: 15px !important;
}

.mt15 {
	margin-top: 15px !important;
}

.mr15 {
	margin-right: 15px !important;
}

.mb15 {
	margin-bottom: 15px !important;
}

.ml15 {
	margin-left: 15px !important;
}

.m20 {
	margin: 20px !important;
}

.mt20 {
	margin-top: 20px !important;
}

.mr20 {
	margin-right: 20px !important;
}

.mb20 {
	margin-bottom: 20px !important;
}

.ml20 {
	margin-left: 20px !important;
}

.m25 {
	margin: 25px !important;
}

.mt25 {
	margin-top: 25px !important;
}

.mr25 {
	margin-right: 25px !important;
}

.mb25 {
	margin-bottom: 25px !important;
}

.ml25 {
	margin-left: 25px !important;
}

.m30 {
	margin: 30px !important;
}

.mt30 {
	margin-top: 30px !important;
}

.mr30 {
	margin-right: 30px !important;
}

.mb30 {
	margin-bottom: 30px !important;
}

.ml30 {
	margin-left: 30px !important;
}

.m35 {
	margin: 35px !important;
}

.mt35 {
	margin-top: 35px !important;
}

.mr35 {
	margin-right: 35px !important;
}

.mb35 {
	margin-bottom: 35px !important;
}

.ml35 {
	margin-left: 35px !important;
}

.m40 {
	margin: 40px !important;
}

.mt40 {
	margin-top: 40px !important;
}

.mr40 {
	margin-right: 40px !important;
}

.mb40 {
	margin-bottom: 40px !important;
}

.ml40 {
	margin-left: 40px !important;
}

.m45 {
	margin: 45px !important;
}

.mt45 {
	margin-top: 45px !important;
}

.mr45 {
	margin-right: 45px !important;
}

.mb45 {
	margin-bottom: 45px !important;
}

.ml45 {
	margin-left: 45px !important;
}

.m50 {
	margin: 50px !important;
}

.mt50 {
	margin-top: 50px !important;
}

.mr50 {
	margin-right: 50px !important;
}

.mb50 {
	margin-bottom: 50px !important;
}

.ml50 {
	margin-left: 50px !important;
}

.m55 {
	margin: 55px !important;
}

.mt55 {
	margin-top: 55px !important;
}

.mr55 {
	margin-right: 55px !important;
}

.mb55 {
	margin-bottom: 55px !important;
}

.ml55 {
	margin-left: 55px !important;
}

.m60 {
	margin: 60px !important;
}

.mt60 {
	margin-top: 60px !important;
}

.mr60 {
	margin-right: 60px !important;
}

.mb60 {
	margin-bottom: 60px !important;
}

.ml60 {
	margin-left: 60px !important;
}

.m65 {
	margin: 65px !important;
}

.mt65 {
	margin-top: 65px !important;
}

.mr65 {
	margin-right: 65px !important;
}

.mb65 {
	margin-bottom: 65px !important;
}

.ml65 {
	margin-left: 65px !important;
}

.m70 {
	margin: 70px !important;
}

.mt70 {
	margin-top: 70px !important;
}

.mr70 {
	margin-right: 70px !important;
}

.mb70 {
	margin-bottom: 70px !important;
}

.ml70 {
	margin-left: 70px !important;
}

.m75 {
	margin: 75px !important;
}

.mt75 {
	margin-top: 75px !important;
}

.mr75 {
	margin-right: 75px !important;
}

.mb75 {
	margin-bottom: 75px !important;
}

.ml75 {
	margin-left: 75px !important;
}

.m80 {
	margin: 80px !important;
}

.mt80 {
	margin-top: 80px !important;
}

.mr80 {
	margin-right: 80px !important;
}

.mb80 {
	margin-bottom: 80px !important;
}

.ml80 {
	margin-left: 80px !important;
}

/* padding - 要素の内側の余白 */
.p0 {
	padding: 0 !important;
}

.pt0 {
	padding-top: 0 !important;
}

.pr0 {
	padding-right: 0 !important;
}

.pb0 {
	padding-bottom: 0 !important;
}

.pl0 {
	padding-left: 0 !important;
}

.p5 {
	padding: 5px !important;
}

.pt5 {
	padding-top: 5px !important;
}

.pr5 {
	padding-right: 5px !important;
}

.pb5 {
	padding-bottom: 5px !important;
}

.pl5 {
	padding-left: 5px !important;
}

.p10 {
	padding: 10px !important;
}

.pt10 {
	padding-top: 10px !important;
}

.pr10 {
	padding-right: 10px !important;
}

.pb10 {
	padding-bottom: 10px !important;
}

.pl10 {
	padding-left: 10px !important;
}

.p15 {
	padding: 15px !important;
}

.pt15 {
	padding-top: 15px !important;
}

.pr15 {
	padding-right: 15px !important;
}

.pb15 {
	padding-bottom: 15px !important;
}

.pl15 {
	padding-left: 15px !important;
}

.p20 {
	padding: 20px !important;
}

.pt20 {
	padding-top: 20px !important;
}

.pr20 {
	padding-right: 20px !important;
}

.pb20 {
	padding-bottom: 20px !important;
}

.pl20 {
	padding-left: 20px !important;
}

.p25 {
	padding: 25px !important;
}

.pt25 {
	padding-top: 25px !important;
}

.pr25 {
	padding-right: 25px !important;
}

.pb25 {
	padding-bottom: 25px !important;
}

.pl25 {
	padding-left: 25px !important;
}

.p30 {
	padding: 30px !important;
}

.pt30 {
	padding-top: 30px !important;
}

.pr30 {
	padding-right: 30px !important;
}

.pb30 {
	padding-bottom: 30px !important;
}

.pl30 {
	padding-left: 30px !important;
}

.p35 {
	padding: 35px !important;
}

.pt35 {
	padding-top: 35px !important;
}

.pr35 {
	padding-right: 35px !important;
}

.pb35 {
	padding-bottom: 35px !important;
}

.pl35 {
	padding-left: 35px !important;
}

.p40 {
	padding: 40px !important;
}

.pt40 {
	padding-top: 40px !important;
}

.pr40 {
	padding-right: 40px !important;
}

.pb40 {
	padding-bottom: 40px !important;
}

.pl40 {
	padding-left: 40px !important;
}

.p45 {
	padding: 45px !important;
}

.pt45 {
	padding-top: 45px !important;
}

.pr45 {
	padding-right: 45px !important;
}

.pb45 {
	padding-bottom: 45px !important;
}

.pl45 {
	padding-left: 45px !important;
}

.p50 {
	padding: 50px !important;
}

.pt50 {
	padding-top: 50px !important;
}

.pr50 {
	padding-right: 50px !important;
}

.pb50 {
	padding-bottom: 50px !important;
}

.pl50 {
	padding-left: 50px !important;
}

.p55 {
	padding: 55px !important;
}

.pt55 {
	padding-top: 55px !important;
}

.pr55 {
	padding-right: 55px !important;
}

.pb55 {
	padding-bottom: 55px !important;
}

.pl55 {
	padding-left: 55px !important;
}

.p60 {
	padding: 60px !important;
}

.pt60 {
	padding-top: 60px !important;
}

.pr60 {
	padding-right: 60px !important;
}

.pb60 {
	padding-bottom: 60px !important;
}

.pl60 {
	padding-left: 60px !important;
}

.p65 {
	padding: 65px !important;
}

.pt65 {
	padding-top: 65px !important;
}

.pr65 {
	padding-right: 65px !important;
}

.pb65 {
	padding-bottom: 65px !important;
}

.pl65 {
	padding-left: 65px !important;
}

.p70 {
	padding: 70px !important;
}

.pt70 {
	padding-top: 70px !important;
}

.pr70 {
	padding-right: 70px !important;
}

.pb70 {
	padding-bottom: 70px !important;
}

.pl70 {
	padding-left: 70px !important;
}

.p75 {
	padding: 75px !important;
}

.pt75 {
	padding-top: 75px !important;
}

.pr75 {
	padding-right: 75px !important;
}

.pb75 {
	padding-bottom: 75px !important;
}

.pl75 {
	padding-left: 75px !important;
}

.p80 {
	padding: 80px !important;
}

.pt80 {
	padding-top: 80px !important;
}

.pr80 {
	padding-right: 80px !important;
}

.pb80 {
	padding-bottom: 80px !important;
}

.pl80 {
	padding-left: 80px !important;
}




/* ----------------------------------------------------------------------
 ヘッダーカート
---------------------------------------------------------------------- */
/* カートアイテム */
.p-header-view-cart .woocommerce.widget_shopping_cart .cart_list li {
	line-height: 1.6; padding: 20px 30px; border-bottom:1px solid;
}
.p-header-view-cart .woocommerce.widget_shopping_cart ul.cart_list li a { color:inherit; font-weight:500; }
@media (hover: hover) and (pointer: fine) {
	.p-header-view-cart .woocommerce.widget_shopping_cart ul.cart_list li a:hover { color:rgba(var(--tcd-accent-color, 0,0,0),1); }
}
.p-header-view-cart .woocommerce.widget_shopping_cart ul.cart_list li img {
	float: left; margin: 0 20px 0 0; width: 70px; height: 70px; object-fit: cover;
}
.p-header-view-cart .woocommerce.widget_shopping_cart ul.cart_list li .quantity  { opacity:0.5; }
