@charset "utf-8";


/* ----------------------------------------------------------------------
 ヘッダースライダー
---------------------------------------------------------------------- */
#page_header .content { position:absolute; top:0; left:0; width:100%; height:100%; display:flex; flex-direction:column; justify-content:center; align-items:center; color:#fff; z-index:3; padding:100px 50px; }
#page_header .content.content_position_top { justify-content:flex-start; }
#page_header .content { opacity:0; }
body.start_first_animation #page_header .content { opacity:1; transition:opacity 1.0s ease 0.7s; }
#page_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); }
#page_header .content .catch.vertical { writing-mode:vertical-rl; text-align:left; }
#page_header .content .logo_image picture { display:block; }
#page_header .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); }
@media (max-width: 1200px) {
  body.home #page_header { height:100svh; }
}
@media (max-width: 1000px) {
  #page_header .content .catch { font-size: calc( (var(--tcd-index-slider-catch-font-size-pc) + var(--tcd-index-slider-catch-font-size-sp)) / 2 ) ; }
}
@media (max-width: 767px) {
  #page_header .content { padding:40px 30px; }
  #page_header .content .catch { font-size:var(--tcd-index-slider-catch-font-size-sp); }
  #page_header .content .logo_image img { max-height:var(--tcd-index-logo-image-size-sp); }
}




/* ----------------------------------------------------------------------
 トップページ コンテンツビルダー
---------------------------------------------------------------------- */
body.home #main_content { padding-top:0 !important; padding-bottom:0 !important; }
body.home #main_content > *:last-child { padding-bottom:150px; }
@media (max-width: 1000px) {
  body.home #main_content > *:last-child { padding-bottom:100px; }
}
@media (max-width: 767px) {
  body.home #main_content > *:last-child { padding-bottom:50px; }
}


/* 見出し */
.cb_headline { text-align:center; line-height:1.6 !important; font-size:var(--tcd-cb-headline-font-size-pc) !important; font-family:var(--tcd-cb-headline-font-type) !important; font-weight:600 !important; margin:0 0 100px 0 !important; padding:0 !important; left:50%; transform: translateX(-50%); position:relative; width:auto !important; }
body.cb_headline_vertical .cb_headline { writing-mode:vertical-rl; text-align:left; }
@media (max-width: 1000px) {
  .cb_headline { font-size:calc( (var(--tcd-cb-headline-font-size-pc) + var(--tcd-cb-headline-font-size-sp)) / 2) !important;  }
}
@media (max-width: 767px) {
  .cb_headline { font-size:var(--tcd-cb-headline-font-size-sp) !important; margin:0 0 50px 0 !important; }
}


/* デザインコンテンツ */
.cb_design_content { padding-top:100px; }
.cb_design_content .cb_headline + .desc { margin-bottom:100px; }
.cb_design_content .main_image { margin:0 -100px 100px; width:calc(100% + 200px); position:relative; display:block; aspect-ratio:725 / 500; overflow:hidden; }
.cb_design_content .main_image img { position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; }
@media (min-width: 1920px) {
  .cb_design_content .main_image { width:calc(50vw - (var(--tcd-scrollbar-width) / 2)); margin-left:calc( (50vw - 750px - (var(--tcd-scrollbar-width) / 2)) / 2 * -1); margin-right:calc( (50vw - 750px - (var(--tcd-scrollbar-width) / 2)) / 2 * -1); }
}
@media (max-width: 1350px) {
  .cb_design_content .main_image { margin:0 -50px 100px; width:calc(100% + 100px); }
}
@media (max-width: 1200px) {
  .cb_design_content .main_image { margin:0 -100px 100px; width:calc(100% + 200px); }
}
@media (max-width: 1000px) {
  .cb_design_content .main_image { margin:0 -50px 100px; width:calc(100% + 100px); }
}
@media (max-width: 767px) {
  .cb_design_content { padding-top:50px; }
  .cb_design_content .cb_headline + .desc { margin-bottom:50px; }
  .cb_design_content .main_image { margin:0 -20px 50px; width:calc(100% + 40px); }
}


/* ラージバナー */
*:not(.cb_large_banner) + .cb_large_banner { margin-top:100px; }
.cb_large_banner { margin:0 -100px; padding-bottom:0 !important; width:calc(100% + 200px); height:100vh; position:relative; overflow:hidden; }
.cb_large_banner .overlay { position:absolute; top:0; left:0; width:100%; height:100%; z-index:2; }
.cb_large_banner .bg_image { position:absolute; top:0; left:0; width:100%; height:100%; z-index:1; display:block; }
.cb_large_banner .bg_image img { position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; }
.cb_large_banner .content { position:absolute; top:0; left:0; width:100%; height:100%; display:flex; flex-direction:column; justify-content:center; align-items:center; color:#fff; z-index:3; padding:100px 50px; }
.cb_large_banner .content.position_top { justify-content:flex-start; }
.cb_large_banner .catch { line-height:1.6; letter-spacing:0.15em; }
.cb_large_banner .catch.vertical { writing-mode:vertical-rl; text-align:left; letter-spacing:0.3em; }
@media (min-width: 1920px) {
  .cb_large_banner { width:calc(50vw - (var(--tcd-scrollbar-width) / 2)); margin-left:calc( (50vw - 750px - (var(--tcd-scrollbar-width) / 2)) / 2 * -1); margin-right:calc( (50vw - 750px - (var(--tcd-scrollbar-width) / 2)) / 2 * -1); }
}
@media (max-width: 1350px) {
  .cb_large_banner { margin:0 -50px; width:calc(100% + 100px); }
}
@media (max-width: 1200px) {
  .cb_large_banner { margin:0 -100px; width:calc(100% + 200px); }
}
@media (max-width: 1000px) {
  .cb_large_banner { height:750px; margin:0 -50px; width:calc(100% + 100px); }
}
@media (max-width: 767px) {
  *:not(.cb_large_banner) + .cb_large_banner { margin-top:50px; }
  .cb_large_banner { height:650px; margin:0 -20px; width:calc(100% + 40px); }
  .cb_large_banner .content { padding:50px 30px; }
}
@media (max-width: 450px) {
  .cb_large_banner { height:550px; }
}

/* アニメーション */
body.use_content_animation .cb_content:not(.no_slide).inview { position:relative; transform: translate3d(0,100px,0); opacity:0; transition: opacity 0.9s ease 0s, transform 0.7s ease 0s; }
body.use_content_animation .cb_content:not(.no_slide).inview.inview_animate { transform: translate3d(0,0,0); opacity:1; }
body.use_content_animation .cb_content:first-child:not(.no_slide).inview { transition: opacity 0.9s ease 1.2s, transform 0.7s ease 1.2s; }
body.use_content_animation .cb_large_banner .bg_image { opacity:0; }
body.use_content_animation .cb_large_banner .catch { opacity:0; }
body.use_content_animation .cb_large_banner.inview_animate .bg_image { opacity:1; transition: opacity 1s ease 0.2s; }
body.use_content_animation .cb_large_banner.inview_animate .catch { opacity:1; transition: opacity 1s ease 0.7s; }
body.use_content_animation .cb_large_banner:first-child.inview_animate .bg_image { transition: opacity 1s ease 0.7s; }
body.use_content_animation .cb_large_banner:first-child.inview_animate .catch { transition: opacity 1s ease 1.2s; }


/* お知らせ */
.cb_news { padding-top:100px; }
@media (max-width: 767px) {
  .cb_news { padding-top:50px; }
}


/* ブログ */
.cb_post { padding-top:100px; }
@media (min-width: 1920px) {
	.cb_post .blog_list { grid-template-columns:repeat(3, 1fr); }
}
@media (max-width: 767px) {
  .cb_post { padding-top:50px; }
}


/* フリースペース */
.cb_free { padding:100px 0; }
@media (max-width: 767px) {
  .cb_free { padding:50px 0; }
}



/* END KASHIRA front_page.css */