@charset "utf-8";


/* ----------------------------------------------------------------------
 ヘッダースライダー
---------------------------------------------------------------------- */
body.index_hero_header_layout_type1 #header { opacity:0.01; position:sticky; margin-bottom:-70px; }
body.index_hero_header_layout_type1.start_first_animation #header { opacity:1; }
@media (max-width: 1200px) {
	body.index_hero_header_layout_type1 #header { margin-bottom:-60px; }
}


/* 基本設定 */
#index_hero_header_wrap {

  width:100%; height:calc(100svh - var(--tcd-header-message-height, 0px)); max-height:calc(100svh - var(--tcd-header-message-height, 0px) - var(--tcd-admin-bar-height, 0px)); position:relative; overflow:hidden;
	body.index_hero_header_layout_type2 & { height:calc(100svh - var(--tcd-header-message-height, 0px) - var(--tcd-admin-bar-height, 0px) - 70px); max-height:calc(100svh - var(--tcd-header-message-height, 0px) - var(--tcd-admin-bar-height, 0px) - 70px); }
	
	&.header_height_original { aspect-ratio:var(--tcd-hero-header-aspect-ratio); height:auto; }
	&.header_height_custom { height:var(--tcd-hero-header-height-pc); }

  .overlay { position:absolute; top:0; left:0; width:100%; height:100%; z-index:2; }

	@media (max-width: 1200px) {
		body.index_hero_header_layout_type2 & { height:calc(100svh - var(--tcd-header-message-height, 0px) - var(--tcd-admin-bar-height, 0px) - 60px); max-height:calc(100svh - var(--tcd-header-message-height, 0px) - var(--tcd-admin-bar-height, 0px) - 60px); }
	}

}


/* コンテンツ */
#index_hero_header .content {

  display:flex; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:50px 0;
	position:absolute; left:50%; top:50%; transform: translate(-50%, -50%); color:#fff; z-index:4; width:100%;

  .catch { font-family:var(--tcd-hero-header-catch-font-type); font-size:var(--tcd-hero-header-catch-font-size-pc); line-height:1.6; font-weight:600; margin-top:calc(0.5em - 0.5lh); margin-bottom:calc(0.5em - 0.5lh); text-align:center; }
  .desc { line-height:2.4; font-size:18px; font-weight:500; margin-top:calc(0.5em - 0.5lh); margin-bottom:calc(0.5em - 0.5lh); text-align:center; }
  .button { min-width:280px; height:70px; display:grid; place-items:center; background:var(--tcd-accent-color); color:#fff; border-radius:70px; padding:0 30px; position:relative; overflow:hidden; }
  .button span { position:relative; z-index:2; }
	.logo_image img { width:auto; height:var(--tcd-hero-header-logo-height-pc); }
	
  @media(hover: hover) {
    .button:hover:after { opacity:1; }
  }

  & > * { opacity:0; transform:translate3d(0,40px,0); }
	body.start_first_animation & > * { opacity:1; transform:translate3d(0,0,0); }
  body.start_first_animation & > *:nth-child(1) { transition:opacity 1.4s ease 0.5s, transform 1.4s ease 0.5s; }
  body.start_first_animation & > *:nth-child(2) { transition:opacity 1.4s ease 0.7s, transform 1.4s ease 0.7s; }
  body.start_first_animation & > *:nth-child(3) { transition:opacity 1.4s ease 0.9s, transform 1.4s ease 0.9s; }

	@media (max-width: 1000px) {
		gap:30px 0; padding:0 100px;
		.catch { font-size:calc( (var(--tcd-hero-header-catch-font-size-pc) + var(--tcd-hero-header-catch-font-size-sp)) / 2 ); }
		.desc { font-size:16px; line-height:2; }
		.button { min-width:240px; height:60px; }
		.logo_image img { height:calc( (var(--tcd-hero-header-logo-height-pc) + var(--tcd-hero-header-logo-height-sp)) / 2); }
	}
	@media (max-width: 767px) {
		padding:0 30px;
		.catch { font-size:var(--tcd-hero-header-catch-font-size-sp); }
		.logo_image img { height:var(--tcd-hero-header-logo-height-sp); }
	}

}


/* 画像スライダー */
#index_hero_header_slider {

  width:100%; height:100%; z-index:1; position:absolute; top:0px; left:0px; visibility:visible !important;

  .splide__track { width:100%; height:100%; }
  .splide__list { width:100%; height:100%; }

  .item { width:100%; height:100%; position:relative; overflow:hidden; }
	
  .item .bg_image { width:100%; height:100%; position:relative; display:block; }
  .item .bg_image img { position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; }
  &.animation_zoom-in .item .bg_image { transform:scale(1); will-change:transform; }
  &.animation_zoom-in .item.is-active .bg_image,
  &.animation_zoom-in .item.keep-animate .bg_image { transform:scale(1.2); transition: transform 8.0s linear 0s; }
  &.animation_zoom-out .item .bg_image { transform:scale(1.2); will-change:transform; }
  &.animation_zoom-out .item.is-active .bg_image,
  &.animation_zoom-out .item.keep-animate .bg_image { transform:scale(1); transition: transform 8.0s linear 0s; }

  .splide__pagination { margin-top:37px !important; opacity:0; }
	.splide__pagination:has(li:only-of-type) { display:none; }
  .splide__pagination .splide__pagination__page { background:none; border:1px solid var(--tcd-accent-color); width:14px; height:14px; }
  .splide__pagination .splide__pagination__page.is-active { background:var(--tcd-accent-color); }
  body.start_first_animation & .splide__pagination { opacity:1; transition:opacity 0.7s ease 0.5s; }

  @media(hover: hover) {
	  .splide__pagination .splide__pagination__page:hover { background:var(--tcd-accent-color); }
	}
	
}


/* 動画 */
#index_hero_header_video_wrap {

  width:100%; height:100%; z-index:1; position:absolute; top:0; left:0;

  #index_hero_header_video,
	#no_video_image { width:100%; height:100%; position:absolute; top:0; left:0; object-fit:cover; }

}


/* ニュースティッカー */
#index_news_ticker {

  opacity:0; width:600px; height:60px; border:1px solid rgba(255,255,255,0.3); border-bottom:none;  border-radius:10px 10px 0 0; font-size:16px; position:absolute; left:50%; transform: translateX(-50%); bottom:0; z-index:10;

  body.start_first_animation & { opacity:1; transition:opacity 0.7s ease 0.5s; }
  .post_list { height:100%; position:relative; }
  .item { display:flex; flex-wrap:nowrap; align-items:center; padding:0 20px; width:100%; height:60px; }
  .c-date { color:#fff; flex: 0 0 auto; width:110px; font-size:14px; font-weight:500; }
  .title { color:#fff; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; visibility:visible; }

	@media(hover: hover) {
		.item:hover { opacity:0.5; }
	}
	@media (max-width: 767px) {
		width:100%; border-radius:0; border-left:none; border-right:none; left:0; transform:none; font-size:14px;
	  .item { padding:0 20px; }
	}
	
}




/* ----------------------------------------------------------------------
 トップページ コンテンツビルダー
---------------------------------------------------------------------- */
#contents_builder {

  & > section { padding:120px 0; scroll-padding-top:70px; overflow:hidden; }
  & > section:last-child { padding-bottom:150px; }
	section.white_bg + section.white_bg,
	section.color_bg + section.color_bg { padding-top:0; scroll-padding-top:190px; }

	& > section.color_bg { background:#f9f8f4; }
	
	.splide__pagination { margin-top:50px !important; }
	
	@media (max-width: 767px) {
		& > section { padding:40px 0; scroll-padding-top:60px; }
	  & > section:last-child { padding-bottom:40px; }
		section.white_bg + section.white_bg,
		section.color_bg + section.color_bg { scroll-padding-top:100px; }
		.splide__pagination { margin-top:30px !important; }
	}

}


/* CBの見出し */
.cb_headline { width:820px; position:relative; z-index:3; margin:0 auto 70px; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:70px 0; }
.cb_headline .headline { text-align:center; line-height:1.4; color:var(--tcd-accent-color); font-size:var(--tcd-cb-title-font-size-pc); font-family:var(--tcd-cb-title-font-type); font-weight:600; margin-top:calc(0.5em - 0.5lh); margin-bottom:calc(0.5em - 0.5lh); }
.cb_headline .desc { text-align:center; width:820px; line-height:2.4; font-weight:500; margin-top:calc(0.5em - 0.5lh); margin-bottom:calc(0.5em - 0.5lh); }
.cb_headline .desc a { color: var(--tcdce-base-link-color) !important; }
.cb_design_button { margin-top:70px; }
.cb_design_button .design_button { margin:0 auto; }
@media(hover: hover) {
	.cb_headline .desc a:hover { text-decoration:underline; }
}
@media (max-width: 1200px) {
	.cb_headline .headline { font-size:calc( (var(--tcd-cb-title-font-size-pc) + var(--tcd-cb-title-font-size-sp)) / 2 ); }
}
@media (max-width: 940px) {
	.cb_headline { width:auto; padding:0 60px; }
	.cb_headline .desc { width:auto; }
}
@media (max-width: 767px) {
	.cb_headline { margin-bottom:40px; gap:30px 0; padding:0 20px; }
	.cb_headline .headline { font-size:var(--tcd-cb-title-font-size-sp); }
	.cb_headline .desc { font-size:14px; line-height:2; font-weight:400; }
	.cb_design_button { margin-top:40px; }
}


/* デザインコンテンツ */
.cb_design_content {
	
	.headline { text-align:center; line-height:1.4; color:var(--tcd-accent-color); font-size:var(--tcd-headline-font-size-pc); font-family:var(--tcd-headline-font-type); font-weight:500; margin:calc(0.5em - 0.5lh) auto 200px; max-width:1000px; }
	.headline.custom_setting { font-size:var(--tcd-cb-headline-font-size-pc); font-family:var(--tcd-cb-headline-font-type); }
	
	body.headline_direction_vertical & .headline:not(.custom_setting),
	.headline.custom_setting.direction_vertical {writing-mode:vertical-rl; text-align:left; position:relative; width:100%; margin-top:0; margin-bottom:120px; display:grid; place-items:center; }

	.headline.font_weight_bold { font-weight:600; }

	.content_wrap { display:flex; flex-wrap:wrap; flex-direction:row-reverse; position:relative; }
	.content_wrap.layout_type1 { flex-direction:row; }
	&:not(:has(.image_carousel_bottom)) .content_wrap { align-items:center; }
	&:has(.catch):not(:has(.headline)) .content_wrap { margin-top:110px; }
	.content_wrap.layout_type1 .image_carousel_top .splide__arrows { left:0; right:auto; }
	.content_wrap.layout_type1 .image_carousel_top .splide__arrow { left:60px; right:auto; }
	.content_wrap.layout_type1 .image_carousel_top .splide__arrow--prev { right:auto; left:0;}

	.content { width:50%; display:flex; justify-content:flex-end; }
	.content_wrap.layout_type1 .content { justify-content:flex-start; }
	.content_wrap:not(:has(.image_carousel_top)):not(:has(.image_carousel_bottom)) .content { width:100%; }
	
	.content_inner { width:500px; padding-right:80px; }
	.content_wrap.layout_type1 .content_inner { padding-right:0px; padding-left:80px; }
	.content_wrap:not(:has(.image_carousel_top)):not(:has(.image_carousel_bottom)) .content_inner { padding:0; margin:0 auto; }
	
	.desc { line-height:2.6; margin-top:calc(0.5em - 0.5lh); margin-bottom:calc(0.5em - 0.5lh); }
	.design_button { margin:70px 0 0 0 !important; }
	.content_wrap:not(:has(.image_carousel_top)):not(:has(.image_carousel_bottom)) .design_button { margin-left:auto !important; margin-right:auto !important; }
	
	@media (max-width: 1200px) {
		.headline { font-size:calc( (var(--tcd-cb-title-font-size-pc) + var(--tcd-cb-title-font-size-sp)) / 2 ); max-width:inherit; padding:0 60px; margin-bottom:200px !important; }
		&:not(:has(.catch)) .headline { margin-bottom:90px !important; }
		.headline.custom_setting { font-size:calc( (var(--tcd-cb-headline-font-size-pc) + var(--tcd-cb-headline-font-size-sp)) / 2 ); }
		.content_inner { width:100%; padding:0 60px !important; }
		.content_wrap { flex-direction:column; width:800px; margin:0 auto; }
		.content { order:3; width:100%; margin:100px auto 0; }
		.content_inner { padding:0 !important; }
		.design_button { margin:50px auto 0 !important; }
	}
	@media (max-width: 1000px) {
		.headline { padding:0 30px; }
		.content_wrap { width:100%; }
		.content { padding:0 40px; }
	}
	@media (max-width: 767px) {
		.headline { font-size:var(--tcd-cb-title-font-size-sp); margin-bottom:120px !important; padding:0 20px; }
		&:not(:has(.catch)) .headline { margin-bottom:35px !important; }
		.headline.custom_setting { font-size:var(--tcd-cb-headline-font-size-sp); }
		.content { margin-top:40px; }
		.desc { font-size:14px; }
		.design_button { margin:40px auto 0 !important; }
	}

	.image_carousel_top {

		width:50%; position:relative;

		.catch {
			position:absolute; top:0; left:50%; transform: translate3d(-50%, calc(-50% + 100px), 0) !important; z-index:3; writing-mode:vertical-rl; text-align:left;
			padding:30px 25px; line-height:1.8; font-size:16px; font-weight:400; background:var(--tcd-accent-color); color:#fff;
		}
		.catch.animate { transform: translate3d(-50%, -50%, 0) !important; }
		.splide { transform:none !important; opacity:1 !important; overflow:hidden; }
		.splide:has(.splide__slide:only-of-type) { visibility:visible; }
		.splide:before { content:''; display:block; width:100%; height:100%; background:#fff; position:absolute; top:0; left:0; z-index:2; transform:translate3d(0,0,0); transition:transform 1.4s cubic-bezier(0.22, 1, 0.36, 1); }
		.splide.animate:before { transform:translate3d(-100%,0,0); }
		.splide__track { overflow:hidden; width:100%; height:100%; aspect-ratio:725 / 600; }
		.splide__list { width:100%; height:100%; }
		.item { width:100%; height:100%; position:relative; overflow:hidden; }
		.inner_item { width:100%; height:100%; position:absolute; top:0; left:0%; overflow:hidden; will-change:transform; }
		.item img { width:100%; height:100%; position:absolute; top:0; left:0; object-fit:cover; }
		.splide__pagination { display:none; }
		.splide__arrows { left:auto; right:0; top:auto; bottom:0; }
		.splide__arrow { left:auto; right:0; top:auto; bottom:0; border-radius:0; box-shadow:none; transform:none; }
		.splide__arrow--prev { right:60px; }

		@media(hover: hover) {
			.splide__arrow:hover { background:var(--tcd-accent-color); }
			.splide__arrow:hover:before { background:#fff; }
		}
		@media (max-width: 1200px) {
			order:1; margin:0 auto; width:100%;
			.splide__arrows { display:none; }
		}
		@media (max-width: 767px) {
			width:100%;
			.catch { padding:25px 20px; font-size:14px; }
			.splide__track { height:330px; }
		}
		
	}
	
	.image_carousel_bottom {
		
		width:350px; position:relative; margin:-175px auto 0; transform:none !important; z-index:2; opacity:1 !important; background:#fff;

		.splide__track { width:100%; height:100%; aspect-ratio:1 / 1; box-shadow:0 0 0 5px #fff; }

		.splide__track:before { content:''; display:block; width:100%; height:100%; background:#fff; position:absolute; top:0; left:0; z-index:2; transform:translate3d(0,0,0); transition:transform 1.4s cubic-bezier(0.22, 1, 0.36, 1); }
		&.animate .splide__track:before { transform:translate3d(-100%,0,0); }

		.splide__list { width:100%; height:100%; }
		.item { width:100%; height:100%; position:relative; overflow:hidden; }
		.inner_item { width:100%; height:100%; position:absolute; top:0; left:0%; overflow:hidden; will-change:transform; }
		.item img { width:100%; height:100%; position:absolute; top:0; left:0; object-fit:cover; }
		.splide__arrows { display:none; }
		@media (max-width: 1400px) {
			width:250px; margin-top:-125px;
			.splide__track { box-shadow:0 0 0 3px #fff; }
		}
		@media (max-width: 1200px) {
			order:2;
		}
		@media (max-width: 767px) {
			width:170px; margin-top:-85px;
		}

	}

}


/* ラージバナー */
.cb_large_banner {

	position:relative; overflow:hidden; display:grid; place-items:center; padding:0 !important; scroll-padding-top:70px !important;
	width:100%; height:auto; min-height:600px; aspect-ratio:1450 / 600;
	&:has(.use_parallax) { clip-path:inset(0); }
	&:has(.desc) { padding:100px 0; aspect-ratio:unset; }
	
	.content_inner { width:680px; margin:0 auto; position:relative; z-index:3; }

	.cb_headline { width:100%; }
	.cb_headline .headline { color:#fff; }

	.post_list .item { margin-bottom:30px; }
	.post_list .item:last-of-type { margin-bottom:0px !important; }
	.post_list .item a { display:flex; flex-wrap:nowrap; align-items:center; width:100%; }
  .post_list .c-date { color:#fff; flex: 0 0 auto; width:110px; font-size:14px; font-weight:500; transition:color 0.3s ease; }
  .post_list h3 { color:#fff; font-weight:400; transition:color 0.3s ease; }

	.desc { color:#fff; }
	.design_button { border-color:#fff; color:#fff !important; }
	
	.overlay { position:absolute; top:0; left:0; width:100%; height:100%; z-index:2; }
	.parallax_inner { position:absolute; top:0; left:0; width:100%; height:100%; z-index:1; }
	.use_parallax { transform: translate3d(0, 0, 0); }
	.bg_image { position:absolute; top:0; left:0; width:100%; height:100%; overflow:hidden; }
	.bg_image img { position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; }
	.bg_video { position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; z-index:1; }

	@media(hover: hover) {
		.post_list .item a:hover .c-date { color:rgba(255,255,255,0.5); }
		.post_list .item a:hover .title { color:rgba(255,255,255,0.5); }
		.design_button:hover { border-color:var(--tcd-accent-color); }
	}
	@media (max-width: 1000px) {
		.content_inner { width:100%; padding:0 60px; }
	}
	@media (max-width: 767px) {
		min-height:inherit; aspect-ratio:unset;
		&:has(.desc) { padding:40px 0; }
		.content_inner { padding:40px 20px; }
		.post_list .item a { font-size:14px; display:block; }
		.post_list .title { margin-top:15px; }
	}

}


/* 商品一覧 */
.cb_product_carousel {

	width:1000px; margin:0 auto;

	@media (max-width: 1200px) {
		width:auto; margin:0 60px;
	}
	@media (max-width: 767px) {
		margin:0 20px;
	}
	
}
.cb_product-ranking {

	background:#f9f8f4;
	&.white_bg { background:none; }

}


/* メニュー一覧 */
.cb_menu_list {

	.sc_menu_list { width:1000px; margin-left:auto !important; margin-right:auto !important; }
	&.color_bg .sc_menu_list { padding:0; }
	
	@media (max-width: 1200px) {
		.sc_menu_list { width:auto; margin-left:60px !important; margin-right:60px !important; }
	}
	@media (max-width: 767px) {
		.sc_menu_list { margin-left:20px !important; margin-right:20px !important; }
	}
	
}


/* ブログ一覧 */
.cb_post_list, .cb_ranking_list {

	.content_inner { width:1000px; margin:0 auto; }
	&:has(.cb_card_list) .content_inner { width:860px; }
	
	.blog_list {
	  gap:0px;
		.category_buttons a:not(:first-of-type) { display:none; }
		.category_buttons a:after { display:none; }
	}
	&.white_bg .blog_list .item .content { border:1px solid #ddd; border-top:none; }
	
	.splide__arrows { opacity:0; transition:opacity 0.5s ease; }
	.cb_post_carousel:hover .splide__arrows { opacity:1; }
	.splide__arrow--prev { top:110px; left:-30px; }
	.splide__arrow--next { top:110px; right:-30px; }

	@media (max-width: 1200px) {
		.content_inner { width:auto !important; }
    .splide { visibility:visible !important; width:auto; }
    .splide__track { padding:0 60px; overflow:hidden; overflow-x:auto; width: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 !important; flex-wrap:nowrap !important; justify-content:center !important; gap:0 30px; }
    .splide__pagination { display:none; }
    .item { width:300px; }
		.splide__arrows { display:none; }
	}
	@media (max-width: 767px) {
    .splide__track { padding:0 20px; }
		.splide__list { gap:0 20px; }
    .item { width:260px; }
		.item .title { font-size:14px; }
	}
	
}



/* カード記事一覧 */
.cb_card_list {

  .item { width:auto; height:150px; position:relative; background:#fff; display:flex; flex-wrap:nowrap; align-items:center; box-shadow:inset 0 0 0 1px #ddd; margin:0 0 -1px 0; }
  .image { display:block; width:150px; height:150px; 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 { width:calc(100% - 150px); height:auto; display:flex; flex-direction:column; gap:20px 0; padding:30px; }
	.item:not(:has(.image)) .content { width:100%; }
  .category_buttons { display:none; }
  .title { line-height:1.8; font-size:16px; font-weight:600; order:2; }
  .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:none; flex-wrap:wrap; align-items:center; gap:0 20px; order:1; }
  .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 { position:absolute; top:0; left:0; z-index:3; background:#fff; width:40px; height:40px; display:grid; place-content:center; font-size:14px; }

	@media (max-width: 1200px) {
		margin:0 auto; width:860px; 
	}
	@media (max-width: 1000px) {
		margin:0 60px; width:auto; 
	}
	@media (max-width: 767px) {
		margin:0 20px;
		.item { height:120px; }
		.image { width:120px; height:120px; }
		.content { width:calc(100% - 120px); padding:0 20px; gap:15px 0; }
		.title { font-size:14px; }
		.num { width:35px; height:35px; }
	}

}


/* お知らせ一覧 */
.cb_news_list {

	.content_inner { width:860px; margin:0 auto; }

	@media (max-width: 1000px) {
		.content_inner { width:auto; margin:0; }
	}
	
}


/* ユーザー一覧 */
.cb_user_slider {

	.splide { width:1000px; margin:0 auto; }
	.splide.is-overflow .splide__track:before { content:''; width:1px; height:100%; background:#ddd; position:absolute; top:0; left:0; z-index:2; }
	.splide.is-overflow .splide__track:after { content:''; width:1px; height:100%; background:#ddd; position:absolute; top:0; right:0; z-index:2; }
	.splide:not(.is-overflow) .splide__list { justify-content:center; transform:none !important; }

  .item {

		border:1px solid #ddd; border-left:none; background:#fff; margin-top:1px; margin-bottom:1px; padding:30px; display:flex; flex-direction:column; justify-content:center; gap:20px 0;
		.splide:not(.is-overflow) &:first-of-type { border-left:1px solid #ddd; }
		
		.image { display:block; width:120px; height:120px; border-radius:100%; margin:0 auto; overflow:hidden; }
		.user_meta { text-align:center; }
		.name { font-size:18px; line-height:1.2; display:block; font-weight:600; text-align:center; }
		.position { font-size:14px; text-align:center; color:var(--tcd-accent-color); }
		.desc { font-size:14px; line-height:2.4; --tcd-line-clamp:3; height:auto; margin-top:auto; }
		.desc a { color: var(--tcdce-base-link-color) !important; }
		.c-sns-icons { justify-content:center; }

	}

  @media(hover: hover) {
    .desc a:hover { text-decoration:underline; }
  }
	
  @media (max-width: 1200px) {
		padding-left:60px !important; padding-right:60px !important;
		.splide.is-overflow .splide__track:before { display:none; }
		.splide.is-overflow .splide__track:after { display:none; }
    .splide { visibility:visible !important; width:auto; margin:0 -60px; }
    .splide__track { padding:0 60px; overflow:hidden; overflow-x:auto; width: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 !important; flex-wrap:nowrap !important; justify-content:center !important; }
    .splide__pagination { display:none; }
    .item { width:300px; }
		.item:first-of-type { border-left:1px solid #ddd; }
  }
  @media (max-width: 767px) {
		padding-left:20px !important; padding-right:20px !important;
    .splide { margin:0 -20px; }
    .splide__track { padding:0 20px; }
		.item {
			width:260px;
			.image { width:100px; height:100px; }
			.name { font-size:16px; }
			.desc { line-height:2; }
		}
	}

}


/* 支店一覧 */
.cb_list_content {

  .content_inner { width:1000px; margin:0 auto; background:#f4f3ef; padding:50px; }
	&.color_bg .content_inner { padding:0; background:none; }
  .top_headline { text-align:center; line-height:1.4; color:var(--tcd-accent-color); font-size:var(--tcd-cb-title-font-size-pc); font-family:var(--tcd-cb-title-font-type); font-weight:600; margin-top:calc(0.5em - 0.5lh); margin-bottom:40px; }
  .category_list .headline { color:var(--tcd-accent-color); font-size:20px; }
  .category_list ul { margin:20px 0 50px; display:grid; gap:20px; grid-template-columns:repeat(var(--tcd-category-column-pc), 1fr); }
  .category_list:last-of-type ul { margin-bottom:0; }
  .category_list a { display:grid; place-items:center; border:1px solid var(--tcd-accent-color); color:var(--tcd-accent-color); background:#fff; height:70px; border-radius:5px; padding:0 25px; line-height:1.4; }

  @media(hover: hover) {
    .category_list a:hover { background:var(--tcd-accent-color); color:#fff; }
  }
  @media (max-width: 1200px) {
		padding-left:60px !important; padding-right:60px !important; 
	  .content_inner { width:auto; margin:0 auto; padding:40px; }
		.top_headline { font-size:calc( (var(--tcd-cb-title-font-size-pc) + var(--tcd-cb-title-font-size-sp)) / 2 ); }
	  .category_list .headline { font-size:16px; }
	  .category_list ul { gap:10px; }
	  .category_list a { height:60px; padding:0 20px; font-size:14px; }
	}
  @media (max-width: 767px) {
		padding-left:20px !important; padding-right:20px !important; 
	  .content_inner { padding:30px; }
	  .top_headline { font-size:var(--tcd-cb-title-font-size-sp); margin-bottom:30px; }
	  .category_list ul { gap:5px; margin:15px 0 30px; grid-template-columns:repeat(var(--tcd-category-column-sp), 1fr); }
	  .category_list a { height:50px; border-radius:4px; }
	}

}


/* ギャラリー */
.cb_image_slider {
	
	@media (max-width: 1200px) {
		padding-left:60px !important; padding-right:60px !important;
		.sc_image_carousel { margin-left:-60px; margin-right:-60px; }
	}
	@media (max-width: 767px) {
		padding-left:20px !important; padding-right:20px !important;
		.sc_image_carousel { margin-left:-20px; margin-right:-20px; }
	}

}


/* FAQ */
.cb_faq {

	.cb_faq_inner { width:860px; margin:0 auto; }
	.faq_list { margin:0; }
	
	@media (max-width: 940px) {
		.cb_faq_inner { width:auto; margin:0 auto; }
		padding-left:60px !important; padding-right:60px !important;
	}
	@media (max-width: 767px) {
		.faq_list { margin:40px auto ; }
		padding-left:20px !important; padding-right:20px !important;
	}

}


/* フリースペース */
.cb_free_space {

	display:flex; justify-content:center;

	.cb_headline { margin-bottom:50px; }
  .cb_free_content { margin:0 60px; flex:1 1 auto;}
  .cb_free_content.full_size { width:100%; margin:auto; }
	
  @media (max-width: 767px) {
		.cb_headline { margin-bottom:30px; }
    .cb_free_content { margin:0 20px; }
  }

}




/* END SALON front_page.css */