@charset "utf-8";

/* ----------------------------------------------------------------------
 トップページ ヘッダースライダー
---------------------------------------------------------------------- */
#header_slider_container { width:100%; height:calc((100svh - var(--tcd-header-message-height)) - 220px); max-height:calc((100svh - var(--tcd-header-message-height)) - 220px); position:relative; }
body.header_bar_type2 #header_slider_container { height:calc((100svh - var(--tcd-header-message-height)) - 110px); max-height:calc((100svh - var(--tcd-header-message-height)) - 110px); }
body.header_bar_transparent #header_slider_container { height:calc(100svh - var(--tcd-header-message-height)); max-height:calc(100svh - var(--tcd-header-message-height)); }
#header_slider_container.height_original { aspect-ratio:var(--tcd-index-slider-width) / var(--tcd-index-slider-height); height:auto !important; }
#header_slider_container.bg_type_1.height_original,
#header_slider_container.bg_type_2.height_original { aspect-ratio:16 / 9 !important; min-height:700px; }
#header_slider_container:has(img) { background:#222; }
@media (max-width: 1280px) {
  #header_slider_container,
  body.header_bar_type2 #header_slider_container { height:calc((100svh - var(--tcd-header-message-height)) - 60px); max-height:calc((100svh - var(--tcd-header-message-height)) - 60px); }
  body.header_bar_transparent #header_slider_container { height:calc(100svh - var(--tcd-header-message-height)); max-height:calc(100svh - var(--tcd-header-message-height)); }
}
@media (max-width: 1000px) {
  #header_slider_container.height_original { height:570px !important; aspect-ratio:unset !important; }
}


/* スライダーエリア */
#header_slider { height:100%; width:100%; position:relative; overflow:hidden; }
#header_slider .swiper-wrapper { height:100%; width:100%; position:relative; }
#header_slider .item { width:100%; height:100%; position:relative; overflow:hidden; will-change:transform; }
#header_slider .item_inner { width:100%; height:100%; position:relative; overflow:hidden; display:flex; flex-wrap:wrap; justify-content:center; align-items:center; will-change:transform; }
#header_slider .bg_image { width:100%; height:100%; position:absolute; top:0px; left:0px; z-index:1; will-change:transform; display:block; }
#header_slider .bg_image img { width:100%; height:100%; display:block; margin:0; object-fit:cover; }
#header_slider .bg_image .mobile { display:none; }
#header_slider_container .overlay { width:100%; height:100%; position:absolute; top:0; left:0; z-index:2; }


/* コンテンツ */
.header_slider_content {
	color:#fff; position:absolute; top:0; left:50%; transform: translateX(-50%); z-index:100; text-align:center; width:700px; height:100%;
  display:flex; flex-direction:column; justify-content:center; align-items:center; gap:40px 0;
}
.header_slider_content .catch { line-height:1.4; font-size:var(--tcd-index-slider-catch-font-size-pc); font-family:var(--tcd-index-slider-catch-font-type); }
.header_slider_content.direction_horizontal .catch { margin-bottom:-10px; }
.header_slider_content .desc { line-height:2.4; font-weight:500; font-size:16px; }
.header_slider_content.direction_horizontal .desc { margin:-10px 0; }
.header_slider_content .button { border-color:#fff; color:#fff; }
.header_slider_content .logo { text-align:center; }
.header_slider_content .logo img { display:block; height:var(--tcd-index-slider-logo-size-pc); width:auto; }
.header_slider_content a:not(.button) { color:#ffffff; text-decoration:underline; }
@media(hover: hover) {
  .header_slider_content .button:hover { border-color:var(--tcd-accent-color); color:#fff !important; }
	.header_slider_content a:not(.button):hover { color:rgba(255,255,255,0.6); }
}
.header_slider_content.direction_vertical .vertical_content { align-items:start; writing-mode:vertical-rl; text-align:left; max-height:calc(100% - 400px); opacity:1; transition:none; }
.header_slider_content.direction_vertical .vertical_content .catch { line-height:1.6; }
.header_slider_content.direction_vertical .vertical_content .catch + .desc { margin-right:30px; }
@media (max-width: 1280px) {
  .header_slider_content .logo img { height:calc((var(--tcd-index-slider-logo-size-pc) + var(--tcd-index-slider-logo-size-sp)) / 2); }
  .header_slider_content.direction_vertical .vertical_content { max-height:calc(100% - 240px); }
  .header_slider_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: 1000px) {
  .header_slider_content { width:100%; padding:0 50px; gap:30px 0; }
  .header_slider_content.direction_vertical .vertical_content { max-height:calc(100% - 200px); }
  .header_slider_content.direction_vertical .vertical_content .catch { line-height:1.4; }
  .header_slider_content.direction_vertical .vertical_content .catch + .desc { margin-right:20px; }
  .header_slider_content.direction_horizontal .catch { margin-bottom:0px; }
	.header_slider_content .desc { line-height:2; font-size:16px; }
}
@media (max-width: 767px) {
  .header_slider_content .logo img { height:var(--tcd-index-slider-logo-size-sp); }
  .header_slider_content .catch { font-size:var(--tcd-index-slider-catch-font-size-sp); }
}


/* コンテンツのアニメーション */
.header_slider_content > * { opacity:0.01; transition:opacity 0.5s ease 1.0s; }
.header_slider_content .vertical_content > * { opacity:0.01; transition:opacity 0.5s ease 1.0s; }
.header_slider_content .logo { filter:blur(30px); }
body.start_first_animation .header_slider_content.direction_horizontal > *:nth-child(1) { opacity:1; animation: content_animation 1s ease forwards 0.5s; transition:opacity 1s ease 0.5s, border-color 0.25s ease, color 0.25s ease, background-color 0.25s ease; }
body.start_first_animation .header_slider_content.direction_horizontal > *:nth-child(2) { opacity:1; animation: content_animation 1s ease forwards 0.7s; transition:opacity 1s ease 0.7s, border-color 0.25s ease, color 0.25s ease, background-color 0.25s ease; }
body.start_first_animation .header_slider_content.direction_horizontal > *:nth-child(3) { opacity:1; animation: content_animation 1s ease forwards 0.9s; transition:opacity 1s ease 0.9s, border-color 0.25s ease, color 0.25s ease, background-color 0.25s ease; }
body.start_first_animation .vertical_content > *:nth-child(1) { opacity:1; animation: content_animation 1s ease forwards 0.5s; transition:opacity 1s ease 0.5s, border-color 0.25s ease, color 0.25s ease, background-color 0.25s ease; }
body.start_first_animation .vertical_content > *:nth-child(2) { opacity:1; animation: content_animation 1s ease forwards 0.7s; transition:opacity 1s ease 0.7s, border-color 0.25s ease, color 0.25s ease, background-color 0.25s ease; }
body.start_first_animation .header_slider_content > .logo { opacity:1; filter:blur(0px); animation:none !important; transition:opacity 0.5s ease 0.5s, filter 1.4s ease 0.5s !important; }
@keyframes content_animation {
  0% { transform: translate3d(0, 30px, 0); }
  100% { transform: translate3d(0, 0, 0); }
}


/* ズームアウトアニメーション */
#header_slider.animation_zoom_out .item.p-effect-slidein .bg_image,
#header_slider.animation_zoom_out .item.p-effect-slidein.p-effect-reverse .bg_image { transform: translate3d(0, 0, 0); transition-property: transform; }
#header_slider.animation_zoom_out .item.p-effect-slideout .bg_image { transform: translate3d(0, 0, 0); transition-property: transform; }
#header_slider.animation_zoom_out .item.p-effect-reverse .bg_image { transform: translate3d(0, 0, 0); }
#header_slider.animation_zoom_out .item.p-effect-slideout.p-effect-reverse .bg_image { transform: translate3d(0, 0, 0); transition-property: transform; }
#header_slider.animation_zoom_out .bg_image img { transform:scale(1.4); }
#header_slider.animation_zoom_out .item.p-effect-slidein .bg_image img { transform:scale(1); transition: transform 10.0s linear 0s; }
#header_slider.animation_zoom_out .item.p-effect-slideout .bg_image img { transform:scale(1); transition: transform 10.0s linear 0s; }


/* ズームインアニメーション */
#header_slider.animation_zoom_in .item.p-effect-slidein .bg_image,
#header_slider.animation_zoom_in .item.p-effect-slidein.p-effect-reverse .bg_image { transform: translate3d(0, 0, 0); transition-property: transform; }
#header_slider.animation_zoom_in .item.p-effect-slideout .bg_image { transform: translate3d(0, 0, 0); transition-property: transform; }
#header_slider.animation_zoom_in .item.p-effect-reverse .bg_image { transform: translate3d(0, 0, 0); }
#header_slider.animation_zoom_in .item.p-effect-slideout.p-effect-reverse .bg_image { transform: translate3d(0, 0, 0); transition-property: transform; }
#header_slider.animation_zoom_in .bg_image img { transform:scale(1); }
#header_slider.animation_zoom_in .item.p-effect-slidein .bg_image img { transform:scale(1.2); transition: transform 10.0s linear 0s; }
#header_slider.animation_zoom_in .item.p-effect-slideout .bg_image img { transform:scale(1.2); transition: transform 10.0s linear 0s; }


/* 動画 */
#header_slider .bg_video { width:100%; height:100%; position:absolute; top:0; left:0; object-fit:cover; pointer-events: none; }
#header_slider .bg_youtube { width:100%; height:100%; max-width: none; position:absolute; top:0; left:0; pointer-events: none; }


/* ニュースティッカー */
#news_ticker { position:absolute; overflow:hidden; right:30px; bottom:30px; z-index:100; width:450px; height:60px; border-radius:10px; border:1px solid rgba(255,255,255,0.5); }
#news_ticker_carousel { width:450px; height:60px; }
#news_ticker .item { opacity:0; height:60px; line-height:60px; position:relative; padding:0 30px; color:#fff; }
#news_ticker .item:first-child { opacity:1; }
#news_ticker .item .content { display:flex; flex-wrap:nowrap; }
#news_ticker .c-date { flex: 0 0 auto; font-size:14px; font-weight:500; transition: color 0.25s ease; margin:0 20px 0 0; color:#fff; }
#news_ticker .title { font-size:14px; transition: color 0.25s ease; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; visibility:visible; }
#news_ticker .item.no_date .title { width:100%; }
#news_ticker { opacity:0; }
body.start_first_animation #news_ticker { opacity:1; transition:opacity 1.2s ease 0.2s; }
@media(hover: hover) {
	#news_ticker a:hover,
	#news_ticker a:hover .c-date { color:rgba(255,255,255,0.5); }
}
@media (max-width: 1000px) {
  #news_ticker { right:0px; bottom:0px; width:100%; border-radius:0; border:none; border-top:1px solid rgba(255,255,255,0.2); }
  #news_ticker_carousel { width:100%; }
}
@media (max-width: 767px) {
	#news_ticker { height:50px; }
  #news_ticker .item { padding:0 20px; height:50px; line-height:50px; }
  #news_ticker .c-date { margin:0 15px 0 0; }
}




/* ----------------------------------------------------------------------
 トップページ コンテンツビルダー
---------------------------------------------------------------------- */
.white_bg + .white_bg { padding-top:0; }


/* ブログ一覧 */
.cb_post { width:900px; margin:0 auto; padding:150px 0; scroll-margin-top:-40px; }
.cb_post .blog_list { margin-top:72px; }
.cb_post .link_button { display:grid; place-items:center; margin-top:80px; }
@media (max-width: 1000px) {
  .cb_post { width:auto; margin:0 50px; padding:100px 0; }
}
@media (max-width: 767px) {
  .cb_post { margin:0 20px; padding:40px 0; }
  .cb_post .blog_list { margin-top:38px; }
  .cb_post .link_button { margin-top:40px; }
}


/* お知らせ一覧 */
.cb_news { width:900px; margin:0 auto; padding:150px 0; scroll-margin-top:-40px; }
.cb_news .link_button { display:grid; place-items:center; margin-top:50px; }
@media (max-width: 1000px) {
  .cb_news { width:auto; margin:0 50px; padding:100px 0; }
}
@media (max-width: 767px) {
  .cb_news { margin:0 20px; padding:40px 0; }
  .cb_news .link_button { margin-top:40px; }
}


/* 行事一覧 */
.cb_contents1 { padding:150px 0; scroll-margin-top:-40px; }
.cb_contents1 .desc { margin:70px auto 100px; width:900px; }
.cb_contents1 .desc.vertical { display:flex; justify-content:center; width:auto; }
.cb_contents1 .desc .mobile { display:none; }
.cb_contents1 .desc p { text-align:center; line-height:2.4; margin-bottom:-10px; }
.cb_contents1 .desc.vertical p { writing-mode:vertical-rl; text-align:left; line-height:3.5; margin:0; }
.cb_contents1 .desc a { text-decoration:underline; }
.cb_contents1_carousel_wrap { position:relative; }
.cb_contents1_list .item { width:50%; height:auto; aspect-ratio:740 / 530; }
.cb_contents1_list .item a { display:block; width:100%; height:100%; position:relative; overflow:hidden; z-index:2; }
.cb_contents1_list .item .title { position:absolute; z-index:20; right:0; bottom:0; min-width:280px; height:70px; color:#000; background:#fff; padding:0 50px 0 30px; display:flex; flex-wrap:wrap; align-items:center; transform: translate3d(0,100%,0); transition: transform 0.25s ease; }
.cb_contents1_list .item .title:after { position:absolute; right:20px; content:''; mask:var(--tcd-icon--arrow-thin) no-repeat center / 1em; font-size:20px; width:1em; height:1em; background:#000; transition:background-color 0.25s ease; }
.cb_contents1_list .item .title span { height:1.1em !important; max-height:1.1em; padding-top:0.1em !important; }
.cb_contents1_list .c-thumbnail { width:100%; height:100%; position:absolute; top:0; left:0; z-index:1; }
.cb_contents1_list .image { display:block; width:100%; height:100%; }
.cb_contents1_list .image img { object-fit:cover; width:100%; height:100%; position:absolute; top:0; left:0; z-index:1; }
.cb_contents1 .swiper-nav-button { width:60px !important; height:60px !important; background:#fff; border-radius:100%; box-shadow:0 0 10px 0 rgba(0,0,0,0.2); }
.cb_contents1 .swiper-nav-button:before { font-size:18px; margin-left:2px; margin-top:2px; }
.cb_contents1 .swiper-button-prev:before { margin-left:-2px; }
.cb_contents1 .swiper-nav-button { opacity:0; }
.cb_contents1_prev { left:40px !important; }
.cb_contents1_next { right:40px !important; }
.cb_contents1 .link_button { display:grid; place-items:center; margin-top:80px; }
@media(hover: hover) {
	.cb_contents1_list .item a:hover .title { transform: translate3d(0,0,0); }
  .cb_contents1 .desc a:hover { color:rgba(0,0,0,0.6); }
  .cb_contents1_carousel_wrap:hover .swiper-nav-button { opacity:1; }
}
@media (max-width: 1000px) {
	.cb_contents1 { padding:100px 0; }
  .cb_contents1 .desc { margin:0 50px 80px; width:auto; }
  .cb_contents1 .desc.vertical p { line-height:3; }
  .cb_contents1_list .item { width:calc(100% - 200px); }
	.cb_contents1 .swiper-nav-button { display:none; }
	.cb_contents1_list .item .title { min-width:160px; height:50px; background:#fff; padding:0 50px 0 20px; font-size:14px; transform: translate3d(0,0,0); }
	.cb_contents1_list .item .title:after { right:15px; font-size:14px; }
}
@media (max-width: 767px) {
	.cb_contents1 { padding:40px 0; }
  .cb_contents1 .desc { margin:0 20px 35px; }
  .cb_contents1 .desc p { line-height:2; margin-bottom:-5px; }
  .cb_contents1 .desc.vertical p { line-height:2.5; }
  .cb_contents1_list .item { width:calc(100% - 60px); }
  .cb_contents1 .link_button { display:grid; place-items:center; margin-top:40px; }
}


/* ラージバナー */
/* 固定ページへ記述 */


/* バナー一覧 */
.cb_banner_list { display:flex; flex-wrap:nowrap; scroll-margin-top:-40px; }
.cb_banner_list .item { flex: 1 1 0%; }
.cb_banner_list .item.no_link { pointer-events:none; }
.cb_banner_list .image { width:calc(100% + 1px); aspect-ratio:500 / 230; max-height:230px; }
.cb_banner_list .title { height:70px; line-height:1.5; display:grid; place-items:center; padding:0 30px; }
.cb_banner_list .title span { --tcd-line-clamp:2; height:auto; }
@media (max-width: 1000px) {
	.cb_banner_list:has(.item:nth-child(3)):has(.item:nth-child(4)) { flex-wrap:wrap; }
  .cb_banner_list:has(.item:nth-child(3)):has(.item:nth-child(4)) .item { flex: 1 1 50%; width:50%; }
  .cb_banner_list .image { min-height:170px; }
  .cb_banner_list .title { height:auto; padding:17px 25px; font-size:16px; }
  .cb_banner_list .title span { --tcd-line-clamp:auto; max-height:inherit; overflow:visible; }
}
@media (max-width: 600px) {
  .cb_banner_list:has(.item:nth-child(3)):not(:has(.item:nth-child(4))) { display:block !important; }
	.cb_banner_list:has(.item:nth-child(3)):not(:has(.item:nth-child(4))) .item { width:100% !important; }
}
@media (max-width: 450px) {
  .cb_banner_list { display:block !important; }
	.cb_banner_list .item { width:100% !important; }
}


/* フリースペース */
.cb_free { padding:150px 0; }
.cb_free .cb_free_content { margin:0 auto; }
.cb_free .cb_free_content.type_wide { width:100%; }
@media (max-width: 1000px) {
  .cb_free { padding:100px 0; }
  .cb_free .cb_free_content { width:auto; margin:0 50px; }
  .cb_free .cb_free_content.full_size { margin:0; }
}
@media (max-width: 767px) {
  .cb_free { padding:40px 0; }
  .cb_free .cb_free_content { margin:0 20px; }
}



/* END ZEN front_page.css */