@charset "utf-8";
/*
Theme Name:SALON
Theme URI:https://tcd-theme.com/tcd124
Description:SALON is a WordPress theme designed for stylish cafés and restaurants with a distinct sense of atmosphere. Built with WooCommerce support, it works just as well as a simple storefront site as it does a full-featured online shop for selling your signature products. A combination of elegant layouts for menus, vertical text accents, and refined animations gives the entire site a polished, sophisticated feel.
Author:TCD
Author URI:https://tcd-theme.com/
Version:1.0.1
Text Domain:tcd-salon
*/


/* ----------------------------------------------------------------------
  基本設定
---------------------------------------------------------------------- */
body { position:relative; min-height:100vh; }
body.is-mobile { overscroll-behavior:none; }
body.is-mobile *::-webkit-scrollbar { display:none; }
input, textarea, select, button { font-family:var(--tcd-base-font-type, sans-serif); }
a, a:before, a:after { transition: color 0.25s ease, background-color 0.25s ease, border-color 0.25s ease, opacity 0.25s ease; }
a { color:#000; text-decoration:none; }
/* tcdエディタのスタイルを変更 */
.post_content :is(.tcdce-body, .editor-styles-wrapper) { line-height:2.4; }
:is(.tcdce-body, .editor-styles-wrapper) img.aligncenter { margin-top:0 !important; margin-bottom: 0 !important; }

@media(hover: hover) {
  a:hover:not(.tcdce-body a) { color:rgba(0,0,0,0.6); }
  .c-comment-list-item__action :where(a):hover { color: #ffffff !important; }
}
@media (max-width: 767px) {
  .single_free_space :is(.tcdce-body, .editor-styles-wrapper) > *:first-child { margin-top:var(--tcdce-h2-margin-top-sp); }
  .post_content :is(.tcdce-body, .editor-styles-wrapper) { line-height:2.2; }
  .post_content table { font-size:14px; }
}
@media (max-width: 600px) {
  html:has(#wpadminbar) { padding-top:0px; }
  #wpadminbar { position:fixed !important; }
}


/* スクロールバーを非表示 */
html, body { scrollbar-width: none; -ms-overflow-style: none; }
html::-webkit-scrollbar, body::-webkit-scrollbar { display:none; }


/* google mapのiframe */
iframe[src*="google.com/maps"] { width:100%; aspect-ratio:16 / 9; height:auto; border:0; }
@media (max-width: 600px) {
  iframe[src*="google.com/maps"] { aspect-ratio:auto; height:300px;  }
}




/* ----------------------------------------------------------------------
  レイアウト
---------------------------------------------------------------------- */
#container { 

  width:100%; position:relative; overflow:clip;

	body.author &,
  body:has(#blog_list) & { background:#f9f8f4; }

	body.page-template-page__lp & { min-height:100vh; }

	@media (max-width: 767px) {
		body.post-type-archive-news &,
		body.tax-news_category & { background:#f9f8f4; }
	}	

}
#main_content { 

  position:relative; width:1000px; margin:0 auto; padding-bottom:150px; z-index:1;

  body.sidebar_right & { display:flex; flex-wrap:wrap; justify-content:space-between; }
  body.sidebar_left & { display:flex; flex-wrap:wrap; justify-content:space-between; flex-direction:row-reverse; }

}
.main_col {

  container: main / inline-size; 

  #main_content & { width:660px; }
  body.sidebar_none #main_content & { margin:0 auto; width:820px; }
  #main_content &.wide { width:100% !important; }

}
.l-sidebar { width:300px; }

@media (max-width: 1200px) {
  #main_content { margin:0 60px; padding-bottom:100px; width:auto !important; justify-content:center !important; }
  #main_content .main_col { width:750px; margin:0; }
  #main_content .l-sidebar { width:750px; margin:70px 0 0; }
  #main_content .l-sidebar .p-widget-list { grid-template-columns:repeat(2, 1fr) !important; }
}
@media (max-width: 940px) {
  body.sidebar_none #main_content .main_col { margin:0 auto; width:auto; }
}
@media (max-width: 870px) {
  #main_content { display:block !important; }
  #main_content .main_col { width:auto; }
  #main_content .l-sidebar { width:auto; }
}
@media (max-width: 767px) {
  #main_content { margin:0 20px; padding-bottom:40px; }
  #main_content .main_col { margin-top:0; }
  #main_content .l-sidebar { margin:40px 0; }
  #main_content .l-sidebar { margin-top:50px; margin-bottom:0; }
  #main_content .l-sidebar:not(:has(.p-widget)) { margin-top:0; } 
  #main_content .l-sidebar .p-widget-list { gap:40px 20px; }
}
@media (max-width: 600px) {
  #main_content .l-sidebar .p-widget-list { grid-template-columns:repeat(1, 1fr) !important; }
}




/* ----------------------------------------------------------------------
  汎用パーツ
---------------------------------------------------------------------- */
/* 画像のホバーアニメーション */
.c-thumbnail { overflow:hidden; backface-visibility:hidden; position:relative; z-index:2; display:block; }
.c-thumbnail-image { width:100%; height:100% !important; object-fit:cover; pointer-events:none; position:absolute; top:0; left:0; }
body.hover_zoom .c-thumbnail-image { transform:scale(1); transition:transform 0.5s ease; backface-visibility:hidden; -webkit-backface-visibility:hidden; }
body.hover_fade .c-thumbnail { background:#000; }
body.hover_fade .c-thumbnail-image { opacity:1; transition:opacity 0.9s ease; }
@media(hover: hover) {
  body.hover_zoom :where(a, .c-thumbnail):hover .c-thumbnail-image { transform:scale(1.1); }
  body.hover_fade :where(a, .c-thumbnail):hover .c-thumbnail-image { opacity:0.7; }
  body.hover_zoom .item:has(.title a:hover) .c-thumbnail-image { transform:scale(1.1); }
  body.hover_fade .item:has(.title a:hover) .c-thumbnail-image { opacity:0.7; }
}


/* 抜粋表示（3点リーダ） */
.c-line-clamp { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: var(--tcd-line-clamp); line-clamp: var(--tcd-line-clamp); height: calc(1lh * var(--tcd-line-clamp)); max-height: calc(1lh * var(--tcd-line-clamp)); overflow: hidden; visibility: visible; word-break: break-all; margin-block: var(--tcd-half-read); }


/* 表示切り替え */
@media not all and (max-width: 767px) {
  .c-hidden-pc { display: none; }
}
@media (max-width: 767px) {
  .c-hidden-sp { display: none; }
}


/* 日付 */
.c-date { display:flex; flex-wrap:wrap; gap:0.8em; font-family:'Arial'; font-size:14px; color:#999; line-height:1; }
.c-date-item { display:grid; align-items:center; grid-template-columns:auto auto; gap:0.3em; }
.c-date-item:before { content:''; width:1em; height:1em; background: currentColor; }
.c-date--publish:before { mask:var(--tcd-icon--publish) no-repeat center / 1.2em; }
.c-date--updated:before { mask:var(--tcd-icon--updated) no-repeat center / 1.2em; }
@media (max-width: 767px) {
  .c-date { font-size: 14px; }
}


/* 基本ボタン */
.c-button {
  display: grid; place-items: center; width: fit-content;
	min-width: var(--tcd-button-min-width, 280px); height: var(--tcd-button-height, 60px);
	margin: var(--tcd-button-margin, initial); padding: var(--tcd-button-padding, 0 20px);
  font-size: var(--tcd-button-font-size, 16px); color: var(--tcd-button-font-color, var(--tcd-accent-color)); text-decoration: none !important;
  background: var(--tcd-button-bg-color, transparent); border: var(--tcd-button-border, 1px solid var(--tcd-accent-color)); border-radius: var(--tcd-button-border-radius, calc(infinity * 1px));
  /* TCDCE対策 */
  --tcdce-base-link-color: var(--tcd-button-font-color, var(--tcd-accent-color));
}
@media (any-hover: hover) {
	.c-button:hover { color: var(--tcd-button-hover-font-color, #fff) !important; background: var(--tcd-button-hover-bg-color, var(--tcd-accent-color)); border: var(--tcd-button-hover-border, 1px solid var(--tcd-accent-color)); }
}
@media (max-width: 767px) {
  .c-button { min-width: var(--tcd-button-min-width-sp, 250px); height: var(--tcd-button-height-sp, 60px); font-size: var(--tcd-button-font-size-sp, 14px); }
}


/* 旧ボタン */
.c-button01 { display: grid; place-items: center; width: fit-content; min-width: 260px; height: 60px; border-radius:60px; font-size: 16px; color: var(--tcd-accent-color); border: 1px solid var(--tcd-accent-color); text-decoration:none !important; padding:0 25px; }
.c-button01.white { color:#fff; border-color:rgba(255,255,255,0.8); }
.c-button02 { display: grid; place-items: center; width: fit-content; min-width: 160px; height: 50px; font-size: 14px; color: var(--tcd-accent-color); border: 1px solid var(--tcd-accent-color); padding:0 25px; }
@media(hover: hover) {
  .c-button01:hover, .c-button02:hover { color:#fff !important; background:var(--tcd-accent-color); }
  .c-button01.white:hover { border-color:var(--tcd-accent-color); }
}
@media (max-width: 767px) {
  .c-button01 { min-width: 240px; height: 50px; font-size: 14px; }
}


/* ページネーション */
.c-pagination {

  margin-top:70px;

  .screen-reader-text { display:none; }
  :where(.nav-links) { display:grid; gap:0; grid-template-columns:repeat(auto-fit, 50px); grid-template-rows:50px; justify-content:center; font-size:14px; font-family:Arial; text-align:center; }
  :where(.nav-links > *) { display:grid; place-items:center; color:#000000; border:1px solid #ddd; background:#fff; margin-right:-1px; }
  .page-numbers.dots { border:none; background:none; margin:0 1px; position:relative; }
  :where(.nav-links > .current) { z-index:2; color:#ffffff; border-color:var(--tcd-accent-color); background:var(--tcd-accent-color); }
  .next { display:none; }
  .prev { display:none; }

  @media(hover: hover) {
    :where(.nav-links > a:hover) { background:#fafafa; }
  }
  @media (max-width: 767px) {
    margin-top:40px;
    :where(.nav-links) { grid-template-columns:repeat(auto-fit, 45px); grid-template-rows:45px; }
  }

}


/* カテゴリーボタン */
.category_button { font-size:14px; color:var(--tcd-accent-color) !important; display:block; }
.category_buttons { display:flex; flex-wrap:wrap; gap:10px; font-size:14px; }
.category_buttons a { color:var(--tcd-accent-color) !important; }
.category_buttons a:after { content:','; }
.category_buttons a:last-of-type:after { display:none; }
@media(hover: hover) {
  .category_button:hover { opacity:0.5; }
	.category_buttons a:hover { opacity:0.5; }
}
@media (max-width: 1100px) {
  .category_buttons { font-size:14px; }
}


/* デザインボタン */
.design_button {

  font-size:16px; align-self:flex-start; position:relative; overflow:hidden; display:block; text-align:center; text-decoration:none !important;
	width:fit-content; min-width:270px; height:70px; line-height:70px; border-radius:70px;
	border:1px solid var(--tcd-accent-color); color:var(--tcd-accent-color) !important; background:none;
	padding:0 70px; margin:0 auto; margin-top:70px !important; z-index:5;

  span { position:relative; z-index:2; }
  .post_content & { margin-top:90px !important; }

  @media(hover: hover) {
		&:hover { background:var(--tcd-accent-color); color:#fff !important; }
  }
  @media (max-width: 1000px) {
    font-size:14px; height:60px; line-height:60px; min-width:240px;
	}
	@media (max-width: 767px) {
    margin-top:30px !important;
    .post_content & { margin-top:30px !important; }
  }

}


/* アクセントカラー */
.accent_color { color:var(--tcd-accent-color) !important; }


/* ショートコンテンツ */
.short_content { padding-left:140px; padding-right:140px; }
@media (max-width: 1100px) {
  .short_content { padding-left:60px; padding-right:60px; }
}
@media (max-width: 550px) {
  .short_content { max-width:280px; margin-left:auto !important; margin-right:auto !important; padding-left:0px; padding-right:0px; }
}


/* ワイドコンテンツ・ワイド画像 */
@media (max-width: 1000px) {
  .wide_content { margin-left:-60px; margin-right:-60px; }
  .wide_image { margin-left:-60px !important; margin-right:-60px !important; width:calc(100% + 120px) !important; max-width:calc(100% + 120px) !important; }
}
@media (max-width: 767px) {
  .wide_content { margin-left:-20px; margin-right:-20px; }
  .wide_image { margin-left:-20px !important; margin-right:-20px !important; width:calc(100% + 40px) !important; max-width:calc(100% + 40px) !important; }
}


/* 縦書き見出し */
.vertical_headline {

	width:auto !important;
	font-size:var(--tcd-headline-font-size-pc) !important; font-family:var(--tcd-headline-font-type) !important; font-weight:500 !important; color:var(--tcd-accent-color) !important; 
	writing-mode:vertical-rl; text-align:left !important; position:relative; left:50%; transform: translateX(-50%); margin:120px 0 120px !important;

	&:first-child { margin-top:0 !important; }
	&:last-child { margin-bottom:0 !important; }

	@media (max-width: 1200px) {
		font-size:calc( ( var(--tcd-headline-font-size-pc) + var(--tcd-headline-font-size-sp) ) / 2 ) !important; margin:100px 0 100px !important;
	}
	@media (max-width: 767px) {
		font-size:var(--tcd-headline-font-size-sp) !important; margin:40px 0 40px !important; font-weight:400 !important;
	}

}	


/* サブタイトル付き見出し */
.design_headline {

	text-align:center !important; color:var(--tcd-accent-color) !important; margin-top:110px !important; margin-bottom:65px !important;
	&:first-child { margin-top:0 !important; }
	&:last-child { margin-bottom:0 !important; }
	
	span { display:block; }
	.title { font-size:var(--tcd-page-header-font-size-pc) !important; line-height:1.4; }
	.subtitle { font-size:16px; font-weight:400; margin-top:10px; }

	@media (max-width: 1200px) {
		.title { font-size:calc( (var(--tcd-page-header-font-size-pc) + var(--tcd-page-header-font-size-sp)) / 2 ) !important; }
		.subtitle { font-size:15px; }
	}
	@media (max-width: 767px) {
		margin-top:35px !important; margin-bottom:35px !important;
		.title { font-size:var(--tcd-page-header-font-size-sp) !important; }
		.subtitle { font-size:14px; margin-top:1px; }
	}
	
}



/* inview（スクロールトリガーアニメーション） */
.inview { position:relative; opacity:0; transform: translateY(50px); transition:opacity 2s ease 0s, transform 1.6s cubic-bezier(0.22, 1, 0.36, 1) 0s }
.inview.animate { opacity:1; transform: translateY(0) !important; }
@media (max-width: 767px) {
  .cb_design_button.inview { transform: translateY(40px); }
}


/* タブの切り替え（共通） */
.js_tab_item.active { pointer-events:none; }
.js_tab_panel_wrap { position:relative; }
.js_tab_panel[hidden] { position:absolute; }
.js_tab_panel { opacity: 0 !important; transition: none !important;  visibility: hidden; }
.js_tab_panel.active { opacity: 1 !important; visibility: visible; transition:opacity 2s ease 0.2s !important; }




/* ----------------------------------------------------------------------
  スマートページ
---------------------------------------------------------------------- */

/* ヘッダー */
body.page-template-page__tab #page_header {

	margin:0 !important; height:530px;

  .image_wrap { width:100%; height:100%; z-index:1; position:absolute; top:0; left:0; overflow:hidden; transform:scale(1.1); transition:transform 1.5s cubic-bezier(0.165, 0.84, 0.44, 1); }
	body.start_first_animation & .image_wrap { transform:scale(1); }
  .image_wrap .image { opacity:0; transition: opacity 1.0s ease; }
  .image_wrap .image.active { opacity: 1; }
  body:not(.start_first_animation) & .image_wrap .image { transition:none; }

	@media (max-width: 1200px) {
		height:400px;
		.headline { margin:60px 0 0; }
	}
	@media (max-width: 1000px) {
		height:350px;
	}
	@media (max-width: 767px) {
		height:240px;
	}

}


/* position:stickyの判定に使用 */
#sticky_trigger { height:1px; width:100%; pointer-events:none; margin-top:-1px; }


/* タブメニュー */
#smart_page_menu {

	position:sticky; top:70px; left:0; width:100%; margin-bottom:120px; background:#fff; z-index:100;
	&:after { content:''; display:block; width:100%; height:1px; background:#ddd; position:absolute; left:0; bottom:0px; z-index:1; }

	body.active_sticky & { box-shadow:0 10px 15px 0 rgba(120,120,120,0.1); }
	body.active_sticky &:after { bottom:auto; top:0; }
	
	.splide { width:1000px; margin:0 auto; height:70px; z-index:2;}
	.splide.is-overflow:before { content:''; display:block; width:1px; height:100%; background:#ddd; position:absolute; top:0; left:0; }
	.splide.is-overflow:after { content:''; display:block; width:1px; height:100%; background:#ddd; position:absolute; top:0; right:0; }
	.splide:not(.is-overflow) .splide__list { justify-content:center; transform:none !important; }

	.nav-item { font-size:16px; display:block; width:100%; height:70px; border-right:1px solid #ddd; }
	.nav-item.active { background:var(--tcd-accent-color); border-color:var(--tcd-accent-color); color:#fff; }
	.splide:not(.is-overflow) .item:first-of-type { border-left:1px solid #ddd; }
	
	body:has(li.menu-item-megamenu-1 a:hover).active_sticky &,
	body:has(li.menu-item-megamenu-2 a:hover).active_sticky &,
	body:has(li.menu-item-megamenu-3 a:hover).active_sticky &,
	body:has(#global_menu > ul > li.menu-item-has-children:hover).active_sticky & { opacity:0; pointer-events:none; z-index:1; }

	.splide__arrow { background:none; box-shadow:none; top:37px; }
	.splide__arrow--prev { left:-60px; }
	.splide__arrow--next { right:-60px; }

	@media(hover: hover) {
		.nav-item:hover { color:#999; }
	}
	@media (max-width: 1200px) {
		top:60px;
	}
  @media (max-width: 1120px) {
		margin-bottom:100px;
		.splide { width:auto; }
		.splide.is-overflow:before { display:none; }
		.splide.is-overflow:after { display:none; }
		.splide__arrows { display:none; }
		.nav-item { font-size:14px; }
		.splide:not(.is-overflow) .item:first-of-type { border-left:none; }
	}
  @media (max-width: 767px) {
		margin-bottom:40px;
		.splide { height:60px; }
		.nav-item { height:60px; }
	}

}
body.active_sticky #header:not(:has(li.menu-item-has-children.active)) { box-shadow:none !important; }


/* タブコンテンツ */
#smart_page_content_wrap {

  position:relative; width:1000px; margin:0 auto; scroll-margin-top:250px;

	.smart_page_content_title { text-align:center; font-size:var(--tcd-headline-font-size-pc); color:var(--tcd-accent-color); line-height:1; margin-bottom:70px; }

	@media (max-width: 1200px) {
		scroll-margin-top:210px;
	}
	@media (max-width: 1120px) {
    width:auto;
		.smart_page_content_title { font-size:calc( (var(--tcd-headline-font-size-pc) + var(--tcd-headline-font-size-sp)) / 2 ); }
  }
	@media (max-width: 1000px) {
		scroll-margin-top:200px;
	}
  @media (max-width: 767px) {
		scroll-margin-top:160px;
    .smart_page_content_title { font-size:var(--tcd-headline-font-size-sp); margin-bottom:30px; }
  }

}




/* ----------------------------------------------------------------------
  FAQ
---------------------------------------------------------------------- */
.faq_list {

  margin:90px auto;

  &:last-child { margin-bottom:0 !important; }
  
	body.single & { margin:60px auto !important; }
	body.single &:first-child { margin-top:0 !important; }
	body.single &:last-child { margin-bottom:0 !important; }
	
  .item { border:1px solid #ddd; background:#fff; margin:0 0 -1px 0; }
  .item:last-of-type { margin-bottom:0 !important; }

  .question { padding:22px 60px 20px 30px !important; font-size:16px !important; font-weight:400 !important; margin:0 !important; line-height:1.6 !important; cursor:pointer; transition: color 0.25s ease; position:relative; }
  .question:before,
  .question:after { content:''; display:block; background:var(--tcd-accent-color); position:absolute; top:36px; transition: background-color 0.25s ease; }
  .question:before { width:13px; height:1px; right:30px; }
  .question:after { width:1px; height:14px; right:36px; top:30px; }
  .question.active { color:var(--tcd-accent-color); }
  .question.active:after { display:none; }

  .answer { line-height:2.4; display:none; }
  .answer_inner { padding:30px; background:#f6f6f6; }

  @media(hover: hover) {
    .question:hover { color:var(--tcd-accent-color); }
    .question:hover:before,
    .question:hover:after { background:rgba(var(--tcd-accent-color-rgba),0.5); }
  }
  @media (max-width: 767px) {
    margin:30px auto;
		body.single & { margin:30px auto !important; }
		body.single &:first-child { margin-top:0 !important; }
		body.single &:last-child { margin-bottom:0 !important; }
    .question { padding:18px 45px 16px 20px !important; font-size:14px !important; }
    .question:before { right:20px; top:27px; }
    .question:after { right:26px; top:21px; }
    .question span:before { font-size:20px; top:13px; left:20px; }
    .answer .tcdce-body { line-height:2; font-size:14px !important; }
    .answer_inner { padding:20px; }
  }

}




/* ----------------------------------------------------------------------
  固定ページ
---------------------------------------------------------------------- */

/* グレー背景（LOCATIONで使用） */
.gray_bg { line-height:inherit !important; }
.tcdce-gmap + .gray_bg { margin-top:-40px !important; }
p:has(img) + .gray_bg { margin-top:-29px !important; }


/* デザインコンテンツ */
.sc_design_content {

	margin:120px auto !important;

	&:first-child { margin-top:0 !important; }
	&:last-child { margin-bottom:0 !important; }

	body.single & { margin:60px auto !important; }
	body.single &:first-child { margin-top:0 !important; }
  body.single &:last-child { margin-bottom:0 !important; }

	.item { position:relative; display:flex; flex-wrap:nowrap; align-items:stretch; background:#f9f8f4; }
	.item.white_bg { background:#fff; }
	.item.layout_type2 { flex-direction:row-reverse; }

	.image { width:50%; height:auto; aspect-ratio:1 / 1; position:relative; }
	.image img { position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; }

	.content { width:50%; padding:70px; display:grid; align-items:center; }
	.item.layout_type1.white_bg .content { padding-right:0; }
	.item.layout_type2.white_bg .content { padding-left:0; }

	.design_button { margin:0 !important; }

	@media (max-width: 1200px) {
		margin:100px auto !important;
	}
	@media (max-width: 767px) {
		margin:40px auto !important;
		body.single & { margin:30px auto !important; }
		body.single &:first-child { margin-top:0 !important; }
		body.single &:last-child { margin-bottom:0 !important; }
		.item { display:block; }
		.item.layout_sp_type2 { display:flex; flex-direction:column; flex-direction:column-reverse; }
		.item.layout_sp_type2.white_bg { margin-top:40px; }
		.image { width:100%; }
		.content { width:100%; padding:30px !important; }
		.item:not(.white_bg).layout_sp_type1 + .item:not(.white_bg).layout_sp_type2 .content { padding-top:0 !important; } 
		.item.white_bg .content { padding:30px 20px !important; }
		.item.layout_sp_type2.white_bg .content { padding:0 20px 40px !important; }
		.design_button { margin:10px auto !important; }
		.item.white_bg .design_button { margin:10px auto 0 !important; }
		&:last-child .item.white_bg.layout_sp_type1 .content { padding-bottom:0 !important; }
	}

}


/* 画像カルーセル */
.sc_image_carousel_wrap {

  margin:120px 0 !important; width:100%; position:relative; z-index:1; pointer-events:none;
	
	&:first-child { margin-top:0 !important; }
  &:last-child { margin-bottom:0 !important; }

	body.page-template-page__rich &,
	body.page-template-page__tab & {
		width:calc(100vw - var(--tcd-scrollbar-width, 0px)); left:calc((100% - (100vw - var(--tcd-scrollbar-width, 0px))) / 2); position:relative; z-index:1; pointer-events:none;
	}

	body.single & { margin:60px 0 !important; }
	body.single &:first-child { margin-top:0 !important; }
  body.single &:last-child { margin-bottom:0 !important; }

  &:before,
  &:after { content:''; display:block; position:absolute; top:0; width:100px; height:100%; z-index:2; }
  &:before { left:0; background: linear-gradient(to right,  rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%); }
  &:after { right:0; background: linear-gradient(to right,  rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%); }
  body.home &:before,
  body.home &:after,
	body.page-template-page__rich &:before,
	body.page-template-page__rich &:after,
	body.page-template-page__tab &:before,
	body.page-template-page__tab &:after{ display:none; }

  .sc_image_carousel .item { position:relative; overflow:hidden; }
  .sc_image_carousel .item img { position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; }

  @media (max-width: 1000px) {
    .sc_image_carousel .item { width:300px !important; }
	}
	@media (max-width: 767px) {
    margin:30px -20px !important; width:calc(100% + 40px);
		body.single & { margin:30px -20px !important; }
		body.page-template-page__rich &,
		body.page-template-page__tab & { margin-left:0 !important; margin-right:0 !important; }
    &:before, &:after { display:none; }
    .sc_image_carousel .item { width:200px !important; }
  }

}
.sc_image_carousel_no_image { margin:0 auto; text-align:center; }
.sc_image_carousel_no_image img { width:400px; }




/* ----------------------------------------------------------------------
  サービス（MENU）
---------------------------------------------------------------------- */

/* アーカイブページ */
#service_list {

  .item { padding:120px 0px; }
  .item:nth-child(2n) { padding:70px 0px; background:#f9f8f4; }
  .item:first-of-type { padding-top:0px; }
  .item:last-of-type { padding-bottom:150px; }
	
  .title { line-height:1.8; color:var(--tcd-accent-color); font-size:var(--tcd-page-header-font-size-pc); font-family:var(--tcd-page-header-font-family); font-weight:600; text-align:center; margin-top:calc(0.5em - 0.5lh); margin-bottom:65px; }
	.title span { display:block; }
	.title span.sub { font-size:16px; font-weight:400; margin-top:3px; }
	
	.content { width:1000px; margin:0 auto; display:flex; flex-wrap:wrap; align-items:center; }
	.item:nth-child(2n) .content { flex-direction:row-reverse; }

	.image { width:50%; height:auto; aspect-ratio:1 /1; position:relative; overflow:hidden; margin-bottom:auto; }
	.image img { width:100%; height:100%; position:absolute; top:0; left:0; object-fit:cover; }

	.desc_area { width:50%; padding-left:80px; }
	.item:nth-child(2n) .desc_area { padding-left:0; padding-right:80px; }
	
	.desc { line-height:2.4; margin-top:calc(0.5em - 0.5lh); margin-bottom:calc(0.5em - 0.5lh); }
	.design_button { margin:70px 0 0 !important; }

	@media(hover: hover) {
    .title a:hover { color:rgba(var(--tcd-accent-color-rgba),0.7) !important; }
  }
  @media (max-width: 1200px) {
	  .title { font-size:calc( ( var(--tcd-page-header-font-size-pc) + var(--tcd-page-header-font-size-sp) ) / 2 ); }
		.title span.sub { font-size:15px; }
		.content { width:auto; margin:0 60px; }
		.desc_area { padding-left:60px; }
		.item:nth-child(2n) .desc_area { padding-right:60px; }
		.design_button { margin:50px 0 0 !important; }
	}
  @media (max-width: 900px) {
	  .item { padding:60px 0px; }
		.item:nth-child(2n) { padding:60px 0px; }
		.item:first-of-type { padding-top:0px; }
		.item:last-of-type { padding-bottom:100px; }
		.content { display:block; margin:0 60px; }
		.image { width:auto; max-width:400px; margin:0 auto 40px; }
		.desc_area { width:auto; padding:0 30px !important; }
	  .title { line-height:1.8; font-size:var(--tcd-page-header-font-size-sp); margin-bottom:35px; padding:0 20px; }
		.title span.sub { font-size:14px; margin-top:0; }
		.design_button { margin:40px auto 0 !important; }
	}
  @media (max-width: 767px) {
	  .item { padding:40px 0px; }
		.item:nth-child(2n) { padding:40px 0px; }
		.item:first-of-type { padding-top:0px; }
		.item:last-of-type { padding-bottom:40px; }
		.content { display:block; margin:0 20px; }
	}
	
}


/* メニュー一覧（ショートコード） */
.sc_menu_list_parent {
	
	background:#f9f8f4; padding:70px; margin:0 0 70px !important;

	&:last-child { margin:0 !important; }

	@media (max-width: 767px) {
		padding:30px; margin:0 0 30px !important;
	}

}
.sc_menu_list {

	background:#f9f8f4; padding:70px; display:flex; flex-direction:column; gap:70px 0; margin-bottom:60px !important;

	&:last-child { margin-bottom:0 !important; }
	
	.headline { line-height:1 !important; text-align:center; font-size:var(--tcd-page-header-font-size-pc); font-weight:600; color:var(--tcd-accent-color); margin-top:-5px; margin-bottom:-5px; }
	.headline span { display:block; }
	.headline span.sub { font-size:16px; font-weight:500; margin-top:17px; }

	.menu_list { display:flex; flex-wrap:wrap; border-bottom:1px solid #ddd; }
	.menu_list dt { width:calc(100% - 150px); margin:0; padding:17px 20px 17px 0; line-height:1.6; border-top:1px solid #ddd; }
	.menu_list dd { width:150px; margin:0; padding:17px 0; text-align:right; line-height:1.6; border-top:1px solid #ddd; }
	
	.image_list { display:grid; gap:60px; grid-template-columns:repeat(2, 1fr); }
	.image_list.three_column { gap:40px; grid-template-columns:repeat(3, 1fr); }
	.image_list .image { position:relative; overflow:hidden; aspect-ratio:1 / 1; width:100%; height:auto; }
	.image_list .image img { position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; }
	.image_list .image .label { position:absolute; top:20px; left:20px; z-index:2; background:#fff; height:35px; display:grid; place-items:center; padding:0 20px; border-radius:35px; font-size:14px;  }
	.image_list .title { font-size:16px; line-height:1.6; margin-top:15px; margin-bottom:calc(0.5em - 0.5lh); }

	@media (max-width: 1200px) {
		padding:60px; gap:60px 0;
		.headline { font-size:calc( ( var(--tcd-page-header-font-size-pc) + var(--tcd-page-header-font-size-sp) ) / 2 ); }
	}
	@media (max-width: 1000px) {
		.image_list .title { font-size:14px; }
		.image_list { gap:20px; }
		.image_list.three_column { gap:30px; }
		.image_list .image .label { top:15px; left:15px; height:30px; font-size:12px; }
		.menu_list dt { width:calc(100% - 100px); }
		.menu_list dd { width:100px; }
	}
	@media (max-width: 900px) {
		.image_list.three_column { grid-template-columns:repeat(2, 1fr); }
	}
	@media (max-width: 767px) {
		padding:30px; gap:40px 0; margin-bottom:40px !important;
		.headline { font-size:var(--tcd-page-header-font-size-sp); }
		.headline span.sub { font-size:14px; margin-top:12px; }
		.menu_list { font-size:14px; }
		.menu_list dt { width:calc(100% - 80px); }
		.menu_list dd { width:80px; }
	}
	@media (max-width: 500px) {
		.image_list { grid-template-columns:repeat(1, 1fr) !important; }
		.image_list .image .label { top:20px; left:20px; }
		.menu_list dt { width:calc(100% - 60px); }
		.menu_list dd { width:60px; }
	}
	
}




/* ----------------------------------------------------------------------
  お知らせ
---------------------------------------------------------------------- */


/* ソートボタン */
/* ソートボタン */
#category_sort_button {

  margin-bottom:70px; position:relative;

  .splide { position:relative; z-index:2; width:100%; height:100%; }
  .splide__arrow--next { top:8px; right:-70px; background:none; box-shadow:none; }
  .splide__arrow--prev { top:8px; left:-70px; background:none; box-shadow:none; }
  .splide__arrow:before { font-size:14px; }
   .splide:not(.is-overflow) .splide__list { justify-content:center; transform:none !important; }
   .splide:not(.is-overflow) .splide__slide:last-of-type { margin-right:0 !important; }
   .splide:not(.is-overflow) .splide__arrows { display:none !important; }

  .item { transition: color 0.25s; color:#000; }
  .item.active { color:var(--tcd-accent-color); pointer-events:none; }
	
  @media(hover: hover) {
    .item:not(.active):hover { color:#999 !important; }
  }
  @media (max-width: 940px) {
    width:auto; margin:0 -60px 70px;
    .splide { visibility:visible !important; width:auto; }
    .splide__list:not(:has(.splide__slide:nth-child(5))) { justify-content:flex-start; }
    .splide__track { padding:0 60px; overflow:hidden; overflow-x:auto; }
    body.is-desktop & .splide__track { scrollbar-width:none; user-select:none; cursor:grab; }
    body.is-desktop & .splide__track:active { cursor:grabbing; }
    body.is-desktop & .splide__track::-webkit-scrollbar { display:none; }
    body.is-mobile & .splide__track { -webkit-overflow-scrolling:touch; scroll-behavior:smooth; }
    .splide__list { width:auto; display:block; white-space:nowrap; font-size:0; position:relative; text-align:center; }
    .splide__list:after { content:''; position:absolute; top:0; left:auto; height:10px; width:60px; }
    .splide__arrows { display:none; }
    .item { font-size:14px; display:inline-grid; white-space:wrap; margin-right:30px; }
		.item:last-of-type { margin-right:0 !important; }
  }
  @media (max-width: 767px) {
    margin:0 -20px 40px;
    .splide__track { padding:0 20px; }
    .splide__list:after { width:20px; }
    .item { margin-right:20px; }
  }

}


/* アーカイブページ */
.news_list {

	background:#f9f8f4; padding:50px;
	
  .item { display:flex; flex-wrap:nowrap; align-items:center; background:#fff; margin:0 0 50px 0; position:relative; }
	.item:last-of-type { margin-bottom:0 !important; }
	.image { display:block; width:150px; height:auto; aspect-ratio:1 / 1; z-index:1; position:relative; overflow:hidden; z-index:2; pointer-events:none; }
  .image .c-thumbnail { width:100%; height:100%; }
	.content { padding:0 50px; min-height:150px; width:calc(100% - 150px); display:flex; flex-direction:column; justify-content:center; gap:20px 0; }
	.item:not(:has(.image)) .content { width:100%; }
  .c-date { flex:0 0 auto; z-index:2; pointer-events:none; }
  .title { line-height:1.8; font-size:16px; font-weight:400; }
  .title a { --tcd-line-clamp:1; height:auto; z-index:2; }
  .title a:before { content:''; display:block; width:100%; height:100%; position:absolute; top:0; left:0; z-index:1; }
  .title a span { z-index:2; position:relative; }

  @media (max-width: 1000px) {
		padding:30px;
		.item { margin-bottom:30px; }
		.image { width:130px; }
		.content { padding:0 30px; min-height:130px; width:calc(100% - 130px); }
	}
  @media (max-width: 767px) {
		padding:0px;
		.item { margin-bottom:20px; }
		.image { width:120px; }
		.content { padding:0 20px; min-height:120px; width:calc(100% - 120px); gap:15px 0; }
		.c-date--updated { display:none; }
	  .title { font-size:14px; }
	  .title a { --tcd-line-clamp:2; }
	}
	
}



/* 新着のお知らせ */
#related_news {

  padding-top:50px;

  .headline { font-size:24px; text-align:center; line-height:1; margin-bottom:50px; margin-top:calc(0.5em - 0.5lh); }

  @media (max-width: 767px) {
    padding-top:40px;
    .headline { font-size:20px; margin-bottom:40px; }
	  .news_list { width:calc(100% + 40px); }
  }

}
.news_list2 {

	.item { border:1px solid #ddd; padding:24px 30px; margin:0 0 -1px 0; position:relative; }
	.c-date { margin-bottom:20px; pointer-events:none; }
	.title { font-weight:500; font-size:16px; }
	.title span { z-index:2; position:relative; }
  .title a:after { content:''; display:block; position:absolute; top:0; left:0; width:100%; height:100%; z-index:1; }

	@media (max-width: 767px) {
		.item { padding:24px 30px; }
		.c-date { margin-bottom:15px; }
		.c-date--updated { display:none; }
		.title { font-size:14px; line-height:1.8; }
		.title a { --tcd-line-clamp:2; height:auto; }
	}
	
}




/* ----------------------------------------------------------------------
  ブログアーカイブ
---------------------------------------------------------------------- */

/* 記事一覧 */
.blog_list {

  display:grid; gap:34px; grid-template-columns:repeat(3, 1fr);

  .item { position:relative; background:#fff; }
  .image { display:block; width:100%; height:auto; aspect-ratio:300 / 210; z-index:1; position:relative; overflow:hidden; z-index:2; pointer-events:none; }
  .image .c-thumbnail { width:100%; height:100%; }
  .content { display:flex; flex-direction:column; justify-content:flex-start; gap:20px 0; flex-grow:1; padding:30px; }
  .category_button { position:relative; z-index:2; }
  .category_buttons a { position:relative; z-index:2; }
  .title { line-height:1.8; font-size:16px; font-weight:600; }
  .title a { --tcd-line-clamp:2; height:auto; }
  .title a:after { content:''; display:block; position:absolute; top:0; left:0; width:100%; height:100%; z-index:1; }
  .meta { display:flex; flex-wrap:wrap; align-items:center; gap:0 20px; }
  .meta .like { font-size:14px; position:relative; color:#999; height:45px; padding:0 0 0 20px; display:grid; place-items:center; }
  .meta .like:before {
    display:block; pointer-events:none; position:absolute; left:0px; top:15px;
    background:#999; font-size:17px; width:1em; height:1em; content:''; mask:var(--tcd-icon--heart) no-repeat center / 1em;
  }
  .num { width:40px; height:40px; position:absolute; top:0px; left:0px; z-index:2; background:#fff; font-size:14px; display:grid; place-items:center; z-index:3; pointer-events:none; }
  .no_post { text-align:center; font-weight:600; }

  @media (max-width: 1100px) {
		gap:25px;
    .category_buttons a:not(:first-child) { display:none; }
		.category_buttons a:after { display:none; }
    .content { padding:30px; gap:18px 0; }
    .c-date--updated { display:none; }
    .meta { gap:0 15px; }
    .meta .like { height:35px; }
    .meta .like:before { top:10px; }
  }
  @media (max-width: 900px) {
    grid-template-columns:repeat(2, 1fr); gap:20px;
  }
  @media (max-width: 600px) {
    grid-template-columns:repeat(1, 1fr);
	  .num { width:35px; height:35px; font-size:12px; }
	  .title a { --tcd-line-clamp:2; }
	}
	
}


/* 投稿者アーカイブ */
#author_archive_profile {

  width:1000px; margin:0 auto 70px; background:#fff; padding:80px; display:flex; align-items:center;

	.image_area { width:150px; display:flex; flex-direction:column; gap:20px 0; }
  .image { width:150px; height:150px; border-radius:100%; margin:0 auto; overflow:hidden; position:relative; }
  .image img { position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; }
  .name { font-size:20px; line-height:1.2; text-align:center; display:block; font-weight:600; margin-top:10px; margin-bottom:calc(0.5em - 0.5lh); }
  .position { text-align:center; color:var(--tcd-accent-color); font-size:16px; }
  .c-sns-icons { justify-content:center; }
  .desc { width:calc(100% - 150px); padding-left:80px; }
  .desc a { color: var(--tcdce-base-link-color) !important; }

  @media (max-width: 1120px) {
		width:auto; margin:0 60px 70px;
	}
  @media (max-width: 1000px) {
		display:block; padding:50px;
		.image_area { width:auto; }
		.desc { width:auto; padding:0; margin-top:50px; }
	}
	@media (max-width: 767px) {
		margin:-20px 20px 40px; padding:30px;
    .image { width:130px; height:130px; }
    .name { font-size:18px; }
	  .position { font-size:14px; }
    .desc { margin:30px auto 0; }
  }

}


/* 検索フォーム */
#archive_search {
	
  form { height:50px; width:400px; position:relative; margin:0 auto; }

  .input_area input { position:absolute; left:0px; width:100%; height:50px; border:none; color:#000; background:#fff; z-index:1; padding:0 60px 0 25px; border-radius:50px; z-index:1; }
  .search_button input { position:absolute; right:0px; top:0px; border:none; background:none; width:50px; height:50px; z-index:2; cursor:pointer; text-indent:-200px; overflow:hidden; }
  .search_button label { position:absolute; right:0px; top:0px; z-index:10; width:50px; height:50px; display:block; pointer-events:none; }
  .search_button label:before {
    display:block; pointer-events:none; position:absolute; left:10px; top:50%; transform: translate(0%, -50%); transition: background-color 0.5s ease;
    background:#000; font-size:24px; width:1em; height:1em; content:''; mask:var(--tcd-icon--search-thin) no-repeat center / 1em;
  }

  @media(hover: hover) {
    .search_button:hover label:before { background:rgba(0,0,0,0.6); }
  }
  @media (max-width: 500px) {
    form { width:auto; }
    .input_area input { font-size:14px; }
  }

}


/* カテゴリー一覧 */
#archive_category {

	margin-bottom:70px;
	
	.item_list { display:flex; flex-wrap:wrap; width:calc(100% + 3px); }
	.item_list:not(:has(.item:nth-child(4))) { justify-content:center; }
	.item { width:25%; height:70px; padding:0 20px; display:grid; place-items:center; background:#fff; border:1px solid #ddd; margin:0 -1px -1px 0; z-index:1; }
	.item.active { background:var(--tcd-accent-color); border-color:var(--tcd-accent-color); color:#fff; position:relative; z-index:2; pointer-events:none; }
	
	@media(hover: hover) {
    .item:hover { background:var(--tcd-accent-color); border-color:var(--tcd-accent-color); color:#fff; position:relative; z-index:3; }
  }
	@media (min-width: 1101px) {
		cursor:default !important;
	}
  @media (max-width: 1100px) {
    overflow:hidden; overflow-x:auto; margin:0 -60px 70px; padding:0 60px; position:relative;
    body.is-desktop &.active { scrollbar-width:none; user-select:none; }
    body.is-desktop &.active:active { cursor:grabbing !important; }
    body.is-desktop &.active::-webkit-scrollbar { display:none; }
    body.is-mobile &.active { -webkit-overflow-scrolling:touch; scroll-behavior:smooth; }
    .item_list { width:fit-content; min-width:100%; display:flex; flex-wrap:nowrap; justify-content:center; }
    .item { width:200px; margin:0 -1px 0 0; font-size:16px; }
  }
  @media (max-width: 767px) {
    margin:0 -20px 40px; padding:0 20px;
		.item { height:50px; font-size:14px; width:150px; }
	}
	
}



/* 投稿者ページ */
#author_list {

  display:grid; gap:80px 80px; grid-template-columns:repeat(3, 1fr);

  &:has(.item:nth-child(1)):not(:has(.item:nth-child(3))) { display:flex; justify-content:center; }
  &:has(.item:nth-child(1)):not(:has(.item:nth-child(3))) .item { width:calc(100% / 3); }

  .item { display:flex; flex-direction:column; }

  .image { display:block; width:150px; height:150px; border-radius:100%; margin:0 auto 30px; overflow:hidden; }
  .user_meta { text-align:center; }
  .name { font-size:20px; line-height:1.2; display:block; font-weight:600; text-align:center; }
  .position { font-size:16px; line-height:1.5; text-align:center; margin-top:15px; color:var(--tcd-accent-color); }
  .desc { line-height:2.4; --tcd-line-clamp:3; height:auto; margin-top:25px; }
  .desc a { color: var(--tcdce-base-link-color) !important; }
	.c-sns-icons { justify-content:center; margin-top:25px; }
  .item.has_position:not(:has(.position)) .desc { margin-top:auto; }

  @media(hover: hover) {
    .desc a:hover { text-decoration:underline; }
  }
  @media (max-width: 1200px) {
    gap:100px 30px;
    .image { width:130px; height:130px; margin:0 auto 30px; }
    .name { font-size:18px; }
    .position { font-size:14px; margin-top:13px; }
  }
  @media (max-width: 1000px) {
    grid-template-columns:repeat(1, 1fr); gap:0; margin:0 -60px -50px;
    &:has(.item:nth-child(1)):not(:has(.item:nth-child(3))) { display:grid; }
    &:has(.item:nth-child(1)):not(:has(.item:nth-child(3))) .item { width:100%; }
    .item { border-top:1px solid #ddd; padding:40px 0; }
    .desc { margin:20px auto 0 !important; width:400px; }
  }
  @media (max-width: 767px) {
    margin:0 -20px -40px;
    .item { padding:30px 20px; }
    .desc { width:auto; line-height:2; }
  }

}




/* ----------------------------------------------------------------------
  ブログ詳細ページ
---------------------------------------------------------------------- */
#blog_article .post_content { margin-bottom:50px; font-family:var(--tcd-single-content-font-type); }
@media (max-width: 767px) {
  #blog_article .post_content { margin-bottom:40px; }
	body.sidebar_none #blog_article { border:none; padding:0px; border-radius:0px; }
  .p-toc-open { right:20px !important; bottom:20px !important; z-index:100 !important; }
  body:has(.p-footer-fix) .p-toc-open { bottom:30px !important; }
}


/* ヘッダー */
#blog_header {

  border:1px solid #ddd; padding:40px;

  body.page:not(:has(#blog_featured_image)) & { margin-bottom:70px; padding:0; border:none; }
	body:not(:has(#blog_featured_image)) & { border:none; padding:0; margin-bottom:50px; }
	
  .title { font-size:var(--tcd-single-title-font-size-pc); font-family:var(--tcd-single-title-font-type); line-height:1.5; margin-top:calc(0.5em - 0.5lh); margin-bottom:calc(0.5em - 0.5lh); }
  body.page & .title { text-align:center; }
  .title + .c-date { margin-top:20px; }
  .meta { display:flex; flex-wrap:wrap; margin-bottom:20px; gap:20px; }
  .meta .like { font-size:14px; position:relative; color:#999; padding:0 0 0 20px; display:grid; place-items:center; }
  .meta .like:before {
    display:block; pointer-events:none; position:absolute; left:0px; top:-1px;
    background:#999; font-size:17px; width:1em; height:1em; content:''; mask:var(--tcd-icon--heart-bold) no-repeat center / 1em;
  }
	.meta .category_buttons { font-size:14px; }
	
  @media (max-width: 1200px) {
    .title { font-size:calc((var(--tcd-single-title-font-size-pc) + var(--tcd-single-title-font-size-sp)) / 2); }
  }
  @media (max-width: 767px) {
    margin-bottom:30px; margin-top:-10px; border:none; padding:0;
		body.page:not(:has(#blog_featured_image)) & { margin-bottom:40px; }
		body:not(:has(#blog_featured_image)) & { margin-bottom:40px; }
    .title { font-size:var(--tcd-single-title-font-size-sp) !important; }
  }

}
#blog_featured_image {

	margin:-1px 0 50px; width:100%; height:auto; aspect-ratio:740 / 460; position:relative; overflow:hidden; display:block;

	img { object-fit:cover; width:100%; height:100%; }

	@media (max-width: 767px) {
    & { margin:0 -20px 40px !important; width:calc(100% + 40px) !important; }
  }

}


/* シェアボタン */
#blog_header + .c-share-button,
#blog_featured_image + .c-share-button,
.post_content ~ .c-share-button { margin:50px 0; }
@media (max-width: 767px) {
	#blog_header + .c-share-button,
  #blog_featured_image + .c-share-button,
  .post_content ~ .c-share-button { margin:40px 0; }
}


/* フリースペース */
.single_free_space { margin-bottom:50px; }
.single_free_space.mid { margin-top:50px; }
.single_free_space.btm { margin-bottom:0px; margin-top:50px; }
@media (max-width: 767px) {
  .single_free_space { margin-bottom:40px; }
  .single_free_space.btm { margin-bottom:0px; margin-top:40px; }
}


/* ページネーション */
.post_content .c-pagination { margin-top:50px; }
@media (max-width: 767px) {
  .post_content .c-pagination { margin-top:40px; }
}


/* likeボタン */
.c-post-like { margin-bottom:50px; }
.c-post-like-desc a { color: var(--tcdce-base-link-color) !important; }
@media(hover: hover) {
  .c-post-like-desc a:hover { text-decoration:underline; }
}
@media (max-width: 767px) {
  .c-post-like { margin-bottom:40px; }
}


/* プロフィール */
#author_profile {

  display:flex; flex-wrap:wrap; align-items:center; padding:40px; margin-bottom:50px; border:1px solid #ddd;

  .image { width:120px; height:120px; border-radius:100%; }
  .content { width:calc(100% - 120px); padding-left:40px; }
  .name { font-size:18px; font-weight:600; vertical-align:middle; }
  .name a { display:inline; }
  .position { font-size:14px; color:#666; display:inline; vertical-align:middle; margin:0 0 0 15px; font-weight:500; line-height:1.8; }
  .desc { margin-top:10px; line-height:2; --tcd-line-clamp:2; font-size:14px; height:auto; }
	.c-sns-icons { margin-top:19px; }
	
  @media (max-width: 767px) {
    padding:20px !important; margin-bottom:40px;
    .image { width:90px !important; height:90px !important; }
    .content { width:calc(100% - 90px) !important; padding-left:20px !important; }
    .name { font-size:16px; font-weight:600; }
    .position { font-size:12px; display:none; }
    .desc { margin-top:10px; font-size:14px; }
		.c-sns-icons { display:none; }
  }

}


/* タグ */
.c-post-tags {

  display:flex; flex-wrap:wrap; gap:10px; margin-bottom:50px;

  a { display:inline-block; height:35px; line-height:35px; background:#f3f3f3; padding:0 15px; font-size:14px; border-radius:5px; }

  @media(hover: hover) {
    a:hover { background:var(--tcd-accent-color); color:#fff !important; }
  }
  @media (max-width: 767px) {
    margin-bottom:40px;
  }

}


/* ナビゲーション */
#post_nav {

  display:flex; flex-wrap:wrap; margin-top:50px;

  a { width:50%; height:120px; border:1px solid #ddd; border-right:none; display:grid; place-items:center; padding:20px 40px; position:relative; }
  a:last-of-type { border-right:1px solid #ddd; }
  a.next { padding-right:70px; margin-left:auto; }
  a.prev { padding-left:70px; }
  span { line-height:1.8; --tcd-line-clamp:2; height:auto; font-size:16px; text-align:left; width:100%; }
  a:after { content:''; mask:var(--tcd-icon--arrow-thin) no-repeat center / 1em; font-size:18px; width:1em; height:1em; background:#000; transition:background-color 0.25s ease; position:absolute; }
  a.next:after { right:25px; }
  a.prev:after { transform:rotate(180deg); left:25px; }

  @media (max-width: 767px) {
    margin-top:40px; margin-bottom:40px;
    a { height:60px !important; padding:20px 20px !important; }
    a:after { font-size:14px; }
    a.next:after { right:15px; }
    a.prev:after { left:15px; }
    span { display:none; }
    a:before { font-size:14px; content:attr(data-label); }
  }

}


/* 関連記事 */
#related_post {

  margin-top:50px;

  .headline { font-size:24px; text-align:center; line-height:1; margin-bottom:50px; margin-top:calc(0.5em - 0.5lh); }

  @media (max-width: 767px) {
    margin-top:40px;
    .headline { font-size:20px; margin-bottom:40px; }
    .blog_carousel { visibility:visible !important; width:auto; margin:0 -20px; }
    .scrollable_content { padding:0 20px; overflow:hidden; overflow-x:auto; width:auto; }
    body.is-desktop & .scrollable_content { scrollbar-width:none; user-select:none; cursor:grab; }
    body.is-desktop & .scrollable_content:active { cursor:grabbing; }
    body.is-desktop & .scrollable_content::-webkit-scrollbar { display:none; }
    body.is-mobile & .scrollable_content { -webkit-overflow-scrolling:touch; scroll-behavior:smooth; }
    .blog_list2 { width:fit-content; min-width:100%; display:flex; flex-wrap:nowrap; justify-content:center; gap:0 20px; }
  }

}
.blog_list2 {

	@media (min-width: 768px) {
		display:block;
		.item { position:relative; display:flex;align-items:center; border:1px solid #ddd; padding:20px; margin:0 0 -1px 0; }
		.image { display:block; width:230px; height:auto; aspect-ratio:230 / 154; z-index:1; position:relative; overflow:hidden; z-index:2; pointer-events:none; }
		.image .c-thumbnail { width:100%; height:100%; }
		.content { width:calc(100% - 230px); display:flex; flex-direction:column; justify-content:flex-start; gap:20px 0; flex-grow:1; padding:30px; }
		.category_button { position:relative; z-index:2; }
		.title { line-height:1.8; font-size:16px; font-weight:600; }
		.title a { --tcd-line-clamp:2; height:auto; }
		.title a:after { content:''; display:block; position:absolute; top:0; left:0; width:100%; height:100%; z-index:1; }
		.no_post { text-align:center; font-weight:600; }
	}
	@media (max-width: 767px) {
		.item { width:260px; box-shadow:inset 0 0 0 1px #ddd; }
		.title { font-size:14px; }
	}

}


/* コメント */
#comments {

  margin-top:50px;

  .p-single-bottom-title { font-size:24px; text-align:center; line-height:1; margin-bottom:50px; margin-top:calc(0.5em - 0.5lh); }
  .p-single-bottom-title span { display:none; }

  @media (max-width: 767px) {
    margin-top:40px !important;
    .p-single-bottom-title { font-size:20px; margin-bottom:40px; }
  }

}
.c-comment-pager> :where(*) { border-radius:5px !important; }
@media (any-hover: hover) {
	.c-comment-pager> :where(a):hover { color: #ffffff !important; }
}
.c-comment-form-submit-button { min-width: 240px !important; }




/* ----------------------------------------------------------------------
 404ページ
---------------------------------------------------------------------- */
#no_search_result {
  
  display:flex; flex-wrap:wrap; justify-content:center; align-items:center; position:relative; min-height:100svh; height:100%; padding-top:70px;

  body:not(:has( & .bg_image)) & { min-height:calc(100svh - 70px); padding-top:0; }
	
  .content { z-index:100; width:100%; max-width:820px; padding:120px 0; display:flex; flex-direction:column; justify-content:center; gap:50px 0; }
  .pattern { margin:0 auto; }
  .pattern.full_width { margin:0; }

  .headline { text-align:center; font-size:var(--tcd-headline-font-size-pc); font-family:var(--tcd-headline-font-type); margin-top:calc(0.5em - 0.5lh); }
  .desc { text-align:center; }
  .link_button { display:grid; place-items:center; }

  .overlay { width:100%; height:100%; position:absolute; z-index:2; top:0; left:0; }
  .bg_image { width:100%; height:100%; position:absolute; object-fit:cover; z-index:1; top:0; left:0; }

  & :is(.tcdce-body, .editor-styles-wrapper) ul li { list-style-position:inside; text-indent:-1em; }

  @media (max-width: 1200px) {
		padding-top:60px;
		.content { padding:100px 60px; padding-top:60px; }
	}
	@media (max-width: 1000px) {
    .headline { font-size:calc((var(--tcd-headline-font-size-pc) + var(--tcd-headline-font-size-sp)) / 2); }
  }
  @media (max-width: 767px) {
    .content { padding:40px 20px; gap:30px 0; }
    .headline { font-size:var(--tcd-headline-font-size-sp); }
  }

}


/* 検索フォーム */
#no_search_result .search_form {

  form { height:50px; width:400px; position:relative; margin:0 auto; }

  .input_area input { position:absolute; left:0px; width:100%; height:50px; border:none; color:#000; background:#f3f3f3; z-index:1; padding:0 60px 0 25px; border-radius:50px; z-index:1; }
  .search_button input { position:absolute; right:0px; top:0px; border:none; background:none; width:50px; height:50px; z-index:2; cursor:pointer; text-indent:-200px; overflow:hidden; }
  .search_button label { position:absolute; right:0px; top:0px; z-index:10; width:50px; height:50px; display:block; pointer-events:none; }
  .search_button label:before {
    display:block; pointer-events:none; position:absolute; left:10px; top:50%; transform: translate(0%, -50%); transition: background-color 0.5s ease;
    background:#000; font-size:24px; width:1em; height:1em; content:''; mask:var(--tcd-icon--search-thin) no-repeat center / 1em;
  }

  @media(hover: hover) {
    .search_button:hover label:before { background:rgba(0,0,0,0.6); }
  }
  @media (max-width: 500px) {
    form { margin:0 auto; width:100%; }
    .input_area input { font-size:14px; }
  }

}


/* タグ一覧 */
#no_search_result .tag_list {

  .wp-tag-cloud { display:inline-flex; flex-wrap:wrap; gap:5px; }
  .wp-tag-cloud li { display:block; }
  .wp-tag-cloud a { background:#f3f3f3; height:35px; line-height:35px; display:block; border-radius:4px; padding:0 15px; font-size:14px !important; }

  @media(hover: hover) {
    .wp-tag-cloud a:hover { background:var(--tcd-accent-color) !important; border-color:var(--tcd-accent-color) !important; color:#fff !important; }
  }

}


/* 背景画像がある場合 */
#no_search_result:has(.bg_image) {

  .content { color:#fff; }

  .content p a { color:#fff !important; text-decoration:underline; }
  .content { color:#fff; }
  .search_form .input_area input { background:#fff; }
  .wp-tag-cloud a { background:none; color:#fff; border:1px solid rgba(255,255,255,0.5); }

  @media(hover: hover) {
    .content p a:hover { color:rgba(255,255,255,0.5) !important; }
  }

}




/* ----------------------------------------------------------------------
  ページヘッダー
---------------------------------------------------------------------- */
#page_header {
  
  position:relative; width:100%; height:600px; display:flex; flex-direction:column; justify-content:center; gap:40px 0; overflow:hidden; 

  body:not(:has(#content_header_desc)) & { margin-bottom:120px; }
	
  .headline { text-align:center; line-height:1.4; color:#fff; font-size:var(--tcd-page-header-font-size-pc); font-family:var(--tcd-page-header-font-type); font-weight:600; z-index:3; margin-top:70px; }
	body:has(#content_header_desc) & .headline { margin-top:calc(0.5em - 0.5lh - 35px); }	
	.desc { width:100%; z-index:3; text-align:center; color:#fff; }
	.desc a { color:#fff; text-decoration:underline; }
	
  .image { width:100%; height:100%; z-index:1; position:absolute; top:0; left:0; z-index:1; overflow:hidden; }
	body:not(.page-template-page__tab) & .image { transform:scale(1.1); transition:transform 1.5s cubic-bezier(0.165, 0.84, 0.44, 1); }
	body:not(.page-template-page__tab).start_first_animation & .image { transform:scale(1); }
  .image img { position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; }
  .overlay { width:100%; height:100%; z-index:2; position:absolute; top:0; left:0; z-index:2; }

  @media(hover: hover) {
		.desc a:hover { opacity:0.6;  }
	}
	@media (max-width: 1200px) {
    .headline { font-size:calc( (var(--tcd-page-header-font-size-pc) + var(--tcd-page-header-font-size-sp)) / 2 ); margin-top:60px; }
		body:has(#content_header_desc) & .headline { margin-top:calc(0.5em - 0.5lh - 20px); }	
		body:not(:has(#content_header_desc)) & { margin-bottom:100px; }
		&:has(.desc) { min-height:450px; height:auto; padding:40px; }
  }
  @media (max-width: 1100px) {
		height:450px;
	}
	@media (max-width: 767px) {
		height:300px; gap:20px 0;
		body:not(:has(#content_header_desc)) & { margin-bottom:40px; }
    .headline { font-size:var(--tcd-page-header-font-size-sp); }
		body:has(#content_header_desc) & .headline { margin-top:calc(0.5em - 0.5lh + 10px); }	
		&:has(.desc) { min-height:300px; }
  }

}
#page_header_type2 {
  
  position:relative; width:100%; height:400px; display:flex; flex-direction:column; justify-content:center; gap:40px 0; overflow:hidden;
	
  .headline { text-align:center; line-height:1.4; color:#fff; font-size:var(--tcd-page-header-font-size-pc); font-family:var(--tcd-page-header-font-type); font-weight:600; z-index:3; }
	body:not(:has(#content_header_desc)) & { margin-bottom:120px; }
	body.sub_page_header_desc_position_type1:has(#content_header_desc) & .headline { margin-top:-120px; }
	.desc { width:100%; z-index:3; text-align:center; color:#fff; }
	
  .image { width:100%; height:100%; z-index:1; position:absolute; top:0; left:0; z-index:1; overflow:hidden; transform:scale(1.1); transition:transform 1.5s cubic-bezier(0.165, 0.84, 0.44, 1); }
	body.start_first_animation & .image { transform:scale(1); }
  .image img { position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; }
  .overlay { width:100%; height:100%; z-index:2; position:absolute; top:0; left:0; z-index:2; }

	@media (max-width: 1200px) {
    .headline { font-size:calc( (var(--tcd-page-header-font-size-pc) + var(--tcd-page-header-font-size-sp)) / 2 ); }
	}
	@media (max-width: 1100px) {
		height:350px;
	}
	@media (max-width: 767px) {
		height:220px; gap:20px 0;
		body:not(:has(#content_header_desc)) & { margin-bottom:40px; }
		body.sub_page_header_desc_position_type1:has(#content_header_desc) & .headline { margin-top:-60px; }
    .headline { font-size:var(--tcd-page-header-font-size-sp); }
  }

}
#page_header_no_image {

	padding:120px 100px; display:flex; flex-direction:column; justify-content:center; gap:40px 0;

	.headline { text-align:center; line-height:1.4; color:var(--tcd-accent-color); font-size:var(--tcd-page-header-font-size-pc); font-family:var(--tcd-page-header-font-type); font-weight:600; z-index:3; }
	body.search.post-type-archive-product & .headline,
	body.tax-product_brand & .headline,
	body.tax-product_tag & .headline { font-size:30px; font-weight:400; }
	.desc { text-align:center; line-height:2.4; }

	@media (max-width: 1200px) {
    .headline { font-size:calc( (var(--tcd-page-header-font-size-pc) + var(--tcd-page-header-font-size-sp)) / 2 ); }
	}
	@media (max-width: 1000px) {
		padding:100px 60px;
	}
	@media (max-width: 767px) {
		padding:40px 20px; gap:20px 0;
    .headline { font-size:var(--tcd-page-header-font-size-sp); }
		body.search.post-type-archive-product & .headline,
		body.tax-product_brand & .headline,
		body.tax-product_tag & .headline { font-size:24px; }
		.desc { line-height:2; }
	}
	
}


/* キャッチフレーズ・説明文 */
#content_header_desc { 

	width:620px; margin:0 auto 120px; background:var(--tcd-accent-color); color:#fff; position:relative; z-index:2; padding:60px; text-align:center; display:grid; place-items:center; min-height:240px;

  body.page_header_desc_color_type2 & { background:#fff; color:#000; }
	#page_header + & { margin-top:-120px; }
	body:has(#page_header_type2) & { background:#fff; color:#000; margin-top:-120px; padding-bottom:0; min-height:120px; }
	body.sub_page_header_desc_position_type2:has(#page_header_type2) & { margin-top:0 !important; min-height:inherit !important; padding:120px 0 0; }

	.tcdce-body { width:100%; font-size:16px; }
	.tcdce-body a { color:#fff; text-decoration:underline; }

  @media(hover: hover) {
		.tcdce-body a:hover { opacity:0.6; }
	}
  @media (max-width: 1100px) {
		margin-bottom:100px;
		body.sub_page_header_desc_position_type2:has(#page_header_type2) & { padding:100px 0 0; }
	}
	@media (max-width: 767px) {
		width:460px; margin:0 auto 40px; padding:30px 40px; min-height:120px;
		#page_header + & { margin-top:-60px; }
		body:has(#page_header_type2) & { margin-top:-60px; min-height:60px; }
		body.sub_page_header_desc_position_type2:has(#page_header_type2) & { padding:40px 0 0; }
		.tcdce-body { font-size:14px; }
	}
	@media (max-width: 500px) {
		width:290px; margin-left:auto; margin-right:auto;
	}
	
}
#content_header {

	width:100%; margin-bottom:110px;

  body.author &, body.blog & { margin-bottom:70px; }

	.catch { text-align:center; line-height:1.4; font-size:var(--tcd-headline-font-size-pc); font-family:var(--tcd-headline-font-type); color:var(--tcd-accent-color); font-weight:500; margin-top:calc(0.5em - 0.5lh); margin-bottom:calc(0.5em - 0.5lh); }
  body.headline_direction_vertical & .catch { writing-mode:vertical-rl; text-align:left; position:relative; left:50%; transform: translateX(-50%); width:auto; margin:0; }

	.headline { font-size:30px; text-align:center; line-height:1.4; margin-top:calc(0.5em - 0.5lh); margin-bottom:calc(0.5em - 0.5lh); }
	body.author & .headline { font-size:24px; }
	
  @media (max-width: 1200px) {
    .catch { font-size:calc( (var(--tcd-headline-font-size-pc) + var(--tcd-headline-font-size-sp)) / 2 ); }
		.headline { font-size:25px; }
  }
  @media (max-width: 1100px) {
		 margin-bottom:90px;
	}
	@media (max-width: 767px) {
    margin-bottom:40px !important;
    .catch { font-size:var(--tcd-headline-font-size-sp); }
		.headline { font-size:20px !important; }
  }

}


/* パンくずリンク */
.c-breadcrumb {

  height:60px !important; background:#f9f8f4 !important; margin-block:0 !important; margin:0 auto 70px !important; width:100%;

	body.author &,
	body:has(#blog_list) & { margin-bottom:50px !important; }
	body:has(#page_header_type2) & { margin-bottom:0 !important; }

	.c-breadcrumb__list { width:1000px; margin:0 auto; }
	body.single-post.sidebar_none & .c-breadcrumb__list,
	body.single-news.sidebar_none & .c-breadcrumb__list,
	body.page.sidebar_none:not(.woocommerce-page) & .c-breadcrumb__list { width:820px; }

	body.search.post-type-archive-product:not(.sidebar_none) & .c-breadcrumb__list,
	body.tax-product_brand & .c-breadcrumb__list,
	body.tax-product_tag & .c-breadcrumb__list,
	body.tax-product_cat & .c-breadcrumb__list { width:100%; }
	
	body.tax-product_brand.sidebar_none & .c-breadcrumb__list,
	body.tax-product_tag.sidebar_none & .c-breadcrumb__list,
	body.tax-product_cat.sidebar_none & .c-breadcrumb__list { width:1000px; }

	body:has(#page_header_type2) & .c-breadcrumb__list { padding-inline: 60px; }
	body:has(.c-breadcrumb__list):has(#page_header_no_image) & { margin-bottom:0 !important; }
	body:not(.sidebar_none):has(.c-breadcrumb__list):has(#page_header_no_image) & .c-breadcrumb__list { padding-inline: 60px; }

	body.tax-product_brand.sidebar_none:has(#page_header_type2) & .c-breadcrumb__list,
	body.tax-product_tag.sidebar_none:has(#page_header_type2) & .c-breadcrumb__list,
	body.tax-product_cat.sidebar_none:has(#page_header_type2) & .c-breadcrumb__list { padding-inline: 0px; }	

  .c-breadcrumb__item:where(:last-of-type) { color:#999 !important; }
  .c-breadcrumb__item:not(:first-of-type) a { max-width:250px; white-space:nowrap; text-overflow:ellipsis; visibility:visible; }
  .c-breadcrumb__item-arrow { top:-1px; position:relative; }
  br { display:none; }
  .screen-reader-text { display:none; }

  @media (max-width: 1200px) {
		width:100% !important; height:50px !important;
		.c-breadcrumb__list { width:100%; margin:0; padding-inline: 20px !important; }
	}
  @media (max-width: 767px) {
		margin:0 0 40px !important;
		body.author &,
		body:has(#blog_list) &,
		body.tax-news_category & { margin-bottom:20px !important; }
		.c-breadcrumb__item-arrow { top:0px; }
  }

}




/* ----------------------------------------------------------------------
  ヘッダーバー
---------------------------------------------------------------------- */
#header { position:fixed; top:var(--tcd-admin-bar-height, 0px); left:0; width:100%; height:70px; display:flex; flex-wrap:wrap; justify-content:space-between; z-index:1000; border-bottom:1px solid rgba(255,255,255,0.3); transition:background-color 0.2s ease, opacity 0.7s ease 0.5s; }
body:has(#header_message):has(#page_header, #lp_page_header, #no_search_result .bg_image) #header { position:sticky; margin-bottom:-70px; }
body.page-template-page__lp:not(:has(#lp_page_header .bg_image)) #header,
body:not(:has(#page_header, #no_search_result .bg_image)):not(.home.index_hero_header_layout_type1):not(.lp_design_normal) #header {
  position:sticky; background:#fff; box-shadow: 0 5px 15px 0 rgba(120, 120, 120, 0.1);
}
body.start_scroll #header { box-shadow:0 10px 15px 0 rgba(120,120,120,0.1); background:#fff; }
@media (max-width: 1200px) {
  #header { height:60px; }
	body:has(#header_message):has(#page_header, #lp_page_header, #no_search_result .bg_image) #header { margin-bottom:-60px; }
}
@media(hover: hover) {
	#header:hover { background:#fff; }
}


/* ロゴ */
#header_logo {

  display:grid; place-items:center; z-index:3; position:relative; left:30px;

  a { height:100%; color:#000; transition:opacity 0.5s ease, color 0.5s ease; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; }

  .title { display:block; color:#fff; font-family:var(--tcd-logo-font-type); font-weight:var(--tcd-logo-font-weight, 600); font-size:var(--tcd-logo-font-size-pc); flex:0 0 auto; }
	body.start_scroll & .title,
	body.page-template-page__lp:not(:has(#lp_page_header .bg_image)) & .title,
	body:not(:has(#page_header, #no_search_result .bg_image)):not(.home.index_hero_header_layout_type1):not(.lp_design_normal) & .title { color:#000; }

	picture { display:block; width:fit-content; }
  .image { max-width:none; width:auto; height:var(--tcd-logo-image-size-pc); display:block; margin:auto; }
  .image.mobile { display:none; width:auto; height:var(--tcd-logo-image-size-sp); margin:auto; }
  img { filter:brightness(0) invert(1); }
	body.start_scroll & img,
	body.page-template-page__lp:not(:has(#lp_page_header .bg_image)) & img,
	body:not(:has(#page_header, #no_search_result .bg_image)):not(.home.index_hero_header_layout_type1):not(.lp_design_normal) & img { filter:brightness(1) invert(0); }

	@media(hover: hover) {
    a:hover { opacity:0.5; }
		#header:hover & img { filter:brightness(1) invert(0); }
		#header:hover & .title { color:#000; }
  }
  @media (max-width: 1200px) {
    left:20px;
    .title { font-size:var(--tcd-logo-font-size-sp); }
    .image { height:var(--tcd-logo-image-size-sp); transition:opacity 0.5s ease; }
    .image.pc { display:none; }
    .image.mobile { display:block; }
  }

}


/* グローバルメニュー */
#global_menu {

  pointer-events:none; position:absolute; z-index:2; left:0; width:100%;

  & > ul { display:flex; justify-content:center; }
  & > ul > li { position:relative; font-size:16px; pointer-events:auto; }
  & > ul > li > a { color:#fff; display:block; text-decoration:none; position:relative; height:70px; line-height:70px; padding:0 20px; }
	body.start_scroll & > ul > li > a,
	body.page-template-page__lp:not(:has(#lp_page_header .bg_image)) & > ul > li > a,
	body:not(:has(#page_header, #no_search_result .bg_image)):not(.home.index_hero_header_layout_type1):not(.lp_design_normal) & > ul > li > a { color:#000; }

  & ul ul { background:var(--tcd-accent-color); display:none; width:240px; position:absolute; top:70px; left:0px; margin:0; padding:0; z-index:100; }
  & ul ul ul { display:block; position:relative; top:0; left:0; }
  & ul ul li { line-height:1.5; font-size:14px; padding:0; margin:0; text-align:left; position:relative; display:block; }
  & ul ul a { color:#fff; display:block; position:relative; padding:17px 20px 15px; height:auto; line-height:1.6; margin:0; }
	body.megamenu_light & ul ul { background:#fff; box-shadow:0 0 25px 0px rgba(0,0,0,0.1); }
	body.megamenu_light & ul ul a { background:#fff; color:#000; }
	body.megamenu_light &:before { content:''; display:none; width:calc(100% + 50px); height:25px; background:#fff; position:absolute; bottom:0px; left:-25px; pointer-events:none; z-index:9999; }
  & ul ul ul a { padding-left:calc(25px + 1em); }
  & ul ul ul ul a { padding-left:calc(25px + 2em); }
  & ul ul ul ul ul a { padding-left:calc(25px + 3em); }

	
  @media(hover: hover) {
    & > ul > li > a:hover,
    & > ul > li.active > a { color:var(--tcd-accent-color) !important; }
    & ul ul a:hover { background:rgba(255,255,255,0.2) !important; }
    body.megamenu_light & ul ul a:hover { background:var(--tcd-accent-color) !important; color:#fff; }
		body.megamenu_light #header:hover &:before { display:block; }
		#header:hover & > ul > li > a { color:#000; }
  }
  @media (max-width: 1200px) {
    display:none;
  }

}


/* 検索フォーム */
#header_search {

  height:70px; width:70px; position:relative; z-index:2;

  body.hide_nav & { opacity:0; pointer-events:none; visibility:hidden; }

  form  { position:relative; height:100%; }

  .input_area { position:absolute; top:0px; right:20px; width:320px; height:70px; padding:0 20px; opacity:0; pointer-events:none; transition: opacity 0.5s ease; }
  &.active .input_area,
  &:hover .input_area { opacity:1; pointer-events:auto; }
  .input_area input { border:none; height:40px; width:100%; padding:0 25px; background:#fafafa; border:1px solid #fafafa; border-radius:40px; top:15px; right:-5px; position:relative; }

  .search_button { position:absolute; right:0px; top:0px; height:100%; width:40px; }
  .search_button input { display:block; width:100%; height:100%; cursor:pointer; background:none; border:none; text-indent:-200px; overflow:hidden; }
  .search_button:before {
    display:block; pointer-events:none; position:absolute; right:-2px; top:50%; transform: translate(0%, -50%); transition: background-color 0.3s ease;
    background:#fff; font-size:26px; width:1em; height:1em; content:''; mask:var(--tcd-icon--search) no-repeat center / 1em;
  }
	body.start_scroll & .search_button:before,
	body.page-template-page__lp:not(:has(#lp_page_header .bg_image)) & .search_button:before,
	body:not(:has(#page_header, #no_search_result .bg_image)):not(.home.index_hero_header_layout_type1):not(.lp_design_normal) & .search_button:before { background:#000; }

  @media(hover: hover) {
    .search_button:hover:before { background-color:rgba(0,0,0,0.5) !important; }
		#header:hover & .search_button:before { background:#000; }
		#header:hover & .input_area input { border-color:#ddd; }
  }
  @media (max-width: 1200px) {
    display:none;
  }

}


/* サイドボタン */
#side_button {

	position:fixed; right:0; bottom:0; transform: translate3d(0,100%,0); z-index:10; transition: transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);

	body.no_search_result & { display:none; }
	body.start_first_animation & { transform: translate3d(0,0,0); }
	body.footer_active & { transform: translate3d(0,100%,0); }

	a { color:#fff; display:flex; flex-direction:column; justify-content:center; align-items:center; width:80px; height:80px; gap:7px 0; padding:0 10px; }
	a .title { font-size:12px; display:block; }
	a :where(svg, img) { font-size:20px; width:1em; height:1em; fill:currentColor; object-fit:contain; transition: opacity 0.25s ease; }
	svg path { stroke:#000; fill:#fff; transition: fill 0.25s ease; }

	@media(hover: hover) {
		a:hover :where(svg, img) { opacity:0.6; }
		a:hover { color:rgba(255,255,255,0.6); }
	}
  @media (max-width: 1200px) {
    display:none;
  }

}


/* ポップアップ広告 */
#popup_banner {

	position:fixed; top:0; left:0; width:100%; height:100%; z-index:9999; background:rgba(0,0,0,0.2); display:grid !important; place-items:center; pointer-events:none; transition:opacity 0.5s ease;

	&.active { opacity:1 !important; pointer-events:auto; }

	.banner { position:relative; background:#fff; }
	#close_popup_banner { position:absolute; top:-30px; right:-30px; width:30px; height:30px; z-index:2; display:grid; place-items:center; }
	#close_popup_banner:before { display:block; background:#fff; font-size:26px; width:1em; height:1em; content:''; mask:var(--tcd-icon--close-bold) no-repeat center / 1em; }
	.image { display:block; z-index:1; }
	img { max-width:520px; height:auto; }

	@media(hover: hover) {
		#close_popup_banner:hover { opacity:0.5; }
		.image:hover { opacity:0.9; }
	}
  @media (max-width: 600px) {
		padding:0 40px;
		img { max-width:100%; }
	}
	
}


/* ヘッダーメッセージ */
#header_message { 

	position:relative; top:0; left:0px; width:100%; color:#fff; text-align:center; font-size:var(--var-2header-message-height);

	body.home & { position:relative; }
	& * { padding:14px 30px; color:inherit; display:block; line-height:1.6; font-size:14px; }
	@media(hover: hover) {
		a:hover { opacity:0.6; }
	}

}


/* ドロワーメニュー開閉ボタン */
#drawer_menu_button {

  display:none; width:60px; height:60px; cursor:pointer; transition: opacity 0.5s ease; position:absolute; top:0; right:0; z-index:3;

  body.hide_nav & { display:block; }

  span { width:16px; height:2px; background:#fff; display:block; position:absolute; left:23px; transition: all 0.4s ease; }
  span:nth-child(1) { top:38px; transform-origin:center; }
  span:nth-child(2) { top:44px; transform-origin:center; }
  span:nth-child(3) { top:50px; transform-origin:center; }
	body.start_scroll & span,
	body.page-template-page__lp:not(:has(#lp_page_header .bg_image)) & span,
	body:not(:has(#page_header, #no_search_result .bg_image)):not(.home.index_hero_header_layout_type1):not(.lp_design_normal) & span { background:#000; }

	
  body.open_drawer_menu & {
    z-index:1003;
  }

  @media(hover: hover) {
		#header:hover & span { background:#000; }
    &:hover { opacity:0.4; }
  }
  @media (max-width: 1200px) {
    display:block; width:60px; height:60px;
    span { width:16px !important; height:1px; }
		span:nth-child(1) { top:24px; transform-origin:center; }
		span:nth-child(2) { top:30px; transform-origin:center; transform:scaleX(1);}
		span:nth-child(3) { top:36px; transform-origin:center; }
		body.open_drawer_menu & {
			pointer-events:none;
			span:nth-child(1) { top:30px; transform:rotate(45deg); }
			span:nth-child(2) { transform:scaleX(0); }
			span:nth-child(3) { top:30px; transform:rotate(-45deg); }
		}
    body.home:not(.start_scroll) & span,
    body.page-template-page__lp:not(.start_scroll) & span { background:#fff; }
  }

}




/* ----------------------------------------------------------------------
 メガメニュー
---------------------------------------------------------------------- */
.megamenu { opacity:0; visibility:hidden; background:#fff; border-top:1px solid #ddd; box-shadow: 0 7px 7px 0 rgba(120, 120, 120, 0.1); pointer-events:none; width:100%; position:absolute; left:0; top:70px; overflow:hidden; z-index:300; z-index:2; }
body.megamenu_dark .megamenu { background:var(--tcd-accent-color); border-top:none; }
.megamenu.open { opacity:1; visibility:visible; pointer-events:auto; }
#global_menu li.menu-item-megamenu ul { display:none !important; }
@media (max-width: 1200px) {
  .megamenu { display:none; }
}


/* カテゴリー記事一覧 */
.megamenu1 {

	padding:40px 0;

	.megamenu_post_list { position:relative; width:1000px; margin:0 auto; }
  .item { background:#fff; display:flex; flex-wrap:wrap; align-items:center; position:relative; height:150px; width:100%; }
	body.megamenu_dark & .item { background:none; color:#fff; }
	.image { width:150px; height:150px; pointer-events:none; }
  .c-thumbnail { display:block; width:100%; height:100%; z-index:1; position:relative; }
	.content { width:calc(100% - 150px); padding-left:25px; }
	.category_button { margin-bottom:20px; position:relative; z-index:2; }
	body.megamenu_dark & .category_button { color:rgba(255,255,255,0.5) !important; }
  .title a { color:#000; line-height:1.8; font-size:14px; --tcd-line-clamp:3; height:auto; }
	body.megamenu_dark & .title a { color:#fff; }
	.title a:after { content:''; display:block; position:absolute; top:0; left:0; width:100%; height:100%; z-index:1; }
	@media(hover: hover) {
		body.megamenu_dark & .title a:hover { color:rgba(255,255,255,0.5); }
	}

  .splide__arrow--next { top:76px; right:-70px; background:none; box-shadow:none; }
  .splide__arrow--prev { top:76px; left:-70px; background:none; box-shadow:none; }
  .splide__arrow:before { font-size:16px; }
	body.megamenu_dark & .splide__arrow:before { background:#fff; }
	
	.splide__pagination { margin-top:40px !Important; }
	body.megamenu_dark & .splide__pagination button { border-color:#fff; }
	body.megamenu_dark & .splide__pagination button.is-active { background:#fff; }
	@media(hover: hover) {
		body.megamenu_dark & .splide__arrow:hover:before { background:rgba(255,255,255,0.5); }
		body.megamenu_dark & .splide__pagination button:hover { background:#fff; }
	}
	
}


/* バナースライダー1 */
.megamenu2 {

	padding:40px 0 30px;

  &:not(:has(.desc)) { padding-bottom:40px; }

	.megamenu_banner_list1 { width:999px; margin:0 auto; }
  &:has(.splide__arrow--next:disabled):has(.splide__arrow--prev:disabled) .splide__list { justify-content:center; transform:none !important; }

  .c-thumbnail { width:100%; height:200px; z-index:1; position:relative; }
	.title { color:#fff; font-size:22px; font-weight:600; line-height:1.8; padding:20px; width:100%; text-align:center; background:rgba(0,0,0,0.3); position:absolute; left:0; bottom:0; z-index:3; }
	.title span { --tcd-line-clamp:2; height:auto; }
  .desc { font-size:14px; line-height:1.8; text-align:center; padding:0px 20px; margin:30px 0 0; position:relative; transition:color 0.3s ease; }
	.desc span { --tcd-line-clamp:1; height:auto; }
	body.megamenu_dark & .desc { color:#fff; }
	@media(hover: hover) {
		body.megamenu_dark & a:hover .desc { color:rgba(255,255,255,0.5); }
	}
	
	.splide__arrows { top:0; height:200px; }
  .splide__arrow--next { top:50%; right:-70px; background:none; box-shadow:none; }
  .splide__arrow--prev { top:50%; left:-70px; background:none; box-shadow:none; }
  .splide__arrow:before { font-size:16px; }
	body.megamenu_dark & .splide__arrow:before { background:#fff; }
	@media(hover: hover) {
		body.megamenu_dark & .splide__arrow:hover:before { background:rgba(255,255,255,0.5); }
	}

}


/* バナースライダー2 */
.megamenu3 {

	padding:40px 0;

	.megamenu_banner_list2 { width:1000px; margin:0 auto; }
  &:has(.splide__arrow--next:disabled):has(.splide__arrow--prev:disabled) .splide__list { justify-content:center; transform:none !important; }

	.item {display:flex; flex-direction:column; }
  .c-thumbnail { width:100%; height:170px; z-index:1; position:relative; margin-top:auto; }
	.title { color:#fff; font-size:22px; font-weight:600; line-height:1.8; padding:20px; width:100%; text-align:center; background:rgba(0,0,0,0.3); position:absolute; left:0; bottom:0; z-index:3; }
	.title span { --tcd-line-clamp:1; height:auto; }
  .desc { font-size:14px; line-height:1.8; text-align:center; padding:0px 20px; margin-bottom:20px; transition:color 0.3s ease; flex:1; display:grid; place-items:center; }
	.desc span { --tcd-line-clamp:2; height:auto; }
	body.megamenu_dark & .desc { color:#fff; }
	@media(hover: hover) {
		body.megamenu_dark & a:hover .desc { color:rgba(255,255,255,0.5); }
	}
	
	.splide__arrows { top:auto; bottom:0; height:170px; }
  .splide__arrow--next { top:50%; right:-70px; background:none; box-shadow:none; }
  .splide__arrow--prev { top:50%; left:-70px; background:none; box-shadow:none; }
  .splide__arrow:before { font-size:16px; }
	body.megamenu_dark & .splide__arrow:before { background:#fff; }
	@media(hover: hover) {
		body.megamenu_dark & .splide__arrow:hover:before { background:rgba(255,255,255,0.5); }
	}

}




/* ----------------------------------------------------------------------
 ドロワーメニュー
---------------------------------------------------------------------- */
#drawer_menu {
  position:fixed; top:0px; right:0; width:360px; max-width:100%; height:100vh; height:100dvh; overflow:auto; z-index:99999; background:var(--tcd-accent-color);
  opacity:0; transition: opacity 0.5s ease; -webkit-overflow-scrolling: touch; pointer-events:none;
}
body.open_drawer_menu #drawer_menu { opacity:1; pointer-events:auto; }
#drawer_menu_overlay { opacity:0; pointer-events:none; content:''; width:100%; height:100%; background:rgba(0,0,0,0.5); display:block; position:fixed; top:0; left:0; z-index:9999; transition: opacity 0.5s ease; }
body.open_drawer_menu #drawer_menu_overlay { opacity:1; pointer-events:auto; }
@media (max-width: 500px) {
	#drawer_menu { width:100%;}
}


/* 閉じるボタン */
#drawer_menu_close_button {

  cursor:pointer; display:block; width:100%; height:60px; position:relative;

  span { width:16px; height:1px; background:#fff; display:block; position:absolute; right:20px; transition: all 0.4s ease; }
  span:nth-child(1) { top:24px; transform-origin:center; }
  span:nth-child(2) { top:30px; transform-origin:center; transform:scaleX(1); }
  span:nth-child(3) { top:36px; transform-origin:center; }
	body.open_drawer_menu & {
    span:nth-child(1) { top:30px; transform:rotate(45deg); }
    span:nth-child(2) { transform:scaleX(0); }
    span:nth-child(3) { top:30px; transform:rotate(-45deg); }
	}

  @media(hover: hover) {
		&:hover span { opacity:0.7; }
  }

}


/* アイコンメニュー */
#drawer_icon_menu {

  display:flex; flex-wrap:wrap; color:#fff; border-top:1px solid rgba(255,255,255,0.3);

  a.item { flex: 1 1 0%; height:90px; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:10px 0; padding:20px; color:#fff; border-right:1px solid rgba(255,255,255,0.3); }
  a.item:last-of-type { border-right:none; }

  .icon { width:35px; transition: transform 0.3s ease; }
  svg { display:block; font-size:35px; width:1em; height:1em; fill:currentColor; object-fit:contain; transition: opacity 0.25s ease; }
  svg path { fill:#fff; }
  img { display:block; width:auto; height:auto; max-width:35px; }

  .title { font-size:12px; display:block; text-align:center; }
  .title span { --tcd-line-clamp:2; height:auto; }

  @media(hover: hover) {
    a:hover { opacity:0.7; }
  }

}


/* グローバルメニュー */
#drawer_menu_nav {

  li { position:relative; }
  li ul { display:none; }
  li.menu-item-has-children.open + li a { border-top:none; }
  a {
    position:relative; display:block;  margin:0; padding:0 50px 0 20px; height:50px; line-height:50px; overflow:hidden; text-decoration:none;
    color:#fff; font-size:16px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; visibility:visible;
  }
  li li a { font-size:14px; background:rgba(255,255,255,0.15); border:none; }

  .child_menu_button { display:block; position:absolute; text-align:center; width:50px; height:50px; right:0px; top:0px; z-index:9; cursor:pointer; }
  .child_menu_button:before { position:absolute; right:20px; top:26px; content:''; width:16px; height:1px; background:#fff !important; transform:rotate(90deg); transition: transform 0.5s ease; }
  .child_menu_button:after { position:absolute; right:20px; top:26px; content:''; width:16px; height:1px; background:#fff !important; transform:scaleX(1); transform-origin:left; transition: transform 0.5s ease; }
  li.open > .child_menu_button:before { transform:rotate(0deg); }
  li.open > .child_menu_button:after { transform:scaleX(0); }
  li li.menu-item-has-children > a:before,
	li li.menu-item-has-children > a:after { display:none; }

  @media(hover: hover) {
    a:hover { color:rgba(255,255,255,0.6) !important; }
    .child_menu_button:hover { opacity:0.6; }
  }

}



/* 検索フォーム */
#drawer_menu_search {

  margin:0 20px; position:relative; width:auto;
  
  * + & { margin-top:30px; }
  .input_area { border:1px solid rgba(255,255,255,0.3); background:none; width:100%; height:50px; border-radius:50px; position:relative; }
  .input_area input { font-size:14px; border:none; background:none; height:50px; width:calc(100% - 50px); position:absolute; left:0px; top:2px; padding:0 10px 0 25px; color:#fff; }
  .button_area { width:50px; height:50px; position:absolute; right:0px; top:0px; }
  .button_area input { width:50px; height:50px; border:none; background:none; cursor:pointer; text-indent:-200px; }
  .button_area:before {
    display:block; text-align:center; cursor:pointer; z-index:1; pointer-events:none; position:absolute; right:12px; top:12px; transition: background 0.25s ease;
    background:#fff; font-size:30px; width:1em; height:1em; content:''; mask:var(--tcd-icon--search) no-repeat center / 1em;
  }

  @media(hover: hover) {
    .button_area:hover:before { background:rgba(0,0,0,0.6); }
  }

}


/* メニュー（下） */
#drawer_menu_bottom {

	display:flex; padding:0 20px; gap:0 20px;
  
	* + & { margin-top:30px; }

	nav { flex:1 1 0%; }
	li { margin:0 0 20px 0; }
	li:last-of-type { margin:0; }
	a { color:#fff; font-size:14px; display:block; }
  @media(hover: hover) {
    a:hover { opacity:0.5; }
  }

}


/* SNSアイコン */
#drawer_menu .c-sns-icons {

	margin:0 20px;

	* + & { margin-top:30px; }
	&.c-sns-icons--mono a { color:#fff; }

}


/* ショップボタン */
#drawer_menu .p-drawer-member-nav {

	display:flex; flex-wrap:nowrap;

	a { flex: 1 1 0%; height:50px; color:#fff; font-size:14px; display:grid; grid-template-columns: auto 1fr; align-items:center; column-gap:10px; padding-top:1px; padding-inline: 20px 20px; line-height: 1.4; }
	.p-drawer-member-nav-link:before { content: ''; font-size: 1.4em; width: 1em; height: 1em; background: currentColor; }
	.p-drawer-member-nav-link-mypage:before { mask: var(--tcd-icon--account) no-repeat center / 0.95em; margin-top: -1px; }
	.p-drawer-member-nav-link-wishlist:before { mask: var(--tcd-icon--heart) no-repeat center / 1.1em; }

	@media(hover: hover) {
    a:hover { opacity:0.6; }
  }

}



/* ----------------------------------------------------------------------
  フッター
---------------------------------------------------------------------- */

/* フッターバナー */
#footer_banner {

	background:var(--tcd-accent-color); padding:30px 0;
	
  .splide { width:1000px; margin:0 auto; position:relative; }
  .splide:not(.is-overflow) .splide__list { justify-content:center; transform:none !important; }
  .splide:not(.is-overflow) .splide__slide:last-of-type { margin-right:0 !important; }
	.splide:has(.splide__slide:only-of-type) .splide__list .item { transform:translate3d(-50%,0,0);  }
	
  .item { height:120px; position:relative; overflow:hidden; background:#fff; display:flex; flex-wrap:wrap; align-items:center; }
  .item .c-thumbnail { width:120px; height:122px; top:-1px; z-index:1; }
  .item .title { width:calc(100% - 120px); display:block; font-size:14px; font-weight:600; line-height:1.5; font-weight:400; padding:30px; }
	.item:not(:has(.c-thumbnail)) .title { width:100%; }
	
  .splide__arrows { top:65px; transform: translateY(-50%); opacity:0; transition: opacity 0.5s ease; }
	.splide__arrow { background:none; box-shadow:none; }
	.splide__arrow:before { background:#fff; font-size:16px; }
  .splide__arrow--prev { left:-60px; }
  .splide__arrow--next { right:-60px; }

  @media(hover: hover) {
    &:hover .splide__arrows { opacity:1; }
		.splide__arrow:hover:before { opacity:0.6; }
  }
  @media (max-width: 1200px) {
    .splide { visibility:visible !important; width:auto; }
    .splide__track { padding:0 60px; overflow:hidden; overflow-x:auto; }
    body.is-desktop & .splide__track { scrollbar-width:none; user-select:none; cursor:grab; }
    body.is-desktop & .splide__track:active { cursor:grabbing; }
    body.is-desktop & .splide__track::-webkit-scrollbar { display:none; }
    body.is-mobile & .splide__track { -webkit-overflow-scrolling:touch; scroll-behavior:smooth; }
    .splide__list { width:fit-content; min-width:100%; display:flex; flex-wrap:nowrap; justify-content:center; }
    .splide__arrows { display:none; }
    .item { width:314px; margin-right:28px; }
		.item .title { height:100%; display:flex; flex-direction:column; justify-content:center; }
    .item:last-of-type { margin-right:0px !important; }
  }
  @media (max-width: 767px) {
		padding:20px 0;
    .splide__track { padding:0 20px; }
    .item { width:280px; margin-right:20px; }
  }

}


/* メイン */
#footer { width:100%; margin-top:auto; }
#footer_main { 

	position:relative; overflow:hidden; display:flex; flex-direction:column;
	
	.overlay { position:absolute; top:0; left:0; z-index:2; width:100%; height:100%; }
	.bg_image { position:absolute; top:0; left:0; z-index:1; width:100%; height:100%; }
	.bg_image img { position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; }
	#footer_video { position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; }

	.logo_area { min-height:330px; display:grid; place-items:center; padding:60px; }
	
	.menu_area { margin-top:auto; position:relative; z-index:3; background:rgba(255,255,255,0.3); display:flex; flex-wrap:nowrap; justify-content:center; align-items:flex-start; gap:0 50px; padding:26px 30px; }
	&:has(#footer_menu_top):has(.c-sns-icons) .menu_area:before { content:''; display:block; width:var(--tcd-footer-sns-width, 0px); height:1px; flex:0 0 auto; }
	
	#footer_menu_top { flex:1 1 auto; }
	#footer_menu_top .menu { display:flex; flex-wrap:wrap; justify-content:center; gap:20px 40px; }
	#footer_menu_top a { color:#fff; font-size:16px; }

	.c-sns-icons { flex:0 0 auto; }
  .c-sns-icons a { color:#fff; }

	@media(hover: hover) {
		#footer_menu_top .menu a:hover { opacity:0.5; }
	}
	@media (max-width: 1200px) {
		.logo_area { min-height:250px; }
		.menu_area { display:block; padding:0; }
		.menu_area:before { display:none; }
		#footer_menu_top {
			overflow:hidden; overflow-x:auto; text-align:center; padding:0 60px;
			body.is-desktop & { scrollbar-width:none; user-select:none; }
			body.is-desktop &::-webkit-scrollbar { display:none; }
			body.is-mobile & { -webkit-overflow-scrolling:touch; scroll-behavior:smooth; }
			.menu { width:fit-content; min-width:100%; flex-wrap:nowrap; padding:26px 0; gap:0 30px; }
			li { display:block; white-space:nowrap; }
		}
		.c-sns-icons { display:none; }
	}
	@media (max-width: 767px) {
		.logo_area { min-height:180px; padding:40px; }
		#footer_menu_top {
			padding:0 20px;
			.menu { padding:23px 0px; gap:0 20px; }
			a { font-size:14px; }
		}
	}

}


/* ロゴ */
#footer_logo {

	position:relative; z-index:3; display:block;

	a { display:block; transition:all 0.5s ease; text-decoration:none; color:#fff; }
	picture { display:block; width:fit-content; }
	.image { height:var(--tcd-footer-logo-image-size-pc); width:auto; }
	.image { max-width:none; width:auto; height:var(--tcd-footer-logo-image-size-pc); display:block; margin:auto; }
	.image.mobile { display:none; width:auto; height:var(--tcd-footer-logo-image-size-sp); margin:auto; }
	.text { display:block; font-family:var(--tcd-logo-font-type); font-weight:var(--tcd-logo-font-weight, 600); font-size:var(--tcd-footer-logo-font-size-pc); }
	@media(hover: hover) {
		a:hover { opacity:0.5; }
	}
	@media (max-width: 1200px) {
		.image { height:calc( (var(--tcd-footer-logo-image-size-pc) + var(--tcd-footer-logo-image-size-sp)) / 2); }
	}
	@media (max-width: 767px) {
		.image { height:var(--tcd-footer-logo-image-size-sp); }
		.image.pc { display:none; }
		.image.mobile { display:block; }
		.text { font-size:var(--tcd-footer-logo-font-size-sp); }
	}

}


/* メニュー */
#footer_menu_bottom {

	background:#f9f8f4; border-bottom:1px solid #ddd;

	.menu { display:flex; flex-wrap:wrap; justify-content:center; gap:20px 40px; padding:26px 30px; }
	a { font-size:16px; }

	@media (max-width: 1200px) {
		overflow:hidden; overflow-x:auto; text-align:center; padding:0 60px;
		body.is-desktop & { scrollbar-width:none; user-select:none; }
		body.is-desktop &::-webkit-scrollbar { display:none; }
		body.is-mobile & { -webkit-overflow-scrolling:touch; scroll-behavior:smooth; }
		.menu { width:fit-content; min-width:100%; flex-wrap:nowrap; padding:26px 0; gap:0 30px; }
		li { display:block; white-space:nowrap; }
	}
	@media (max-width: 767px) {
		padding:0 20px;
		.menu { padding:23px 0; gap:0 20px; }
		a { font-size:14px; }
	}
	
}


/* コピーライト */

#copyright {

	background:#fff;

  body.page-template-page__lp & { border-top:1px solid #ddd; margin-top:auto; position:sticky; top:100vh; }

	p { font-size:14px; display:block; line-height:1.4; text-align:center; padding:25px 100px; }
	@media (max-width: 1200px) {
		p { padding:20px 60px; }
	}
	@media (max-width: 767px) {
		p { padding:20px 20px; }
	}

}


/* フッターボタン */
body.is-scroll .p-footer-fix { z-index:1000; }




/* ----------------------------------------------------------------------
  ウィジェット
---------------------------------------------------------------------- */
/* 基本設定 */
.p-widget-list { padding-top:0 !important; font-size:16px !important; }
.p-widget-list-sp { display:none !important; }
.p-widget-headline { position:relative !important; z-index:3 !important; background:var(--tcd-accent-color) !important; color:#fff !important; border:none !important; padding:0 25px !important; }
:is(.widget_categories, .widget_archive, .widget_nav_menu, .widget_meta, .widget_pages, .widget_media_image) .p-widget-headline {
  margin-bottom:-1px !important; position:relative;
}
@media (max-width: 767px) {
	.p-widget-list { font-size:14px !important; }
  .p-widget-list-pc { display:none !important; }
  .p-widget-list-sp { display:grid !important; }
}
.p-widget-list { grid-template-columns:repeat(1, 1fr) !important; height:100%; align-items:start; }


/* タブ記事一覧 */
.widget_tcd_widget_tab_post_list .p-widget-headline { margin-bottom:-1px; }
.p-widget-tab-post { font-size:14px; }
.p-widget-tab-post-nav { position: relative; display: flex; height: 60px; }
.p-widget-tab-post-nav-item { position: relative; flex: 1; padding-inline: 1em; border: 1px solid #dddddd; transition-property: color; }
.p-widget-tab-post-nav-item span { --tcd-line-clamp:2; height:auto; }
* + .p-widget-tab-post-nav-item { margin-left: -1px; }
.p-widget-tab-post-nav button { background:#fff; }
.p-widget-tab-post-nav[data-tab="1"] > button:nth-child(1),
.p-widget-tab-post-nav[data-tab="2"] > button:nth-child(2),
.p-widget-tab-post-nav[data-tab="3"] > button:nth-child(3) { border-bottom:none; padding-bottom: 1px; background:#fff; pointer-events:none; position:relative; z-index:3; }
.p-widget-tab-post-nav[data-tab="1"] + * + *,
.p-widget-tab-post-nav[data-tab="1"] + * + * + *,
.p-widget-tab-post-nav[data-tab="2"] + *,
.p-widget-tab-post-nav[data-tab="2"] + * + * + *,
.p-widget-tab-post-nav[data-tab="3"] + *,
.p-widget-tab-post-nav[data-tab="3"] + * + * { display: none; }
.p-widget-tab-post-list-item { display: grid; grid-template-columns: 110px 1fr; background: #ffffff; border: 1px solid #dddddd; margin-top: -1px; padding:20px; position:relative; }
.p-widget-tab-post-list-item:not(:has(img)) { display:block; padding:20px 0 !important; }
.p-widget-tab-post-list-item-image { aspect-ratio: 1; position:relative; z-index:1; }
.p-widget-tab-post-list-item-image .c-thumbnail { width:100%; height:100%; }
.p-widget-tab-post-list-item-title { --tcd-line-clamp: 3; padding:0 0 0 20px; align-self: center; line-height: 1.8; height: auto; }
.p-widget-tab-post-list-item:not(:has(img)) .p-widget-tab-post-list-item-title { padding:0 20px; }
.p-widget-tab-post-list-item .no_post { padding:0 20px; margin-bottom:-5px; }
.p-widget-tab-post-list-item .num { position:absolute; top:19px; left:19px; background:#fff; color:#000; width:30px; height:30px; display:grid; place-items:center; z-index:2; font-size:12px; }
.p-widget-tab-post-list-item .c-date { margin:0 20px 12px; }
.p-widget-tab-post-list-item.pr_post .title_area { height:auto; align-self:center; }
.p-widget-tab-post-list-item.pr_post .p-widget-tab-post-list-item-title { --tcd-line-clamp: 2; }
@media(hover: hover) {
  .p-widget-tab-post-nav-item:hover { color: rgba(0, 0, 0, .5); }
}
@media (max-width: 767px) {
	.p-widget-tab-post-nav { font-size:16px; line-height:1.3; }
}


/* ランキング */
.widget_tcd_widget_ranking_list {

	.item { display:flex; flex-wrap:nowrap; align-items:center; height:100px; border:1px solid #ddd; border-bottom:none; margin:0; }
	.item:last-of-type { border-bottom:1px solid #ddd; }
	.num { width:30px; height:100%; display:block; display:grid; place-items:center; font-size:14px;  }
  .image { display:block; width:100px; height:auto; aspect-ratio:1 / 1; z-index:1; position:relative; overflow:hidden; z-index:2; pointer-events:none; }
  .image .c-thumbnail { width:100%; height:100%; }
	.title { width:calc(100% - 130px); height:100%; padding:0 20px; line-height:1.5; font-size:14px; --tcd-line-clamp:2; height:auto; }

}
.widget_tcd_widget_ranking_list .link_button {

  font-size:16px; width:100%; margin-top:15px; padding-right:25px; position:relative; display:inline-block; text-align:right; color:var(--tcd-accent-color) !important; text-decoration:none;

  &:before { content:''; display:block; mask:var(--tcd-icon--arrow-thin) no-repeat center / 2em; font-size:12px; width:1em; height:1em; background:var(--tcd-accent-color); position:absolute; top:50%; transform: translateY(-50%); right:0px; transition:none; }

  @media(hover: hover) {
    &:hover { opacity:0.6; }
  }

}


/* 投稿カルーセル */
.widget_tcd_widget_post_carousel {
  
  position:relative;

  .p-widget-headline { margin-bottom:0; border-bottom:none; }
  .splide__track { overflow:hidden; }

  .widget_post_carousel {

    position:relative; box-shadow:inset 0 0 0 1px #ddd;

    .item { display:flex; flex-direction:column; height:auto; position:relative; }
		.item:after { content:''; display:block; width:100%; height:100px; position:absolute; bottom:0; left:0; z-index:2; pointer-events:none; background: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,0.8) 100%); }

		.c-thumbnail { width:100%; height:auto; aspect-ratio:368 / 224; }

		.title { line-height:1.8; font-size:16px; font-weight:400; padding:20px; position:absolute; left:0; bottom:0; color:#fff; z-index:3; }		
		.title span { --tcd-line-clamp:2; height:auto; z-index:2; position:relative; transition: color 0.25s ease; }

		.splide__pagination { padding-bottom:23px !important; }
		
    @media(hover: hover) {
			.title a:hover span { color:#666 !important; }
    }
		@media (max-width: 767px) {
			.title { font-size:14px; }
			.splide__pagination { padding-bottom:20px !important; }
		}

  }

}


/* サービススライダー */
.widget_tcd_widget_service_carousel {

  position:relative;

  .p-widget-headline { margin-bottom:0; border-bottom:none; }
  .splide__track { overflow:hidden; }

  .widget_service_carousel {

    position:relative; box-shadow:inset 0 0 0 1px #ddd; background:#fff;

    a.item { display:flex; flex-direction:column; height:auto; position: relative;}
    a.item .c-thumbnail { aspect-ratio:300 / 175; }
    a.item .title { color:#fff; font-size:16px; padding:20px; display:grid; place-items:center; transition: color 0.25s ease; z-index:2; width:100%; font-weight:500; position:absolute; bottom:0; left:0; background:rgba(0,0,0,0.2); }
    a.title span { --tcd-line-clamp:2; height:auto; }

    .splide__arrows { position:relative; height:50px; }
    .splide__arrows .splide__arrow--next { background:none; box-shadow:none; right:calc(50% - 20px); width:20px; height:50px; }
    .splide__arrows .splide__arrow--prev { background:none; box-shadow:none; left:calc(50% - 20px); width:20px; height:50px; }

    @media(hover: hover) {
      a.item:hover .content { color:#999 !important; }
    }

  }

}


/* メニュー */
:is(.widget_categories, .widget_archive, .widget_nav_menu, .widget_meta, .widget_pages) a {
  font-size:16px; background:#fff; padding-inline: calc(25px + 1em * var(--tcd-widget-level)) 25px !important;
}
@media (max-width: 767px) {
	:is(.widget_categories, .widget_archive, .widget_nav_menu, .widget_meta, .widget_pages) a {
		font-size:14px;
	}
}


/* タグクラウド */
.widget_tag_cloud {
  .tagcloud { gap:4px !important; }
  .tag-cloud-link { background:#f6f6f6 !important; border:none !important; color:#000 !important; font-size:14px !important; border-radius:3px !important; height:35px !important; }
  @media(hover: hover) {
    .tag-cloud-link:hover { background:var(--tcd-accent-color) !important; color:#fff !important; }
  }
}


/* 画像 */
.widget_media_image {
  .p-widget-headline { margin-bottom:0px; }
  figure { width:100% !important; }
}


/* 検索フォーム */
.widget_search {
  .p-widget-headline { margin-bottom:-1px; }
  .search-form { background:#fff; }
  .search-field { background:transparent; }
}


/* 最近の記事 */
.widget_recent_entries {
  .p-widget-headline { margin-bottom:-1px; }
  li { font-size:14px; padding:25px !important; }
  .post-date{ font-size:14px !important; }
}


/* コメント */
.widget_recent_comments {
  .p-widget-headline { margin-bottom:-1px; }
  li { padding: calc(25px + var(--tcd-half-read)) 25px !important; }
}


/* RSS */
.widget_rss {
  .p-widget-headline { margin-bottom:-1px; }
  .p-widget-headline a { color:#fff; font-size:inherit; }
  @media(hover: hover) {
    .p-widget-headline a:hover { color:rgba(255,255,255,0.8); }
  }
}


/* カスタムHTML */
.textwidget a { color: var(--tcdce-base-link-color) !important; text-decoration:none !important; }
@media(hover: hover) {
  .textwidget a:hover { text-decoration: var(--tcdce-base-link-decoration) !important; }
}


/* ブロック */
.widget_block a { color: var(--tcdce-base-link-color) !important; text-decoration:none !important; }
@media(hover: hover) {
  .widget_block a:hover { text-decoration: var(--tcdce-base-link-decoration) !important; }
}


/* like */
.widget_tcd_modules_postlikewidget .p-widget-headline { margin-bottom:-1px; }
.p-widget-post-like-item-title { font-weight:500 !important; }
.no_post_like { border:1px solid #ddd; font-size:14px; padding:15px 25px; }


/* 目次 */
.widget_tcdce_toc_widget:has(.is-sticky) { top:110px !important; }
@media (max-width: 1100px) {
  .widget_tcdce_toc_widget { display:none; }
}




/* ----------------------------------------------------------------------
  Lenis
---------------------------------------------------------------------- */
html.lenis,html.lenis body{ height:auto; scroll-behavior:auto; }.lenis:not(.lenis-autoToggle).lenis-stopped{ overflow:clip; }
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-property:overflow;transition-duration:1ms;transition-behavior:allow-discrete}




/* ----------------------------------------------------------------------
  Splide
---------------------------------------------------------------------- */
.splide__container{box-sizing:border-box;position:relative}.splide__list{backface-visibility:hidden;display:-ms-flexbox;display:flex;height:100%;margin:0!important;padding:0!important}.splide.is-initialized:not(.is-active) .splide__list{display:block}.splide__pagination{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:center;justify-content:center;margin:0;pointer-events:none}.splide__pagination li{display:inline-block;line-height:1;list-style-type:none;margin:0;pointer-events:auto}.splide:not(.is-overflow) .splide__pagination{display:none}.splide__progress__bar{width:0}.splide{position:relative;visibility:hidden;}.splide.is-initialized,.splide.is-rendered{visibility:visible}.splide__slide{backface-visibility:hidden;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0;list-style-type:none!important;margin:0;position:relative}.splide__slide img{vertical-align:bottom}.splide__spinner{animation:splide-loading 1s linear infinite;border:2px solid #999;border-left-color:transparent;border-radius:50%;bottom:0;contain:strict;display:inline-block;height:20px;left:0;margin:auto;position:absolute;right:0;top:0;width:20px}.splide__sr{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.splide__toggle.is-active .splide__toggle__play,.splide__toggle__pause{display:none}.splide__toggle.is-active .splide__toggle__pause{display:inline}.splide__track{overflow:hidden;position:relative;z-index:0}@keyframes splide-loading{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.splide__track--draggable{-webkit-touch-callout:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.splide__track--fade>.splide__list>.splide__slide{margin:0!important;opacity:0;z-index:0}.splide__track--fade>.splide__list>.splide__slide.is-active{opacity:1;z-index:1}.splide--rtl{direction:rtl}.splide__track--ttb>.splide__list{display:block}.splide__arrow{-ms-flex-align:center;align-items:center;background:#ccc;border:0;border-radius:50%;cursor:pointer;display:-ms-flexbox;display:flex;height:2em;-ms-flex-pack:center;justify-content:center;opacity:.7;padding:0;position:absolute;top:50%;transform:translateY(-50%);width:2em;z-index:1}.splide__arrow svg{fill:#000;height:1.2em;width:1.2em}.splide__arrow:hover:not(:disabled){opacity:.9}.splide__arrow:disabled{opacity:.3}.splide__arrow:focus-visible{outline:3px solid #0bf;outline-offset:3px}.splide__arrow--prev{left:1em}.splide__arrow--prev svg{transform:scaleX(-1)}.splide__arrow--next{right:1em}.splide.is-focus-in .splide__arrow:focus{outline:3px solid #0bf;outline-offset:3px}.splide__pagination{bottom:.5em;left:0;padding:0 1em;position:absolute;right:0;z-index:1}.splide__pagination__page{background:#ccc;border:0;border-radius:50%;display:inline-block;height:8px;margin:3px;opacity:.7;padding:0;position:relative;transition:transform .2s linear;width:8px}.splide__pagination__page.is-active{background:#fff;transform:scale(1.4);z-index:1}.splide__pagination__page:hover{cursor:pointer;opacity:.9}.splide__pagination__page:focus-visible{outline:3px solid #0bf;outline-offset:3px}.splide.is-focus-in .splide__pagination__page:focus{outline:3px solid #0bf;outline-offset:3px}.splide__progress__bar{background:#ccc;height:3px}.splide__slide{-webkit-tap-highlight-color:rgba(0,0,0,0)}.splide__slide:focus{outline:0}@supports(outline-offset:-3px){.splide__slide:focus-visible{outline:3px solid #0bf;outline-offset:-3px}}@media screen and (-ms-high-contrast:none){.splide__slide:focus-visible{border:3px solid #0bf}}@supports(outline-offset:-3px){.splide.is-focus-in .splide__slide:focus{outline:3px solid #0bf;outline-offset:-3px}}@media screen and (-ms-high-contrast:none){.splide.is-focus-in .splide__slide:focus{border:3px solid #0bf}.splide.is-focus-in .splide__track>.splide__list>.splide__slide:focus{border-color:#0bf}}.splide__toggle{cursor:pointer}.splide__toggle:focus-visible{outline:3px solid #0bf;outline-offset:3px}.splide.is-focus-in .splide__toggle:focus{outline:3px solid #0bf;outline-offset:3px}.splide__track--nav>.splide__list>.splide__slide{border:3px solid transparent;cursor:pointer}.splide__track--nav>.splide__list>.splide__slide.is-active{border:3px solid #000}.splide__arrows--rtl .splide__arrow--prev{left:auto;right:1em}.splide__arrows--rtl .splide__arrow--prev svg{transform:scaleX(1)}.splide__arrows--rtl .splide__arrow--next{left:1em;right:auto}.splide__arrows--rtl .splide__arrow--next svg{transform:scaleX(-1)}.splide__arrows--ttb .splide__arrow{left:50%;transform:translate(-50%)}.splide__arrows--ttb .splide__arrow--prev{top:1em}.splide__arrows--ttb .splide__arrow--prev svg{transform:rotate(-90deg)}.splide__arrows--ttb .splide__arrow--next{bottom:1em;top:auto}.splide__arrows--ttb .splide__arrow--next svg{transform:rotate(90deg)}.splide__pagination--ttb{bottom:0;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;left:auto;padding:1em 0;right:.5em;top:0}


/* 矢印 */
.splide:not(.is-overflow) .splide__arrows { display:none; }
.splide__arrows { position:absolute; top:0; width:100%; height:60px; pointer-events:none; }/* heightはスライダー毎に変更すること */
.splide__arrow { opacity:1; background:#fff; border-radius:100%; height:60px; width:60px; display:grid; place-items:center; margin:0; padding:0; pointer-events:auto; box-shadow:0 0 15px 2px rgba(50,50,50,0.1); }
.splide__arrow:disabled { opacity:0; pointer-events:none; }
.splide__arrow:before { opacity:0; content:''; display:block; mask:var(--tcd-icon--arrow-thin) no-repeat center / 2em; font-size:12px; width:1em; height:1em; background:#000; transition:opacity 0.25s ease, background-color 0.25s ease; position:relative; }
.splide__arrow:not(:disabled):before { opacity:1; }
.splide__arrow--prev:before { transform:rotate(180deg); left:-1px; }
.splide__arrow--prev { left:-50px; }
.splide__arrow--next { right:-50px; }
@media(hover: hover) {
  .splide__arrow:hover { opacity:1 !important; }
  .splide__arrow:hover:before { background:#999; }
}


/* ページナビ */
.splide:not(.is-overflow) .splide__pagination, .splide__pagination:has(li:only-of-type) { display:none; }
.splide__pagination { gap:0 10px; position:relative; bottom:auto; margin:25px 0 0 0 !important; padding:0 !important; line-height:1; }
.splide__pagination li { line-height:1; margin:0; padding:0; }
.splide__pagination__page { width:12px; height:12px; opacity:1; background:transparent; border:1px solid var(--tcd-accent-color); transform:none !important; margin:0; padding:0; display:block; transition: background-color 0.25s ease; }
.splide__pagination__page.is-active { background:var(--tcd-accent-color); }
@media(hover: hover) {
  .splide__pagination__page:hover { background:var(--tcd-accent-color); }
}
@media (max-width: 767px) {
  .splide__pagination { margin-top:20px !important; }
}




/* ----------------------------------------------------------------------
  Contact Form 7　お問い合わせフォーム
---------------------------------------------------------------------- */
.wpcf7 p { margin-top: var(--tcd-half-read) !important; margin-bottom: 30px !important; }
.wpcf7 input { height: 50px !important; padding-inline: 20px !important; }
.wpcf7 textarea { padding: 20px !important; display: block; }
.wpcf7-form-control-wrap+br { display: none !important; }
.wpcf7 .wpcf7-radio { display: flex !important; flex-wrap: wrap !important; gap: 15px !important; margin-top: 10px !important; }
.wpcf7 .wpcf7-radio .wpcf7-list-item { margin: 0 !important; }
.wpcf7 .wpcf7-radio input { display: none !important; }
.wpcf7 .wpcf7-radio label { display: grid !important; grid-template-columns: auto 1fr !important; align-items: center !important; gap: 5px !important; }
.wpcf7 .wpcf7-radio label:before { content: '' !important; width: 1.2em !important; height: 1.2em !important; border-radius: 50% !important; background: #fff !important; border: 1px solid #aaa !important; }
.wpcf7 .wpcf7-radio label:has(input:checked):before { background-image: radial-gradient(circle closest-corner, #000 30%, rgba(255, 255, 255, 1) 20%) !important; }
.wpcf7 .wpcf7-submit { font-size: 16px !important; width: 280px !important; height: 60px !important; }
.wpcf7 p:has(.wpcf7-submit) { margin-top: 0px !important; margin-bottom: 0 !important; }
.wpcf7 form { margin: 50px 50px 20px !important; }
.wpcf7 select { appearance: none !important; height: 50px !important; padding-inline: 20px 3em !important; background: #ffffff var(--tcd-icon--arrow-bottom) no-repeat center right 13px / 24px !important; }
/* チェックボックス */
.wpcf7 .wpcf7-form-control-wrap .wpcf7-list-item { display: grid !important; grid-template-columns: auto 1fr !important; align-items: start !important; gap: 5px !important; margin: 15px 0px 0px !important; }
.wpcf7 .wpcf7-form-control-wrap .wpcf7-list-item.first { margin-top: 15px !important; }
.wpcf7 .wpcf7-form-control-wrap input[type="checkbox"] { height: auto !important; }
.wpcf7 .wpcf7-form-control-wrap label { line-height: 1 !important; }
.wpcf7 .wpcf7-form-control-wrap .wpcf7-list-item-label { font-size: 16px !important; line-height: 1.2 !important; }
@media (max-width: 767px) {
  .wpcf7 p { margin-bottom: 25px !important; font-size: 14px !important; }
  .wpcf7 .wpcf7-submit { width: 240px !important; height: 50px !important; }
  .wpcf7 form { margin: 20px !important; }
  .wpcf7 .wpcf7-form-control-wrap .wpcf7-list-item-label { font-size: 14px !important; line-height: 1.4 !important; }
}




/* END SALON style.css */