@charset "utf-8";
/*
Theme Name:BIJOUX
Theme URI:https://tcd-theme.com/tcd117
Description:BIJOUX is a WordPress theme designed specifically for multi-purpose facilities, shops, and service-oriented websites. Its flexible structure allows you to represent each floor or service clearly and effectively. Whether your facility includes a café, office space, or rental rooms, this theme makes it easy to build a professional website.
Author:TCD
Author URI:https://tcd-theme.com/
Version:1.0.2
Text Domain:tcd-bijoux
*/


/* ----------------------------------------------------------------------
  基本設定
---------------------------------------------------------------------- */
html:has(#wpadminbar) { padding-top:32px; }
html:has(body.is-mobile) { overscroll-behavior:none; }
body.is-mobile { overscroll-behavior:none; }
body.is-mobile *::-webkit-scrollbar { display:none; }
input, textarea, select, button { font-family:var(--tcd-base-font-type, sans-serif); }
a, a:before, a:after { transition: color 0.25s ease, background-color 0.25s ease, border-color 0.25s ease, opacity 0.25s ease; }
a { color:#000; text-decoration:none; }
:is(.tcdce-body, .editor-styles-wrapper) *:first-child { margin-top:0; }
@media(hover: hover) {
  a:hover:not(.tcdce-body a) { color:rgba(0,0,0,0.6); }
}
.post_content :is(.tcdce-body, .editor-styles-wrapper) { line-height:2.6; }
@media (max-width: 782px) {
  .post_content :is(.tcdce-body, .editor-styles-wrapper) { line-height:2.4; }
  .post_content table { font-size:14px; }
  html:has(#wpadminbar) { padding-top:46px; }
}


/* レイアウト */
#container { width:100%; top:0; left:0; overflow:clip; }
body:not(.home):not(.page-template-page__lp):not(:has(#page_header)) #container { margin-top:calc(100px + var(--tcd-header-message-height)); }
#post_container { width:1180px; margin:70px auto 150px; display:flex; flex-wrap:wrap; justify-content:space-between; }
body.sidebar_left #post_container { flex-direction:row-reverse; }
#post_container .main_col { width:830px; container-type:inline-size; container-name:main_col; }
#post_container .l-sidebar { width:300px; }
#post_container:not(:has(.l-sidebar)) .main_col { margin:0 auto; }
body.single-news.sidebar_none #post_container .main_col,
body.page.sidebar_none #post_container .main_col { width:900px; }
@media (max-width: 1280px) {
  #post_container { width:auto; margin-left:50px; margin-right:50px; }
  #post_container .main_col { width:calc(100% - 340px); }
  #post_container .l-sidebar.main { width:300px; }
}
@media (max-width: 1100px) {
  #post_container { margin:50px 100px; flex-direction:column; }
  body:not(.home):not(.page-template-page__lp):not(:has(#page_header)) #container { margin-top:calc(60px + var(--tcd-header-message-height)); }
	#post_container .main_col { width:100%; order:1; }
  #post_container:not(:has(.l-sidebar)) .main_col { margin:0; }
	#post_container .l-sidebar { width:100%; margin-top:70px; order:3; }
	#post_container .l-sidebar .p-widget-list { display:grid; gap:50px 50px; grid-template-columns:repeat(2, 1fr) !important; }
	body.home:not(:has(#index_hero_header_wrap)) #container { padding-top:60px; }
  body.single-news.sidebar_none #post_container .main_col,
  body.page.sidebar_none #post_container .main_col { width:100%; }
}
@media (max-width: 1000px) {
  #post_container { margin:50px 50px !important; }
}
@media (max-width: 767px) {
  #post_container { margin:30px 20px 40px !important; }
	#post_container .l-sidebar { margin-top:40px; }
  #post_container .l-sidebar .p-widget-list { gap:40px 20px; }
}
@media (max-width: 600px) {
  #post_container .l-sidebar .p-widget-list { grid-template-columns:repeat(1, 1fr) !important; }
}


/* 画像のホバーアニメーション */
.c-thumbnail { overflow:hidden; backface-visibility:hidden; position:relative; z-index:2; display:block; }
.c-thumbnail-image { width:100%; height:100%; object-fit:cover; pointer-events:none; position:absolute; top:0; left:0; }
body.hover_zoom .c-thumbnail-image { transform:scale(1); transition:transform 0.5s ease; backface-visibility:hidden; -webkit-backface-visibility:hidden; }
body.hover_fade .c-thumbnail { background:#000; }
body.hover_fade .c-thumbnail-image { opacity:1; transition:opacity 0.9s ease; }
@media(hover: hover) {
  body.hover_zoom :where(a, .c-thumbnail):hover .c-thumbnail-image { transform:scale(1.1); }
  body.hover_fade :where(a, .c-thumbnail):hover .c-thumbnail-image { opacity:0.7; }
}


/* 抜粋表示（3点リーダ） */
.c-line-clamp { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: var(--tcd-line-clamp); height: calc(1lh * var(--tcd-line-clamp)); max-height: calc(1lh * var(--tcd-line-clamp)); overflow: hidden; visibility: visible; word-break: break-all; margin-block: var(--tcd-half-read); }


/* 表示切り替え */
@media not all and (max-width: 767px) {
  .c-hidden-pc { display: none; }
}
@media (max-width: 767px) {
  .c-hidden-sp { display: none; }
}


/* 日付 */
.c-date { display:flex; flex-wrap:wrap; gap:0.8em; font-family:'Arial'; font-size:14px; color:#999; line-height:1; }
.c-date-item { display:grid; align-items:center; grid-template-columns:auto auto; gap:0.3em; }
.c-date-item:before { content:''; width:1em; height:1em; background: currentColor; }
.c-date--publish:before { mask:var(--tcd-icon--publish) no-repeat center / 1.2em; }
.c-date--updated:before { mask:var(--tcd-icon--updated) no-repeat center / 1.2em; }
@media (max-width: 767px) {
  .c-date { font-size: 14px; }
}


/* 基本ボタン */
.c-button01 { display: grid; place-items: center; width: fit-content; min-width: 260px; height: 60px; border-radius:60px; font-size: 16px; color: var(--tcd-accent-color); border: 1px solid var(--tcd-accent-color); text-decoration:none !important; padding:0 25px; }
.c-button01.white { color:#fff; border-color:rgba(255,255,255,0.8); }
.c-button02 { display: grid; place-items: center; width: fit-content; min-width: 160px; height: 50px; font-size: 14px; color: var(--tcd-accent-color); border: 1px solid var(--tcd-accent-color); padding:0 25px; }
@media(hover: hover) {
  .c-button01:hover, .c-button02:hover { color:#fff !important; background:var(--tcd-accent-color); }
	.c-button01.white:hover { border-color:var(--tcd-accent-color); }
}
@media (max-width: 767px) {
  .c-button01 { min-width: 240px; height: 50px; font-size: 14px; }
}


/* ページネーション */
.c-pagination { margin-top:70px; }
.c-pagination .screen-reader-text { display:none; }
.c-pagination :where(.nav-links) { display:grid; gap:0 10px; grid-template-columns:repeat(auto-fit, 50px); grid-template-rows:50px; justify-content:center; font-size:14px; font-family:Arial; text-align:center; }
.c-pagination :where(.nav-links > *) { display:grid; place-items:center; color:#000000; border:1px solid #ddd; background:#fff; border-radius:100%; }
.c-pagination :where(.nav-links > * + *) { }
.c-pagination .page-numbers.dots { border:none; margin:0 -10px; position:relative; }
.c-pagination :where(.nav-links > .current) { z-index:1; color:#ffffff; border-color:var(--tcd-accent-color); background:var(--tcd-accent-color); }
@media(hover: hover) {
  .c-pagination :where(.nav-links > a:hover) { z-index:1; color:#ffffff !important; border-color:var(--tcd-accent-color); background:var(--tcd-accent-color); }
}
@media (max-width: 767px) {
  .c-pagination { margin-top:40px; }
  .c-pagination :where(.nav-links) { grid-template-columns:repeat(auto-fit, 45px); grid-template-rows:45px; }
}


/* 色付きカテゴリーボタン */
.category_button { text-align:center; align-self:flex-start; height:40px; line-height:40px; min-width:130px; padding:0 15px; font-size:12px; max-width:100%; border:1px solid var(--tcd-accent-color); color:var(--tcd-accent-color) !important; border-radius:50px; overflow: hidden; visibility: visible; word-break: break-all; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp:1; }
@media(hover: hover) {
	.category_button:hover { color:#fff !important; background:var(--tcd-accent-color); }
}
@media (max-width: 900px) {
	.category_button { min-width:120px; height:35px; line-height:35px; }
}


/* 矢印付ボタン */
.design_button { font-size:16px; align-self:flex-start; position:relative; overflow:hidden; height:70px; line-height:70px; background:var(--tcd-accent-color); display:block; text-align:center; color:#fff !important; padding:0 85px; width:fit-content; min-width:300px; margin:0 auto; margin-top:120px !important; text-decoration:none !important; }
.design_button:before { content:''; display:block; mask:var(--tcd-icon--arrow-long) no-repeat center / 1em; font-size:30px; width:1em; height:1em; background:#fff; transition:background-color 0.25s ease; position:absolute; top:50%; left:30px; transform: translate3d(-20px,-50%,0); transition: transform 0.25s ease, opacity 0.25s ease; opacity:0; }
p + .design_button,
p + p .design_button { margin-top:110px !important; }
p:last-child:has(.design_button) { margin-bottom:0 !important; }
@media(hover: hover) {
	.design_button:hover:before { transform: translate3d(0,-50%,0); opacity:1; }
}
@media (max-width: 1100px) {
  .design_button { margin-top:70px !important; }
  p + .design_button,
  p + p .design_button { margin-top:60px !important; }
}
@media (max-width: 900px) {
  .design_button { height:60px; line-height:60px; padding:0 65px; min-width:260px; margin-top:40px !important; font-size:16px; }
  .design_button:before { font-size:30px; width:1em; left:15px; }
  p + .design_button,
  p + p .design_button { margin-top:35px !important; }
}


/* 画像スライダー（ショートコード） */
#sc_image_slider_wrap { position:relative; width:calc(100vw - var(--tcd-scrollbar-width)); left:calc((100% - (100vw - var(--tcd-scrollbar-width))) / 2); margin:110px 0 110px !important; }
#sc_image_slider_wrap:first-child { margin-top:0 !important; }
#sc_image_slider_wrap:last-child { margin-bottom:0 !important; }
#sc_image_slider { width:900px; margin:0 auto; }
#sc_image_slider .item { width:100%; height:auto; aspect-ratio:900 / 620; position:relative; overflow:hidden; }
#sc_image_slider .item img { display:block; width:100%; height:100%; position:absolute; top:0; left:0; object-fit:cover; }
#sc_image_slider .splide__track { overflow:visible; }
#sc_image_slider .splide__pagination { gap:0 20px; margin-top:50px; }
#sc_image_slider .splide__arrows { width:var(--tcd-body-width); left: calc((100% - var(--tcd-body-width)) / 2); top:calc(50% - 35px); transform: translateY(-50%); }
#sc_image_slider .splide__arrow { opacity:1; }
#sc_image_slider .splide__arrow:before { background:#fff; font-size:40px; }
#sc_image_slider .splide__arrow--prev { left:50px; }
#sc_image_slider .splide__arrow--next { right:50px; }
@media(hover: hover) {
  #sc_image_slider .splide__arrow:hover { opacity:0.7; }
}
@media (max-width: 1100px) {
	#sc_image_slider_wrap { margin:60px 0 !important; }
  #sc_image_slider { width:auto; margin:0 100px; }
}
@media (max-width: 1000px) {
  #sc_image_slider { width:auto; margin:0 50px; }
}
@media (max-width: 767px) {
	#sc_image_slider_wrap { margin:35px 0 !important; }
  #sc_image_slider { width:auto; margin:0 50px; }
  #sc_image_slider .splide__pagination { gap:0 10px; margin-top:20px; }
}


/* 画像カルーセル（ショートコード） */
.sc_image_carousel { position:relative; margin:110px 0 !important; width:calc(100vw - var(--tcd-scrollbar-width)); left:calc((100% - (100vw - var(--tcd-scrollbar-width))) / 2); height:400px; }
.sc_image_carousel + h2, .sc_image_carousel + h3, .sc_image_carousel + h4 { margin-top:calc(0.5em - 0.5lh) !important; }
.sc_image_carousel_list { position:absolute; display:flex; flex:nowrap; gap:0 40px; top:0; left:100px; }
.sc_image_carousel .item { width:600px; height:400px; position:relative; overflow:hidden; border-radius:10px; }
.sc_image_carousel .item img { display:block; width:100%; height:100%; position:absolute; top:0; left:0; object-fit:cover; }
.sc_image_carousel:not(.active_sc_image_carousel) { width:100%; left:0; height:auto; }
.sc_image_carousel:not(.active_sc_image_carousel) .sc_image_carousel_list { position:relative; left:0; }
.sc_image_carousel:not(.active_sc_image_carousel) .item { width:50%; height:auto; aspect-ratio:600 / 400; }
body.home .sc_image_carousel:not(.active_sc_image_carousel) .sc_image_carousel_list,
body.tax-service_category .sc_image_carousel:not(.active_sc_image_carousel) .sc_image_carousel_list { left:100px; width:calc(100% - 200px); }
@media (max-width: 1100px) {
  .sc_image_carousel { margin:70px 0 !important; }
  .sc_image_carousel.active_sc_image_carousel { height:auto; padding:0 100px 1px; overflow:none; overflow-x:auto; }
  body.is-desktop .sc_image_carousel.active_sc_image_carousel { scrollbar-width:none; user-select:none; }
  body.is-desktop .sc_image_carousel.active_sc_image_carousel::-webkit-scrollbar { display:none; }
  body.is-mobile .sc_image_carousel.active_sc_image_carousel { -webkit-overflow-scrolling:touch; scroll-behavior:smooth; }
  .sc_image_carousel.active_sc_image_carousel .sc_image_carousel_list { width:auto; display:block; white-space:nowrap; font-size:0; position:relative; text-align:center; left:0; }
  .sc_image_carousel.active_sc_image_carousel .sc_image_carousel_list:after { content:''; position:absolute; top:0; left:auto; height:10px; width:100px; }
  .sc_image_carousel.active_sc_image_carousel .item { width:450px; height:auto; aspect-ratio:600 / 400; margin-right:30px; border-radius:7px; display:inline-block; white-space:wrap; }
  .sc_image_carousel.active_sc_image_carousel .item:last-of-type { margin-right:0 !important; }
	.sc_image_carousel:not(.active_sc_image_carousel) .sc_image_carousel_list { gap:0 30px; }
	.sc_image_carousel:not(.active_sc_image_carousel) .item { max-width:450px; border-radius:7px; }
}
@media (max-width: 1000px) {
  .sc_image_carousel.active_sc_image_carousel { padding:0 50px 1px; }
  .sc_image_carousel.active_sc_image_carousel .sc_image_carousel_list:after { width:50px; }
	body.home .sc_image_carousel:not(.active_sc_image_carousel) .sc_image_carousel_list,
  body.tax-service_category .sc_image_carousel:not(.active_sc_image_carousel) .sc_image_carousel_list { left:50px; width:calc(100% - 100px); }
}
@media (max-width: 767px) {
	.sc_image_carousel { margin:40px 0 !important; }
	p + .sc_image_carousel { margin-top:35px !important; }
  .sc_image_carousel.active_sc_image_carousel { padding:0 20px 1px; }
  .sc_image_carousel.active_sc_image_carousel .sc_image_carousel_list:after { width:20px; }
  .sc_image_carousel.active_sc_image_carousel .item { width:260px; margin-right:20px; }
	.sc_image_carousel:not(.active_sc_image_carousel) .sc_image_carousel_list { gap:0 20px; }
	.sc_image_carousel:not(.active_sc_image_carousel) .item { max-width:260px; }
  body.home .sc_image_carousel:not(.active_sc_image_carousel) .sc_image_carousel_list,
  body.tax-service_category .sc_image_carousel:not(.active_sc_image_carousel) .sc_image_carousel_list { left:20px; width:calc(100% - 40px); }
}
@media (max-width: 600px) {
  .sc_image_carousel:not(.active_sc_image_carousel) { overflow:none; }
  .sc_image_carousel:not(.active_sc_image_carousel) .sc_image_carousel_list { display:block; white-space:wrap; }
	.sc_image_carousel:not(.active_sc_image_carousel) .item { display:block; max-width:100%; width:100%; height:auto; aspect-ratio:260 / 172; margin:0 0 15px 0; }
	.sc_image_carousel:not(.active_sc_image_carousel) .item:last-of-type { margin-bottom:0; }
}


/* パララックスバナー */
.parallax_banner { width:100%; height:auto; max-height:650px; aspect-ratio:1450 / 650; position:relative; overflow:hidden; clip-path:inset(0); }
.parallax_banner .bg_image { display:block; width:100%; height:100%; position:absolute; top:0; left:0; z-index:1; }
.parallax_banner .bg_image img { width:100%; height:100%; display:block; position:absolute; top:0; left:0; object-fit:cover; }
.parallax_banner .overlay { width:100%; height:100%; position:absolute; top:0; left:0; z-index:2; }
.parallax_banner.type_parallax .bg_image { height:140%; }
.parallax_banner.type_fixed .bg_image { height:calc(100vh - 100px); position:fixed; top:100px; left:0; }
@media (max-width: 1100px) {
	.parallax_banner { height:400px; }
}
@media (max-width: 767px) {
	.parallax_banner { height:300px; }
}
@media (max-width: 450px) {
	.parallax_banner { height:240px; }
}


/* 見出し */
.tcd_headline { font-size:var(--tcd-headline-font-size-pc) !important; font-family:var(--tcd-headline-font-type) !important; text-align:center !important; line-height:1 !important; font-weight:600; margin:100px 0 60px !important; }
.tcd_headline:first-child { margin-top:calc(0.5em - 0.5lh) !important; }
.tcd_catch { font-size:var(--tcd-catch-font-size-pc) !important; font-family:var(--tcd-catch-font-type) !important; text-align:center !important; line-height:1.5 !important; font-weight:600; margin:100px 0 !important; }
.tcd_catch:first-child { margin-top:calc(0.5em - 0.5lh) !important; }
.sc_image_carousel + .tcd_catch { margin-top:110px !important; }
@media (max-width: 1100px) {
	.tcd_headline { font-size:calc( (var(--tcd-headline-font-size-pc) + var(--tcd-headline-font-size-sp)) / 2) !important; margin:70px 0 40px !important; }
	.tcd_catch { font-size:calc( (var(--tcd-catch-font-size-pc) + var(--tcd-catch-font-size-sp)) / 2) !important; margin:70px 0 !important; }
}
@media (max-width: 767px) {
	.tcd_headline { font-size:var(--tcd-headline-font-size-sp) !important; margin:35px 0 !important; }
	.tcd_catch { font-size:var(--tcd-catch-font-size-sp) !important; margin:35px 0 !important; }
}


/* 画像一覧 */
.tcd_image_list { display:flex; flex-direction:column; gap:40px 0; margin:110px 0 !important; }
.tcd_image_list:first-child { margin-top:0 !important; }
.tcd_image_list:last-child { margin-bottom:0 !important; }
.tcd_image_list .row { display:flex; gap:0 40px; flex-wrap:nowrap; }
@media (max-width: 1100px) {
  .tcd_image_list { gap:30px 0; margin:70px 0 !important; }
  .tcd_image_list .row { gap:0 30px; }
}
@media (max-width: 767px) {
  .tcd_image_list { gap:15px 0; margin:35px 0 !important; }
  .tcd_image_list .row { gap:0 15px; }
}


/* ラージバナー */
.tcd_large_banner { position:relative; margin:110px 0 !important; width:calc(100vw - var(--tcd-scrollbar-width)); left:calc((100% - (100vw - var(--tcd-scrollbar-width))) / 2); padding:0 100px; }
.tcd_large_banner img { width:100%; height:auto; }
#lp_page_compact_content .tcd_large_banner { width:calc(100% + 200px); left:-100px; padding:0; }
@media (max-width: 1100px) {
  .tcd_large_banner { padding:0; margin:100px 0 !important; }
}
@media (max-width: 1000px) {
  .tcd_large_banner { margin:70px 0 !important; }
}
@media (max-width: 767px) {
  .tcd_large_banner { margin:35px 0 !important; }
}


/* 緑色の見出し＋テーブル（メニューで使用） */
.tcd_menu_headline { height:80px; background:var(--tcd-accent-color) !important; margin:0 0 -1px 0 !important; color:#fff !important; padding:0 30px !important; display:grid; place-items:center; font-size:20px !important; }
.tcd_menu_table { margin-bottom:70px; }
.tcd_menu_table td { line-height:2 !important; padding:18px 30px !important; }
.tcd_menu_table td:nth-child(1) { width:70% !important; }
.tcd_menu_table td:nth-child(2) { width:30% !important; }
@media (max-width: 1100px) {
  .tcd_menu_headline { height:70px; font-size:18px !important; }
}
@media (max-width: 767px) {
  .tcd_menu_headline { height:60px; font-size:16px !important; padding:0 20px !important; }
  .s_table:has(.tcd_menu_table) { white-space:wrap; }
  .tcd_menu_table { margin-bottom:0px; }
  .tcd_menu_table td { line-height:2 !important; padding:15px 20px !important; }
}


/* スクロールアニメーション */
.inview { position:relative; transform: translate3d(0,100px,0); opacity:0; transition: opacity 0.9s ease 0s, transform 0.7s ease 0s; }
.inview.fade_only { transform: translate3d(0,0,0); transition: opacity 1s ease 0.2s; }
.inview.slide_left { transform: translate3d(200px,0,0); }
.inview.inview_animate { transform: translate3d(0,0,0); opacity:1; }




/* ----------------------------------------------------------------------
  固定ページ
---------------------------------------------------------------------- */
#page_content { width:900px; margin:0 auto; position:relative; padding:120px 0 150px; }
#page_featured_image { margin-bottom:50px; display:block; }
@media (max-width: 1100px) {
  #page_content { width:auto; margin:0 100px; padding:100px 0; }
	#page_article { margin-top:10px; }
}
@media (max-width: 1000px) {
  #page_content { margin:0 50px; padding:70px 0; }
}
@media (max-width: 767px) {
  #page_content { margin:0 20px; padding:40px 0; }
  #page_featured_image { margin-bottom:40px; }
}


/* ACCESSページ */
.access_map { margin-bottom:70px !important; }
p:has(#access_map_logo) { margin-bottom:20px; }
.access_gray_bg { background:#f6f6f6; padding:70px 70px 60px; border-radius:15px; margin:110px 0 0; }
@media (max-width: 767px) {
  .access_map { margin-bottom:30px !important; }
  .access_gray_bg { padding:30px 30px 25px; border-radius:10px; margin:30px 0 0; }
}


/* PLANページ */
.plan_menu td:nth-child(1) { width:200px !important; text-align:center; }
.plan_menu td:nth-child(2) { width:calc(100% - 200px) !important; }
.plan_menu tr:nth-child(1) td:nth-child(1) { text-align:left; }
.plan_gray_bg { background:#f6f6f6; padding:70px; }
.plan_gray_bg .design_button { margin-top:60px !important; }
@media (max-width: 767px) {
  .plan_menu td:nth-child(1) { width:120px !important; text-align:center; }
  .plan_menu td:nth-child(2) { width:calc(100% - 120px) !important; }
	.plan_menu tr:nth-child(1) td { padding:20px 30px !important; }
	.plan_menu tr:not(:nth-child(1)) td:nth-child(1) { padding-left:15px !important; padding-right:15px !important; }
  .plan_gray_bg { padding:30px; font-size:14px; }
  .plan_gray_bg .design_button { margin-top:25px !important; }
}


/* FAQ */
.sc_faq dt { border:1px solid #ddd; background:#fff; padding:21px 60px 19px 30px; line-height:1.6; margin-top:-1px; cursor:pointer; transition: color 0.25s ease; position:relative; }
.sc_faq dt:before { content:''; display:block; width:13px; height:1px; background:#000; position:absolute; right:30px; top:50%; transform: translateY(-50%); transition: background-color 0.25s ease; }
.sc_faq dt:after { content:''; display:block; width:1px; height:13px; background:#000; position:absolute; right:36px; top:50%; transform: translateY(-50%); transition: background-color 0.25s ease; }
.sc_faq dd { border:1px solid #ddd; border-top:none; background:#f6f6f6; line-height:2.4; display:none; }
.sc_faq dd .content { padding:20px 30px; }
.sc_faq dt.active:after { display:none; }
@media(hover: hover) {
	.sc_faq dt:hover { color:rgba(0,0,0,0.5); }
	.sc_faq dt:hover:before, .sc_faq dt:hover:after { background:rgba(0,0,0,0.5); }
}
@media (max-width: 767px) {
  .sc_faq dt { padding:21px 50px 19px 20px; font-size:14px; }
  .sc_faq dd { line-height:2; font-size:14px; }
  .sc_faq dd .content { padding:20px 20px; }
  .sc_faq dt:before { right:20px; }
  .sc_faq dt:after { right:26px; }
}




/* ----------------------------------------------------------------------
  サービスアーカイブ
---------------------------------------------------------------------- */
#service_top_desc { width:900px; margin:0 auto; padding:120px 0; }
#service_top_desc :is(.tcdce-body, .editor-styles-wrapper) { line-height:2.6; }
body.post-type-archive-service .c-pagination { margin-top:0px; margin-bottom:150px;}
@media (max-width: 1100px) {
  #service_top_desc { width:auto; margin:0 100px; padding:70px 0; }
  body.post-type-archive-service .c-pagination { margin-bottom:70px; }
}
@media (max-width: 1000px) {
  #service_top_desc { margin:0 50px; }
}
@media (max-width: 767px) {
  #service_top_desc { width:auto; margin:0 20px; padding:40px 0; }
  #service_top_desc :is(.tcdce-body, .editor-styles-wrapper) { line-height:2.4; }
  body.post-type-archive-service .c-pagination { margin-bottom:40px; }
}


/* サービスカテゴリー */
.service_category_content { border-top:1px solid #ddd; padding-bottom:120px; }
.service_category_content:last-of-type { padding-bottom:150px; }
.service_category_content .headline { font-size:var(--tcd-headline-font-size-pc); font-family:var(--tcd-headline-font-type); text-align:center; padding:40px 100px; }
.service_category_content .content { background:#fff; width:900px; margin:-100px auto 0; position:relative; z-index:2; padding:70px; box-shadow:0 0 15px 0 rgba(0,0,0,0.1); }
.service_category_content .title { font-size:16px; background:var(--tcd-accent-color); color:#fff; position:absolute; top:-30px; min-width:190px; height:60px; line-height:60px; padding:0 30px; text-align:center; border-radius:60px; }
.service_category_content .sub_title { font-size:22px; color:var(--tcd-accent-color); line-height:1.5; font-weight:600; }
.service_category_content .sub_title + .desc { margin-top:40px; }
.service_category_content:not(:has(.parallax_banner)) .headline { margin-bottom:100px; }
@media (max-width: 1100px) {
  .service_category_content { padding-bottom:70px; }
  .service_category_content .content { width:auto; margin:-100px 100px 0; }
	.service_category_content .headline { font-size:calc( (var(--tcd-headline-font-size-pc) + var(--tcd-headline-font-size-sp)) / 2 ); }
  .service_category_content:last-of-type { padding-bottom:70px; }
	.service_category_content .design_button { margin-top:70px !important; }
}
@media (max-width: 1000px) {
  .service_category_content .content { margin:-100px 50px 0; }
	.service_category_content .headline { padding:40px 50px; }
}
@media (max-width: 767px) {
  .service_category_content { padding-bottom:40px; }
  .service_category_content:last-of-type { padding-bottom:40px; }
  .service_category_content .content { margin:-40px 20px 0; padding:50px 30px; }
	.service_category_content .headline { font-size:var(--tcd-headline-font-size-sp); padding:25px 20px; }
  .service_category_content .title { top:-22.5px; min-width:130px; height:45px; line-height:45px; border-radius:45px; left:50%; transform: translateX(-50%); font-size:14px; }
	.service_category_content:has(.design_button) .content { padding-bottom:90px; }
  .service_category_content .sub_title { font-size:16px; }
  .service_category_content .sub_title + .desc { margin-top:25px; }
	.service_category_content .design_button { margin-top:-60px !important; position:relative; z-index:10; transform:none !important; }
}
@media (max-width: 450px) {
  .service_category_content .content { margin:-40px auto 0; width:320px; }
}




/* ----------------------------------------------------------------------
  サービスカテゴリー
---------------------------------------------------------------------- */
#page_header .category_title { color:#fff; background:var(--tcd-accent-color); display:block; height:60px; line-height:60px; width:fit-content; min-width:190px; text-align:center; border-radius:60px; margin:0 auto 30px; padding:0 30px; }


/* キャッチフレーズ */
#service_category_catch { width:900px; margin:110px auto; font-size:var(--tcd-catch-font-size-pc); font-family:var(--tcd-catch-font-type); text-align:center; line-height:1.5; font-weight:600; }
body.tax-service_category .sc_image_carousel { width:100%; left:0; }
@media (max-width: 1100px) {
  #service_category_catch { width:auto; margin:60px auto; font-size:calc( (var(--tcd-catch-font-size-pc) + var(--tcd-catch-font-size-sp)) / 2); padding:0 100px; }
}
@media (max-width: 1000px) {
  #service_category_catch { padding:0 50px; }
}
@media (max-width: 767px) {
  #service_category_catch { padding:0 20px; margin:35px auto; font-size:var(--tcd-catch-font-size-sp); }
  #page_header .category_title { height:45px; line-height:45px; min-width:130px; border-radius:45px; margin:0 auto 20px; font-size:14px;  }
}


/* カテゴリー一覧 */
.archive_service_list .item { border-top:1px solid #ddd; padding:120px 0; display:flex; flex-wrap:wrap; align-items:center; flex-direction:row-reverse; }
body.paged .archive_service_list .item:first-of-type { border-top:none; }
.archive_service_list .content { width:50%; padding:0 100px; display:flex; flex-direction:column; gap:50px 0; }
.archive_service_list .item:not(:has(.image)) .content { width:auto; }
.archive_service_list .image { width:50%; height:500px; position:relative; overflow:hidden; border-radius:15px 0 0 15px; }
.archive_service_list picture { display:block; width:100%; height:100%; position:relative; }
.archive_service_list picture img { width:100%; height:100%; position:absolute; top:0; left:0; object-fit:cover; }
.archive_service_list .title { font-size:46px; line-height:1.6; margin-top:calc(0.5em - 0.5lh); margin-bottom:-5px;}
.archive_service_list .catch { font-size:24px; line-height:1.6; margin-top:calc(0.5em - 0.5lh); margin-bottom:calc(0.5em - 0.5lh); }
.archive_service_list .desc { font-size:16px; line-height:2.6; margin-top:calc(0.5em - 0.5lh); margin-bottom:calc(0.5em - 0.5lh); }
.archive_service_list .design_button { margin:0 !important; }
@media (max-width: 1100px) {
  .archive_service_list .item { padding:70px 0; display:block; }
  .archive_service_list .image { width:calc(100% - 100px); height:400px; margin-left:100px; margin-bottom:70px; }
  .archive_service_list .content { width:100%; }
}
@media (max-width: 1000px) {
  .archive_service_list .image { width:calc(100% - 50px); margin-left:50px; }
  .archive_service_list .content { padding:0 50px; }
}
@media (max-width: 767px) {
  .archive_service_list .item { padding:40px 0; }
  .archive_service_list .image { height:300px; width:calc(100% - 20px); margin-left:20px; margin-bottom:45px; border-radius:10px 0 0 10px; }
  .archive_service_list .content { padding:0 20px; gap:30px 0; }
  .archive_service_list .title { font-size:30px; }
	.archive_service_list .catch { font-size:20px; }
  .archive_service_list .design_button { margin:10px auto 0 !important; }
}
@media (max-width: 500px) {
	.archive_service_list .image { height:230px; }
}




/* ----------------------------------------------------------------------
  サービス詳細
---------------------------------------------------------------------- */
/* ヘッダー*/
#page_header.service .top_area { height:calc(50% - 70px - 50px); display:flex; flex-direction:column; justify-content:center; gap:50px 0; padding:0; }
#page_header.service .headline { margin:0 auto; text-align:center; align-self:flex-start; height:60px; line-height:60px; min-width:190px; padding:0 30px; font-size:16px; max-width:100%; background:var(--tcd-accent-color); color:#fff; border-radius:60px; overflow: hidden; visibility: visible; word-break: break-all; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp:1; }
#page_header.service .bottom_area { height:calc(50% + 50px); }
#page_header.service:not(:has(.bg_image)) { height:645px !important; border-bottom:1px solid #ddd; }
#page_header.service:not(:has(.bg_image)) #parallax_page_header { height:100%; }
#page_header.service:not(:has(.bg_image)) .top_area { height:calc(100% - 70px); padding-bottom:80px; }
@media (max-height: 1000px) {
	#page_header.service .headline { display:none; }
}
@media (max-width: 1100px) {
  #page_header.service .top_area { height:calc(50% - 50px - 30px); display:flex; flex-direction:column; justify-content:center; gap:50px 0; padding:0; }
}
@media (max-width: 767px) {
  #page_header.service .top_area { gap:20px 0; }
  #page_header.service:not(:has(.bg_image)) { height:350px !important; }
	#page_header.service:not(:has(.bg_image)) .top_area { height:calc(100% - 50px); padding-bottom:50px; }
  #page_header.service .headline { height:45px; line-height:45px; min-width:130px; padding:0 25px; border-radius:45px; display:block !important; font-size:14px; }
	@media (max-height: 600px) {
	  #page_header.service .headline { display:none !important; }
  }
}

#service_header { width:900px; background:var(--tcd-accent-color); color:#fff; display:flex; flex-wrap:nowrap; align-items:flex-start; position:absolute; bottom:0; left:50%; transform: translate3d(-50%,100%,0); z-index:3; }
#page_header:not(:has(.bg_image)) #service_header { transform: translate3d(-50%,0,0); }
body.start_first_animation #service_header { transform: translate3d(-50%,0,0); transition: transform 0.5s ease 0.7s; }
#service_header .service_category_button { flex:0 1 auto; font-size:16px; color:#fff; line-height:1.4; min-width:180px; padding:28px 20px; text-align:center; }
#service_header .service_title { flex:1 1 auto; padding:10px 30px; font-size:40px; border-left:1px solid rgba(255,255,255,0.2); line-height:1.5; }
@media(hover: hover) {
	#service_header .service_category_button:hover { color:rgba(255,255,255,0.5); }
}
@media (max-width: 1100px) {
  #service_header { width:calc(100% - 200px); }
  #service_header .service_title { font-size:30px; padding:10px 20px; }
  #service_header .service_category_button { font-size:14px; min-width:150px; padding:20px 20px; }
}
@media (max-width: 1000px) {
  #service_header { width:calc(100% - 100px); }
}
@media (max-width: 767px) {
  #service_header { width:calc(100% - 40px); }
  #service_header .service_title { font-size:18px; }
  #service_header .service_category_button { min-width:100px; padding:15px 20px; }
}
@media (max-width: 450px) {
  #service_header { width:320px; }
}


/* レイアウト */
#service_content { overflow:hidden; }
#service_article { width:900px; margin:0 auto; position:relative; padding:120px 0 150px; }
@media (max-width: 1100px) {
  #service_article { width:auto; margin:0 100px; padding:70px 0; }
}
@media (max-width: 1000px) {
  #service_article { margin:0 50px; }
}
@media (max-width: 767px) {
  #service_article { margin:0 20px; padding:40px 0; }
}


/* コンテンツ */
#service_desc { padding:50px; margin:-121px 0 120px; box-shadow:0 0 15px 0px rgba(0,0,0,0.1); }
#service_desc p {  line-height:2.4; margin-top:calc(0.5em - 0.5lh); margin-bottom:calc(0.5em - 0.5lh); }
#service_content .single_free_space.mid { margin-bottom:0; }
#demo_service_table { margin-top:120px; }
#demo_service_table td { line-height:2.4; padding:20px 30px; }
#demo_service_table td:nth-child(1) { width:180px !important; text-align:center; }
#demo_service_table td:nth-child(2) { width:calc(100% - 180px) !important; }
#demo_service_table.type2 td:nth-child(1) { background:#f6f6f6; }
@media (max-width: 1100px) {
  #service_desc { padding:40px; margin:-71px 0 70px; }
  #demo_service_table { margin-top:70px; }
}
@media (max-width: 767px) {
  #service_desc { padding:30px; margin:-41px 0 40px; }
	#service_desc p { line-height:2; font-size:14px; }
  #demo_service_table { margin-top:0px; }
  #demo_service_table td { line-height:2; padding:11px 20px; }
}
@media (max-width: 450px) {
  #service_desc { width:320px; margin:-41px auto 40px; }
}


/* CTA（固定ページのショートコードでも利用） */
.tcd_icon_cta { display:flex; flex-wrap:wrap; margin-top:120px; height:300px; }
.tcd_icon_cta a { flex: 1 1 0%; font-size:16px; display:flex; display:flex; flex-direction:column; align-items:center; justify-content:center; color:#000 !important; border:1px solid #ddd; margin:0 -1px 0 0; text-decoration:none; padding:30px; }
.tcd_icon_cta a :where(svg, img) { font-size:48px; width:1em; height:1em; fill:currentColor; object-fit:contain; }
.tcd_icon_cta svg { margin-bottom:20px; shape-rendering:geometricPrecision; }
.tcd_icon_cta svg path { stroke:#fff; stroke-width:5px; fill:black; transition: fill 0.25s ease; }
.tcd_icon_cta svg.mail path { stroke-width:1.4px; }
.tcd_icon_cta img { margin-bottom:20px; }
.tcd_icon_cta a span { display:block; }
.tcd_icon_cta .title { font-size:36px; margin:0 !important; line-height:1.2 !important; font-weight:600 !important; }
.tcd_icon_cta:has(a:nth-child(3)) .title { font-size:30px; }
.tcd_icon_cta .sub_title { font-size:16px; margin:10px 0 0 0 !important; line-height:1.4 !important; }
@media(hover: hover) {
  .tcd_icon_cta a:hover { background:#f6f6f6; }
  .tcd_icon_cta a:hover svg path { stroke:#f6f6f6; }
}
@media (max-width: 1100px) {
  .tcd_icon_cta { margin-top:70px; }
  .tcd_icon_cta a :where(svg, img) { font-size:40px; }
  .tcd_icon_cta .title { font-size:30px; }
}
@media (max-width: 767px) {
  .tcd_icon_cta { margin-top:40px; height:auto; }
  .tcd_icon_cta a { aspect-ratio:1 /1; padding:20px; }
  .tcd_icon_cta a :where(svg, img) { font-size:26px; }
  .tcd_icon_cta svg { margin-bottom:15px; }
  .tcd_icon_cta svg path { stroke-width:4px; }
  .tcd_icon_cta img { margin-bottom:15px; }
  .tcd_icon_cta .title { font-size:20px; }
  .tcd_icon_cta .sub_title { font-size:14px; margin:10px 0 0 0 !important; }
  .tcd_icon_cta:has(a:nth-child(3)) { display:block; }
  .tcd_icon_cta:has(a:nth-child(3)) a { aspect-ratio:unset; height:160px; margin-bottom:-1px; }
}


/* 関連サービス */
#related_service { margin:0 100px 150px; padding:0; }
#related_service .splide__arrows { height:100%; }
#related_service .splide__arrow--prev { left:-70px; }
#related_service .splide__arrow--next { right:-70px; }
#related_service.layout_type2:not(:has(.item:nth-child(4))) .splide__list { justify-content:center; transform:none !important; }
#related_service.layout_type2:not(:has(.item:nth-child(4))) .item:last-of-type { margin-right:0 !important; }
#related_service .service_list .item { position:relative; border:1px solid #ddd; }
#related_service .service_list .image { display:block; width:calc(100% + 2px); height:auto; aspect-ratio:390 / 270; z-index:1; position:relative; overflow:hidden; left:-1px; }
#related_service .service_list .image .c-thumbnail { width:100%; height:100%; }
#related_service .service_list .title { line-height:1.8; font-size:24px; font-weight:600; text-align:center; height:70px; display:grid; place-items:center; padding:0 30px;}
#related_service .service_list .title span { --tcd-line-clamp:1; height:auto; }
#related_service .service_list .desc { line-height:1.8; font-size:16px; text-align:center; padding:40px 30px; }
#related_service .service_list .desc span { --tcd-line-clamp:2; height:auto; }

#related_service.layout_type1 .service_list .item { margin-bottom:1px; }
#related_service.layout_type1 .title { border-bottom:1px solid #ddd; }
#related_service.layout_type1 .service_list .content { display:flex; flex-wrap:wrap; margin:-1px; }
#related_service.layout_type1 .service_list .image { width:50%; left:1px; }
#related_service.layout_type1 .service_list .desc { width:50%; text-align:left; display:grid; place-items:center; }
#related_service.layout_type1 .service_list .desc br { display:none; }
#related_service.layout_type1 .service_list .item.is-active.is-visible { border-right:none; }
#related_service.layout_type1:not(:has(.item:nth-child(3))) .splide__list { justify-content:center; transform:none !important; }
#related_service.layout_type1:not(:has(.item:nth-child(2))) .item { border-right:1px solid #ddd; }
@media (min-width: 1101px) {
  #related_service.layout_type2:not(:has(.item:nth-child(3))) { width:900px; margin-left:auto; margin-right:auto; }
  #related_service.layout_type2:not(:has(.item:nth-child(3))) .splide__track { overflow:visible; }
  #related_service.layout_type2:not(:has(.item:nth-child(3))) .item { width:calc(50% - 20px) !important; }
  #related_service.layout_type2:not(:has(.item:nth-child(3))) .item:last-of-type { margin-right:0 !important; }
}
@media (max-width: 1100px) {
	#related_service { position:relative; width:calc(100vw - var(--tcd-scrollbar-width)); left:calc((100% - (100vw - var(--tcd-scrollbar-width))) / 2); margin:0 0 70px; }
	#related_service_carousel { visibility:visible; }
  #related_service .splide__track { padding:0 100px; overflow:none; overflow-x:auto; }
  body.is-desktop #related_service .splide__track { scrollbar-width:none; user-select:none; }
  body.is-desktop #related_service .splide__track::-webkit-scrollbar { display:none; }
  body.is-mobile #related_service .splide__track { -webkit-overflow-scrolling:touch; scroll-behavior:smooth; }
	#related_service .splide__list { width:auto; display:block; white-space:nowrap; font-size:0; position:relative; text-align:center; }
  #related_service .splide__list:after { content:''; position:absolute; top:0; left:auto; height:10px; width:100px; }
  #related_service .splide__arrows { display:none; }
	#related_service .item { width:350px; margin-right:30px; display:inline-block; white-space:wrap; text-align:left; }
	#related_service.layout_type1 .item { width:500px; margin-right:-1px; }
	#related_service.layout_type1 .service_list .desc { padding:30px; }
	#related_service .item:last-of-type { margin-right:0px; }
}
@media (max-width: 1000px) {
	#related_service .splide__track { padding:0 50px; }
  #related_service .splide__list:after { width:50px; }
}
@media (max-width: 767px) {
	#related_service { margin:0 0 40px; }
	#related_service .splide__track { padding:0 20px; }
  #related_service .splide__list:after { width:20px; }
	#related_service .item { width:300px; margin-right:20px; }
	#related_service .item:last-of-type { margin-right:0px; }
  #related_service .service_list .title { height:50px; padding:0 20px; }
  #related_service .service_list .desc { font-size:14px; padding:20px 30px; }
	#related_service.layout_type1 .item { width:calc(100vw - var(--tcd-scrollbar-width) - 40px); margin-right:-1px; }
	#related_service.layout_type1 .service_list .desc { padding:30px; font-size:16px; }
	#related_service.layout_type1 .service_list .desc span { --tcd-line-clamp:3; }
}




/* ----------------------------------------------------------------------
  お客様の声
---------------------------------------------------------------------- */
/* アーカイブページ */
#voice_archive { width:900px; margin:0 auto; padding:120px 0 150px; }
#voice_archive #category_sort_button { margin-bottom:115px; }
#voice_archive .voice_list_headline { font-size:var(--tcd-headline-font-size-pc); font-family:var(--tcd-headline-font-type); text-align:center; line-height:1.2; font-weight:600; margin-top:calc(0.5em - 0.5lh); margin-bottom:calc(0.5em - 0.5lh); }
body.tax-voice_category #voice_archive .voice_list_headline { font-size:34px; }
.voice_list_headline + #page_header_desc { margin-top:70px; }
@media (max-width: 1100px) {
  #voice_archive { width:auto; padding:100px 0; }
  #voice_archive:has(#category_sort_button) { padding:0 0 100px; }
  #voice_archive #category_sort_button { margin-top:0; margin-bottom:100px; border-top:none; }
  #voice_archive .voice_list_headline { font-size: calc( (var(--tcd-headline-font-size-pc) + var(--tcd-headline-font-size-sp)) / 2) ; }
  body.tax-voice_category #voice_archive .voice_list_headline { font-size:26px; }
}
@media (max-width: 1000px) {
  #voice_archive { padding:70px 0; }
  #voice_archive:has(#category_sort_button) { padding:0 0 70px; }
  #voice_archive #category_sort_button { margin-bottom:70px; }
}
@media (max-width: 767px) {
  #voice_archive { padding:40px 0; }
  #voice_archive:has(#category_sort_button) { padding:0 0 40px; }
  #voice_archive #category_sort_button { margin-bottom:40px; }
  #voice_archive .voice_list_headline { font-size:var(--tcd-headline-font-size-sp); }
  body.tax-voice_category #voice_archive .voice_list_headline { font-size:20px; }
	.voice_list_headline + #page_header_desc { margin-top:30px; }
}


/* 声一覧 */
.voice_content { display:none; }
.voice_content.active { display:block; }
.voice_content .voice_list, .voice_content .voice_list_headline { opacity:0; transition: opacity 0.5s ease; }
.voice_content.active .voice_list, .voice_content.active .voice_list_headline { opacity:0; animation: tcd_fade_in 1.0s ease forwards 0.1s; }
@keyframes tcd_fade_in {
  0% { opacity:0; }
  100% { opacity:1; }
}
@keyframes tcd_fade_out {
  0% { opacity:1; }
  100% { opacity:0; }
}
* + .voice_list { margin-top:60px !important; }
body.single-service .voice_list { margin:110px 0 !important; }
body.single-service .voice_list:first-child { margin-top:0 !important; }
body.single-service .voice_list:last-child { margin-bottom:0 !important; }
.voice_list .item { display:flex; flex-wrap:wrap; align-items:center; border:1px solid #ddd; border-bottom:none; padding:50px; }
.voice_list .item:last-of-type { border-bottom:1px solid #ddd; }
.voice_list .image { display:block; width:100px; height:100px; position:relative; z-index:1; overflow:hidden; margin:0 50px 0 0; border-radius:100%; }
.voice_list .image img { width:100%; height:100%; position:absolute; top:0; left:0; object-fit:cover; display:block; margin:0; }
.voice_list .content { width:calc(100% - 150px); flex: 1 1 auto; }
.voice_list .item:not:has(.image) .content { width:auto; }
.voice_list .title { line-height:2.4; font-size:16px; color:var(--tcd-accent-color); margin:0 0 20px 0; }
.voice_list .content :is(.tcdce-body, .editor-styles-wrapper) { line-height:2.6; }
.voice_list .meta { margin-top:27px; display:flex; flex-wrap:wrap; gap:10px 20px; }
.voice_list .meta a { font-weight:600; position:relative; padding:0 25px 0 0; }
.voice_list .meta a:after { content:''; display:block; mask:var(--tcd-icon--arrow-thin) no-repeat center / 1em; font-size:16px; width:1em; height:1em; background:#000; transition:background-color 0.25s ease; position:absolute; top:1px; right:0px; }
@media(hover: hover) {
	.voice_list .meta a:hover:after { background:#666; }
}
@media (max-width: 1100px) {
  .voice_list { margin:0 100px; }
  body.single-service .voice_list { margin:60px 0 !important; }
}
@media (max-width: 1000px) {
  .voice_list { margin:0 50px; }
}
@media (max-width: 767px) {
  .voice_list { margin:0 20px; }
	* + .voice_list { margin-top:30px !important; }
  body.single-service .voice_list { margin:35px 0 !important; }
	.voice_list .item { padding:30px; display:block; }
	.voice_list .image { margin:0 auto 20px; }
  .voice_list .content { width:auto; }
  .voice_list .content :is(.tcdce-body, .editor-styles-wrapper) { line-height:2.4; }
	.voice_list .tcdce-body { font-size:14px !important; }
	.voice_list + .c-pagination { margin:40px 20px 0; }
}




/* ----------------------------------------------------------------------
  お知らせ
---------------------------------------------------------------------- */
/* アーカイブページ */
#news_archive { width:900px; margin:0 auto; padding:120px 0 150px; }
#news_archive * + .news_list { margin-top:70px; }
.news_list { }
.news_list .item { height:368px; display:flex; flex-wrap:nowrap; align-items:center; border:1px solid #ddd; margin:0 0 -1px 0; padding:40px; }
.news_list .item:not(:has(.image)) { height:auto; display:block; }
.news_list .image { display:block; width:390px; height:auto; aspect-ratio:390 / 270; position:relative; z-index:1; overflow:hidden; }
.news_list .c-thumbnail { width:100%; height:100%; border-radius:12px; }
.news_list .content { width:calc(100% - 390px); display:flex; flex-direction:column; justify-content:flex-start; gap:30px 0; padding-left:40px; }
.news_list .item:not(:has(.image)) .content { width:auto; padding:0; }
.news_list .title { line-height:1.8; font-size:18px; font-weight:600; }
.news_list .title a { --tcd-line-clamp:2; height:auto; }
@media (max-width: 1100px) {
  #news_archive { width:auto; margin:0; padding:70px 50px 100px; }
  .news_list { display:grid; gap:40px 40px; grid-template-columns:repeat(2, 1fr); }
  .news_list .item { height:auto !important; display:flex; flex-wrap:wrap; flex-direction:column; align-items:flex-start; padding:30px; margin:0; position:relative; }
  .news_list .image { width:100% !important; margin-bottom:30px; }
  .news_list .c-thumbnail { border-radius:7px; }
  .news_list .content { width:auto !important; gap:30px 0; padding-left:0px; flex-grow:1; }
	.news_list .c-date { margin-top:auto; }
}
@media (max-width: 900px) {
  .news_list { gap:20px 20px; }
  .news_list .image { margin-bottom:20px; }
	.news_list .content { gap:20px 0; }
	.news_list .title { font-size:16px; }
}
@media (max-width: 767px) {
  #news_archive { padding:40px 20px 40px; }
  #news_archive * + .news_list { margin-top:40px; }
}
@media (max-width: 600px) {
  .news_list { grid-template-columns:repeat(1, 1fr); gap:0; }
	.news_list .item { margin-bottom:-1px; }
}


/* 詳細ページ */
#news_article { background:#f8f8f8; padding:50px; }
body.single-news .single_free_space.mid { margin-top:50px; margin-bottom:0; }
body.single-news #post_nav { margin-top:50px; }
#news_article + .c-share-button { margin-top:50px; }
@media (max-width: 1100px) {
  #news_article { background:none; padding:0px; }
}


/* 新着のお知らせ */
#related_news { padding-top:70px; }
#related_news .headline { font-size:34px; text-align:center; line-height:1; margin-bottom:70px; margin-top:calc(0.5em - 0.5lh); }
#related_news .news_list .item { height:250px; }
#related_news .news_list .item:not(:has(.image)) { height:auto !important; }
#related_news .news_list .image { width:250px; }
#related_news .news_list .c-thumbnail { border-radius:7px; }
#related_news .news_list .content { width:calc(100% - 250px); }
#related_news .news_list .item:not(:has(.image)) .content { width:auto; }
#related_news .news_list .category_button { display:none; }
#related_news .news_list .item:not(:has(.image)) .category_button { display:block; }
@media (max-width: 1100px) {
  #related_news .headline { font-size:26px; margin-bottom:50px; }
  #related_news .news_list .category_button { display:block; }
}
@media (max-width: 767px) {
  #related_news { padding-top:40px; }
  #related_news .headline { font-size:20px; margin-bottom:40px; }
  #news_list_carousel { margin:0 -20px; padding:0 20px; overflow:none; overflow-x:auto; }
  body.is-desktop #news_list_carousel { scrollbar-width:none; user-select:none; }
  body.is-desktop #news_list_carousel::-webkit-scrollbar { display:none; }
  body.is-mobile #news_list_carousel { -webkit-overflow-scrolling:touch; scroll-behavior:smooth; }
	#related_news .news_list { width:auto; display:block; white-space:nowrap; font-size:0; position:relative; text-align:center; }
  #related_news .news_list:after { content:''; position:absolute; top:0; left:auto; height:10px; width:20px; }
  #related_news .item { width:260px; margin:0 20px 1px 0; display:inline-block; white-space:wrap; border:none; padding:0; text-align:left; }
  #related_news .item:last-of-type { margin-right:0px; }
	#related_news .news_list:not(:has(.image)) { white-space:unset; text-align:left; }
	#related_news .news_list:not(:has(.image)):after { display:none; }
	#related_news .news_list:not(:has(.image)) .item { width:100%; margin:0 0 -1px 0; border:1px solid #ddd; padding:30px; }
	#related_news .news_list:not(:has(.image)) .item:last-of-type { margin:0; }
}



/* ----------------------------------------------------------------------
  ブログアーカイブ
---------------------------------------------------------------------- */
/* カテゴリーソートボタン */
#category_sort_button { position:relative; z-index:1; text-align:center; border:1px solid #ddd; }
* + #category_sort_button { margin-top:120px; }
#category_sort_button .splide__track { height:100%; }
#category_sort_button .splide__list { }
#category_sort_button .item { height:70px; font-size:16px; }
#category_sort_button .title { height:100%; display:grid; place-items:center; line-height:1.5; padding:0 20px; cursor:pointer; }
#category_sort_button .title span { --tcd-line-clamp:2; height:auto; }
#category_sort_button .item.active_menu .title { background:#f6f6f6; }
#category_sort_button .splide__arrows { height:70px; }
@media(hover: hover) {
  #category_sort_button .title:hover { color:rgba(0,0,0,0.6); }
}
@media (min-width: 1281px) {
  #category_sort_button:not(.short) .splide__list:not(:has(.item:nth-child(4))) { justify-content:center; transform:none !important; }
  #category_sort_button.short .splide__list:not(:has(.item:nth-child(3))) { justify-content:center; transform:none !important; }
}
@media (max-width: 1280px) {
  #category_sort_button .splide__list:not(:has(.item:nth-child(3))) { justify-content:center; transform:none !important; }
}
@media (max-width: 1100px) {
  #category_sort_button { visibility:visible; border-right:none; border-left:none; margin:-70px -50px 0; }
  * + #category_sort_button { margin:70px -50px 0; }
  #category_sort_button .splide__arrows { display:none; }
  #category_sort_button .splide__track { padding:0 30px; overflow:none; overflow-x:auto; text-align:center; }
  body.is-desktop #category_sort_button .splide__track { scrollbar-width:none; user-select:none; }
  body.is-desktop #category_sort_button .splide__track::-webkit-scrollbar { display:none; }
  body.is-mobile #category_sort_button .splide__track { -webkit-overflow-scrolling:touch; scroll-behavior:smooth; }
  #category_sort_button .splide__list { width:auto; display:block; white-space:nowrap; font-size:0; position:relative; }
  #category_sort_button .splide__list:after { content:''; position:absolute; top:0; left:auto; height:10px; width:30px; }
	#category_sort_button .splide__list .item { display:inline-block; width:auto !important; }
}
@media (max-width: 767px) {
  #category_sort_button { margin:-40px -20px 0; border-top:none; }
  * + #category_sort_button { margin:40px -20px 0; border-top:1px solid #ddd; }
	#category_sort_button .splide__track { padding:0 5px; }
  #category_sort_button .item { height:60px; font-size:14px; }
  #category_sort_button .title { padding:0 15px; }
  #category_sort_button .splide__list:after { width:0px; }
}


/* 記事一覧 */
#blog_archive { padding:120px 100px 150px; }
#blog_archive * + .blog_list { margin-top:70px; }
.blog_list { display:grid; gap:70px 35px; grid-template-columns:repeat(3, 1fr); }
.blog_list .item { position:relative; display:flex; flex-direction:column; }
.blog_list .image { margin-bottom:30px; display:block; width:100%; height:auto; aspect-ratio:394 / 273; z-index:1; position:relative; border-radius:7px; overflow:hidden; }
.blog_list .image .c-thumbnail { width:100%; height:100%; }
.blog_list .content { display:flex; flex-direction:column; justify-content:flex-start; gap:30px 0; flex-grow:1; }
.blog_list .meta { display:flex; gap:0 15px; }
.blog_list .title { line-height:1.8; font-size:18px; font-weight:600; }
.blog_list .title a { --tcd-line-clamp:2; height:auto; }
.blog_list .c-date { margin-top:auto; }
@media (max-width: 1280px) {
  .blog_list { grid-template-columns:repeat(2, 1fr); }
}
@media (max-width: 1100px) {
  #blog_archive { padding:70px 50px 100px; }
  .blog_list { gap:40px 40px; }
}
@media (max-width: 767px) {
  #blog_archive { padding:40px 20px 40px; }
  #blog_archive * + .blog_list { margin-top:40px; }
  .blog_list { gap:30px 20px; }
	.blog_list .image { margin-bottom:20px; }
	.blog_list .content { gap:20px 0; }
	.blog_list .title { font-size:16px; }
}
@media (max-width: 550px) {
  .blog_list { gap:20px 0px; grid-template-columns:repeat(1, 1fr); }
}


/* 投稿者アーカイブ */
#author_archive_profile { width:auto; margin:120px auto 0; }
#author_archive_profile .image { width:130px; height:130px; border-radius:100%; margin:0 auto 20px; overflow:hidden; position:relative; }
#author_archive_profile .image img { position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; }
#author_archive_profile .name { font-size:28px; line-height:1.2; text-align:center; display:block; font-weight:600; }
#author_archive_profile .position { font-size:14px; margin-top:20px; color:#666; text-align:center; }
#author_archive_profile .desc { margin:50px auto 0; width:900px; }
#author_archive_profile .desc a { color: var(--tcdce-base-link-color) !important; }
#author_archive_profile .c-sns-icons { justify-content:center; margin-top:20px; }
#author_archive_profile .c-sns-icons { justify-content:center; margin-top:20px; }
#author_arhive_profile_headline { text-align:center; font-size:26px; font-weight:600; }
@media (max-width: 1100px) {
  #author_archive_profile { margin:70px 50px 0; }
  #author_archive_profile .name { font-size:20px; }
  #author_archive_profile .desc { width:auto; }
  #author_arhive_profile_headline { font-size:20px; }
}
@media (max-width: 767px) {
  #author_archive_profile { margin:40px 20px 0; }
  #author_archive_profile .image { width:105px; height:105px; }
  #author_archive_profile .desc { margin-top:40px; }
}


/* 投稿者ページ */
#author_list { margin:120px 100px 150px; }
#author_list .author_list { display:grid; grid-template-columns:repeat(3, 1fr); margin-top:70px; }
#author_list .author_list .item { border:1px solid #ddd; background:#fff; margin:0 -1px -1px 0; padding:50px; display:flex; flex-direction:column; }
#author_list .author_list .image { display:block; width:120px; height:120px; border-radius:100%; margin:0 auto 20px; overflow:hidden; }
#author_list .author_list .user_meta { margin-bottom:43px; }
#author_list .author_list .name { font-size:18px; line-height:1.2; text-align:center; display:block; font-weight:600; margin-top:calc(0.5em - 0.5lh); margin-bottom:calc(0.5em - 0.5lh); }
#author_list .author_list .position { font-size:14px; margin-top:20px; color:#666; text-align:center; }
#author_list .author_list .c-sns-icons { margin-top:20px; justify-content:center; }
#author_list .author_list .desc { line-height:2; margin-top:auto; --tcd-line-clamp:3; height:auto; }
#author_list .author_list .desc a { color: var(--tcdce-base-link-color) !important; }
@media(hover: hover) {
  #author_list .author_list .desc a:hover { text-decoration:underline; }
}
@media (max-width: 1380px) {
  #author_list { width:auto; margin:70px 100px 150px; }
  #author_list .author_list .item { padding:40px; }
}
@media (max-width: 1150px) {
  #author_list .author_list { grid-template-columns:repeat(2, 1fr); }
  #author_list .author_list .item { padding:50px; }
}
@media (max-width: 1000px) {
  #author_list { margin:70px 50px 100px; }
	#author_list .author_list { margin-top:50px; }
}
@media (max-width: 900px) {
  #author_list .author_list .item { padding:40px; }
}
@media (max-width: 767px) {
  #author_list { margin:40px 20px; }
	#author_list .author_list { margin-top:40px; }
  #author_list .author_list .item { padding:30px; }
  #author_list .author_list .image { width:105px; height:105px; }
  #author_list .author_list .user_meta { margin-bottom:30px; }
}
@media (max-width: 650px) {
	#author_list .author_list { grid-template-columns:repeat(1, 1fr); }
  #author_list .author_list .item { padding:30px; display:block; }
  #author_list .author_list .desc { font-size:14px; }
}




/* ----------------------------------------------------------------------
  ブログ詳細ページ
---------------------------------------------------------------------- */
#blog_article .post_content { margin-bottom:50px; }
@media (max-width: 767px) {
  #blog_article .post_content { margin-bottom:40px; }
	.p-toc-open { right:20px !important; bottom:20px !important; z-index:100 !important; }
	body:has(.p-footer-fix) .p-toc-open { bottom:30px !important; }
}


/* ヘッダー */
#blog_header { margin-bottom:50px; }
#blog_header .content { display:flex; flex-direction:column; gap:30px 0; }
#blog_header .title { font-size:var(--tcd-single-title-font-size-pc); font-family:var(--tcd-single-title-font-type); line-height:1.5; margin-top:calc(0.5em - 0.5lh); margin-bottom:calc(0.5em - 0.5lh); }
#blog_header .meta { display:flex; }
#blog_header .meta .c-date { margin:0 15px 0 0; }
#blog_header .meta .like { font-size:14px; position:relative; padding-left:20px; color:#999; }
#blog_header .meta .like:before {
  display:block; pointer-events:none; position:absolute; left:0px; top:-1px;
	background:#999; font-size:17px; width:1em; height:1em; content:''; mask:var(--tcd-icon--heart) no-repeat center / 1em;
}
#blog_header .featured_image { margin-top:50px; width:100%; height:auto; aspect-ratio:830 / 570; position:relative; overflow:hidden; display:block; }
#blog_header .featured_image img { object-fit:cover; width:100%; height:100%; }
@media (max-width: 1100px) {
  #blog_header .title { font-size:calc((var(--tcd-single-title-font-size-pc) + var(--tcd-single-title-font-size-sp)) / 2); }
}
@container main_col (max-width:767px) {
  #blog_header { margin-bottom:35px; }
  #blog_header .title { font-size:var(--tcd-single-title-font-size-sp) !important; }
}
@media (max-width: 767px) {
  #blog_header .content { gap:20px 0; }
  #blog_header .featured_image { margin:30px -20px 0 !important; width:calc(100% + 40px) !important; }
}


/* シェアボタン */
#blog_header + .c-share-button,
#news_header + .c-share-button { margin:50px 0; }
.post_content ~ .c-share-button { margin-bottom:50px; }
@container main_col (max-width:767px) {
  #blog_header + .c-share-button,
	#news_header + .c-share-button { margin:40px 0; }
  .post_content ~ .c-share-button { margin-bottom:40px; }
}


/* フリースペース */
.single_free_space { margin-bottom:50px; }
.single_free_space.mid { margin-top:50px; }
.single_free_space.btm { margin-bottom:0px; margin-top:50px; }
@container main_col (max-width:767px) {
  .single_free_space { margin-bottom:40px; }
  .single_free_space.btm { margin-bottom:0px; margin-top:40px; }
}


/* ページネーション */
.post_content .c-pagination { margin-top:50px; }
@container main_col (max-width:767px) {
  .post_content .c-pagination { margin-top:40px; }
}


/* likeボタン */
.c-post-like { margin-bottom:50px; }
.c-post-like-desc a { color: var(--tcdce-base-link-color) !important; }
@media(hover: hover) {
  .c-post-like-desc a:hover { text-decoration:underline; }
}
@container main_col (max-width:767px) {
  .c-post-like { margin-bottom:40px; }
}


/* プロフィール */
#author_profile { display:flex; flex-wrap:wrap; align-items:center; padding:50px; margin-bottom:50px; border:1px solid #ddd; }
#author_profile .image { width:120px; height:120px; border-radius:100%; }
#author_profile .content { width:calc(100% - 120px); padding-left:50px; }
#author_profile .name { font-size:20px; font-weight:600; vertical-align:middle; }
#author_profile .name a { display:inline; }
#author_profile .position { font-size:14px; color:#666; display:inline; vertical-align:middle; margin:0 0 0 15px; font-weight:500; line-height:1.8; }
#author_profile .desc { margin-top:20px; line-height:2; --tcd-line-clamp:2; }
@container main_col (max-width:767px) {
  #author_profile { padding:20px !important; margin-bottom:40px; }
  #author_profile .image { width:90px !important; height:90px !important; }
  #author_profile .content { width:calc(100% - 90px) !important; padding-left:20px !important; }
  #author_profile .name { font-size:14px; font-weight:600; }
	#author_profile .position { font-size:12px; display:none; }
  #author_profile .desc { margin-top:10px; font-size:14px; }
}


/* タグ */
.c-post-tags { display:flex; flex-wrap:wrap; gap:4px; margin-bottom:50px; }
.c-post-tags a { display:inline-block; height:35px; line-height:35px; background:#f6f6f6; padding:0 15px; font-size:14px; border-radius:4px; }
@media(hover: hover) {
	.c-post-tags a:hover { background:var(--tcd-accent-color); color:#fff !important; }
}
@container main_col (max-width:767px) {
  .c-post-tags { margin-bottom:40px; }
}


/* ナビゲーション */
#post_nav { display:flex; flex-wrap:wrap; }
#post_nav a { width:50%; height:120px; border:1px solid #ddd; border-right:none; display:grid; place-items:center; padding:20px 40px; position:relative; }
body.sidebar_both #post_nav a { height:100px; }
#post_nav a:last-of-type { border-right:1px solid #ddd; }
#post_nav a.next { padding-right:90px; margin-left:auto; }
#post_nav a.prev { padding-left:90px; }
#post_nav span { line-height:1.8; --tcd-line-clamp:2; height:auto; font-size:16px; text-align:left; width:100%; }
#post_nav a.next span { /*text-align:right;*/ }
body.sidebar_both #post_nav span { font-size:14px; }
#post_nav a:after { content:''; mask:var(--tcd-icon--arrow-thin) no-repeat center / 1em; font-size:18px; width:1em; height:1em; background:#000; transition:background-color 0.25s ease; position:absolute; }
#post_nav a.next:after { right:35px; }
#post_nav a.prev:after { transform:rotate(180deg); left:35px; }
@container main_col (max-width:767px) {
  #post_nav a { height:60px !important; padding:20px 20px !important; }
  #post_nav a:after { font-size:14px; }
  #post_nav a.next:after { right:15px; }
  #post_nav a.prev:after { left:15px; }
  #post_nav span { display:none; }
  #post_nav a:before { font-size:14px; content:attr(data-label); }
}


/* 関連記事 */
#related_post { position:relative; margin:120px 0 0; padding:0 100px; width:calc(100vw - var(--tcd-scrollbar-width)); left:calc((100% - (100vw - var(--tcd-scrollbar-width))) / 2); flex:0 0 auto; }
body.sidebar_left #related_post { left:auto; right:calc((100% - (100vw - var(--tcd-scrollbar-width))) / 2); }
#related_post .headline { font-size:34px; text-align:center; line-height:1; margin-bottom:70px; margin-top:calc(0.5em - 0.5lh); }
#related_post .blog_list { gap:0; }
#related_post .splide__list:not(:has(.item:nth-child(4))) { justify-content:center; transform:none !important; }
#related_post .splide__list:not(:has(.item:nth-child(4))) .item:last-of-type { margin-right:0 !important; }
#related_post .splide__arrows { height:calc(100% - 185px); }
#related_post .splide__arrow--prev { left:-70px; }
#related_post .splide__arrow--next { right:-70px; }
@media (max-width: 1380px) {
  #related_post { padding:0 50px; }
  #related_post .splide__arrow--prev { left:-45px; }
  #related_post .splide__arrow--next { right:-45px; }
}
@media (max-width: 1100px) {
	#related_post { margin-top:70px; padding:0; order:2; }
  #related_post .headline { font-size:22px; margin-bottom:50px; }
	#related_post_carousel { visibility:visible; }
  #related_post .splide__track { padding:0 100px; overflow:none; overflow-x:auto; }
  body.is-desktop #related_post .splide__track { scrollbar-width:none; user-select:none; }
  body.is-desktop #related_post .splide__track::-webkit-scrollbar { display:none; }
  body.is-mobile #related_post .splide__track { -webkit-overflow-scrolling:touch; scroll-behavior:smooth; }
  #related_post .splide__list { width:auto; display:block; white-space:nowrap; font-size:0; position:relative; text-align:center; }
  #related_post .splide__list:after { content:''; position:absolute; top:0; left:auto; height:10px; width:100px; }
  #related_post .splide__arrows { display:none; }
	#related_post .item { width:350px; margin-right:30px; display:inline-block; white-space:wrap; text-align:left; }
	#related_post .item:last-of-type { margin-right:0px; }
}
@media (max-width: 1000px) {
	#related_post .splide__track { padding:0 50px; }
	#related_post .splide__list:after { width:50px; }
}
@media (max-width: 767px) {
	#related_post { margin:40px 0 0; }
  #related_post .headline { font-size:20px; margin-bottom:40px; }
  #related_post .splide__track { padding:0 20px; }
  #related_post .splide__list:after { width:20px; }
	#related_post .item { width:260px; margin-right:20px; }
	#related_post .item:last-of-type { margin-right:0px; }
}


/* コメント */
#comments { margin-top:70px; }
body.sidebar_both #comments { margin-top:50px; }
#comments .headline { font-size:22px; text-align:center; line-height:1; margin-bottom:50px; margin-top:calc(0.5em - 0.5lh); }
@media (max-width: 767px) {
  #comments { margin-top:40px !important; }
  #comments .headline { font-size:20px; margin-bottom:40px; }
}




/* ----------------------------------------------------------------------
 404ページ
---------------------------------------------------------------------- */
body.no_search_result #side_button { display:none; }
#no_search_result { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; position:relative; min-height:calc(100vh - 100px - var(--tcd-header-message-height)); }
#no_search_result .content { z-index:100; width:100%; margin:100px 0 160px; }
#no_search_result :is(.tcdce-body, .editor-styles-wrapper) ul li { list-style-position:inside; text-indent:-1em; }
#no_search_result:has(.bg_image) .content { color:#fff; }
#no_search_result:has(.bg_image) .content p a:not([class]) { color:#fff !important; text-decoration:underline; }
#no_search_result .pattern { margin:0 auto; }
#no_search_result .pattern.full_width { margin:0; }
#no_search_result .headline { text-align:center; font-size:var(--tcd-catch-font-size-pc); font-family:var(--tcd-catch-font-type); }
#no_search_result .desc { text-align:center; margin:50px auto 0; width:860px; }
#no_search_result .desc:last-child { margin-bottom:0; }
#no_search_result .link_button { display:grid; place-items:center; margin:50px auto 0; }
#no_search_result .overlay { width:100%; height:100%; position:absolute; z-index:2; }
#no_search_result .bg_image { width:100%; height:100%; position:absolute; object-fit:cover; z-index:1; top:0; left:0; }
#no_search_result form { height:50px; width:400px; position:relative; margin:50px auto 0; }
#no_search_result .input_area input { position:absolute; left:0px; width:100%; height:50px; border:none; color:#000; background:#f3f3f3; z-index:1; padding:0 60px 0 25px; border-radius:50px; z-index:1; }
#no_search_result .search_button input { position:absolute; right:0px; top:0px; border:none; background:none; width:50px; height:50px; z-index:2; cursor:pointer; text-indent:-200px; overflow:hidden; }
#no_search_result .search_button label { position:absolute; right:0px; top:0px; z-index:10; width:50px; height:50px; display:block; pointer-events:none; }
#no_search_result .search_button label:before {
  display:block; pointer-events:none; position:absolute; left:10px; top:calc(50% + 2px); transform: translate(0%, -50%); transition: background-color 0.5s ease;
	background:#000; font-size:24px; width:1em; height:1em; content:''; mask:var(--tcd-icon--search-thin) no-repeat center / 1em;
}
@media(hover: hover) {
  #no_search_result:has(.bg_image) .content p a:not([class]):hover { color:rgba(255,255,255,0.5) !important; }
  #no_search_result .search_button:hover label:before { background:rgba(0,0,0,0.6); }
}
#no_search_result:has(.bg_image) .content { color:#fff; }
#no_search_result:has(.bg_image) .input_area input { background:#fff; }
#no_search_result .tag_list { text-align:center; width:730px; margin:50px auto 0; }
#no_search_result .wp-tag-cloud { display:inline-flex; flex-wrap:wrap; gap:5px; }
#no_search_result .wp-tag-cloud li { display:block; }
#no_search_result .wp-tag-cloud a { background:#f3f3f3; height:35px; line-height:35px; display:block; border-radius:4px; padding:0 15px; font-size:14px !important; }
#no_search_result:has(.bg_image) .wp-tag-cloud a { background:none; color:#fff; border:1px solid rgba(255,255,255,0.5); }
@media(hover: hover) {
	#no_search_result .wp-tag-cloud a:hover { background:var(--tcd-accent-color); border-color:var(--tcd-accent-color); color:#fff; }
	#no_search_result:has(.bg_image) .wp-tag-cloud a:hover { background:none; border-color:rgba(255,255,255,0.5); color:rgba(255,255,255,0.5); }
}
#result_page_copyright { position:absolute; left:0; bottom:0; z-index:10; background:var(--tcd-accent-color); color:#fff; width:100%; height:70px; display:flex; flex-wrap:wrap; justify-content:center; align-items:center; }
#no_search_result:has(.bg_image) #result_page_copyright { border-top:1px solid rgba(255,255,255,0.3); background:none; }
#result_page_copyright p { display:block; }
#result_page_copyright a { color:#fff; }
@media(hover: hover) {
  #result_page_copyright a:hover { color:rgba(255,255,255,0.6); }
}
@media (max-width: 1100px) {
  #no_search_result { min-height:calc(100vh - 60px - var(--tcd-header-message-height)); }
}
@media (max-width: 1000px) {
  #no_search_result .pattern { width:auto; margin:0 50px; }
	#no_search_result .content { margin:50px 0 100px !important; }
  #no_search_result .headline { font-size:calc((var(--tcd-catch-font-size-pc) + var(--tcd-catch-font-size-sp)) / 2); }
  #no_search_result .desc { margin:35px 50px -10px; width:auto; }
}
@media (max-width: 767px) {
  #no_search_result .pattern { padding:40px 0; margin:0 20px; }
  #no_search_result .headline { font-size:var(--tcd-catch-font-size-sp); }
  #no_search_result .tag_list { width:auto; margin:40px 20px 0; }
	#no_search_result form { margin:40px auto 0; }
	#no_search_result .link_button { margin:40px auto 0; }
	#result_page_copyright { height:50px; font-size:14px; }
}
@media (max-width: 500px) {
  #no_search_result form { width:auto; margin:40px 20px 0; }
	#no_search_result .input_area input { font-size:14px; }
}



/* ----------------------------------------------------------------------
  ページヘッダー
---------------------------------------------------------------------- */
#page_header { width:100%; position:relative; overflow:hidden; height:calc(100vh - 100px - var(--tcd-header-message-height)); margin-top:calc(100px + var(--tcd-header-message-height)); }
#page_header:not(:has(.catch)) { height:calc( (100vh - 100px - var(--tcd-header-message-height)) / 2 + 50px); }

#parallax_page_header { position:relative; top:0; left:0; width:100%; height:calc(100vh - 100px - var(--tcd-header-message-height)); will-change:transform; }
#page_header:not(:has(.catch)) #parallax_page_header { height:calc( (100vh - 100px - var(--tcd-header-message-height)) / 2 + 50px); }
#parallax_page_header.type_default { position:relative; top:0; }
body.page_header_hidden #parallax_page_header { will-change:auto; }

#page_header .main_content { z-index:3; color:#fff; text-align:center; position:absolute; bottom:0; left:0; width:100%; height:50vh; display:flex; flex-direction:column; justify-content:center; }
#page_header.full_size .main_content { height:100vh; }
#page_header:not(:has(.top_area)):not(:has(.bg_image)) .main_content { position:relative; top:0; left:0; height:100%; color:#000; }
#page_header .title { font-size:var(--tcd-page-header-font-size-pc); font-family:var(--tcd-page-header-font-type); font-weight:600; padding:0 100px; line-height:1.2; margin-top:calc(0.5em - 0.5lh); margin-bottom:calc(0.5em - 0.5lh); }
#page_header .sub_title { font-size:16px; margin-top:15px; padding:0 100px; line-height:1.4; font-weight:600; }

#page_header .top_area { height:calc(50% - 50px); display:grid; place-items:center; background:#fff; }
#page_header .top_area .catch { font-size:var(--tcd-catch-font-size-pc); font-family:var(--tcd-catch-font-type); text-align:center; line-height:1.6; font-weight:600; margin-top:calc(0.5em - 0.5lh); margin-bottom:calc(0.5em - 0.5lh); padding:0 100px; }

#page_header .bottom_area { height:calc(50% + 50px); position:relative; overflow:hidden; display:grid; place-items:center; background:var(--tcd-accent-color); }
#page_header:not(:has(.catch)) .bottom_area { height:100%; }
#page_header .bg_image { display:block; width:100%; height:100%; position:absolute; top:0; left:0; z-index:1; }
#page_header .image { width:100%; height:100%; display:block; position:absolute; top:0; left:0; object-fit:cover; }
#page_header .overlay { width:100%; height:100%; position:absolute; top:0; left:0; z-index:2; }

#page_header.full_size { height:calc(100vh - var(--tcd-header-message-height)) !important; margin-top:var(--tcd-header-message-height); }
#page_header.full_size #parallax_page_header { height:calc(100vh - var(--tcd-header-message-height)) !important; }
#page_header.full_size .bottom_area { height:100%; padding:0; }

@media (max-width: 1100px) {
	#page_header { height:800px; margin-top:calc(60px + var(--tcd-header-message-height)); }
	body.single-service #page_header { height:calc(100vh - 60px - var(--tcd-header-message-height)); }
	#page_header:not(:has(.catch)) { height:400px; }
	#parallax_page_header { height:calc(800px - var(--tcd-header-message-height)); }
	body.single-service #parallax_page_header { height:calc(100vh - 60px - var(--tcd-header-message-height)); }
	#page_header:not(:has(.catch)) #parallax_page_header { height:calc(400px - var(--tcd-header-message-height)); }
	#page_header .main_content { height:400px; }
	#page_header .top_area { height:400px; }
	#page_header .bottom_area { height:400px;  }
  #page_header .top_area .catch { font-size:calc( (var(--tcd-catch-font-size-pc) + var(--tcd-catch-font-size-sp)) / 2); padding:0 50px; }
  #page_header .title { font-size:calc( (var(--tcd-page-header-font-size-pc) + var(--tcd-page-header-font-size-sp)) / 2); padding:0 50px; }
  #page_header .sub_title { padding:0 50px; }
}
@media (max-width: 767px) {
	#page_header { height:480px; margin-top:calc(60px + var(--tcd-header-message-height)); }
	#page_header:not(:has(.catch)) { height:240px; }
	#parallax_page_header { height:calc(480px - var(--tcd-header-message-height)); }
	#page_header:not(:has(.catch)) #parallax_page_header { height:calc(240px - var(--tcd-header-message-height)); }
	#page_header .main_content { height:240px; }
	#page_header .top_area { height:240px; }
	#page_header .bottom_area { height:240px;  }
  #page_header .top_area .catch { font-size:var(--tcd-catch-font-size-sp); padding:0 20px; }
  #page_header .title { font-size:var(--tcd-page-header-font-size-sp); padding:0 20px; }
  #page_header .sub_title { padding:0 20px; }
}


/* アニメーション */
#page_header .top_area { opacity:0; }
#page_header .main_content * { opacity:0; transform: translate3d(0,15px,0); }
body.start_first_animation #page_header .top_area { opacity:1; transition: opacity 1.0s ease 0.2s; }
body.single.start_first_animation #page_header .top_area { opacity:1; transition: opacity 1.0s ease 0.2s; }
body.start_first_animation #page_header .main_content *:nth-child(1) { opacity:1; transform: translate3d(0,0,0); transition: opacity 1.0s ease 0.7s, transform 0.8s ease 0.7s; }
body.start_first_animation #page_header .main_content *:nth-child(2) { opacity:1; transform: translate3d(0,0,0); transition: opacity 1.0s ease 1.2s, transform 0.8s ease 1.2s; }
body.start_first_animation #page_header .main_content *:nth-child(3) { opacity:1; transform: translate3d(0,0,0); transition: opacity 1.0s ease 1.7s, transform 0.8s ease 1.7s; }
body.start_first_animation #page_header:not(:has(.top_area)) .main_content *:nth-child(1) { opacity:1; transform: translate3d(0,0,0); transition: opacity 1.0s ease 0.2s, transform 0.8s ease 0.2s; }
body.start_first_animation #page_header:not(:has(.top_area)) .main_content *:nth-child(2) { opacity:1; transform: translate3d(0,0,0); transition: opacity 1.0s ease 0.7s, transform 0.8s ease 0.7s; }
body.start_first_animation #page_header:not(:has(.top_area)) .main_content *:nth-child(3) { opacity:1; transform: translate3d(0,0,0); transition: opacity 1.0s ease 1.2s, transform 0.8s ease 1.2s; }
body.start_first_animation #page_header.full_size .content *:nth-child(1) { opacity:1; transition: opacity 1.0s ease 0.7s !important; }
body.start_first_animation #page_header.full_size .content *:nth-child(2) { opacity:1; transition: opacity 1.0s ease 1.2s !important; }
body.start_first_animation #page_header.full_size .content *:nth-child(3) { opacity:1; transition: opacity 1.0s ease 1.7s !important; }


/* 画像が無い場合 */
#page_header:not(:has(.bg_image)) { /*border-bottom:1px solid #ddd;*/ }
#page_header:not(:has(.bg_image)):not(:has(.sub_title)) { height:400px; }
#page_header:not(:has(.bg_image)):not(:has(.sub_title)) .bottom_area { height:400px; }
#page_header:not(:has(.bg_image)) .content { color:#000; opacity:1 !important; }
#page_header:not(:has(.bg_image)):not(:has(.sub_title)) .title { font-size:30px; }
#page_header:not(:has(.bg_image)).full_size { height:600px; }
#page_header:not(:has(.bg_image)).full_size #parallax_page_header { top:0px; height:600px !important; }
#page_header:not(:has(.bg_image)).full_size .bottom_area { height:600px; padding:100px 0 0 0; }
@media (max-width: 1100px) {
  #page_header:not(:has(.bg_image)):not(:has(.sub_title)) { height:300px; }
  #page_header:not(:has(.bg_image)):not(:has(.sub_title)) .bottom_area { height:300px; }
  #page_header:not(:has(.bg_image)):not(:has(.sub_title)) .title { font-size:25px; }
}
@media (max-width: 767px) {
  #page_header:not(:has(.bg_image)):not(:has(.sub_title)) { height:200px; }
  #page_header:not(:has(.bg_image)):not(:has(.sub_title)) .bottom_area { height:200px; }
  #page_header:not(:has(.bg_image)):not(:has(.sub_title)) .title { font-size:20px; }
}


/* シンプルver */
#page_header_simple { height:450px; border-bottom:1px solid #ddd; display:grid; place-items:center; }
#page_header_simple:not(:has(.sub_title)) { height:350px; }
#page_header_simple .content { text-align:center; display:flex; flex-direction:column; justify-content:center; }
#page_header_simple .title { font-size:var(--tcd-page-header-font-size-pc); font-family:var(--tcd-page-header-font-type); font-weight:600; padding:0 100px; line-height:1.2; margin-top:calc(0.5em - 0.5lh); margin-bottom:calc(0.5em - 0.5lh); }
#page_header_simple:not(:has(.sub_title)) .title { font-size:35px; }
#page_header_simple .sub_title { font-size:16px; margin-top:10px; padding:0 100px; line-height:1.4; }
#page_header_simple .content * { opacity:0; transform: translate3d(0,30px,0); }
body.start_first_animation #page_header_simple .content *:nth-child(1) { opacity:1; transform: translate3d(0,0,0); transition: opacity 1.0s ease 0.2s, transform 0.8s ease 0.2s; }
body.start_first_animation #page_header_simple .content *:nth-child(2) { opacity:1; transform: translate3d(0,0,0); transition: opacity 1.0s ease 0.7s, transform 0.8s ease 0.7s; }
@media (max-width: 1100px) {
	#page_header_simple { height:350px; }
  #page_header_simple:not(:has(.sub_title)) { height:250px; }
  #page_header_simple .title { font-size:calc( (var(--tcd-page-header-font-size-pc) + var(--tcd-page-header-font-size-sp)) / 2); padding:0 50px; }
  #page_header_simple .sub_title { padding:0 50px; }
  #page_header_simple:not(:has(.sub_title)) .title { font-size:30px; }
}
@media (max-width: 767px) {
	#page_header_simple { height:200px; }
  #page_header_simple:not(:has(.sub_title)) { height:150px; }
  #page_header_simple .title { font-size:var(--tcd-page-header-font-size-sp); padding:0 20px; }
  #page_header_simple .sub_title { padding:0 20px; }
  #page_header_simple:not(:has(.sub_title)) .title { font-size:20px; }
}


/* パンくずリンク */
.c-breadcrumb { border-bottom:1px solid #ddd; margin-block:0 !important; }
.c-breadcrumb__list { height:70px; margin:0 40px; }
.c-breadcrumb__item:where(:last-of-type) { color:#999 !important; }
.c-breadcrumb__list .c-breadcrumb__item:not(:first-of-type) a { max-width:250px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; visibility:visible; }
@media (max-width: 1100px) {
  .c-breadcrumb__list { width:auto !important; height:50px !important; padding-inline:20px !important; margin:0; }
}


/* 説明文 */
#page_header_headline { text-align:center; line-height:1.2; font-size:34px; font-weight:600; margin-top:calc(0.5em - 0.5lh); margin-bottom:calc(0.5em - 0.5lh); }
#page_header_headline + #page_header_desc { margin-top:70px; }
#page_header_desc .mobile { display:none; }
#page_header_desc p { text-align:center; }
@media (max-width: 1100px) {
  #page_header_headline { font-size:26px; }
}
@media (max-width: 767px) {
  #page_header_headline { font-size:20px; }
  #page_header_headline + #page_header_desc { margin-top:30px; }
  #page_header_desc .pc { display:none; }
  #page_header_desc .mobile { display:block; }
}




/* ----------------------------------------------------------------------
  ヘッダーバー
---------------------------------------------------------------------- */
#header { position:fixed; top:var(--tcd-header-message-height); left:0; width:100%; height:100px; display:flex; flex-wrap:wrap; justify-content:space-between; z-index:1001; transition:opacity 0.9s ease 0.2s; }
body.admin-bar #header { top:calc(var(--tcd-header-message-height) + 32px); }
#header:after {
	content:''; width:100%; height:100%; background:#fff; position:absolute; top:0; left:0; z-index:-1; pointer-events:none;
	transition: background-color 0.25s ease, drop-shadow 0.25s ease 0.5s, transform 0.4s ease;
	box-shadow:0 0 10px 1px rgba(0,0,0,0.1);
}
body.open_drawer_menu #header:after { display:none; }
body.transparent_header #header { opacity:0; }
body.transparent_header.start_first_animation #header { opacity:1; }
body.transparent_header #header:after { transform: translate3d(0,-100%,0); }
body.transparent_header.page_header_hidden #header:after { transform: translate3d(0,0,0); }
body.home #header { position:relative; }
body.home.transparent_header #header { opacity:1; position:absolute; }
body.home.transparent_header #header:after { display:none; }
@media (max-width: 1100px) {
  #header { height:60px; }
  body.home #header { position:fixed; }
  body.home.transparent_header #header { position:fixed; }
  body.home.transparent_header #header:after { display:block; }
  body.home.transparent_header.open_drawer_menu #header:after { display:none; }
	body:has(.cb_slide_content.active) #header { opacity:0; transition:opacity 0.9s ease 0s; }
}
@media (max-width: 782px) {
  body.admin-bar #header { top:calc(var(--tcd-header-message-height) + 46px); }
}


/* ロゴ */
#header_logo { flex: 0 0 auto; height:100%; display:grid; place-items:center; padding:0 40px; pointer-events:auto; }
#header_logo a { display:block; transition:all 0.5s ease; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; }
#header_logo a picture { display:block; width:100%; }
@media(hover: hover) {
  #header_logo a:hover { opacity:0.5; }
}
#header_logo .image { width:auto; height:var(--tcd-logo-image-size-pc); display:block; margin:auto; }
body.home:has(#index_hero_header_wrap) #header_logo .image,
body.transparent_header:not(.page_header_hidden) #header_logo .image,
body.open_drawer_menu #header_logo .image { filter:brightness(0) invert(1); }
body.home:has(#index_hero_header_wrap) #header_logo a,
body.transparent_header:not(.page_header_hidden) #header_logo a,
body.open_drawer_menu #header_logo a { color:#fff; }
#header_logo:not(:has(img)) a { display:block; text-align:center; }
#header_logo .title { display:block; font-family:var(--tcd-logo-font-type); font-weight:var(--tcd-logo-font-weight, 600); font-size:var(--tcd-logo-font-size-pc); flex:0 0 auto; }
@media (max-width: 1100px) {
  #header_logo { padding:0 20px; }
	#header_logo .image { height:var(--tcd-logo-image-size-sp); }
  #header_logo .title { font-size:var(--tcd-logo-font-size-sp); }
	body.open_drawer_menu #header_logo { display:none; }
  body.home.page_header_hidden #header_logo .image { filter:unset !important; }
  body.home.page_header_hidden #header_logo a { color:#000 !important; }
}


/* ヘッダーメッセージ */
#header_message { position:fixed; top:0; left:0px; width:100%; color:#fff; text-align:center; font-size:var(--var-2header-message-height); z-index:1002; }
#header_message * { padding:14px 30px; color:inherit; display:block; line-height:1.6; font-size:14px; }
body.home.hide_scrollbar:not(.open_drawer_menu) #header_message { width:calc(100% - var(--tcd-scrollbar-width)) !important; right:var(--tcd-scrollbar-width) !important; }
body.home:not(.hide_scrollbar) #header_message { position:relative; }
@media(hover: hover) {
  #header_message a:hover { opacity:0.6; }
}
@media (max-width: 1100px) {
  body.home:not(.hide_scrollbar) #header_message { position:fixed; transition:opacity 0.9s ease 0.2s; }
	body:has(.cb_slide_content.active) #header_message { opacity:0; transition:opacity 0.9s ease 0s; }
}


/* ヘッダーボタン */
#header_button { display:flex; flex-wrap:wrap; align-items:center; height:100px; flex: 0 0 auto; margin-left:auto; transition: opacity 0.25s ease; }
body.home:has(#index_hero_header_wrap) #header_button, body.open_drawer_menu #header_button { display:none; }
body.transparent_header:not(.page_header_hidden) #header_button { opacity:0; pointer-events:none; }
#header_button a { height:100px; font-size:16px; display:flex; flex-wrap:wrap; align-items:center; color:#000; gap:0 10px; padding-left:40px; }
#header_button a :where(svg, img) { font-size:22px; width:1em; height:1em; fill:currentColor; object-fit:contain; }
#header_button svg path { stroke:#fff; stroke-width:4px; fill:black; transition: fill 0.25s ease; }
#header_button svg.mail path { stroke-width:1px; }
#header_button a span { display:block; }
@media(hover: hover) {
	#header_button a:hover { color:rgba(0,0,0,0.6); }
	#header_button a:hover svg path { fill:rgba(0,0,0,0.6); }
}
@media (max-width: 1100px) {
	#header_button { display:none; }
}


/* 言語ボタン */
#header_lang_button { display:none; flex-wrap:wrap; align-items:center; gap:0 20px; flex: 0 0 auto; margin-left:auto; height:100%; }
body.home:has(#index_hero_header_wrap) #header_lang_button { display:none; }
body.open_drawer_menu #header_lang_button { display:flex !important; }
#header_lang_button a { color:#fff; font-size:16px; }
@media(hover: hover) {
	#header_lang_button a:hover { color:rgba(255,255,255,0.5) !important; }
}


/* ドロワーメニュー開閉ボタン */
#drawer_menu_button { flex: 0 0 auto; width:100px; height:100px; display:block; cursor:pointer; position:relative; pointer-events:auto; transition: opacity 0.4s ease; }
body:not(:has(#header_lang_button)).open_drawer_menu #drawer_menu_button { margin-left:auto; }
#drawer_menu_button span { width:22px; height:2px; background:#000; display:block; position:absolute; left:50%; transform: translateX(-50%); transition: all 0.4s ease; }
#drawer_menu_button span:nth-child(1) { top:43px; transform-origin:-2px -10px; }
#drawer_menu_button span:nth-child(2) { top:49px; transform-origin:center; }
#drawer_menu_button span:nth-child(3) { top:55px; transform-origin:-2px 12px; }
body.open_drawer_menu #drawer_menu_button span { background:#fff; }
body.open_drawer_menu #drawer_menu_button span:nth-child(1) { transform:rotate(45deg); }
body.open_drawer_menu #drawer_menu_button span:nth-child(2) { width:0px; }
body.open_drawer_menu #drawer_menu_button span:nth-child(3) { transform:rotate(-45deg); }
body.home:has(#index_hero_header_wrap) #drawer_menu_button span,
body.transparent_header:not(.page_header_hidden) #drawer_menu_button span { background:#fff; }
@media(hover: hover) {
	#drawer_menu_button:hover span { background:#999; }
  body.transparent_header:not(.page_header_hidden):not(.open_drawer_menu) #drawer_menu_button:hover span { background:rgba(255,255,255,0.5); }
	body.home #drawer_menu_button:hover span { opacity:0.5; }
	body.open_drawer_menu #drawer_menu_button:hover { opacity:0.5; }
}
@media (max-width: 1100px) {
  #drawer_menu_button { width:60px; height:60px; }
  #drawer_menu_button span { width:19px; }
  #drawer_menu_button span:nth-child(1) { top:23px; transform-origin:-2px -6px; }
  #drawer_menu_button span:nth-child(2) { top:29px; transform-origin:center; }
  #drawer_menu_button span:nth-child(3) { top:35px; transform-origin:-2px 8px; }
  body.home.page_header_hidden:not(.open_drawer_menu) #drawer_menu_button span { background:#000 !important; }
}




/* ----------------------------------------------------------------------
 ドロワーメニュー
---------------------------------------------------------------------- */
#drawer_menu {
  position:fixed; top:0px; right:0; width:100%; height:100vh; height:100dvh; overflow:auto; z-index:1000; background:var(--tcd-accent-color);
  opacity:0; transition: opacity 0.4s ease; display:flex; flex-wrap:wrap; flex-direction:row-reverse; pointer-events:none; overscroll-behavior:contain;
}
body.open_drawer_menu #drawer_menu { opacity:1; pointer-events:auto; }
#drawer_menu .main_content {
	width:50%; position:fixed; top:100px; right:0; height:calc(100vh - 100px); height:calc(100dvh - 100px); overflow:auto;
  scrollbar-width:thin; -webkit-overflow-scrolling: touch; scroll-behavior: smooth; overscroll-behavior:contain;
}
#drawer_menu .background { width:50%; height:100vh; height:100dvh; overflow:hidden; position:fixed; top:0; left:0; }
#drawer_menu .header { width:100%; height:60px; display:flex; flex-wrap:wrap; justify-content:flex-end; flex: 0 0 auto; }
#drawer_menu .content_inner { display:flex; flex-direction:column; min-height:calc(100% - 1px); }
@media (max-width: 1100px) {
	#drawer_menu .main_content { width:100%; top:60px; height:calc(100vh - 60px); height:calc(100dvh - 60px); }
	#drawer_menu .background { display:none; }
}
body.open_drawer_menu #js-footer-fix { display:none; }
body.open_drawer_menu { overflow:hidden; }
html:has(body.open_drawer_menu) { overflow:hidden; }


/* グローバルメニュー */
#drawer_menu .menu_area { position:relative; width:100%; margin-top:auto; top:-50px; padding-top:50px; }
#drawer_menu:not(:has(#drawer_banner)) .menu_area { margin-bottom:auto; }
@media(hover: hover) {
 #drawer_menu .menu_area:hover { scrollbar-color: rgba(255,255,255,0.2) rgba(255,255,255,0.2); }
}
#drawer_menu_nav { }
#drawer_menu_nav ul { margin:0; }
#drawer_menu_nav a {
  position:relative; display:block; margin:0; padding:0 80px; height:60px; line-height:60px; overflow:hidden; text-decoration:none;
  color:#fff !important; font-size:20px; font-weight:600;
  overflow:hidden; white-space:nowrap; text-overflow:ellipsis; visibility:visible;
}
#drawer_menu_nav > ul > li > a:before { content:''; display:block; mask:var(--tcd-icon--arrow-long) no-repeat center / 1em; font-size:30px; width:1em; height:1em; background:#fff; transition:background-color 0.25s ease; position:absolute; top:50%; transform: translate3d(-60px,-50%,0); opacity:0; transition: transform 0.25s ease, opacity 0.25s ease; }
#drawer_menu_nav li { position:relative; }
#drawer_menu_nav .child_menu_button { display:block; position:absolute; text-align:center; width:60px; height:60px; right:50px; top:0px; z-index:9; cursor:pointer; transition: opacity 0.25s ease; }
#drawer_menu_nav li .child_menu_button:after { position:absolute; left:22px; top:28px; content:'';  width:16px; height:2px; background:#fff; }
#drawer_menu_nav li .child_menu_button:before { position:absolute; left:22px; top:28px; content:'';  width:16px; height:2px; background:#fff; transform:rotate(90deg); }
#drawer_menu_nav li.open > .child_menu_button:before { display:none; }
#drawer_menu_nav li li a {
	overflow:visible; white-space:initial; display:grid; place-items:center; text-align:center;
	color:rgba(255,255,255,0.6) !important; font-size:16px;  line-height:1.2; font-weight:500; padding:0 20px; background:none; border-right:1px solid rgba(255,255,255,0.1); border-bottom:1px solid rgba(255,255,255,0.1);
}
#drawer_menu_nav li li:nth-child(3n) a { border-right:none; }
#drawer_menu_nav li li.menu-item-has-children > a:after { display:none; }
#drawer_menu_nav li li.open > a { }
#drawer_menu_nav li .sub-menu { display:none; }
#drawer_menu_nav li ul { width:100%; display:flex; flex-wrap:wrap; background:rgba(200,200,200,0.1); margin-bottom:-1px; }
#drawer_menu_nav li ul li { width:calc(100% / 3); }
@media(hover: hover) {
	#drawer_menu_nav > ul > li > a:hover:before { transform: translate3d(-40px,-50%,0); opacity:1; }
	#drawer_menu_nav li li a:hover { color:rgba(255,255,255,1) !important; }
	#drawer_menu_nav .child_menu_button:hover { opacity:0.5; }
}
@media (max-width: 1280px) {
  #drawer_menu_nav a { padding:0 40px; }
	#drawer_menu_nav > ul > li > a:before { display:none; }
  #drawer_menu_nav .child_menu_button { right:20px;}
  @media(hover: hover) {
		#drawer_menu_nav a:hover { color:rgba(255,255,255,0.5) !important; }
  }
}
@media (max-width: 1100px) {
  #drawer_menu .menu_area { top:-30px; padding-top:30px; }
}
@media (max-width: 767px) {
  #drawer_menu_nav a { font-size:16px; padding:0 30px; height:50px; line-height:50px; }
  #drawer_menu_nav .child_menu_button { right:10px; }
  #drawer_menu_nav li .child_menu_button:after { width:14px; height:2px; top:23px; }
  #drawer_menu_nav li .child_menu_button:before {width:14px; height:2px; top:23px; }
	#drawer_menu_nav li li a { font-size:14px; }
}


/* SNSアイコン */
#drawer_menu .c-sns-icons { margin:21px 80px; }
#drawer_menu .c-sns-icons.c-sns-icons--mono a { color:#fff; }
@media(hover: hover) {
	#drawer_menu .c-sns-icons.c-sns-icons--mono a:hover { color:rgba(255,255,255,0.6) !important; }
}
@media (max-width: 1280px) {
  #drawer_menu .c-sns-icons { margin:21px 40px; }
}
@media (max-width: 767px) {
  #drawer_menu .c-sns-icons { margin:16px 30px; }
}


/* バナー */
#drawer_banner { visibility:visible; width:100%; height:160px; display:flex; flex-wrap:wrap; border-top:1px solid rgba(255,255,255,0.1); flex: 0 0 auto; margin-top:auto; }
#drawer_banner:not(:has(.item:nth-child(3))) .splide__track { width:100%; }
#drawer_banner .item { color:#fff; flex: 1 1 0%; height:160px; display:flex; flex-wrap:wrap; align-items:center; position:relative; overflow:hidden; border-right:1px solid rgba(255,255,255,0.1); padding:40px; }
#drawer_banner:has(.item:nth-child(3)) .item { min-width:300px; width:calc(50% - 30px); flex: 0 0 auto; cursor:grab; }
#drawer_banner:has(.item:nth-child(3)) .item:active { cursor:grabbing; }
#drawer_banner .item:last-of-type { border-right:none; }
#drawer_banner .image { display:block; width:80px; height:80px; border-radius:5px; cursor:pointer; }
#drawer_banner .content { width:calc(100% - 80px); padding-left:30px; cursor:pointer; }
#drawer_banner .title { font-size:20px; line-height:1.2; font-weight:600; margin-top:calc(0.5em - 0.5lh); margin-bottom:calc(0.5em - 0.5lh); }
#drawer_banner .title span { --tcd-line-clamp:2; height:auto; }
#drawer_banner .sub_title { font-size:14px; line-height:1.4; font-weight:600; margin-top:20px; font-weight:500; }
@media(hover: hover) {
  #drawer_banner .item:hover { background-color:rgba(0,0,0,0.1) !important; }
}
@media (max-width: 1280px) {
  #drawer_banner { height:140px; }
  #drawer_banner .item { height:140px; padding:30px !important; }
  #drawer_banner .content { padding-left:20px; }
}
@media (max-width: 1100px) {
	#drawer_banner { visibility:visible; }
	#drawer_banner .splide__track { width:100%; }
  #drawer_banner .splide__list { display:flex; }
	#drawer_banner .item { width:auto !important; min-width:inherit !important; flex: 1 1 0% !important; }
}
@media (max-width: 900px) {
  #drawer_banner:has(.item:nth-child(3)) { height:80px; }
  #drawer_banner:has(.item:nth-child(3)) .item { height:80px; padding:20px !important; display:grid; place-items:center; cursor:pointer; }
  #drawer_banner:has(.item:nth-child(3)) .content { width:auto; padding-left:0px !important; text-align:center; }
  #drawer_banner:has(.item:nth-child(3)) .image { display:none; }
  #drawer_banner:has(.item:nth-child(3)) .title { font-size:16px; }
  #drawer_banner:has(.item:nth-child(3)) .sub_title { font-size:12px; margin-top:5px; }
}
@media (max-width: 767px) {
  #drawer_banner { height:80px; }
  #drawer_banner .item { height:80px; padding:20px !important; display:grid; place-items:center; }
  #drawer_banner .content { width:auto; padding-left:0px !important; text-align:center; }
  #drawer_banner .image { display:none; }
  #drawer_banner .title { font-size:18px; }
  #drawer_banner .sub_title { font-size:12px; margin-top:5px; }
}


/* 画像スライダー */
#drawer_menu .overlay { width:100%; height:100%; position:absolute; top:0; left:0; z-index:2; }
#drawer_menu_image_slider { width:100%; height:100%; overflow:hidden; position:relative; z-index:1; }
#drawer_menu_image_slider .item { width:100%; height:100%; position:absolute; top:0; left:0; z-index:1; }
#drawer_menu_image_slider .item.active { opacity:0; transition: opacity 2s ease 2s; }
#drawer_menu_image_slider .image { width:100%; height:100%; position:absolute; top:0; left:0; object-fit:cover; }


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




/* ----------------------------------------------------------------------
  フッター　バナー一覧
---------------------------------------------------------------------- */
/* バナー（上） */
#footer_banner_list { position:relative; }
#footer_banner_list .item_list { display:flex; flex-wrap:nowrap; }
#footer_banner_list .item { flex: 1 1 0%; aspect-ratio:483 / 210; min-height:210px; display:block; position:relative; overflow:hidden; }
#footer_banner_list .item.no_link { pointer-events:none; }
#footer_banner_list .content { position:absolute; left:0; top:50%; transform: translateY(-50%); z-index:3; color:#fff; width:100%; display:grid; gap:15px 0; padding:40px; }
#footer_banner_list .title { font-size:var(--tcd-footer-banner-font-size-pc); font-family:var(--tcd-footer-banner-font-type); line-height:1.2; font-weight:600; margin-top:calc(0.5em - 0.5lh); margin-bottom:calc(0.5em - 0.5lh); }
#footer_banner_list .sub_title { font-size:16px; line-height:1; font-weight:600; font-weight:500; }
#footer_banner_list .overlay { position:absolute; left:0; top:0; width:101%; height:101%; z-index:2; }
#footer_banner_list .c-thumbnail { display:block; width:calc(100% + 1px); height:calc(100% + 1px); z-index:1; }
@media (max-width: 1280px) {
  #footer_banner_list .item { min-height:150px; }
  #footer_banner_list .content { gap:15px 0; padding:30px; }
  #footer_banner_list .title { font-size:calc( (var(--tcd-footer-banner-font-size-pc) + var(--tcd-footer-banner-font-size-sp)) / 2 ); }
}
@media (max-width: 1100px) {
  #footer_banner_list:has(.item:nth-child(4)) { width:100%; height:130px; overflow:hidden; overflow-x:auto; background:none; }
  body.is-desktop #footer_banner_list:has(.item:nth-child(4)) { scrollbar-width:none; user-select:none; }
  body.is-desktop #footer_banner_list:has(.item:nth-child(4))::-webkit-scrollbar { display:none; }
  body.is-mobile #footer_banner_list:has(.item:nth-child(4)) { -webkit-overflow-scrolling:touch; scroll-behavior:smooth; }
  .scrollable_content.active { cursor:grab; }
  .scrollable_content.active.moving { cursor:grabbing; }
  #footer_banner_list:has(.item:nth-child(4)) .item_list { width:1200px !important; }
  #footer_banner_list:has(.item:nth-child(4)) .title { font-size:var(--tcd-footer-banner-font-size-sp); }
  #footer_banner_list:has(.item:nth-child(4)) .sub_title { font-size:14px; }
}
@media (max-width: 900px) {
	#footer_banner_list { width:100%; height:130px; overflow:hidden; overflow-x:auto; background:none; }
  body.is-desktop #footer_banner_list { scrollbar-width:none; user-select:none; }
  body.is-desktop #footer_banner_list::-webkit-scrollbar { display:none; }
  body.is-mobile #footer_banner_list { -webkit-overflow-scrolling:touch; scroll-behavior:smooth; }
  #footer_banner_list .item_list { width:900px; }
  #footer_banner_list .item { min-height:130px; }
  #footer_banner_list .content { gap:12px 0; padding:30px; }
	#footer_banner_list .title { font-size:var(--tcd-footer-banner-font-size-sp); }
	#footer_banner_list .sub_title { font-size:14px; }
}


/* バナー（下） */
#footer_banner_bottom { position:relative; background:#fff; display:flex; flex-wrap:wrap; }
#footer_banner_bottom .item { flex: 1 1 0%; height:210px; display:flex; flex-wrap:nowrap; align-items:center; position:relative; overflow:hidden; color:#000; border-right:1px solid #ddd; padding:40px; }
#footer_banner_bottom .item:last-of-type { border-right:none; }
#footer_banner_bottom .c-thumbnail { flex:0 0 auto; display:block; width:130px; height:130px; border-radius:10px; }
#footer_banner_bottom .content { padding-left:40px; flex:1 1 auto; }
#footer_banner_bottom .title { font-size:var(--tcd-footer-banner-font-size-pc); font-family:var(--tcd-footer-banner-font-type); line-height:1.2; font-weight:600; margin-top:calc(0.5em - 0.5lh); margin-bottom:calc(0.5em - 0.5lh); }
#footer_banner_bottom .sub_title { font-size:16px; line-height:1; font-weight:600; margin-top:15px; font-weight:500; }
@media(hover: hover) {
  #footer_banner_bottom .item:hover { color:#999; }
}
@media (max-width: 1280px) {
	#footer_banner_bottom .item { height:170px; padding:30px; }
  #footer_banner_bottom .c-thumbnail { display:block; width:110px; height:110px; }
  #footer_banner_bottom .content { padding-left:30px; }
  #footer_banner_bottom .title { font-size:calc( (var(--tcd-footer-banner-font-size-pc) + var(--tcd-footer-banner-font-size-sp)) / 2 ); }
}
@media (max-width: 1100px) {
	#footer_banner_bottom:has(.item:nth-child(3)) { display:block; }
	#footer_banner_bottom:has(.item:nth-child(3)) .item { height:150px; padding:30px; border:none; border-top:1px solid #ddd; }
	#footer_banner_bottom:has(.item:nth-child(3)) .item:first-of-type { border-top:none; }
  #footer_banner_bottom:has(.item:nth-child(3)) .c-thumbnail { width:90px; height:90px; border-radius:5px; }
	#footer_banner_bottom:has(.item:nth-child(3)) .title { font-size:var(--tcd-footer-banner-font-size-sp); }
	#footer_banner_bottom:has(.item:nth-child(3)) .sub_title { font-size:14px; margin-top:15px;}
}
@media (max-width: 900px) {
	#footer_banner_bottom { display:block; }
	#footer_banner_bottom .item { height:150px; padding:30px; border:none; border-top:1px solid #ddd; }
	#footer_banner_bottom .item:first-of-type { border-top:none; }
  #footer_banner_bottom .c-thumbnail { width:90px; height:90px; border-radius:5px; }
	#footer_banner_bottom .title { font-size:var(--tcd-footer-banner-font-size-sp); }
	#footer_banner_bottom .sub_title { font-size:14px; margin-top:13px; }
}




/* ----------------------------------------------------------------------
  フッターバー
---------------------------------------------------------------------- */
#footer { color:#fff; width:100%; position:relative; overflow:hidden; background:var(--tcd-accent-color); }
#footer_inner { display:grid; gap:30px 0; padding:70px 100px; text-align:center; }
#footer_parallax { position:relative; width:100%; will-change:auto; opacity:0; transition: opacity 0.7s ease 0.5s; }
#footer.start_fadein #footer_parallax { opacity:1; }
#footer.active #footer_parallax_inner { will-change:transform; }
#footer a { color:#fff; }
@media(hover: hover) {
  #footer a:hover { color:rgba(255,255,255,0.5); }
}
@media (max-width: 1100px) {
  #footer { height:auto !important; }
	#footer_parallax { opacity:1; }
}
@media (max-width: 1000px) {
  #footer_inner { padding:50px 50px; }
}
@media (max-width: 767px) {
  #footer_inner { padding:40px 30px; }
  body:has(.p-footer-fix-nav) #footer_parallax_inner { bottom:50px; }
}


/* ロゴ */
#footer_logo { position:relative; }
#footer_logo .image { height:var(--tcd-logo-footer-image-size-pc); width:auto; }
#footer_logo .text { display:block; font-family:var(--tcd-logo-font-type); font-weight:var(--tcd-logo-font-weight, 600); font-size:var(--tcd-logo-font-size-pc); }
#footer_logo a { display:block; transition:all 0.5s ease; }
#footer_logo picture { display:block; }
@media(hover: hover) {
  #footer_logo a:hover { opacity:0.5; }
}
@media (max-width: 1100px) {
  #footer_logo .text { font-size:var(--tcd-logo-font-size-sp); }
  #footer_logo .image { height:var(--tcd-logo-footer-image-size-sp); }
}


/* 住所 */
#footer_info p { font-size:16px; line-height:2; margin-top:calc(0.5em - 0.5lh); margin-bottom:calc(0.5em - 0.5lh); }
#footer_info a { text-decoration:underline; }
#footer_logo_area:only-of-type #footer_info p { text-align:center; }
@media(hover: hover) {
  #footer_info a:hover { text-decoration:underline; }
}
@media (max-width: 1100px) {
  #footer_info p { font-size:14px; }
}


/* SNSアイコン */
#footer .c-sns-icons { justify-content:center; }
#footer_widget + .c-sns-icons,
#footer_menu + .c-sns-icons { margin-top:0; }


/* フッターメニュー */
#footer_menu_bottom { border-top:1px solid rgba(255,255,255,0.2); }
#footer_menu_bottom ul { font-size:16px; display:flex; flex-wrap:wrap; justify-content:center; align-items:center; padding:27px 100px; gap:20px 0; }
#footer_menu_bottom ul a { padding:0 20px; display:block; }
@media (max-width: 1100px) {
	#footer_menu_bottom { overflow:hidden; overflow-x:auto; text-align:center; }
  body.is-desktop #footer_menu_bottom { scrollbar-width:none; user-select:none; }
  body.is-desktop #footer_menu_bottom::-webkit-scrollbar { display:none; }
  body.is-mobile #footer_menu_bottom { -webkit-overflow-scrolling:touch; scroll-behavior:smooth; }
	#footer_menu_bottom ul { width:auto; display:block; white-space:nowrap; font-size:0; position:relative; }
  #footer_menu_bottom ul:after { content:''; position:absolute; top:0; left:auto; height:10px; width:10px; }
	#footer_menu_bottom li { display:inline-block; font-size:14px; }
}
@media (max-width: 1000px) {
	#footer_menu_bottom ul { padding:22px 50px; }
	#footer_menu_bottom ul a { padding:0 7px; }
}
@media (max-width: 767px) {
	#footer_menu_bottom ul { padding:22px 20px; }
  #footer_menu_bottom ul:after { width:20px; }
}


/* コピーライト */
#copyright { height:70px; display:flex; flex-wrap:wrap; justify-content:center; align-items:center; padding:0 100px; border-top:1px solid rgba(255,255,255,0.2); }
#copyright p { font-size:16px; display:block; line-height:1.4; }
#copyright a { /*text-decoration:underline;*/ }
@media (max-width: 1100px) {
	#copyright { padding:0 50px; }
}
@media (max-width: 767px) {
	#copyright { height:50px; padding:0 20px; }
  #copyright p { font-size:14px; }
}


/* フッターボタン */
body.is-scroll .p-footer-fix { z-index:1000; }




/* ----------------------------------------------------------------------
  ウィジェット
---------------------------------------------------------------------- */
/* 基本設定 */
.p-widget-list-sp { display:none !important; }
@media (max-width: 767px) {
  .p-widget-list-pc { display:none !important; }
  .p-widget-list-sp { display:grid !important; }
}
.p-widget-list { grid-template-columns:repeat(1, 1fr) !important; height:100%; align-items:start; }


/* バナー */
.sidebar_banner { display:block; position:relative; overflow:hidden; }
.sidebar_banner .c-thumbnail { position:relative; z-index:1; }
.sidebar_banner .c-thumbnail img { position:relative; }
.sidebar_banner .caption { position:absolute; left:0; bottom:0; z-index:2; width:100%; height:50px; display:grid; place-items:center; color:#fff; background:rgba(0,0,0,0.3); padding:0 20px; font-size:14px; }


/* タブ記事一覧 */
.widget_tcd_widget_tab_post_list .p-widget-headline { margin-bottom:-1px; }
.p-widget-tab-post { font-size:14px; }
.p-widget-tab-post-nav { position: relative; display: flex; height: 60px; background:#f6f6f6; }
.p-widget-tab-post-nav-item { position: relative; flex: 1; padding-inline: 1em; border: 1px solid #dddddd; transition-property: color; }
.p-widget-tab-post-nav-item span { --tcd-line-clamp:2; height:auto; }
* + .p-widget-tab-post-nav-item { margin-left: -1px; }
.p-widget-tab-post-nav[data-tab="1"] > button:nth-child(1),
.p-widget-tab-post-nav[data-tab="2"] > button:nth-child(2),
.p-widget-tab-post-nav[data-tab="3"] > button:nth-child(3) { border-bottom:none; padding-bottom: 1px; background:#fff; pointer-events:none; position:relative; z-index:3; }
.p-widget-tab-post-nav[data-tab="1"] + * + *,
.p-widget-tab-post-nav[data-tab="1"] + * + * + *,
.p-widget-tab-post-nav[data-tab="2"] + *,
.p-widget-tab-post-nav[data-tab="2"] + * + * + *,
.p-widget-tab-post-nav[data-tab="3"] + *,
.p-widget-tab-post-nav[data-tab="3"] + * + * { display: none; }
.p-widget-tab-post-list-item { display: grid; grid-template-columns: 100px 1fr; background: #ffffff; border: 1px solid #dddddd; margin-top: -1px; padding:20px; position:relative; }
.p-widget-tab-post-list-item:not(:has(img)) { display:block; padding:20px 0; }
.p-widget-tab-post-list-item-image { aspect-ratio: 1; margin:-1px; position:relative; z-index:1; }
.p-widget-tab-post-list-item-image .c-thumbnail { width:100%; height:100%; }
.p-widget-tab-post-list-item-title { --tcd-line-clamp: 3; padding:0 0 0 20px; align-self: center; line-height: 1.8; height: auto; }
.p-widget-tab-post-list-item .no_post { padding:0 20px; margin-bottom:-5px; }
.p-widget-tab-post-list-item .num { position:absolute; top:19px; left:19px; background:#000; color:#fff; width:30px; height:30px; display:grid; place-items:center; z-index:2; font-size:12px; }
.p-widget-tab-post:not(:has(.p-widget-tab-post-list:nth-child(2))) {
  .p-widget-tab-post-list-item { padding:0; grid-template-columns: 110px 1fr; }
  .p-widget-tab-post-list-item-title { --tcd-line-clamp: 3; padding:0 20px; }
}
@media(hover: hover) {
  .p-widget-tab-post-nav-item:hover { color: rgba(0, 0, 0, .5); }
}


/* バナースライダー */
.widget_tcd_widget_banner_slider { position:relative; }
.widget_banner_carousel { position:relative; box-shadow:inset 0 0 0 1px #ddd; background:#fff; }
.widget_banner_carousel.type2 { box-shadow:none; }
.widget_banner_carousel:not(:has(.item:only-of-type)) { padding-bottom:30px !important; }
.widget_banner_carousel.type2:not(:has(.item:only-of-type)) { padding-bottom:0px !important; }
.widget_banner_carousel a { display:flex; flex-direction:column; height:auto; }
.widget_banner_carousel .c-thumbnail { aspect-ratio:300 / 205; }
.widget_banner_carousel .title { font-size:14px; padding:20px; flex-grow:1; display:flex; flex-direction:column; justify-content:center; align-items:center; transition: color 0.25s ease; }
.widget_banner_carousel .title span { --tcd-line-clamp:2; height:auto; }
.widget_banner_carousel.type2 .title { position:absolute; left:0; bottom:0; z-index:2; color:#fff; background:rgba(0,0,0,0.5); padding:20px; width:100%; font-weight:600; }
.widget_banner_carousel_pagination {  bottom:14px !important; top:auto !important; pointer-events:none; }
.widget_banner_carousel.type2 + .widget_banner_carousel_pagination { position:relative; bottom:auto !important; margin-top:15px; }
.widget_banner_carousel_pagination span { margin:0 4px !important; }
@media(hover: hover) {
  .widget_banner_carousel .item:hover .content { color:#999 !important; }
  .widget_banner_carousel.type2 .item:hover .title { color:rgba(255,255,255,0.8); }
}


/* 画像 */
.widget_media_image figure { width:100% !important; }


/* リスト */
:is(.widget_categories, .widget_archive, .widget_nav_menu, .widget_meta, .widget_pages) a { background:#fff; }


/* 検索フォーム */
.widget_search .search-form { background:#fff; }
.widget_search .search-field { background:transparent; }


/* 最近の記事 */
.widget_recent_entries .p-widget-headline { margin-bottom:-1px; }
.widget_recent_entries li { font-size:14px; }


/* コメント */
.widget_recent_comments .p-widget-headline { margin-bottom:-1px; }


/* RSS */
.widget_rss .p-widget-headline { margin-bottom:-1px; }
.widget_rss .p-widget-headline a { color:#fff; }
@media(hover: hover) {
  .widget_rss .p-widget-headline a:hover { color:rgba(255,255,255,0.9); }
}


/* like */
.widget_tcd_modules_postlikewidget .p-widget-headline { margin-bottom:-1px; }
.p-widget-post-like-item-title { font-weight:500 !important; }


/* 目次 */
.widget_tcdce_toc_widget:has(.is-sticky) { top:calc( var(--tcd-header-message-height) + 150px ) !important; }
@media (max-width: 1100px) {
  .widget_tcdce_toc_widget { display:none; }
}




/* ----------------------------------------------------------------------
  Lenis
---------------------------------------------------------------------- */
html.lenis,html.lenis body{ /*height:auto*/ }.lenis:not(.lenis-autoToggle).lenis-stopped{/*overflow:clip*/}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-property:overflow;transition-duration:1ms;transition-behavior:allow-discrete}




/* ----------------------------------------------------------------------
  Splide
---------------------------------------------------------------------- */
.splide__container{box-sizing:border-box;position:relative}.splide__list{backface-visibility:hidden;display:-ms-flexbox;display:flex;height:100%;margin:0!important;padding:0!important}.splide.is-initialized:not(.is-active) .splide__list{display:block}.splide__pagination{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:center;justify-content:center;margin:0;pointer-events:none}.splide__pagination li{display:inline-block;line-height:1;list-style-type:none;margin:0;pointer-events:auto}.splide:not(.is-overflow) .splide__pagination{display:none}.splide__progress__bar{width:0}.splide{position:relative;visibility:hidden;}.splide.is-initialized,.splide.is-rendered{visibility:visible}.splide__slide{backface-visibility:hidden;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0;list-style-type:none!important;margin:0;position:relative}.splide__slide img{vertical-align:bottom}.splide__spinner{animation:splide-loading 1s linear infinite;border:2px solid #999;border-left-color:transparent;border-radius:50%;bottom:0;contain:strict;display:inline-block;height:20px;left:0;margin:auto;position:absolute;right:0;top:0;width:20px}.splide__sr{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.splide__toggle.is-active .splide__toggle__play,.splide__toggle__pause{display:none}.splide__toggle.is-active .splide__toggle__pause{display:inline}.splide__track{overflow:hidden;position:relative;z-index:0}@keyframes splide-loading{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.splide__track--draggable{-webkit-touch-callout:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.splide__track--fade>.splide__list>.splide__slide{margin:0!important;opacity:0;z-index:0}.splide__track--fade>.splide__list>.splide__slide.is-active{opacity:1;z-index:1}.splide--rtl{direction:rtl}.splide__track--ttb>.splide__list{display:block}.splide__arrow{-ms-flex-align:center;align-items:center;background:#ccc;border:0;border-radius:50%;cursor:pointer;display:-ms-flexbox;display:flex;height:2em;-ms-flex-pack:center;justify-content:center;opacity:.7;padding:0;position:absolute;top:50%;transform:translateY(-50%);width:2em;z-index:1}.splide__arrow svg{fill:#000;height:1.2em;width:1.2em}.splide__arrow:hover:not(:disabled){opacity:.9}.splide__arrow:disabled{opacity:.3}.splide__arrow:focus-visible{outline:3px solid #0bf;outline-offset:3px}.splide__arrow--prev{left:1em}.splide__arrow--prev svg{transform:scaleX(-1)}.splide__arrow--next{right:1em}.splide.is-focus-in .splide__arrow:focus{outline:3px solid #0bf;outline-offset:3px}.splide__pagination{bottom:.5em;left:0;padding:0 1em;position:absolute;right:0;z-index:1}.splide__pagination__page{background:#ccc;border:0;border-radius:50%;display:inline-block;height:8px;margin:3px;opacity:.7;padding:0;position:relative;transition:transform .2s linear;width:8px}.splide__pagination__page.is-active{background:#fff;transform:scale(1.4);z-index:1}.splide__pagination__page:hover{cursor:pointer;opacity:.9}.splide__pagination__page:focus-visible{outline:3px solid #0bf;outline-offset:3px}.splide.is-focus-in .splide__pagination__page:focus{outline:3px solid #0bf;outline-offset:3px}.splide__progress__bar{background:#ccc;height:3px}.splide__slide{-webkit-tap-highlight-color:rgba(0,0,0,0)}.splide__slide:focus{outline:0}@supports(outline-offset:-3px){.splide__slide:focus-visible{outline:3px solid #0bf;outline-offset:-3px}}@media screen and (-ms-high-contrast:none){.splide__slide:focus-visible{border:3px solid #0bf}}@supports(outline-offset:-3px){.splide.is-focus-in .splide__slide:focus{outline:3px solid #0bf;outline-offset:-3px}}@media screen and (-ms-high-contrast:none){.splide.is-focus-in .splide__slide:focus{border:3px solid #0bf}.splide.is-focus-in .splide__track>.splide__list>.splide__slide:focus{border-color:#0bf}}.splide__toggle{cursor:pointer}.splide__toggle:focus-visible{outline:3px solid #0bf;outline-offset:3px}.splide.is-focus-in .splide__toggle:focus{outline:3px solid #0bf;outline-offset:3px}.splide__track--nav>.splide__list>.splide__slide{border:3px solid transparent;cursor:pointer}.splide__track--nav>.splide__list>.splide__slide.is-active{border:3px solid #000}.splide__arrows--rtl .splide__arrow--prev{left:auto;right:1em}.splide__arrows--rtl .splide__arrow--prev svg{transform:scaleX(1)}.splide__arrows--rtl .splide__arrow--next{left:1em;right:auto}.splide__arrows--rtl .splide__arrow--next svg{transform:scaleX(-1)}.splide__arrows--ttb .splide__arrow{left:50%;transform:translate(-50%)}.splide__arrows--ttb .splide__arrow--prev{top:1em}.splide__arrows--ttb .splide__arrow--prev svg{transform:rotate(-90deg)}.splide__arrows--ttb .splide__arrow--next{bottom:1em;top:auto}.splide__arrows--ttb .splide__arrow--next svg{transform:rotate(90deg)}.splide__pagination--ttb{bottom:0;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;left:auto;padding:1em 0;right:.5em;top:0}


/* 矢印 */
.splide__arrows { position:absolute; top:0; width:100%; height:70px; pointer-events:none; }/* heightはスライダー毎に変更すること */
.splide__arrow { background:none; border-radius:0; height:40px; width:40px; display:grid; place-items:center; margin:0; padding:0; pointer-events:auto; }
.splide__arrow:disabled { opacity:0; pointer-events:none; }
.splide__arrow:before { opacity:0; content:''; display:block; mask:var(--tcd-icon--arrow-thin) no-repeat center / 1em; font-size:25px; width:1em; height:1em; background:#000; transition:opacity 0.25s ease, background-color 0.25s ease; position:relative; }
.splide__arrow:not(:disabled):before { opacity:1; }
.splide__arrow--prev:before { transform:rotate(180deg); left:-2px; }
.splide__arrow--prev { left:-50px; }
.splide__arrow--next { right:-50px; }
@media(hover: hover) {
  .splide__arrow:hover:before { background:#999; }
}


/* ページナビ */
.splide__pagination { gap:0 10px; position:relative; bottom:auto; margin:25px 0 0 0; padding:0; line-height:1; }
.splide__pagination li { line-height:1; margin:0; padding:0; }
.splide__pagination__page { width:10px; height:10px; opacity:1; transform:none !important; margin:0; padding:0; display:block; transition: background-color 0.25s ease; }
.splide__pagination__page.is-active { background:#000; }
@media(hover: hover) {
  .splide__pagination__page:hover { background:#000; }
}




/* END BIJOUX style.css */