@charset "utf-8";


/* ----------------------------------------------------------------------
 ヘッダースライダー
---------------------------------------------------------------------- */

/* ヘッダー */
body.home {
  
  padding-top:0 !important;

  &:not(.header_fix) #header { position:absolute; top:var(--tcd-header-message-height); }
  &.index_header_content_type2:not(:has(#header:hover)):not(.logo_shape_type3):not(.header_fix),
	&.index_header_content_type2.logo_shape_type3:not(:has(#header:hover)):not(.start_scroll) {
    #header:after { opacity:0; }
    #global_menu > ul > li > a { color:#fff; }
    #header_search .search_button:before { background:#fff; }
  }
	&.logo_shape_type3 #header { margin-bottom:-90px; }
	&.index_header_content_type2.hide_nav:not(.start_scroll) #header:after { opacity:0; }

	@media (max-width: 1200px) {
	  &:not(.header_fix) #header { top:0; }
	}

}


/* ロゴ・メニュー */
body:not(.logo_shape_type3):not(.start_scroll) #header_logo { opacity:0; transform:translate3d(-50%, -50%, 0); }
body:not(.logo_shape_type3).start_first_animation #header_logo { opacity:1; transform:translate3d(0, 0, 0); transition:opacity 0.5s ease 0.5s, transform 1.4s cubic-bezier(0.22, 1, 0.36, 1) 0.5s; }
body.logo_shape_type3 #header_logo a { opacity:0; }
body.logo_shape_type3.start_first_animation #header_logo a { opacity:1; transition:opacity 0.7s ease 0.5s }
body:not(.start_scroll) #global_menu, body:not(.start_scroll) #header_search { opacity:0; }
body.start_first_animation #global_menu,
body.start_first_animation #header_search { opacity:1; transform:translate3d(0, 0, 0); transition:opacity 0.7s ease 0.5s; }
@media (max-width: 767px) {
	body:not(.logo_shape_type3):not(.start_scroll) #header_logo { transform:translate3d(0px, -50px, 0); }
	body:not(.logo_shape_type3).start_first_animation #header_logo { transform:translate3d(0, 0, 0); }
	#drawer_menu_button { opacity:0; }
	body.start_first_animation #drawer_menu_button { opacity:1; transition:opacity 0.5s ease 0.5s; }
}


/* 基本設定 */
#index_header_content {

  width:100%; height:calc(100svh - var(--tcd-header-message-height)); position:relative; overflow:hidden; background:#fff;

  .overlay { position:absolute; top:0; left:0; width:100%; height:100%; z-index:3; border-radius:15px; }
  body.index_header_content_type2 & .overlay { border-radius:0px; }

	@media (max-width: 1200px) {
		margin-top:-60px;
	  .overlay { border-radius:0; }
	}
	@media (max-width: 1000px) {
		height:auto; display:flex; flex-direction:column;
		#index_header_content_inner { height:calc(100svh - var(--tcd-header-message-height)); flex:1 1 auto; display:flex; flex-direction:column; position:relative; }
	}
	
}


/* 縦書きコンテンツ */
#index_header_content .vertical_content {

  opacity:0; transform:translate3d(0,40px,0); position:absolute; left:100px; bottom:140px;
	writing-mode:vertical-rl; text-align:left;
	line-height:1.8; background:#fff; box-shadow:0 0 15px 0px rgba(0,0,0,0.1); z-index:5; padding:30px 25px; max-height:calc(50% - 140px);

  body.start_first_animation & { opacity:1; transform:translate3d(0,0,0); transition:opacity 0.4s ease 0.9s, transform 1.4s cubic-bezier(0.22, 1, 0.36, 1) 0.9s; }

  body.index_header_content_type2 & { left:50px; }
  .title { font-size:20px; color:var(--tcd-accent-color); font-weight:600; opacity:0; transform:translate3d(0,20px,0); }
  .sub_title { font-size:14px; opacity:0; transform:translate3d(0,20px,0); }
	body.start_first_animation & * { opacity:1; transform:translate3d(0,0,0);  }
  body.start_first_animation & *:nth-child(1) { transition:opacity 0.7s ease 1.0s, transform 0.7s ease 1.0s; }
  body.start_first_animation & *:nth-child(2) { transition:opacity 0.7s ease 1.2s, transform 0.7s ease 1.2s; }

	@media (max-width: 1200px) {
		bottom:120px; left:60px !important;
	}
	@media (max-width: 1000px) {
		left:30px !important; bottom:auto !important; top:50%; transform:translate3d(0,calc(-50% + 20px),0); height:fit-content; max-height:inherit;
		#index_header_content .item & { top:calc(50% + calc( var(--tcd-index-catch-height) / 2) ); }
		body.start_first_animation & { transform:translate3d(0,-50%,0); }
	}
	@media (max-width: 767px) {
		left:20px !important; padding:20px;
		.title { font-size:16px; }
		.sub_title { font-size:12px; }
	}

}
#index_header_slider .vertical_content {
	left:50px; bottom:50px; max-height:calc(50% - 50px);
	@media (max-width: 1200px) {
		bottom:60px;
	}
}


/* 右下のキャッチフレーズ */
#index_header_content .bottom_content {

  opacity:0; transform:translate3d(50%, 50%, 0); position:absolute; right:0; bottom:0; z-index:5; max-width:calc(50% - 100px);
	line-height:1.8; font-family:var(--tcd-hero-header-catch-font-type); font-size:var(--tcd-hero-header-catch-font-size-pc); font-weight:600;
	background:var(--tcd-accent-color); color:#fff; padding:65px 90px; 

  body.start_first_animation & { opacity:1; transform:translate3d(0, 0, 0); transition:opacity 0.5s ease 0.7s, transform 1.4s cubic-bezier(0.22, 1, 0.36, 1) 0.7s; }

  span { display:block; }

	@media (max-width: 1200px) {
		padding:65px 65px; font-size:calc( (var(--tcd-hero-header-catch-font-size-pc) + var(--tcd-hero-header-catch-font-size-sp)) / 2); max-width:calc(50%); 
	}
	@media (max-width: 1000px) {
		position:relative; bottom:0; width:100%; padding:30px 30px; transform:translate3d(0, 0, 0); opacity:1; max-width:inherit;
	  font-size:var(--tcd-hero-header-catch-font-size-sp);
		body:not(:has(#index_news_ticker)) & { bottom:0; }
		span { display:inline-block; opacity:1; transform:translate3d(0, 0, 0); }
		p { opacity:0; }
  	body.start_first_animation & p { opacity:1; transition:opacity 0.7s ease 0.5s; }
	}
	@media (max-width: 767px) {
		padding:15px 20px;
	}
	
}


/* コンテンツタイプ2 */
#index_header_content .center_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:after { content:''; display:block; position:absolute; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.05); z-index:1; opacity:0; transition:opacity 0.5s ease; }
  .button span { position:relative; z-index:2; }

  @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; }
	}
	@media (max-width: 767px) {
		padding:0 30px;
		.catch { font-size:var(--tcd-hero-header-catch-font-size-sp); }
	}

}


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

  width:calc(100% - 100px); height:calc(100% - 180px); z-index:1; position:absolute; top:90px; left:50px;

  body.index_header_content_type2 & { width:100%; height:calc(100svh - 90px); top:0; left:0; }

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

  .item { width:100%; height:100%; position:relative; overflow:hidden; border-radius:15px; }
  body.index_header_content_type2 & .item { border-radius:0px; }
	
  .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 10.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 10.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); }
	}
	@media (max-width: 1200px) {
	  width:100%; height:calc(100svh - 60px - var(--tcd-header-message-height)) !important; top:0; left:0px;
		.item { border-radius:0; }
		.splide__pagination { display:none; }
	}
	@media (max-width: 1000px) {
		position:relative; height:auto !important; flex:1 1 auto;
	}
	
}


/* 動画 */
#index_header_video_wrap {

  width:calc(100% - 100px); height:calc(100% - 180px); z-index:1; position:absolute; top:90px; left:50px;

  body.index_header_content_type2 & { width:100%; height:calc(100svh - 90px - var(--tcd-header-message-height)); top:0; left:0; }
  #index_header_video,
	#no_video_image { width:100%; height:100%; position:absolute; top:0; left:0; object-fit:cover; border-radius:15px; }
  body.index_header_content_type2 & #index_header_video,
	body.index_header_content_type2 & #no_video_image { border-radius:0; }
	
	@media (max-width: 1200px) {
	  width:100%; height:calc(100svh - 60px - var(--tcd-header-message-height)) !important; top:0; left:0px;
		#index_header_video,
		#no_video_image { border-radius:0; }
	}
	@media (max-width: 1000px) {
		position:relative; height:auto !important; flex:1 1 auto;
	}

}


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

  opacity:0; width:calc(50% - 60px); height:90px; font-size:16px; position:absolute; left:0; 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 50px; width:100%; height:90px; }
  .c-date { flex: 0 0 auto; width:110px; font-size:14px; font-weight:500; }
  .title { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; visibility:visible; }

	@media (max-width: 1200px) {
		height:60px;
	  .item { padding:0 30px; height:60px; }
		.title { font-size:14px; }
	}
	@media (max-width: 1000px) {
		width:100%; position:relative;
	}
	@media (max-width: 767px) {
	  .item { padding:0 20px; }
	}
	
}




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

  & > section { padding:100px 0; scroll-padding-top:90px; overflow:hidden; background:#f5f3f0; }
  & > section:last-child { padding-bottom:150px; }
	section.white_bg { background:#fff; }
	section.white_bg + section.white_bg,
  section:not(.white_bg):not(.cb_split_content) + section:not(.white_bg):not(.cb_split_content) { padding-top:0; scroll-padding-top:190px; }
  section.white_bg:first-child { border-top:1px solid #ddd; }

	.splide__pagination { margin-top:50px !important; margin-bottom:-50px !important; }
  .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); }
	
  @media(hover: hover) {
	  .splide__pagination .splide__pagination__page:hover { background:var(--tcd-accent-color); }
	}
	@media (max-width: 767px) {
		& > section { padding:40px 0; }
	  & > section:last-child { padding-bottom:40px; }
		section.white_bg + section.white_bg,
		section:not(.white_bg):not(.cb_split_content) + section:not(.white_bg):not(.cb_split_content) { scroll-padding-top:90px; }
	}

}


/* CBの見出し */
.cb_headline { width:820px; position:relative; z-index:3; margin:0 auto 100px; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:50px 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:100px; }
.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; }
	.cb_headline .desc { width:auto; line-height:2; }
}
@media (max-width: 767px) {
	.cb_headline { margin-bottom:30px; gap:30px 0; }
	.cb_headline .headline { font-size:var(--tcd-cb-title-font-size-sp); }
	.cb_design_button { margin-top:40px; }
}


/* スプリットコンテンツ */
.cb_split_content { padding:0 !important; background:#fff !important; }
.split_content {

  display:flex; flex-wrap:wrap; min-height:550px; 

	&.bg_color_gray { background:#f5f3f0; }
  &.type2 { flex-direction:row-reverse; }
  .image { display:block; flex: 1 1 50%; position:relative; overflow:hidden; }
	.image:not(a) { pointer-events:none; }
	.image .c-thumbnail { width:100%; height:100%; }
  .content_area { flex: 1 1 50%; padding:80px; display:flex; flex-direction:column; justify-content:center; gap:40px 0; }
  .sub_headline { font-size:18px; font-weight:600; line-height:1.4; margin-top:calc(0.5em - 0.5lh); margin-bottom:-20px; color:var(--tcd-accent-color); }
  .headline { font-size:24px; line-height:1.4; margin-top:calc(0.5em - 0.5lh); margin-bottom:calc(0.5em - 0.5lh); }
  .desc { line-height:2.4; margin-top:calc(0.5em - 0.5lh); margin-bottom:calc(0.5em - 0.5lh); }
  .design_button { margin:0 !important; }

	@media(hover: hover) {
		body.hover_zoom &:has(.design_button:hover) .c-thumbnail-image { transform:scale(1.1); }
		body.hover_fade &:has(.design_button:hover) .c-thumbnail-image { opacity:0.7; }
	}
	@media (max-width: 1200px) {
		min-height:450px; 
		.sub_headline { font-size:16px; }
		.headline { font-size:28px; }
		.desc { font-size:14px; }
		.design_button { min-width:240px; height:60px; line-height:60px; font-size:14px; }
	}
	@media (max-width: 1000px) {
		.content_area { padding:80px 50px; }
	}
	@media (max-width: 767px) {
		display:block;
		.image { aspect-ratio:360 / 270; }
		.content_area { padding:30px; gap:30px 0; min-height:300px; }
		.sub_headline { font-size:14px; }
		.headline { font-size:20px; }
		.design_button { left:50%; transform: translateX(-50%); }
	}
	@media (max-width: 450px) {
		.content_area { min-height:200px; }
	}

}


/* ブログ一覧 */
.cb_post_list .blog_list { width:1101px; margin:0 auto; }
@media (max-width: 1200px) {
	.cb_post_list .blog_list { width:auto; }
	.cb_post_list { padding-left:60px !important; padding-right:60px !important; }
}
@media (max-width: 767px) {
	.cb_post_list { padding-left:20px !important; padding-right:20px !important; }
	.cb_post_list .blog_list { margin-left:-20px; margin-right:-20px; }
}


/* お知らせ一覧 */
.ajax_news_list.fade-in { opacity:1; transform:translate3d(0,0,0); transition: opacity 1.5s ease, transform 1.6s cubic-bezier(0.22, 1, 0.36, 1); }
.ajax_news_list.fade-out { opacity:0; transform:translate3d(0,50px,0); }
.cb_news_list .disable { pointer-events: none !important; }
@media (max-width: 940px) {
	.cb_news_list { padding-left:60px !important; padding-right:60px !important; }
}
@media (max-width: 767px) {
	.cb_news_list { padding-left:20px !important; padding-right:20px !important; }
}


/* お客様の声 */
.cb_voice_list {

  .splide__track { width:1101px; margin:0 auto; filter:drop-shadow(0 0 10px rgba(0,0,0,0.1)); position:relative; }
  .splide:not(.is-overflow) .splide__list { justify-content:center; transform:none !important; }

  .voice_list { filter:none; }
  .item:after { right:auto; left:0; }
  .item:nth-child(3n):after { display:block; }
  .item:last-of-type:after { display:block; }
	.splide__track:before { content:''; display:block; width:1px; height:232px; position:absolute; left:0; bottom:0; background:#fff; z-index:2; }
	.splide__track:not(:has(.item:nth-child(3))):before { display:none; }
	.splide__track:not(:has(.item:nth-child(3))) .item:first-of-type:after { display:none; }

  @media (max-width: 1200px) {
		padding-left:60px !important; padding-right:60px !important;
    .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: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__pagination { display:none; }
    .item { width:300px; display:inline-block; white-space:wrap; text-align:left; border-top:none !important; }
		.item:after { display:block !important; }
		.item:first-of-type:after { display:none !important; }
		.splide__track:before { display:none; }
  }
  @media (max-width: 767px) {
		padding-left:20px !important; padding-right:20px !important;
    .splide { margin:0 -20px; }
    .splide__track { padding:0 20px; }
    .splide__list:after { width:20px; }
		.item { width:270px; }
	}

}


/* ランキング一覧 */
.cb_ranking_list {

	.splide { width:1100px; margin:0 auto; }
  .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; }

  .item { position:relative; display:flex; flex-direction:column; position: relative; }
  .image { margin-bottom:30px; display:block; width:100%; height:auto; aspect-ratio:340 / 212; z-index:1; position:relative; overflow:hidden; pointer-events:none; z-index:2; }
  .image .c-thumbnail { width:100%; height:100%; }
  .content { display:flex; flex-direction:column; justify-content:flex-start; gap:20px 0; flex-grow:1; }
  .meta { display:flex; align-items:center; gap:0 15px; }
  .title { line-height:1.8; font-size:18px; 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; }
  .num { background:#fff; width:40px; height:40px; position:absolute; top:0; left:0; z-index:2; display:grid; place-items:center; font-size:14px; pointer-events:none; z-index:3; }
  .category_button { background:#fff; position:relative; z-index:2; }

  @media (max-width: 1200px) {
		padding-left:60px !important; padding-right:60px !important;
    .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: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__pagination { display:none; }
    .item { width:300px; margin-right:30px; display:inline-block; white-space:wrap; text-align:left; }
		.item:last-of-type { margin-right:0 !important; }
		.image { margin-bottom:20px; }
		.title { font-size:16px; }
	}
  @media (max-width: 767px) {
		padding-left:20px !important; padding-right:20px !important;
    .splide { margin:0 -20px; }
    .splide__track { padding:0 20px; }
    .splide__list:after { width:20px; }
		.item { width:270px; margin-right:20px; }
	}

}


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

	.splide { width:1100px; margin:0 auto; }
  .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; }
  .item a { height:100%; position:relative; position:relative; padding:40px; display:flex; flex-direction:column; }
  .item.is-active { border-left:1px solid #ddd; }

  .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:14px; line-height:1.5; text-align:center; margin-top:15px; color:var(--tcd-accent-color); }
  .item .desc { line-height:2.4; --tcd-line-clamp:3; height:auto; margin-top:25px; }
  .item a:not(:has(.position)) .desc { margin-top:auto; }
	
  @media (max-width: 1200px) {
		padding-left:60px !important; padding-right:60px !important;
    .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:auto; display:inline-flex !important; 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__pagination { display:none; }
    .item { width:300px; display:inline-block; white-space:wrap; text-align:left; }
		.item:first-of-type { border-left:1px solid #ddd; }
		.item a { padding:30px 20px; }
		.image { width:130px; height:130px; margin-bottom:20px; }
		.name { font-size:16px; }
		.item .desc { font-size:14px; line-height:2; margin-top:20px; }
		.position { font-size:14px; margin-top:10px; }
  }
  @media (max-width: 767px) {
		padding-left:20px !important; padding-right:20px !important;
    .splide { margin:0 -20px; }
    .splide__track { padding:0 20px; }
    .splide__list:after { width:20px; }
		.item { width:270px; }
		.item a { padding:30px; }
	}

}


/* 支店一覧 */
.cb_list_content {

  .content_inner { width:1100px; margin:0 auto; background:#f4f3ef; padding:50px; }
	&:not(.white_bg) .content_inner { background:none; padding:0; }
  .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; 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:820px; margin:0 auto; }
	
	@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; }
  }

}

/* スペックカウンター */
.cb_counter .cb_headline {
  @media (max-width: 1200px) {
		padding-left:60px; padding-right:60px;
	}
  @media (max-width: 767px) {
		padding-left:20px; padding-right:20px;
	}
}
.cb_counter .counter_list {

  overflow:hidden; overflow-x:auto; padding:0 100px;

  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; }
	
  .counter_list_inner { display:flex; flex-wrap:nowrap; border:1px solid #ddd; border-radius:15px; width:fit-content; /*min-width: 1100px;*/ min-width:max-content !important; margin:0 auto; position:relative; }
  &.active .counter_list_inner { min-width:max-content !important; }
  &.no_border .counter_list_inner { border:none; border-radius:0; min-width:auto; }

  .item { padding:50px; text-align:center; flex: 1 0 auto; border-right:1px solid #ddd; display:flex; flex-direction:column; justify-content:center; gap:8px 0; background:#fff; }
  .item:first-of-type { border-radius:15px 0 0 15px; }
  .item:last-of-type { border-right:none; border-radius:0 15px 15px 0; }
  &.no_border .item { border:none; background:none; padding:0 50px; }
  .title { line-height:2; font-size:16px; }
  .num_area { color:var(--tcd-accent-color); font-weight:600; font-size:60px; }
  .num_area .unit { font-size:16px; font-weight:500; margin-left:5px; }

  &.counter-width-2col { --tcd-cb-counter-col: 2; }
  &.counter-width-3col { --tcd-cb-counter-col: 3; }
  &.counter-width-4col { --tcd-cb-counter-col: 4; }
  &:not(.counter-width-no-col) .counter_list_inner { display: grid; grid-template-columns: repeat(var(--tcd-cb-counter-col, 2), 1fr); border: none; border-radius: 0px; padding: 1px 0px 0 1px; }
  &:not(.counter-width-no-col) .item { border: 1px solid #ddd !important; margin: -1px 0 0 -1px; border-radius:0; }

  @media (max-width: 1200px) {
    padding:0 60px; position:relative;
    .cb_design_headline { margin-bottom:100px; padding:0 60px; }
    .counter_list_inner:after { content:''; display:block; position:absolute; top:0; left:100%; height:10px; width:60px; }
    .num_area { font-size:50px; }
  }
  @media (max-width: 1000px) {
    .num_area { font-size:40px; }
    .title { font-size:14px; }
  }
  @media (max-width: 767px) {
    padding:0 20px;
    .design_headline { margin-bottom:50px; padding:0 20px; }
    .counter_list_inner:after { width:20px; }
    .counter_list_inner { border-radius:10px; }
    .item { padding:40px; }
    &.no_border .item { padding:0 30px; }
  }

}




/* END VALUE front_page.css */