@charset "utf-8";


/* ----------------------------------------------------------------------
 ヘッダースライダー
---------------------------------------------------------------------- */
html { scroll-behavior:auto; }

#index_header_content_wrap { width:100%; height:calc(100svh - 100px); position:relative; margin-top:-100px; clip-path: inset(0 0 0 0); overflow:hidden; }
body.index_slider_layout_type1:not(:has(#index_news_ticker)) #index_header_content_wrap { height:100svh; }
body.index_slider_layout_type2 #index_header_content_wrap { margin-top:0px; height:100svh; margin-top:-100px; margin-bottom:-100px; z-index:1000; }
@media (max-width: 1200px) {
  #index_header_content_wrap { height:calc(100svh - 60px); margin-top:-60px; }
  body.index_slider_layout_type2 #index_header_content_wrap { margin-top:-60px; margin-bottom:-60px; }
}


/* コンテンツ */
#index_header_content { position:relative; top:0; left:0; transform: translate3d(0px, 0px, 0px); width:100%; height:calc(100svh - 100px); overflow:hidden; display:flex; flex-direction:column; justify-content:center; align-items:center; }
body.index_slider_layout_type1 #index_header_content { position:relative; contain:paint; }
body.index_slider_layout_type1 #index_header_content_wrap.active #index_header_content { will-change:transform; }
body.index_slider_layout_type1:not(:has(#index_news_ticker)) #index_header_content { height:100svh; }
body.index_slider_layout_type2 #index_header_content { height:100svh; }
@media (max-width: 1200px) {
  #index_header_content { height:calc(100svh - 60px); }
}

#index_header_content .content { position:relative; color:#fff; text-align:center; z-index:4; padding:100px; }
#index_header_content .content.vertical { writing-mode:vertical-rl; text-align:left; }
#index_header_content .catch { line-height:1.6; font-size:var(--tcd-index-slider-catch-font-size-pc); font-family:var(--tcd-index-slider-catch-font-type); font-weight:600; }
#index_header_content .desc { line-height:2.2; font-size:18px; font-weight:500; }
#index_header_content .content.horizontal .catch { margin-top:calc(0.5em - 0.5lh); margin-bottom:calc(0.5em - 0.5lh); }
#index_header_content .content.horizontal .desc { margin-top:calc(0.5em - 0.5lh + 40px); margin-bottom:calc(0.5em - 0.5lh); }
#index_header_content .content.vertical .catch { margin-left:calc(0.5em - 0.5lh); margin-right:calc(0.5em - 0.5lh); }
#index_header_content .content.vertical .desc { line-height:2.8; margin-left:calc(0.5em - 0.5lh); margin-right:calc(0.5em - 0.5lh + 50px); }
#index_header_content .catch_bottom { color:#fff; font-weight:600; line-height:1.6; font-size:var(--tcd-index_slider_catch_bottom_font_size-pc); position:absolute; left:40px; bottom:30px; z-index:5; }
body.index_slider_layout_type2 #index_header_content .catch_bottom { left:140px; bottom:130px; width:calc(100% - 280px); }
#index_header_content .content .logo_image picture { display:block; }
#index_header_content .content .logo_image img { display:block; margin:0 auto; width:auto; max-width:100%; max-height:var(--tcd-index-logo-image-size-pc); aspect-ratio:var(--tcd-index-logo-image-aspect-ratio); }
#index_header_content .overlay { position:absolute; top:0; left:0; width:100%; height:100%; z-index:3; }
#index_header_content .first_image { position:absolute; top:0; left:0; width:100%; height:100%; z-index:2; display:block; background:#fff; }
#index_header_content .first_image img { position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; }
body.start_first_animation #index_header_content .first_image { display:none; }
@media (max-width: 1200px) {
  #index_header_content .content { padding:60px; }
  #index_header_content .catch_bottom { font-size: calc( (var(--tcd-index_slider_catch_bottom_font_size-pc) + var(--tcd-index_slider_catch_bottom_font_size-sp)) / 2 ) ; }
  body.index_slider_layout_type2 #index_header_content .catch_bottom { left:120px; bottom:100px; width:calc(100% - 240px); }
}
@media (max-width: 1000px) {
  #index_header_content .content .catch { font-size: calc( (var(--tcd-index-slider-catch-font-size-pc) + var(--tcd-index-slider-catch-font-size-sp)) / 2 ) ; }
	#index_header_content .catch_bottom { text-align:center; width:calc(100% - 80px); }
}
@media (max-width: 767px) {
  #index_header_content .content { padding:20px; }
  #index_header_content .content .catch { font-size:var(--tcd-index-slider-catch-font-size-sp); }
  #index_header_content .desc { font-size:16px; line-height:2; }
  #index_header_content .content.horizontal .desc { margin-top:calc(0.5em - 0.5lh + 30px); }
  #index_header_content .content.vertical .desc { line-height:2.2; margin-right:calc(0.5em - 0.5lh + 30px); }
  #index_header_content .catch_bottom { font-size:var(--tcd-index_slider_catch_bottom_font_size-sp); left:20px; bottom:20px; width:calc(100% - 40px); }
  body.index_slider_layout_type2 #index_header_content .catch_bottom { left:50px; bottom:85px; width:calc(100% - 100px); }
  #index_header_content .content .logo_image img { max-height:var(--tcd-index-logo-image-size-sp); }
}


/* アニメーション（レイアウト1専用） */
#index_header_content .content *:nth-child(1) { opacity:0; }
body.start_first_animation #index_header_content .content *:nth-child(1) { opacity:1; transition:opacity 1.0s ease 0.7s; }
#index_header_content .content *:nth-child(2) { opacity:0; }
body.start_first_animation #index_header_content .content *:nth-child(2) { opacity:1; transition:opacity 1.0s ease 1.2s; }
#index_header_content .catch_bottom { opacity:0; }
body.start_first_animation #index_header_content .catch_bottom { opacity:1; transition:opacity 1.0s ease 1.2s; }
body.start_first_animation #index_header_content:has(.content *:nth-child(2)) .catch_bottom { transition:opacity 1.0s ease 1.7s; }

/* オープニングアニメーションがある場合は少し遅らせる */
body:has(.opening_animation).start_first_animation #index_header_content .content *:nth-child(1) { transition:opacity 1.0s ease 1.8s; }
body:has(.opening_animation).start_first_animation #index_header_content .content *:nth-child(2) { transition:opacity 1.0s ease 2.3s; }
body:has(.opening_animation).start_first_animation #index_header_content .catch_bottom { transition:opacity 1.0s ease 2.3s; }
body:has(.opening_animation).start_first_animation #index_header_content:has(.content *:nth-child(2)) .catch_bottom { transition:opacity 1.0s ease 2.9s; }


/* アニメーション（レイアウト2専用） */
body.index_slider_layout_type2 #index_header_content_wrap { clip-path: inset(0px round 0px); transition: clip-path 0.8s ease 0.7s; }
body.index_slider_layout_type2.start_first_animation #index_header_content_wrap { clip-path: inset(100px round 15px); }
body.index_slider_layout_type2.start_first_animation #index_header_content .content *:nth-child(1) { opacity:1; transition:opacity 1.0s ease 1.2s; }
body.index_slider_layout_type2.start_first_animation #index_header_content .content *:nth-child(2) { opacity:1; transition:opacity 1.0s ease 1.9s; }
body.index_slider_layout_type2.start_first_animation #index_header_content .catch_bottom { opacity:1; transition:opacity 1.0s ease 1.9s; }
body.index_slider_layout_type2.start_first_animation #index_header_content:has(.content *:nth-child(2)) .catch_bottom { transition:opacity 1.0s ease 2.5s; }
@media (max-width: 1200px) {
  body.index_slider_layout_type2.start_first_animation #index_header_content_wrap { clip-path: inset(60px round 15px); }
}
@media (max-width: 767px) {
  body.index_slider_layout_type2.start_first_animation #index_header_content_wrap { clip-path: inset(60px 20px round 15px); }
}

/* レイアウト2専用　ヘッダーコンテンツ以外を初期状態で消す */
body.index_slider_layout_type2 #index_news_ticker,
body.index_slider_layout_type2 #side_copy,
body.index_slider_layout_type2 #side_button,
body.index_slider_layout_type2 #header,
body.index_slider_layout_type2 #drawer_menu_button { opacity:0; }
body.index_slider_layout_type2.start_first_animation {
  #index_news_ticker, #side_copy, #side_button, #header, #drawer_menu_button { opacity:1; }
}


/* オープニングアニメーションがある場合は少し遅らせる */
body:has(.opening_animation).index_slider_layout_type2 #index_header_content_wrap { transition: clip-path 0.8s ease 1.5s; }
body:has(.opening_animation).index_slider_layout_type2.start_first_animation #index_header_content .content *:nth-child(1) { transition:opacity 1.0s ease 2.0s; }
body:has(.opening_animation).index_slider_layout_type2.start_first_animation #index_header_content .content *:nth-child(2) { transition:opacity 1.0s ease 2.6s; }
body:has(.opening_animation).index_slider_layout_type2.start_first_animation #index_header_content .catch_bottom { transition:opacity 1.0s ease 2.6s; }
body:has(.opening_animation).index_slider_layout_type2.start_first_animation #index_header_content:has(.content *:nth-child(2)) .catch_bottom { transition:opacity 1.0s ease 3.3s; }


/* 画像スライダー */
#index_header_slider { width:100%; height:calc(100svh - 100px); z-index:1; overflow:hidden; position:absolute; top:0; left:0; }
body.index_slider_layout_type1:not(:has(#index_news_ticker)) #index_header_slider { height:100svh; }
body.index_slider_layout_type2 #index_header_slider { height:100%; }
#index_header_slider .splide__track { width:100%; height:100%; }
#index_header_slider .splide__list { width:100%; height:100%; }
#index_header_slider .item { width:100%; height:100%; position:relative; }
#index_header_slider .item .bg_image { width:100%; height:100%; position:relative; display:block; }
#index_header_slider .item .bg_image img { position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; }
#index_header_slider.animation_zoom-in .item .bg_image { transform:scale(1); will-change:transform; }
#index_header_slider.animation_zoom-in .item.is-active .bg_image,
#index_header_slider.animation_zoom-in .item.keep-animate .bg_image { transform:scale(1.2); transition: transform 10.0s linear 0s; }
#index_header_slider.animation_zoom-out .item .bg_image { transform:scale(1.2); will-change:transform; }
#index_header_slider.animation_zoom-out .item.is-active .bg_image,
#index_header_slider.animation_zoom-out .item.keep-animate .bg_image { transform:scale(1); transition: transform 10.0s linear 0s; }
@media (max-width: 1200px) {
  #index_header_slider { height:calc(100svh - 60px); }
}


/* 動画 */
#index_header_video_wrap { width:100%; height:100%; overflow:hidden; position:absolute; top:0; left:0; z-index:1; }
#index_header_video  { width:100%; height:100%; position:absolute; top:0; left:0; object-fit:cover; }


/* ニュースティッカー */
#index_news_ticker { width:100%; height:100px; font-size:16px; position:relative; z-index:10; }
#index_news_ticker .post_list { height:100%; position:relative; }
#index_news_ticker .item { display:flex; flex-wrap:nowrap; align-items:center; justify-content:center; padding:0 40px; width:100%; height:100px; position:absolute; top:0; left:0; z-index:1; opacity:0; transition: opacity 1.0s ease 0s; }
#index_news_ticker .item.active { transition: opacity 1.0s ease 0.3s; }
#index_news_ticker .item.active, #index_news_ticker .item.first_item { opacity:1; }
#index_news_ticker .c-date { flex: 0 0 auto; width:110px; font-size:14px; font-weight:500; transition: color 0.25s ease; }
#index_news_ticker .title { transition: color 0.25s ease; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; visibility:visible; }
@media (max-width: 1200px) {
  #index_news_ticker { height:60px; font-size:14px; }
  #index_news_ticker .item { padding:0 20px; height:60px; }
}
@media (max-width: 767px) {
  #index_news_ticker .item { justify-content:start; }
}



/* ----------------------------------------------------------------------
 トップページ コンテンツビルダー
---------------------------------------------------------------------- */
#contents_builder { position:relative; z-index:2; background:#fff; }
body.index_slider_layout_type1 #contents_builder:before { content:''; display:block; width:100%; height:40px; background: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,0.2) 100%); position:absolute; top:-40px; left:0; }
.white_bg + .white_bg { padding-top:0; }
#index_news_ticker + .white_bg { border-top:1px solid #ddd; }


/* 見出し */
.design_headline { position:relative; z-index:3; text-align:center; left:50%; transform: translateX(-50%); margin-bottom:70px; }
.design_headline.vertical { writing-mode:vertical-rl; text-align:left; }
.design_headline .headline { line-height:1.4; font-size:var(--tcd-cb-headline-font-size-pc); font-family:var(--tcd-cb-headline-font-type); font-weight:600; }
.design_headline .desc { line-height:2.2; font-size:18px; font-weight:500; }
.design_headline.horizontal .headline { margin-top:calc(0.5em - 0.5lh); margin-bottom:calc(0.5em - 0.5lh); }
.design_headline.horizontal .desc { margin-top:calc(0.5em - 0.5lh + 50px); margin-bottom:calc(0.5em - 0.5lh); }
.design_headline.vertical .headline { line-height:1.6; margin-left:calc(0.5em - 0.5lh); margin-right:calc(0.5em - 0.5lh); }
.design_headline.vertical .desc { line-height:2.8; margin-left:calc(0.5em - 0.5lh); margin-right:calc(0.5em - 0.5lh + 50px); }
@media (max-width: 1000px) {
  .design_headline .headline { font-size:calc( (var(--tcd-cb-headline-font-size-pc) + var(--tcd-cb-headline-font-size-sp)) / 2) !important;  }
}
@media (max-width: 767px) {
  .design_headline { margin-bottom:50px; }
  .design_headline .headline { font-size:var(--tcd-cb-headline-font-size-sp) !important; }
  .design_headline .desc { line-height:2; font-size:14px; }
  .design_headline.horizontal .desc { margin-top:calc(0.5em - 0.5lh + 30px); }
  .design_headline.vertical .desc { line-height:2.2; margin-right:calc(0.5em - 0.5lh + 30px); }
}


/* ギャラリー */
.cb_gallery { padding:120px 0; overflow:hidden; }
.cb_gallery .design_headline .desc { color:#000; }
.cb_gallery .design_headline { margin-bottom:120px; padding-left:100px; padding-right:100px; }
@media (max-width: 1200px) {
  .cb_gallery { padding:100px 0; }
  .cb_gallery .design_headline { margin-bottom:100px; padding-left:60px; padding-right:60px; }
}
@media (max-width: 767px) {
  .cb_gallery { padding:50px 0; }
  .cb_gallery .design_headline { margin-bottom:50px; padding-left:20px; padding-right:20px; }
}



/* 記事カルーセル */
.cb_post_list { position:relative; overflow:clip; height:200vh; }
.cb_post_list .content_wrap { position:sticky; top:0; transform: translateZ(0); clip-path: inset(100px round 15px); contain:layout paint; display:flex; flex-wrap:nowrap; align-items:center; }
.cb_post_list .content_wrap.start_animation { will-change: clip-path; }
.cb_post_list .content_wrap.end_animation { will-change: auto; }
.white_bg + .cb_post_list:not(:has(.overlay)) .content_inner { padding-top:0; }
.cb_post_list:not(:has(.overlay)) + .white_bg { padding-top:0; }
.cb_post_list:not(:has(.overlay)) { clip-path:none !important; }
.cb_post_list .content_inner { position:relative; z-index:3; width:1100px; padding:120px 0; margin:0 auto; left:-50%; transform: translateX(-50%); opacity:1; transition: opacity 0.5s ease; flex:0 0 auto; }
.cb_post_list:last-child .content_inner { padding-bottom:150px; }
.cb_post_list:has(.overlay) .content_inner > *:nth-child(1) { opacity:0; top:50px; transition: opacity 0.7s ease 0.3s, top 1.0s ease 0.3s; }
.cb_post_list:has(.overlay) .content_wrap.end_animation .content_inner > *:nth-child(1) { opacity:1; top:0; }
.cb_post_list:has(.overlay) .content_inner > *:nth-child(2) { opacity:0; top:50px; transition: opacity 0.7s ease 0.6s, top 1.0s ease 0.6s; }
.cb_post_list:has(.overlay) .content_wrap.end_animation .content_inner > *:nth-child(2) { opacity:1; top:0; }
.cb_post_list:has(.overlay) .content_inner > *:nth-child(3) { opacity:0; top:50px; transition: opacity 0.7s ease 1.0s, top 1.0s ease 1.0s; }
.cb_post_list:has(.overlay) .content_wrap.end_animation .content_inner > *:nth-child(3) { opacity:1; top:0; }
.cb_post_list:has(.overlay) .content_wrap.back_animation .content_inner { opacity:0; }
.cb_post_list .design_headline { color:#fff; }
.cb_post_list:not(:has(.overlay)) .design_headline { color:#000; }
.cb_post_list .overlay { width:100%; height:100%; position:absolute; top:0; left:0; display:block; z-index:2; }
.cb_post_list .bg_image { width:100%; height:100vh; position:sticky; top:0; left:0; display:block; z-index:1; flex:0 0 100%; margin-bottom:auto; pointer-events:none; }
.cb_post_list .bg_image img { position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; }
.cb_post_list .video_wrap { width:100%; height:100vh; position:sticky; top:0; left:0; display:block; z-index:1; flex:0 0 100%; margin-bottom:auto; }
.cb_post_list .video { width:100%; height:100%; position:absolute; top:0; left:0; object-fit:cover; }
.index_post_carousel { width:100vw; left:calc( (100vw + var(--tcd-scrollbar-width) - 1100px) / 2 * -1); }
.index_post_carousel .splide__track { width:1100px; margin:0 auto; }
.index_post_carousel .blog_list { gap:0; display:flex; flex-wrap:nowrap; }
.index_post_carousel .blog_list .item { padding:2px; width:342px; margin-right:36px; }
.cb_post_list:has(.overlay) .index_post_carousel .blog_list a { color:#fff; }
.index_post_carousel .blog_list .image { transition: box-shadow 0.25s ease; }
.cb_post_list:has(.overlay) .index_post_carousel .blog_list .c-date { color:#fff; }
.cb_post_list:has(.overlay) .index_post_carousel .category_button:not(:hover) { border-color:#fff; color:#fff !important; }
.index_post_carousel .splide__arrows { top:90px; opacity:0; transition: opacity 0.5s ease; width:1100px; left:50%; transform: translateX(-50%); }
.cb_post_list:not(:has(.overlay)) .index_post_carousel .splide__arrow { box-shadow:none !important; border:1px solid #ddd; }
.index_post_carousel .splide__arrow--prev { left:-100px; }
.index_post_carousel .splide__arrow--next { right:-100px; }
.cb_post_list .design_button { margin-top:70px !important; }
@media(hover: hover) {
  .cb_post_list:has(.overlay) .index_post_carousel .blog_list a:hover { color:rgba(255,255,255,0.7); }
	.cb_post_list:has(.overlay) .index_post_carousel .blog_list .image:hover { box-shadow:0 0 0 2px #fff; }
	.index_post_carousel:hover .splide__arrows { opacity:1; }
}
@media (min-height: 1050px) {
	.cb_post_list { min-height:100vh; }
}
@media (min-width: 1201px) {
  .index_post_carousel .blog_list:not(:has(.item:nth-child(4))) { transform:none !important; }
  .index_post_carousel .blog_list:not(:has(.item:nth-child(3))) { justify-content:center; }
  .index_post_carousel .blog_list:not(:has(.item:nth-child(3))) .item:last-of-type { margin-right:0 !important; }
}
@media (max-width: 1200px) {
  .cb_post_list .content_inner { padding:100px 0; width:100%; }
  .cb_post_list:last-child .content_inner { padding-bottom:100px; }
	.cb_post_list .design_headline { padding-left:60px; padding-right:60px; }
	.index_post_carousel { overflow:hidden; overflow-x:auto; margin:0; padding:0; visibility:visible !important; width:auto; left:auto; }
  .index_post_carousel .splide__track { width:auto; overflow:hidden; overflow-x:auto; }
  body.is-desktop .index_post_carousel { scrollbar-width:none; user-select:none; cursor:grab; }
	body.is-desktop .index_post_carousel:active { cursor:grabbing; }
  body.is-desktop .index_post_carousel::-webkit-scrollbar { display:none; }
  body.is-mobile .index_post_carousel { -webkit-overflow-scrolling:touch; scroll-behavior:smooth; }
  .index_post_carousel .splide__arrows { display:none; }
  .index_post_carousel .blog_list { display:flex !important; flex-wrap:nowrap; margin:0 0 0 60px !important; gap:0 40px; }
  .index_post_carousel .blog_list:after { content:''; background:transparent; height:10px; width:20px; display:block; flex:0 0 20px; }
	.index_post_carousel .blog_list .item { width:340px !important; margin:0 !important; flex:0 0 340px; }
}
@media (max-width: 767px) {
  .cb_post_list { height:auto; min-height:calc(100vh - 60px); }
	.cb_post_list .content_wrap { top:0px; position:relative; min-height:calc(100vh - 60px); }
	.cb_post_list .bg_image { height:100%; position:absolute; }
  .cb_post_list .video_wrap { height:100%; position:absolute; }
  .cb_post_list .content_inner { padding:50px 0; left:0; transform:none; height:auto; }
	.cb_post_list .design_headline { padding-left:20px; padding-right:20px; }
	.index_post_carousel .blog_list { margin:0 0 0 20px !important; gap:0 20px; }
  .index_post_carousel .blog_list:after { width:1px; flex:0 0 1px; }
	.index_post_carousel .blog_list .item { width:240px !important; flex:0 0 240px; }
  .cb_post_list .design_button { margin-top:50px !important; }
}


/* 記事一覧 */
.cb_post_list2 { position:relative; overflow:hidden; padding:120px 0; }
.cb_post_list2:last-child { padding-bottom:150px; }
.cb_post_list2 .content_inner { position:relative; z-index:3; width:1100px; margin:0 auto; }
.cb_post_list2 .design_button { margin-top:70px !important; }
@media (max-width: 1300px) {
  .cb_post_list2 .content_inner { width:auto; margin:0 100px; }
}
@media (max-width: 1200px) {
  .cb_post_list2 { padding:100px 0; }
  .cb_post_list2:last-child { padding-bottom:100px; }
  .cb_post_list2 .content_inner { margin:0; }
	.cb_post_list2 .design_headline { padding-left:60px; padding-right:60px; }
	.cb_post_list2 .blog_list_carousel { overflow:auto; }
  body.is-desktop .cb_post_list2 .blog_list_carousel { scrollbar-width:none; user-select:none; cursor:grab; }
	body.is-desktop .cb_post_list2 .blog_list_carousel:active { cursor:grabbing; }
  body.is-desktop .cb_post_list2 .blog_list_carousel::-webkit-scrollbar { display:none; }
  body.is-mobile .cb_post_list2 .blog_list_carousel { -webkit-overflow-scrolling:touch; scroll-behavior:smooth; }
  .cb_post_list2 .blog_list { display:flex; flex-wrap:nowrap; margin:0 0 0 60px !important; gap:0 40px; }
  .cb_post_list2 .blog_list:after { content:''; background:transparent; height:10px; width:20px; display:block; flex:0 0 20px; }
	.cb_post_list2 .blog_list .item { width:350px !important; margin:0 !important; flex:0 0 350px; }
}
@media (max-width: 767px) {
  .cb_post_list2 { padding:50px 0; }
  .cb_post_list2:last-child { padding-bottom:50px; }
	.cb_post_list2 .design_headline { padding-left:20px; padding-right:20px; }
  .cb_post_list2 .blog_list { margin:0 0 0 20px !important; gap:0 20px; }
  .cb_post_list2 .blog_list:after { width:1px; display:block; flex:0 0 1px; }
	.cb_post_list2 .blog_list .item { width:240px !important; flex:0 0 240px; }
  .cb_post_list2 .design_button { margin-top:50px !important; }
}


/* お知らせ一覧 */
.cb_news_list { position:relative; overflow:hidden; padding:120px 0; }
.cb_news_list:last-child { padding-bottom:150px; }
.cb_news_list .content_inner { position:relative; z-index:3; width:830px; margin:0 auto; }
.cb_news_list .design_button { margin-top:70px !important; }
@media (max-width: 1300px) {
  .cb_news_list .content_inner { width:auto; margin:0 100px; }
	.cb_news_list .news_list { width:auto; }
}
@media (max-width: 1200px) {
  .cb_news_list { padding:100px 0; }
  .cb_news_list:last-child { padding-bottom:100px; }
  .cb_news_list .content_inner { margin:0; }
	.cb_news_list .design_headline { padding-left:60px; padding-right:60px; }
	.cb_news_list .news_list_carousel:has(.image) { overflow:hidden; overflow-x:auto; }
  body.is-desktop .cb_news_list .news_list_carousel:has(.image) { scrollbar-width:none; user-select:none; cursor:grab; }
	body.is-desktop .cb_news_list .news_list_carousel:has(.image):active { cursor:grabbing; }
  body.is-desktop .cb_news_list .news_list_carousel:has(.image)::-webkit-scrollbar { display:none; }
  body.is-mobile .cb_news_list .news_list_carousel:has(.image) { -webkit-overflow-scrolling:touch; scroll-behavior:smooth; }
  .cb_news_list .news_list:has(.image) { display:flex; flex-wrap:nowrap; margin:0 0 0 60px !important; gap:0; }
  .cb_news_list .news_list:has(.image):after { content:''; background:transparent; height:10px; width:60px; display:block; flex:0 0 60px; }
	.cb_news_list .news_list:has(.image) .item { width:350px !important; margin:0 !important; flex:0 0 350px; border-left:none; }
	.cb_news_list .news_list:has(.image) .item:first-of-type { border-left:1px solid #ddd; }
}
@media (max-width: 950px) {
	.cb_news_list .news_list:not(:has(.image)) { margin:0 60px; }
}
@media (max-width: 767px) {
  .cb_news_list { padding:50px 0; }
  .cb_news_list:last-child { padding-bottom:50px; }
	.cb_news_list .design_headline { padding-left:20px; padding-right:20px; }
	.cb_news_list .news_list:not(:has(.image)) { margin:0 20px; }
  .cb_news_list .news_list:has(.image) { margin:0 0 0 20px !important; gap:0; }
  .cb_news_list .news_list:has(.image):after { width:20px; display:block; flex:0 0 20px; }
	.cb_news_list .news_list:has(.image) .item { width:240px !important; flex:0 0 300px; }
  .cb_news_list .design_button { margin-top:50px !important; }
}


/* ランキング一覧 */
.cb_ranking { position:relative; overflow:hidden; padding:120px 0; }
.cb_ranking:last-child { padding-bottom:150px; }
.cb_ranking .content_inner { position:relative; z-index:3; width:1100px; margin:0 auto; }
.cb_ranking .design_button { margin-top:70px !important; }
@media (max-width: 1300px) {
  .cb_ranking .content_inner { width:auto; margin:0 100px; }
}
@media (max-width: 1200px) {
  .cb_ranking { padding:100px 0; }
  .cb_ranking:last-child { padding-bottom:100px; }
  .cb_ranking .content_inner { margin:0 60px; }
}
@media (max-width: 767px) {
  .cb_ranking { padding:50px 0; }
  .cb_ranking:last-child { padding-bottom:50px; }
  .cb_ranking .content_inner { margin:0 20px; }
  .cb_ranking .design_button { margin-top:50px !important; }
}


/* インタビュー */
.cb_voice { margin:0; padding:120px 100px; overflow:hidden; }
.cb_voice.short_space { /*padding-bottom:20px;*/ }
.cb_voice:last-child { padding-bottom:150px; }
.cb_voice_inner { display:flex; flex-wrap:wrap; position:relative; }
.cb_voice_inner.layout_type1 { flex-direction:row-reverse; }
.cb_voice .voice_list_carousel { width:calc(100% - 360px); }
.cb_voice .voice_list { width:auto; gap:70px 70px; }
body.voice_list_design_type1 .cb_voice .voice_list { gap:70px 90px; }
.cb_voice .voice_list .item a { padding:0; background:none; }
.cb_voice .headline_area { width:360px; padding:0 0 84px 70px; display:flex; flex-direction:column; }
.cb_voice .cb_voice_inner.layout_type2 .headline_area { padding:0 70px 84px 0; }
.cb_voice .headline_area_inner { text-align:center; display:flex; flex-direction:column; align-items:center; }
.cb_voice .headline_area .headline { line-height:1.6; font-weight:600; }
.cb_voice .headline_area .desc { line-height:2.4; font-size:18px; margin-bottom:80px; }
.cb_voice .headline_area.horizontal .headline { margin-top:calc(0.5em - 0.5lh); margin-bottom:calc(0.5em - 0.5lh); }
.cb_voice .headline_area.horizontal .desc { margin-top:calc(0.5em - 0.5lh + 100px); }
.cb_voice .headline_area.vertical .headline { margin-left:calc(0.5em - 0.5lh); margin-right:calc(0.5em - 0.5lh); writing-mode:vertical-rl; text-align:left; }
.cb_voice .headline_area.vertical .desc { line-height:2.8; margin-top:calc(0.5em - 0.5lh + 100px); margin-left:calc(0.5em - 0.5lh); margin-right:calc(0.5em - 0.5lh); writing-mode:vertical-rl; text-align:left; }
.cb_voice .headline_area .button { border:1px solid var(--tcd-accent-color); color:var(--tcd-accent-color); margin-top:auto; display:grid; place-items:center; width:170px; height:170px; border-radius:100%; line-height:1.6; font-weight:600; font-size:16px; padding:30px; left:50%; transform: translateX(-50%); position:relative; }
.cb_voice .headline_area .design_button { margin-top:auto !important; left:50%; transform: translateX(-50%); }
.cb_voice .bottom_button_area { width:100%; text-align:center; }
.cb_voice .design_button { margin-top:70px !important; }
@media (min-width: 1201px) {
  .cb_voice:has(.headline_area.horizontal) {
	  .cb_voice_inner { display:block; width:1100px; margin:0 auto; }
    .cb_voice_inner .headline_area { width:auto; padding:0 0 70px; display:block; }
    .cb_voice_inner .headline_area_inner { display:block; left:50%; transform: translateX(-50%); position:relative; }
    .cb_voice_inner .headline_area .desc { margin-bottom:0px; }
    .cb_voice_inner .headline_area.horizontal .desc { margin-top:calc(0.5em - 0.5lh + 40px); }
    .cb_voice_inner .voice_list_carousel { width:auto; }
	  .cb_voice_inner:has(.headline_area .button) { padding-bottom:270px; }
    .cb_voice_inner .headline_area .button { position:absolute; bottom:0; }
	  .cb_voice_inner:has(.headline_area .design_button) { padding-bottom:140px; }
    .cb_voice_inner .headline_area .design_button { position:absolute; bottom:0; }
	  .voice_list { gap:60px; }
    .voice_list .item a { background:#f6f6f6; padding:60px; display:block; border-radius:15px; }
  }
}
@media(hover: hover) {
	.cb_voice .headline_area .button:hover { background:var(--tcd-accent-color); color:#fff; }
}
@media (max-width: 1300px) {
  .cb_voice_inner { display:block; }
  .cb_voice .headline_area { width:auto; padding:0 0 60px; display:block; }
	.cb_voice .headline_area.vertical { padding:0 0 70px; }
  .cb_voice .headline_area_inner { display:block; left:50%; transform: translateX(-50%); position:relative; }
	.cb_voice .headline_area.vertical .headline_area_inner { writing-mode:vertical-rl; text-align:left; }
  .cb_voice .headline_area .desc { margin-bottom:0px; line-height:2; }
  .cb_voice .headline_area.horizontal .desc { margin-top:calc(0.5em - 0.5lh + 40px); }
  .cb_voice .headline_area.vertical .desc { margin-top:0; margin-right:calc(0.5em - 0.5lh + 40px); }
  .cb_voice .voice_list_carousel { width:auto; }
	.cb_voice_inner:has(.headline_area.vertical .button) { padding-bottom:240px; }
  .cb_voice .headline_area .button { position:absolute; bottom:0; }
	.cb_voice_inner:has(.headline_area .design_button) { padding-bottom:125px; }
  .cb_voice .headline_area .design_button { position:absolute; bottom:0; }
	.cb_voice:has(.headline_area.horizontal) {
	  .cb_voice_inner { width:auto; margin:0 auto; }
	}
}
@media (max-width: 1200px) {
  .cb_voice { margin:0; padding:100px 60px; }
	.cb_voice .voice_list_carousel { overflow:hidden; overflow-x:auto; margin:0 -60px; padding:0 60px; }
  body.is-desktop .cb_voice .voice_list_carousel { scrollbar-width:none; user-select:none; cursor:grab; }
	body.is-desktop .cb_voice .voice_list_carousel:active { cursor:grabbing; }
  body.is-desktop .cb_voice .voice_list_carousel::-webkit-scrollbar { display:none; }
  body.is-mobile .cb_voice .voice_list_carousel { -webkit-overflow-scrolling:touch; scroll-behavior:smooth; }
  .cb_voice .voice_list_carousel .voice_list { display:flex; flex-wrap:nowrap; margin:0px !important; gap:0 40px !important; }
  .cb_voice .voice_list_carousel .voice_list:after { content:''; background:transparent; height:10px; width:20px; display:block; flex:0 0 20px; }
	.cb_voice .voice_list_carousel .voice_list .item { width:350px !important; margin:0 !important; flex:0 0 350px; }
}
@media (max-width: 767px) {
  .cb_voice { margin:0; padding:50px 20px; }
  .cb_voice .headline_area { padding:0 0 40px; }
	.cb_voice .headline_area.vertical { padding:0 0 50px; }
  .cb_voice .headline_area .desc { font-size:16px; }
  .cb_voice .headline_area.horizontal .desc { margin-top:calc(0.5em - 0.5lh + 30px); }
  .cb_voice .headline_area.vertical .desc { line-height:2.2; margin-right:calc(0.5em - 0.5lh + 30px); }
	.cb_voice .voice_list_carousel { margin:0 -20px; padding:0 20px; }
  .cb_voice .voice_list_carousel .voice_list { gap:0 20px !important; }
  .cb_voice .voice_list_carousel .voice_list:after { width:1px; flex:0 0 1px; }
	.cb_voice .voice_list_carousel .voice_list .item { width:265px !important; margin:0 !important; flex:0 0 265px; }
  .cb_voice .headline_area .button { width:130px; height:130px; font-size:14px; padding:20px; }
	.cb_voice_inner:has(.headline_area .button) { padding-bottom:180px; }
	.cb_voice_inner:has(.headline_area.vertical .button) { padding-bottom:180px; }
  .cb_voice .design_button { margin-top:50px !important; }
	.cb_voice_inner:has(.headline_area .design_button) { padding-bottom:105px; }
}


/* ライター一覧 */
.cb_user_list { background:#f6f6f6; padding:120px 0; overflow:hidden; }
.cb_user_list:last-child { padding-bottom:150px; border-bottom:1px solid #ddd; }
.cb_user_list .content_inner { position:relative; z-index:3; width:auto; margin:0 100px; }
.cb_user_list .design_headline .headline { color:var(--tcd-accent-color); }
.cb_user_list .splide__track { overflow:visible; }
.index_user_list:not(:has(.item:nth-child(4))) { transform:none !important; }
.index_user_list:not(:has(.item:nth-child(3))) { justify-content:center; }
.index_user_list .item { border:1px solid #ddd; border-left:none; background:#fff; padding:50px; display:flex; flex-direction:column; }
.index_user_list .item:first-of-type { border-left:1px solid #ddd; }
.index_user_list .image { display:block; width:150px; height:150px; border-radius:100%; margin:0 auto 30px; overflow:hidden; }
.index_user_list .user_meta { text-align:center; }
.index_user_list .name { font-size:20px; line-height:1.2; display:block; font-weight:600; text-align:center; }
.index_user_list .position { font-size:16px; line-height:1.5; text-align:center; margin-top:15px; color:var(--tcd-accent-color); }
.index_user_list .desc { line-height:2.4; --tcd-line-clamp:3; height:auto; margin-top:25px; }
.index_user_list:has(.position) .item:not(:has(.position)) .desc { margin-top:auto; }
.index_user_list .desc a { color: var(--tcdce-base-link-color) !important; }
.index_user_list_carousel .splide__arrows { top:50%; transform: translateY(-50%); }
.index_user_list_carousel .splide__arrow--prev { left:-35px; }
.index_user_list_carousel .splide__arrow--next { right:-35px; }
.cb_user_list .design_button { margin-top:70px !important; }
@media (max-width: 1300px) {
  .cb_user_list .content_inner { width:auto; margin:0 100px; }
}
@media (max-width: 1200px) {
  .cb_user_list { padding:100px 0; }
	.cb_user_list:last-child { padding-bottom:100px; }
  .cb_user_list .content_inner { margin:0; }
	.cb_user_list .design_headline { padding-left:60px; padding-right:60px; }
	.index_user_list_carousel { overflow:hidden; overflow-x:auto; visibility:visible !important; width:auto; }
  .index_user_list_carousel .splide__track { width:auto; }
  body.is-desktop .index_user_list_carousel { scrollbar-width:none; user-select:none; cursor:grab; }
	body.is-desktop .index_user_list_carousel:active { cursor:grabbing; }
  body.is-desktop .index_user_list_carousel::-webkit-scrollbar { display:none; }
	body.is-desktop .splide__track { overflow:hidden; }
  body.is-mobile .index_user_list_carousel { -webkit-overflow-scrolling:touch; scroll-behavior:smooth; }
  .index_user_list_carousel .splide__arrows { display:none; }
  .index_user_list { display:flex !important; flex-wrap:nowrap; margin:0 0 0 60px !important; gap:0; }
  .index_user_list:after { content:''; background:transparent; height:10px; width:60px; display:block; flex:0 0 60px; }
	.index_user_list .item { width:340px !important; margin:0 !important; flex:0 0 340px; padding:30px 20px; }
  .index_user_list .image { width:130px; height:130px; }
	.index_user_list .position { font-size:14px; }
}
@media (max-width: 767px) {
  .cb_user_list { padding:50px 0; }
	.cb_user_list:last-child { padding-bottom:50px; }
	.cb_user_list .design_headline { padding-left:20px; padding-right:20px; }
  .index_user_list { margin:0 0 0 20px !important; }
	.index_user_list:not(:has(.item:nth-child(3))) { justify-content:start; }
	.index_user_list:not(:has(.item:nth-child(2))) { justify-content:center; }
  .index_user_list:after { width:20px; flex:0 0 20px; }
	.index_user_list .item { width:300px !important; flex:0 0 300px; }
  .cb_user_list .design_button { margin-top:50px !important; }
}
@media (max-width: 500px) {
	.index_user_list .item { width:160px !important; flex:0 0 160px; }
  .index_user_list .image { width:100px; height:100px; margin:0 auto 20px; }
	.index_user_list .item .name { font-size:16px; }
	.index_user_list .item .desc { display:none; font-size:14px; }
}


/* スペックカウンター */
.cb_counter { padding:120px 0; overflow:hidden; }
.cb_counter:last-child { padding-bottom:150px; }
.cb_counter .design_headline { margin-bottom:120px; padding-left:100px; padding-right:100px; }
.cb_counter .counter_list { overflow:hidden; overflow-x:auto; padding:0 100px; }
body.is-desktop .cb_counter .counter_list.active { scrollbar-width:none; user-select:none; }
body.is-desktop .cb_counter .counter_list.active:active { cursor:grabbing !important; }
body.is-desktop .cb_counter .counter_list.active::-webkit-scrollbar { display:none; }
body.is-mobile .cb_counter .counter_list.active { -webkit-overflow-scrolling:touch; scroll-behavior:smooth; }
.cb_counter .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; }
.cb_counter .counter_list.active .counter_list_inner { min-width:max-content !important; }
.cb_counter .counter_list.no_border .counter_list_inner { border:none; border-radius:0; min-width:auto; }
.cb_counter .counter_list .item { padding:50px 50px; text-align:center; flex: 1 0 auto; border-right:1px solid #ddd; display:flex; flex-direction:column; justify-content:center; gap:8px 0; }
.cb_counter .counter_list .item:last-of-type { border-right:none; }
.cb_counter .counter_list.no_border .item { border:none; padding:0 50px; }
.cb_counter .counter_list .title { line-height:2; font-size:16px; }
.cb_counter .counter_list .num_area { color:var(--tcd-accent-color); font-weight:600; font-size:60px; }
.cb_counter .counter_list .num_area .unit { font-size:16px; font-weight:500; margin-left:5px; }
@media (max-width: 1200px) {
  .cb_counter { padding:100px 0; }
  .cb_counter:last-child { padding-bottom:100px; }
  .cb_counter .design_headline { margin-bottom:100px; padding:0 60px; }
	.cb_counter .counter_list { padding:0 60px; position:relative; }
	.cb_counter .counter_list_inner:after { content:''; display:block; position:absolute; top:0; left:100%; height:10px; width:60px; }
	.cb_counter .counter_list .num_area { font-size:50px; }
}
@media (max-width: 1000px) {
	.cb_counter .counter_list .num_area { font-size:40px; }
  .cb_counter .counter_list .title { font-size:14px; }
}
@media (max-width: 767px) {
  .cb_counter { padding:50px 0; }
  .cb_counter:last-child { padding-bottom:50px; }
  .cb_counter .design_headline { margin-bottom:50px; padding:0 20px; }
	.cb_counter .counter_list { padding:0 20px; }
	.cb_counter .counter_list_inner:after { width:20px; }
	.cb_counter .counter_list_inner { border-radius:10px; }
	.cb_counter .counter_list .item { padding:40px; }
  .cb_counter .counter_list.no_border .item { padding:0 30px; }
}

/* カウンターの横幅 */
.cb_counter .counter_list.counter-width-2col {
  --tcd-cb-counter-col: 2;
}

.cb_counter .counter_list.counter-width-3col {
  --tcd-cb-counter-col: 3;
}

.cb_counter .counter_list.counter-width-4col {
  --tcd-cb-counter-col: 4;
}

.cb_counter .counter_list: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;
}

.cb_counter .counter_list:not(.counter-width-no-col) .item {
  border: 1px solid #ddd !important;
  margin: -1px 0 0 -1px;
}

/* フリースペース */
.cb_free { padding:120px 0; overflow:hidden; }
.cb_free:last-child { padding-bottom:150px; }
.cb_free .cb_free_content { margin:0 auto; }
.cb_free .cb_free_content.type_wide { width:100%; }
@media (max-width: 1200px) {
  .cb_free { padding:100px 60px; }
  .cb_free:last-child { padding-bottom:100px; }
  .cb_free .cb_free_content { width:auto; margin:0 auto; }
  .cb_free:has(.cb_free_content.full_size) { padding-left:0 !important; padding-right:0 !important;  }
}
@media (max-width: 767px) {
  .cb_free { padding:50px 20px; }
  .cb_free:last-child { padding-bottom:50px; }
}




/* END VOYAGE front_page.css */