@charset "utf-8";
/*
Theme Name:KASHIRA
Theme URI:https://tcd-theme.com/tcd119
Description:KASHIRA is a WordPress theme designed for restaurants, cafés, and shops that want to capture the charm of traditional Japan. Its split-screen layout creates a striking first impression, while the minimalist structure ensures that even with just a few pages, your site feels complete and polished. Perfect for small businesses looking to build an authentic and stylish online presence with ease.
Author:TCD
Author URI:https://tcd-theme.com/
Version:1.0
Text Domain:tcd-kashira
*/


/* ----------------------------------------------------------------------
  基本設定
---------------------------------------------------------------------- */
html { scroll-behavior:smooth; scroll-padding-top:50px; }
html:has(#wpadminbar) { padding-top:32px; }
body { position:relative; min-height:100vh; padding-top:var(--tcd-header-message-height); }
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.4; }
@media (max-width: 1200px) {
  html { scroll-padding-top:100px; }
}
@media (max-width: 782px) {
  .post_content table { font-size:14px; }
  html:has(#wpadminbar) { padding-top:46px; }
}


/* スプリットレイアウト時にコンテナクエリを無効化 */
@media not all and (max-width: 767px) {
  body.page_layout_type1 .tcdce-body {
    container: initial;
  }
}


/* スクロールバーを非表示 */
html, body { scrollbar-width: none; -ms-overflow-style: none; }
html::-webkit-scrollbar, body::-webkit-scrollbar { display:none; }


/* レイアウト */
#container { width:100%; display:flex; flex-wrap:wrap; }
body.page_layout_type2 #container,
body.page-template-page__lp #container { display:block; }
body.content_layout_type2 #container { flex-direction:row-reverse; }

#main_content { width:50%; height:100%; padding:100px 100px 150px; position:relative; }
body.page_layout_type1.use_content_animation:not(.home) #main_content { opacity:0; transform: translate3d(0,70px,0); transition: opacity 1.0s ease, transform 0.7s ease; }
body.page_layout_type1.use_content_animation:not(.home).start_first_animation #main_content { transform: translate3d(0,0,0); opacity:1; }
body.page_layout_type2 #main_content { width:1050px; margin:0 auto; padding:100px 0 150px; }
body.page.page_layout_type2 #main_content,
body.single.page_layout_type2 #main_content { display:flex; flex-wrap:wrap; justify-content:space-between; }
body.single-news.page_layout_type2 #main_content { display:block; width:900px; padding-left:0 !important; padding-right:0 !important; }
body.single-service.page_layout_type2 #main_content { display:block; width:900px; padding-left:0 !important; padding-right:0 iImportant; }
body.sidebar_left #main_content { flex-direction:row-reverse; }

@media (min-width: 1920px) {
	#main_content { width:950px; margin-left:auto; margin-right:auto; }
}

#main_content .main_col { width:700px; container-type:inline-size; container-name:main_col; }
#main_content .l-sidebar { width:300px; }
@media (max-width: 1350px) {
  #main_content { padding:100px 50px 150px !important; }
  body.page_layout_type2 #main_content { width:auto; margin:auto; padding:100px 100px 150px !important; }
  #main_content .main_col { width:calc(100% - 350px); }
}
@media (max-width: 1200px) {
  #container { width:100%; display:block; }
  #main_content { width:auto; height:auto; padding:100px 100px 150px !important; }
  body.page.page_layout_type2 #main_content,
  body.single.page_layout_type2 #main_content { display:block; }
  body.single-news.page_layout_type2 #main_content { width:auto; padding:100px 100px 150px !important; }
  body.single-service.page_layout_type2 #main_content { width:auto; padding:100px 100px 150px !important; }
  #main_content .main_col { width:auto; }
  #main_content .l-sidebar { width:auto; margin-top:80px; }
  #main_content .l-sidebar .p-widget-list { grid-template-columns:repeat(2, 1fr) !important; }
}
@media (max-width: 1000px) {
  #main_content { padding:100px 50px !important; }
  body.page_layout_type2 #main_content { padding:100px 50px !important; }
  body.single-news.page_layout_type2 #main_content { padding:100px 50px !important; }
  body.single-service.page_layout_type2 #main_content { padding:100px 50px !important; }
}
@media (max-width: 767px) {
  #main_content { padding:50px 20px !important; }
  body.page_layout_type2 #main_content { padding:50px 20px !important; }
  body.single-news.page_layout_type2 #main_content { padding:50px 20px !important; }
  body.single-service.page_layout_type2 #main_content { padding:50px 20px !important; }
	#main_content .l-sidebar { margin-top:50px; }
	#main_content .l-sidebar:not(:has(.p-widget)) { margin-top:0; } 
  #main_content .l-sidebar .p-widget-list { gap:40px 20px; }
}
@media (max-width: 600px) {
  #main_content .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); 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:100px; }
.c-pagination .screen-reader-text { display:none; }
.c-pagination :where(.nav-links) { display:grid; 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; }
.c-pagination :where(.nav-links > * + *) { margin-left:-1px; }
.c-pagination :where(.nav-links > .current) { z-index:1; color:#ffffff; border-color:var(--tcd-accent-color); background:var(--tcd-accent-color); }
.c-pagination .prev { position:relative; }
.c-pagination .prev:before { content:''; display:block; mask:var(--tcd-icon--arrow-left) no-repeat center / 1em; font-size:26px; width:1em; height:1em; position:relative; top:1px; background:#000; transition: background 0.5s ease,; }
.c-pagination .next { position:relative; }
.c-pagination .next:before { content:''; display:block; mask:var(--tcd-icon--arrow-right) no-repeat center / 1em; font-size:26px; width:1em; height:1em; position:relative; top:1px; background:#000; transition: background 0.5s ease,; }
@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); }
	.c-pagination .prev:hover:before, .c-pagination .next:hover:before { background:#fff; }
}
@media (max-width: 1000px) {
  .c-pagination { margin-top:50px; }
}
@media (max-width: 767px) {
  .c-pagination { margin-top:50px; }
  .c-pagination :where(.nav-links) { grid-template-columns:repeat(auto-fit, 45px); grid-template-rows:45px; }
}


/* 色付きカテゴリーボタン */
.category_button { background:#fff; text-align:center; align-self:flex-start; height:40px; line-height:40px; min-width:90px; padding:0 15px; font-size:12px; max-width:100%; overflow: hidden; visibility: visible; word-break: break-all; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp:1; line-clamp:1; }
@media(hover: hover) {
	.category_button:hover { color:#999 !important; }
}
@media (max-width: 900px) {
	.category_button { 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:100px !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:90px !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:50px !important; font-size:16px; }
  .design_button:before { font-size:30px; width:1em; left:15px; }
  p + .design_button,
  p + p .design_button { margin-top:50px !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; }
}


/* 見出し（縦書き） */
.design_headline { text-align:center; line-height:1.6 !important; font-size:var(--tcd-headline-font-size-pc) !important; font-family:var(--tcd-headline-font-type) !important; font-weight:600 !important; margin:0 0 100px 0 !important; padding:0 !important; left:50%; transform: translateX(-50%); position:relative; width:auto !important; }
body.headline_vertical .design_headline { writing-mode:vertical-rl; text-align:left; }
p:has(img) + .design_headline { margin-top:100px !important; }
p:not(:has(img)) + .design_headline { margin-top:90px !important; }
.design_headline + p:not(:has(img)) { margin-top:-10px; }
@media (max-width: 1000px) {
	.design_headline { font-size:calc( (var(--tcd-headline-font-size-pc) + var(--tcd-headline-font-size-sp)) / 2) !important;  }
}
@media (max-width: 767px) {
	.design_headline { font-size:var(--tcd-headline-font-size-sp) !important; margin:0 0 50px 0 !important; }
  p:has(img) + .design_headline { margin-top:50px !important; }
  p:not(:has(img)) + .design_headline { margin-top:45px !important; }
}




/* ----------------------------------------------------------------------
  固定ページ
---------------------------------------------------------------------- */
#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:50px 0; }
  #page_featured_image { margin-bottom:50px; }
}


/* 専用css */
.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:90px 0 50px !important; }
p:has(img) + .tcd_headline { margin-top:100px !important; }
.tcd_headline:first-child { margin-top:calc(0.5em - 0.5lh) !important; }
.post_content img.wide { width:calc(100% + 200px) !important; height:auto; margin:60px -100px !important; max-width:calc(100% + 200px); }
.post_content .design_headline + p img.wide { margin-top:0 !important; }
.post_content img.full_size { width:100% !important; height:auto; }
.tcdce-gmap { margin:0 -100px 90px !important; width:calc(100% + 200px) !important; }
@media (min-width: 1920px) {
  .post_content img.wide { width:calc(50vw - (var(--tcd-scrollbar-width) / 2)) !important; max-width:calc(50vw - (var(--tcd-scrollbar-width) / 2)) !important; margin-left:calc( (50vw - 750px - (var(--tcd-scrollbar-width) / 2)) / 2 * -1) !important; margin-right:calc( (50vw - 750px - (var(--tcd-scrollbar-width) / 2)) / 2 * -1) !important; }
  .tcdce-gmap { width:calc(50vw - (var(--tcd-scrollbar-width) / 2)) !important; margin-left:calc( (50vw - 750px - (var(--tcd-scrollbar-width) / 2)) / 2 * -1) !important; margin-right:calc( (50vw - 750px - (var(--tcd-scrollbar-width) / 2)) / 2 * -1) !important; }
}
@media (max-width: 1350px) {
  .post_content img.wide { width:calc(100% + 100px) !important; margin:70px -50px 70px !important; max-width:calc(100% + 100px); }
  .tcdce-gmap { margin:0 -50px 90px !important; width:calc(100% + 100px) !important; }
}
@media (max-width: 1200px) {
  .post_content img.wide { width:calc(100% + 200px) !important; margin:70px -100px 70px !important; max-width:calc(100% + 200px); }
  .tcdce-gmap { margin:0 -100px 90px !important; width:calc(100% + 200px) !important; }
}
@media (max-width: 1000px) {
	.tcd_headline { font-size:calc( (var(--tcd-headline-font-size-pc) + var(--tcd-headline-font-size-sp)) / 2) !important; margin:70px 0 40px !important; }
  .post_content img.wide { width:calc(100% + 100px) !important; margin:70px -50px 70px !important; max-width:calc(100% + 100px); }
  .tcdce-gmap { margin:0 -50px 90px !important; width:calc(100% + 100px) !important; }
}
@media (max-width: 767px) {
	.tcd_headline { font-size:var(--tcd-headline-font-size-sp) !important; margin:45px 0 !important; }
  p:has(img) + .tcd_headline { margin-top:50px !important; }
  .post_content img.wide { width:calc(100% + 40px) !important; margin:20px -20px 20px !important; max-width:calc(100% + 40px); }
  .tcdce-gmap { margin:0 -20px 40px !important; width:calc(100% + 40px) !important; }
}


/* FAQ */
.sc_faq { margin-bottom:120px !important; }
.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 { margin-bottom:50px !important; }
  .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; }
}





/* ----------------------------------------------------------------------
  お知らせ
---------------------------------------------------------------------- */
/* アーカイブページ */
#category_sort_button + .news_list { margin-top:70px; }
body.page_layout_type2 .news_list { display:grid; grid-template-columns:repeat(2, 1fr); }
.news_list .item { height:120px; display:flex; flex-wrap:nowrap; align-items:center; border:1px solid #ddd; margin:0 0 50px; }
body.page_layout_type2 .news_list .item { margin-left:-1px; }
.news_list .item:has(img) { border-left:none; }
.news_list .item:last-of-type { margin-bottom:0; }
.news_list .image { display:block; width:120px; height:auto; aspect-ratio:1 / 1; position:relative; z-index:1; overflow:hidden; }
.news_list .c-thumbnail { width:100%; height:100%; }
.news_list .content { width:calc(100% - 120px); display:flex; flex-direction:column; justify-content:flex-start; gap:20px 0; padding:0 30px; }
.news_list .item:not(:has(.image)) .content { width:auto; }
.news_list .title { line-height:1.6; font-size:16px; font-weight:600; }
.news_list .title a { --tcd-line-clamp:2; height:auto; }
@media (max-width: 1000px) {
  body.page_layout_type2 .news_list { grid-template-columns:repeat(1, 1fr); }
	.news_list .item { margin-bottom:30px; height:110px; }
  .news_list .image { width:110px; }
  .news_list .content { width:calc(100% - 110px); padding:0 20px; }
  .news_list .title { font-size:14px; }
}
@media (max-width: 767px) {
  #category_sort_button + .news_list { margin-top:30px; }
}


/* 詳細ページ */
body.single-news.page_layout_type2 .c-breadcrumb { margin-bottom:25px !important; }
body.page_layout_type2 #news_article { border:1px solid #ddd; padding:100px; }
body.single-news.page_layout_type2 .single_free_space.btm { margin-top:70px; }
@media (max-width: 1200px) {
	body.page_layout_type2 #news_article { padding:70px; }
}
@media (max-width: 1000px) {
	body.page_layout_type2 #news_article { padding:50px; }
}
@media (max-width: 767px) {
  body.page_layout_type2 #news_article { border:none; padding:0; }
}


/* 新着のお知らせ */
#related_news { padding-top:70px; }
#related_news .headline { font-size:26px; text-align:center; line-height:1; margin-bottom:50px; margin-top:calc(0.5em - 0.5lh); font-family:var(--tcd-headline-font-type); }
.news_list2 { display:grid; grid-template-columns:repeat(2, 1fr); }
.news_list2 .item { display:flex; flex-wrap:wrap; border:1px solid #ddd; margin:0 -1px -1px 0; padding:30px; }
.news_list2 .image { display:block; width:150px; height:auto; aspect-ratio:1 / 1; z-index:1; position:relative; overflow:hidden; }
.news_list2 .image .c-thumbnail { width:100%; height:100%; }
.news_list2 .content { width:calc(100% - 150px); display:flex; flex-direction:column; justify-content:center; gap:20px 0; padding-left:30px; }
.news_list2 .item:not(:has(img)) .content { width:auto; padding:0; }
.news_list2 .title { line-height:1.8; font-size:16px; }
.news_list2 .title a { --tcd-line-clamp:2; height:auto; }
@media (max-width: 1100px) {
  .news_list2 { grid-template-columns:repeat(1, 1fr); }
}
@media (max-width: 767px) {
  #related_news { padding-top:50px; }
  #related_news .headline { font-size:22px; margin-bottom:30px; }
  .news_list2 .item { margin:0 0 30px 0; padding:0px; }
	.news_list2 .item:last-of-type { margin-bottom:0; }
  .news_list2 .image { width:110px; }
  .news_list2 .content { width:calc(100% - 110px); padding:0 20px; flex-direction:column-reverse; }
  .news_list2 .title { font-size:14px; }
}



/* ----------------------------------------------------------------------
  お品書き
---------------------------------------------------------------------- */

/* アーカイブページ（ナビ） */
#service_list_button { position:relative; z-index:1; text-align:center; border-top:1px solid #ddd; border-bottom:1px solid #ddd; margin:0 -100px; padding:0 100px; z-index:1; overflow:hidden; }
#service_list_button .splide__track { height:100%; }
#service_list_button .splide__arrows { width:calc(100% - 200px); }
#service_list_button:not(.is-overflow) .splide__list { justify-content:center; transform:none !important; }
#service_list_button .item { height:70px; font-size:16px; }
#service_list_button .title { height:100%; display:grid; place-items:center; line-height:1.5; padding:0 20px; cursor:pointer; }
#service_list_button .title span { --tcd-line-clamp:2; height:auto; }
@media (min-width: 1920px) {
  #service_list_button { margin-left:calc( (50vw - 750px - (var(--tcd-scrollbar-width) / 2)) / 2 * -1); margin-right:calc( (50vw - 750px - (var(--tcd-scrollbar-width) / 2)) / 2 * -1); padding:0; }
  #service_list_button .splide__track { width:750px; margin:auto; }
}
@media (max-width: 1350px) {
  #service_list_button { margin:0 -50px; padding:0 50px; }
}
@media (max-width: 1200px) {
  #service_list_button { margin:0 -100px; padding:0; visibility:visible; }
	.c-breadcrumb + #service_list_button { margin-top:-100px; border-top:none; }
  #service_list_button .splide__arrows { display:none; }
  #service_list_button .splide__track { padding:0 100px; overflow:none; overflow-x:auto; text-align:center; }
  body.is-desktop #service_list_button .splide__track { scrollbar-width:none; user-select:none; }
  body.is-desktop #service_list_button .splide__track::-webkit-scrollbar { display:none; }
  body.is-mobile #service_list_button .splide__track { -webkit-overflow-scrolling:touch; scroll-behavior:smooth; }
  #service_list_button .splide__list { width:auto; display:block; white-space:nowrap; font-size:0; position:relative; }
  #service_list_button .splide__list:after { content:''; position:absolute; top:0; left:auto; height:10px; width:100px; }
	#service_list_button .splide__list .item { display:inline-block; width:auto !important; }
}
@media (max-width: 1000px) {
  #service_list_button { margin:0 -50px; }
  #service_list_button .splide__track { padding:0 50px; }
  #service_list_button .splide__list:after { width:50px; }
}
@media (max-width: 767px) {
  #service_list_button { margin:0 -20px; }
	.c-breadcrumb + #service_list_button { margin-top:-40px; }
  #service_list_button .splide__track { padding:0 20px; }
  #service_list_button .splide__list:after { width:20px; }
  #service_list_button .item { height:60px; font-size:14px; }
}


/* アーカイブページ（画像） */
#service_archive_image { margin:-1px -100px 0px; position:relative; display:block; width:calc(100% + 200px); position:relative; aspect-ratio:725 / 500; z-index:2; }
#service_archive_image img { position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; }
@media (min-width: 1920px) {
  #service_archive_image { width:100%; margin-left:0; margin-right:0; margin-top:100px; }
}
@media (max-width: 1350px) {
  #service_archive_image { margin:-1px -50px 0px; width:calc(100% + 100px); }
}
@media (max-width: 1200px) {
  #service_archive_image { margin:-1px -100px 0px; width:calc(100% + 200px); }
}
@media (max-width: 1000px) {
  #service_archive_image { margin:-1px -50px 0px; width:calc(100% + 100px); }
}
@media (max-width: 767px) {
  #service_archive_image { margin:-1px -20px 0px; width:calc(100% + 40px); }
}


/* アーカイブページ（記事一覧） */
html:has(body.post-type-archive.page_layout_type1) { scroll-padding-top:0px; }
.service_list .item { padding-top:100px; }
.service_list .c-thumbnail { margin-bottom:100px; display:block; width:100%; height:auto; aspect-ratio:725 / 500; position:relative; z-index:1; overflow:hidden; pointer-events:none; }
.service_list .desc { line-height:2.4; font-size:16px; margin-top: calc(0.5em - 0.5lh); margin-bottom: calc(0.5em - 0.5lh); }
.service_list .desc.c-line-clamp { --tcd-line-clamp:3; height:auto; }
body.page_layout_type2 .service_list .item { border:1px solid #ddd; padding:0; margin-bottom:70px; }
body.page_layout_type2 .service_list .item:last-of-type { margin-bottom:0; }
body.page_layout_type2 .service_list .title { background:#000; color:#fff; text-align:center; height:70px; line-height:1.6; display:grid; place-items:center; font-size:var(--tcd-headline-font-size-pc); font-family:var(--tcd-headline-font-type); font-weight:600; margin:-1px -1px 0; position:relative; padding:0 50px; }
body.page_layout_type2 .service_list .design_headline { writing-mode: horizontal-tb; text-align:center; margin:60px 0 !important; padding:0 50px !important; }
body.page_layout_type2 .service_list .content { padding:0 50px 50px; display:flex; justify-content:space-between; }
body.page_layout_type2 .service_list .c-thumbnail { width:calc(50% - 30px); margin:0; }
body.page_layout_type2 .service_list .desc_area { width:calc(50% - 30px); }
body.page_layout_type2 .service_list .design_button { margin:50px 0 0 0 !important; }
@media (max-width: 1200px) {
  html:has(body.post-type-archive.page_layout_type1) { scroll-padding-top:60px; }
}
@media (max-width: 1000px) {
  body.page_layout_type2 .service_list .item { margin-bottom:50px; }
  body.page_layout_type2 .service_list .title { font-size:calc( (var(--tcd-headline-font-size-pc) + var(--tcd-headline-font-size-sp)) / 2); }
  body.page_layout_type2 .service_list .content { padding:0 50px 50px; display:block; }
  body.page_layout_type2 .service_list .c-thumbnail { width:auto; margin:0 0 50px 0; }
  body.page_layout_type2 .service_list .desc_area { width:auto; }
  body.page_layout_type2 .service_list .design_button { margin:50px auto 0 !important; }
}
@media (max-width: 767px) {
  .service_list .item { padding-top:50px; }
	.service_list .c-thumbnail { margin-bottom:50px; }
	.service_list .desc { line-height:2.0; font-size:16px; }
	body.page_layout_type2 .service_list { margin:0 -20px; }
  body.page_layout_type2 .service_list .item { margin-bottom:50px; border:none; }
  body.page_layout_type2 .service_list .title { font-size:var(--tcd-headline-font-size-sp); height:60px; padding:0 20px; }
  body.page_layout_type2 .service_list .design_headline { margin:45px 0 !important; padding:0 20px !important; }
  body.page_layout_type2 .service_list .c-thumbnail { margin:0 0 50px 0; }
  body.page_layout_type2 .service_list .content { padding:0 20px; }
  body.page_layout_type2 .service_list .design_button { margin:50px auto 0 !important; }
}


/* 詳細ページ */
body.page_layout_type2 #service_article { border:1px solid #ddd; padding:70px 50px; }
body.single-service #blog_header { margin-bottom:100px; }
#blog_header .catch { text-align:center; line-height:1.6; font-size:var(--tcd-headline-font-size-pc); font-family:var(--tcd-headline-font-type); font-weight:600; margin:0 0 100px 0; left:50%; transform: translateX(-50%); position:relative; }
body.page_layout_type2 #blog_header .catch { margin-bottom:70px; }
body.headline_vertical #blog_header .catch { writing-mode:vertical-rl; text-align:left; }
#related_service { margin-top:100px; }
body.page_layout_type2 #related_service .post_list { display:flex; gap:20px; }
body.page_layout_type2 #related_service .post_list:not(:has(.item:nth-child(3))) { justify-content:center; }
body.page_layout_type2 #related_service .post_list .item { width:calc(100% / 3); margin:0; }
#related_service .post_list .item { margin-bottom:50px; }
#related_service .post_list .item:last-of-type { margin-bottom:0px; }
#related_service .post_list .item a { display:flex; flex-wrap:wrap; align-items:center; height:120px; background:#f6f6f6; }
#related_service .post_list .image { display:block; width:120px; height:auto; aspect-ratio:1 / 1; z-index:1; position:relative; overflow:hidden; }
#related_service .post_list .image .c-thumbnail { width:100%; height:100%; }
#related_service .post_list .title { width:calc(100% - 120px); padding:0 30px; font-size:16px; }
@media (max-width: 1000px) {
  #blog_header .catch { font-size:calc( (var(--tcd-headline-font-size-pc) + var(--tcd-headline-font-size-sp)) / 2); margin-bottom:50px; }
}
@media (max-width: 767px) {
  body.page_layout_type2 #service_article { border:none; padding:0; }
  body.single-service #blog_header { margin-bottom:50px; padding-top:10px; }
  #blog_header .catch { font-size:var(--tcd-headline-font-size-sp); }
  body.page_layout_type2 #blog_header .catch { margin-bottom:50px; }
  #related_service { margin-top:50px; }
  body.page_layout_type2 #related_service .post_list { display:block; }
  body.page_layout_type2 #related_service .post_list .item { width:auto; margin:0 0 30px 0; }
  #related_service .post_list .item { margin-bottom:30px; }
  #related_service .post_list .item:last-of-type { margin-bottom:0px !important; }
  #related_service .post_list .item a { height:110px; }
  #related_service .post_list .image { width:110px; }
  #related_service .post_list .title { width:calc(100% - 110px); font-size:14px; }
}


.price_list { display:flex; flex-wrap:wrap; margin-bottom:35px !important; margin-top:-10px; }
.price_list + .price_list { margin-top:75px; }
.price_list:last-child { margin-bottom:-10px !important; }
.price_list dt { width:calc(100% - 100px); }
.price_list dd { width:100px; text-align:right; }
@media (max-width: 767px) {
  .price_list { display:flex; flex-wrap:wrap; margin-bottom:25px !important; }
  .price_list + .price_list { margin-top:25px; }
}




/* ----------------------------------------------------------------------
  ブログアーカイブ
---------------------------------------------------------------------- */

/* カテゴリーソートボタン */
#category_sort_button { position:relative; z-index:1; text-align:center; }
#category_sort_button .splide__track { height:100%; }
#category_sort_button:not(.is-overflow) .splide__list { justify-content:center; transform:none !important; }
#category_sort_button .item { height:70px; font-size:16px; border:1px solid #ddd; border-left:none; }
#category_sort_button .item.is-active { border-left:1px solid #ddd; }
#category_sort_button .title { height:100%; display:grid; place-items:center; line-height:1.5; padding:0 10px; 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: 1201px) {
	#category_sort_button:not(.is-overflow) .item:first-of-type { border-left:1px solid #ddd; }
}
@media (max-width: 1200px) {
  #category_sort_button .splide__list:not(:has(.item:nth-child(3))) { justify-content:center; transform:none !important; }
  #category_sort_button { visibility:visible; border-right:none; border-left:none; margin:0 -100px; }
  #category_sort_button .splide__arrows { display:none; }
  #category_sort_button .splide__track { padding:0 100px; 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:100px; }
	#category_sort_button .splide__list .item { display:inline-block; width:auto !important; min-width:160px; }
	#category_sort_button .item:first-of-type { border-left:1px solid #ddd; }
}
@media (max-width: 1000px) {
  #category_sort_button { margin:0 -50px; }
	#category_sort_button .splide__track { padding:0 50px; }
  #category_sort_button .splide__list:after { width:50px; }
  #category_sort_button .splide__list .item { height:60px; font-size:14px; min-width:140px; }
}
@media (max-width: 767px) {
  #category_sort_button { margin:0 -20px; }
	#category_sort_button .splide__track { padding:0 20px; }
  #category_sort_button .splide__list:after { width:20px; }
}


/* 検索フォーム */
#archive_search_form form { height:50px; width:400px; position:relative; margin:-50px auto 100px; }
body.page_layout_type1 #archive_search_form form { margin-top:-60px; }
#archive_search_form .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; }
#archive_search_form .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; }
#archive_search_form .search_button label { position:absolute; right:0px; top:0px; z-index:10; width:50px; height:50px; display:block; pointer-events:none; }
#archive_search_form .search_button label:before {
  display:block; pointer-events:none; position:absolute; left:10px; top:50%; 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) {
  #archive_search_form .search_button:hover label:before { background:rgba(0,0,0,0.6); }
}
@media (max-width: 767px) {
  #archive_search_form form { margin:0px auto 50px !important; }
}
@media (max-width: 500px) {
  #archive_search_form form { width:100%; }
}


/* 記事一覧 */
.blog_list { display:grid; gap:0; grid-template-columns:repeat(2, 1fr); margin-top:50px; }
body.page_layout_type2 .blog_list { grid-template-columns:repeat(4, 1fr); }
.blog_list .item { position:relative; display:flex; flex-direction:column; border:1px solid #ddd; padding:30px; margin:0 -1px -1px 0; }
.blog_list .category_button { position:absolute; top:30px; left:30px; z-index:2; }
.blog_list .image { margin-bottom:30px; display:block; width:100%; height:auto; aspect-ratio:1 / 1; z-index:1; position:relative; overflow:hidden; }
.blog_list .image .c-thumbnail { width:100%; height:100%; }
.blog_list .content { display:flex; flex-direction:column; justify-content:flex-start; gap:20px 0; flex-grow:1; }
.blog_list .meta { display:flex; gap:0 15px; }
.blog_list .title { line-height:1.8; font-size:16px; font-weight:600; }
.blog_list .title a { --tcd-line-clamp:3; height:auto; }
.blog_list .c-date { margin-top:auto; }
.no_post { margin-top:100px; font-weight:600; }
.blog_list .category_button.pr_label { pointer-events:none; }
.blog_list .pr_name{ margin-top:auto; font-size:14px; color:#999; line-height:1.4; margin-bottom:calc(0.5em - 0.5lh);}
@media (min-width: 1920px) {
	body.single .blog_list { grid-template-columns:repeat(3, 1fr); }
}
@media (max-width: 1200px) {
  .blog_list { grid-template-columns:repeat(3, 1fr) !important; }
}
@media (max-width: 1000px) {
  .blog_list { margin-top:50px; }
	.blog_list .item { padding:20px; }
  .blog_list .category_button { top:20px; left:20px; }
}
@media (max-width: 767px) {
  .blog_list { grid-template-columns:repeat(2, 1fr) !important; margin:30px -20px 0; }
	#main_content:has(.c-pagination) .blog_list { margin-bottom:50px; }
	body.home .blog_list { margin-bottom:40px; }
  .blog_list .item { border-left:none; margin:0 0 -1px 0; }
	.blog_list .item:nth-child(2n) { border-right:none; }
	.blog_list .image { margin-bottom:20px; }
  .blog_list .content { gap:20px 0; }
  .blog_list .title { font-size:14px; }
  .no_post { margin-top:40px; }
}


/* 投稿者アーカイブ */
#author_archive_profile { width:auto; margin:0 auto; border:1px solid #ddd; padding:50px; }
#author_archive_profile .image { width:110px; height:110px; 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:24px; font-family:var(--tcd-headline-font-type); 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:740px; }
#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 + .blog_list { margin-top:50px; }
@media (max-width: 1000px) {
  #author_archive_profile .desc { width:auto; }
}
@media (max-width: 767px) {
  #author_archive_profile { border:none; padding:10px 0 0; }
  #author_archive_profile .name { font-size:20px; }
  #author_archive_profile + .blog_list { margin-top:40px; }
}


/* 投稿者ページ */
#author_list .item { border:1px solid #ddd; background:#fff; margin:0 0 -1px 0; padding:70px; display:flex; flex-wrap:wrap; align-items:center;}
#author_list .image { display:block; width:110px; height:110px; border-radius:100%; margin:0 auto 20px; overflow:hidden; }
#author_list .user_meta { width:250px; padding:0 30px; }
#author_list .name { font-size:22px; line-height:1.2; display:block; font-family:var(--tcd-headline-font-type); margin-top:-10px; margin-bottom:-10px; font-weight:600; }
#author_list .c-sns-icons { margin-top:40px; justify-content:flex-start; }
#author_list .desc { width:calc(100% - 380px); line-height:2; --tcd-line-clamp:3; height:auto; }
#author_list .desc a { color: var(--tcdce-base-link-color) !important; }
@media(hover: hover) {
  #author_list .desc a:hover { text-decoration:underline; }
}
@media (max-width: 1200px) {
	#author_list { display:grid; grid-template-columns:repeat(3, 1fr); }
  #author_list .item { margin:0 -1px -1px 0; padding:30px; flex-direction:column; }
  #author_list .user_meta { width:auto; padding:0; }
  #author_list .image { margin:0 auto 30px; }
  #author_list .name { font-size:20px; text-align:center; }
  #author_list .c-sns-icons { margin-top:30px; justify-content:center; }
  #author_list .desc { width:auto; margin-top:25px; font-size:14px; }
}
@media (max-width: 1000px) {
	#author_list { grid-template-columns:repeat(2, 1fr); }
}
@media (max-width: 600px) {
	#author_list { grid-template-columns:repeat(1, 1fr); }
  #author_list .item { margin:0 0 -1px 0; }
}




/* ----------------------------------------------------------------------
  ブログ詳細ページ
---------------------------------------------------------------------- */
#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; }
body.page #blog_header { margin-bottom:100px; }
#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; margin-top:20px; }
#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 .meta .category_button { color:#999; font-size:14px; padding:0; min-width:inherit; height:auto; line-height:1.4; }
#blog_header .featured_image { margin:50px -100px 0; width:calc(100% + 200px); height:auto; aspect-ratio:700 / 480; position:relative; overflow:hidden; display:block; }
body.page_layout_type2 #blog_header .featured_image { margin-left:0; margin-right:0; width:100%; }
#blog_header .featured_image img { object-fit:cover; width:100%; height:100%; }
#blog_header .featured_image .category_button { position:absolute; top:0; left:0px; z-index:2; height:50px; line-height:50px; min-width:100px; font-size:14px; }
#blog_header .category_top .category_button { z-index:2; height:auto; line-height:1; min-width:inherit; font-size:14px; display:inline-block; padding:0; color:#999; margin:0 0 20px 0; }
@media(hover: hover) {
  #blog_header .meta .category_button:hover { color:#000 !important; }
	#blog_header .category_top .category_button:hover { color:#000 !important; }
}
@media (min-width: 1920px) {
  #blog_header .featured_image { margin-left:0; margin-right:0; width:100%; }
}
@media (max-width: 1350px) {
  #blog_header .featured_image { margin:50px -50px 0; width:calc(100% + 100px); }
  body.page_layout_type2 #blog_header .featured_image { margin:50px 0 0; width:100%; }
}
@media (max-width: 1350px) {
  #blog_header .featured_image { margin:50px 0 0; width: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); }
}
@media (max-width: 767px) {
  #blog_header { margin-bottom:40px; }
  body.page #blog_header { margin-bottom:40px; }
  #blog_header .title { font-size:var(--tcd-single-title-font-size-sp) !important; }
  #blog_header .featured_image { margin:40px -20px 0 !important; width:calc(100% + 40px) !important; }
  #blog_header .featured_image .category_button { height:35px; line-height:35px; min-width:90px; font-size:12px; }
}


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


/* フリースペース */
.single_free_space { margin-bottom:50px; }
.single_free_space.mid { margin-top:50px; }
.single_free_space.btm { margin-bottom:0px; margin-top:50px; }
@media (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; }
@media (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; }
}
@media (max-width: 767px) {
  .c-post-like { margin-bottom:40px; }
}


/* プロフィール */
#author_profile { display:flex; flex-wrap:wrap; align-items:center; padding:40px; margin-bottom:50px; border:1px solid #ddd; }
#author_profile .image { width:90px; height:90px; border-radius:100%; }
#author_profile .content { width:calc(100% - 90px); padding-left:40px; }
#author_profile .name { font-size:18px; 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:10px; line-height:2; --tcd-line-clamp:2; }
@media (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; }
}
@media (max-width: 767px) {
  .c-post-tags { margin-bottom:40px; }
}


/* ナビゲーション */
#post_nav { display:flex; flex-wrap:wrap; margin-top:50px; }
#post_nav a { width:50%; height:120px; border:1px solid #ddd; border-right:none; display:grid; place-items:center; padding:20px 40px; position:relative; }
#post_nav a:last-of-type { border-right:1px solid #ddd; }
#post_nav a.next { padding-right:70px; margin-left:auto; }
#post_nav a.prev { padding-left:70px; }
#post_nav span { line-height:1.8; --tcd-line-clamp:2; height:auto; font-size:16px; text-align:left; width:100%; }
#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:25px; }
#post_nav a.prev:after { transform:rotate(180deg); left:25px; }
@media (max-width: 767px) {
  #post_nav { margin-top:40px; }
  #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 { margin-top:80px; }
#related_post .headline { font-size:26px; text-align:center; line-height:1; margin-bottom:50px; margin-top:calc(0.5em - 0.5lh); font-family:var(--tcd-headline-font-type); }
@media (min-width: 768px) {
  .blog_list.type2 { display:block; }
  .blog_list.type2 .item { display:flex; flex-wrap:wrap; flex-direction:row; border:1px solid #ddd; margin:0 0 -1px 0; padding:30px; }
  .blog_list.type2 .image { display:block; width:150px; aspect-ratio:1 / 1; margin:0; }
  .blog_list.type2 .image .c-thumbnail { width:100%; height:100%; }
  .blog_list.type2 .content { width:calc(100% - 150px); display:flex; flex-direction:column; justify-content:center; gap:20px 0; padding-left:30px; flex-grow:0; }
  .blog_list.type2 .category_button { position:relative; top:auto; left:auto; padding:0; height:auto; line-height:1; min-width:inherit; font-size:14px; color:#999; }
  .blog_list.type2 .title { line-height:1.8; font-size:16px; font-weight:600; }
  .blog_list.type2 .title a { --tcd-line-clamp:2; height:auto; }
  .blog_list.type2 .c-date { margin-top:0; }
  @media(hover: hover) {
	  .blog_list.type2 .category_button:hover { color:#000 !important; }
  }
}
@media (max-width: 767px) {
  #related_post { margin-top:50px; }
  #related_post .headline { font-size:22px; margin-bottom:30px; }
	#blog_list_carousel { overflow:auto; margin:0 -20px; padding:0 20px; }
  body.is-desktop #blog_list_carousel { scrollbar-width:none; user-select:none; }
  body.is-desktop #blog_list_carousel::-webkit-scrollbar { display:none; }
  body.is-mobile #blog_list_carousel { -webkit-overflow-scrolling:touch; scroll-behavior:smooth; }
  #blog_list_carousel .blog_list { display:flex; flex-wrap:nowrap; margin:0px !important; }
  #blog_list_carousel .blog_list:after { content:''; background:transparent; height:10px; width:20px; display:block; flex:0 0 20px; }
	#blog_list_carousel .blog_list .item { width:200px !important; margin:0 !important; border:1px solid #ddd; border-left:none; flex:0 0 200px; }
	#blog_list_carousel .blog_list .item:first-of-type { border-left:1px solid #ddd; }
}


/* コメント */
#comments { margin-top:80px; }
#comments .headline { font-size:26px; text-align:center; line-height:1; margin-bottom:50px; margin-top:calc(0.5em - 0.5lh); font-family:var(--tcd-headline-font-type); }
@media (max-width: 767px) {
  #comments { margin-top:50px !important; }
  #comments .headline { font-size:22px; margin-bottom:30px; }
}




/* ----------------------------------------------------------------------
 404ページ
---------------------------------------------------------------------- */
body.no_search_result #side_button { display:none; }
#no_search_result { display:flex; flex-wrap:wrap; justify-content:center; position:relative; min-height:100dvh; height:100%; }
#no_search_result .content { z-index:100; width:100%; margin-top:auto; padding:100px 0; }
#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-headline-font-size-pc); font-family:var(--tcd-headline-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:50%; 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:sticky; top:100vh; z-index:10; border-top:1px solid #ddd; 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); color:#fff; }
#result_page_copyright p { display:block; }
#no_search_result:has(.bg_image) #result_page_copyright a { color:#fff; }
@media(hover: hover) {
  #no_search_result:has(.bg_image) #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 .headline { font-size:calc((var(--tcd-headline-font-size-pc) + var(--tcd-headline-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 .content { padding:40px 0; }
  #no_search_result .headline { font-size:var(--tcd-headline-font-size-sp); }
  #no_search_result .desc { margin-left:20px; margin-right:20px; }
  #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:50%; position:relative; height:100vh; position:sticky; top:var(--tcd-header-message-height); left:0; z-index:100; overflow:hidden; }
#page_header_parallax { width:100%; height:100%; position:absolute; top:0; left:0; overflow:hidden; transform:translate3d(0,0,0); }
#page_header .title_area { position:absolute; top:0; right:0; z-index:3; writing-mode:vertical-rl; text-align:left; padding:50px 0; background:var(--tcd-accent-color); color:#fff; display:flex; align-items:center; justify-content:center; width:80px; min-height:250px; transition: transform 0.7s ease, opacity 1.0s ease; }
body.use_content_animation #page_header .title_area { transform: translate3d(0,-70px,0); opacity:0; }
body.start_first_animation #page_header .title_area { transform: translate3d(0,0,0); opacity:1; }
#page_header .title_area .title { font-size:var(--tcd-page-header-font-size-pc); font-family:var(--tcd-page-header-font-type); font-weight:600; line-height:1.2; }
#page_header .title_area .sub_title { font-size:14px; margin-top:15px; line-height:1.4; font-weight:500; }
body.use_content_animation #page_header .title_area .title { opacity:0; }
body.use_content_animation #page_header .title_area .sub_title { opacity:0; }
body.start_first_animation #page_header .title_area .title { opacity:1; transition: opacity 1.0s ease 0.7s; }
body.start_first_animation #page_header .title_area .sub_title { opacity:1; transition: opacity 1.0s ease 0.7s; }
#page_header .overlay { position:absolute; top:0; left:0; width:100%; height:100%; z-index:2; }
body.content_layout_type2 #page_header .title_area { right:auto; left:0; }
@media (min-width: 1201px) {
  #page_header_parallax { transform:translate3d(0,0,0) !important; }
}
@media (max-width: 1200px) {
  #page_header { width:100%; height:50vh; position:relative; }
	body:not(.page_header_hidden) #page_header_parallax { will-change:transform; }
  #page_header .title_area { top:auto; bottom:0; right:auto !important; left:50% !important; transform: translate3d(-50%,0,0); transition: transform 0.7s ease 0.3s, opacity 1.0s ease 0.3s; }
  body.use_content_animation #page_header .title_area { transform: translate3d(-50%,100px,0); }
  body.start_first_animation #page_header .title_area { transform: translate3d(-50%,0px,0); }
  body.start_first_animation #page_header .title_area .title { opacity:1; transition: opacity 1.0s ease 0.9s; }
  body.start_first_animation #page_header .title_area .sub_title { opacity:1; transition: opacity 1.0s ease 0.9s; }
}
@media (max-width: 1000px) {
  #page_header { height:500px; }
  #page_header .title_area { padding:30px 0; width:60px; min-height:160px; }
	#page_header .title_area .title { font-size:calc( (var(--tcd-page-header-font-size-pc) + var(--tcd-page-header-font-size-sp)) / 2); }
	#page_header .title_area .sub_title { font-size:12px; }
}
@media (max-width: 767px) {
  #page_header { height:380px; }
	body.single #page_header { display:none; }
	body.single #header { margin-bottom:0; box-shadow:none !important; border-bottom:1px solid #ddd !important; }
	body.single.start_scroll #header { border:none !important; box-shadow: 0 0 10px 1px rgba(0,0,0,0.1) !important; }
	body.single #main_content { transform: translate3d(0,0,0) !important; opacity:1 !important; }
	#page_header .title_area .title { font-size:var(--tcd-page-header-font-size-sp); }
}


/* 画像スライダー */
#page_header_slider { width:100%; height:100%; z-index:1; overflow:hidden; }
#page_header_slider .splide__track { width:100%; height:100%; }
#page_header_slider .splide__list { width:100%; height:100%; }
#page_header_slider .item { width:100%; height:100%; position:relative; }
#page_header_slider .item .bg_image { width:100%; height:100%; position:relative; display:block; }
#page_header_slider .item .bg_image img { position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; }

#page_header_slider.animation_zoom-in .item .bg_image { transform:scale(1); will-change:transform; }
#page_header_slider.animation_zoom-in .item.is-active .bg_image,
#page_header_slider.animation_zoom-in .item.keep-animate .bg_image { transform:scale(1.2); transition: transform 10.0s linear 0s; }

#page_header_slider.animation_zoom-out .item .bg_image { transform:scale(1.2); will-change:transform; }
#page_header_slider.animation_zoom-out .item.is-active .bg_image,
#page_header_slider.animation_zoom-out .item.keep-animate .bg_image { transform:scale(1); transition: transform 10.0s linear 0s; }


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


/* パンくずリンク */
.c-breadcrumb { margin-block:0 !important; margin:-20px 0 70px !important; width:100%; }
body.single-post.sidebar_none .c-breadcrumb { width:700px; margin-left:auto !important; margin-right:auto !important; }
body.page_layout_type2.single-service .c-breadcrumb { margin-bottom:20px !important; }
.c-breadcrumb__list { height:70px; }
.c-breadcrumb__item:where(:last-of-type) { color:#999 !important; }
.c-breadcrumb__list .c-breadcrumb__item:not(:first-of-type) a { max-width:250px; white-space:nowrap; text-overflow:ellipsis; visibility:visible; }
.c-breadcrumb__item-arrow { top:-1px; position:relative; }
@media (max-width: 1200px) {
	.c-breadcrumb { margin:-100px -100px 100px !important; border-bottom:1px solid #ddd; width:calc(100% + 200px) !important; }
  body.page_layout_type2.single-news .c-breadcrumb { margin-bottom:100px !important; }
  body.page_layout_type2.single-service .c-breadcrumb { margin-bottom:100px !important; }
  .c-breadcrumb__list { width:auto !important; height:50px !important; padding-inline:20px !important; }
}
@media (max-width: 1000px) {
	.c-breadcrumb { margin:-100px -50px 100px !important; width:calc(100% + 100px) !important; }
  body.page_layout_type2.single-news .c-breadcrumb { margin-bottom:50px !important; }
  body.page_layout_type2.single-service .c-breadcrumb { margin-bottom:50px !important; }
}
@media (max-width: 767px) {
  .c-breadcrumb { margin:-50px -20px 40px !important; width:calc(100% + 40px) !important; }
  body.page_layout_type2.single-news .c-breadcrumb { margin-bottom:40px !important; }
  body.page_layout_type2.single-service .c-breadcrumb { margin-bottom:40px !important; }
  .c-breadcrumb__item-arrow { top:0px; }
}


/* 説明文 */
#page_header_headline { text-align:center; line-height:1.6; font-size:var(--tcd-headline-font-size-pc); font-family:var(--tcd-headline-font-type); font-weight:600; margin:0 0 100px 0; left:50%; transform: translateX(-50%); position:relative; }
body.headline_vertical #page_header_headline:not(.horizontal) { writing-mode:vertical-rl; text-align:left; }
#page_header_desc { margin-bottom:100px; }
body.page_layout_type2 #page_header_desc { margin-left:auto; margin-right:auto; text-align:center; }
#page_header_desc .mobile { display:none; }
@media (max-width: 1000px) {
  #page_header_headline { font-size:calc( (var(--tcd-headline-font-size-pc) + var(--tcd-headline-font-size-sp)) / 2); }
  #page_header_desc { margin-bottom:100px; }
  body.page_layout_type2 #page_header_desc { text-align:left; }
}
@media (max-width: 767px) {
  #page_header_headline { font-size:var(--tcd-headline-font-size-sp); margin-bottom:50px; }
  #page_header_desc { margin-bottom:50px; }
  #page_header_desc .pc { display:none; }
  #page_header_desc .mobile { display:block; }
}




/* ----------------------------------------------------------------------
  ヘッダーバー
---------------------------------------------------------------------- */
#header { position:relative; top:0; left:0; width:100%; height:100px; margin-bottom:-100px; display:flex; flex-wrap:wrap; justify-content:space-between; z-index:1000; transition:opacity 0.9s ease 0.2s, background-color 0.25s ease 0s, box-shadow 0.25s ease 0s; pointer-events:none; }
body.content_layout_type2.logo_layout_type2 #header { position:sticky; top:var(--tcd-header-message-height); }
body.content_layout_type1.logo_layout_type1 #header { position:sticky; top:var(--tcd-header-message-height); }
body.page_layout_type2 #header { position:sticky; top:var(--tcd-header-message-height); }
body.page-template-page__lp #header { position:sticky; top:var(--tcd-header-message-height); }
@media (max-width: 1200px) {
  #header { height:60px; margin-bottom:calc(-60px - var(--tcd-header-message-height)); position:sticky; top:var(--tcd-header-message-height); }
	body.page_layout_type2 #header { border-bottom:1px solid #ddd; background:#fff; margin-bottom:0; }
	body.page_header_hidden #header,
	body.page_layout_type2.start_scroll #header { background:#fff; border-bottom:none; box-shadow:0 0 10px 1px rgba(0,0,0,0.1); }
}
@media (max-width: 782px) {
  body.admin-bar #header { top:calc(var(--tcd-header-message-height) + 46px); }
}


/* ロゴ */
#header_logo { display:grid; place-items:center; position:absolute; right:30px; top:30px; z-index:3; pointer-events:auto; }
#header_logo a { color:#000; 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%; }
body.logo_layout_type1 #header_logo { right:auto; left:30px; }
@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; }
#header_logo .mobile_image { display:none; width:auto; height:var(--tcd-logo-image-size-sp); margin:auto; }
#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: 1200px) {
  #header_logo { right:auto !important; left:20px !important; top:50%; transform: translateY(-50%); }
  #header_logo .image { height:var(--tcd-logo-image-size-sp); }
  #header:has(.mobile_image) #header_logo .image { display:none; }
  #header_logo .mobile_image { display:block; }
	#header_logo .mobile_image.normal { display:block; }
	#header_logo .mobile_image.white { display:none; }
	body:has(#page_header) #header_logo:has(.mobile_image.white) .mobile_image.normal,
	body:has(#lp_page_header) #header_logo:has(.mobile_image.white) .mobile_image.normal { display:none; }
	body:has(#page_header) #header_logo .mobile_image.white,
	body:has(#lp_page_header) #header_logo .mobile_image.white { display:block; }
	body:has(#page_header).page_header_hidden #header_logo:has(.mobile_image.white) .mobile_image.normal,
	body:has(#lp_page_header).page_header_hidden #header_logo:has(.mobile_image.white) .mobile_image.normal { display:block; }
	body:has(#page_header).page_header_hidden #header_logo .mobile_image.white,
	body:has(#lp_page_header).page_header_hidden #header_logo .mobile_image.white { display:none; }
  #header_logo .title { font-size:var(--tcd-logo-font-size-sp); }
}
body.page_layout_type2 #header_logo a { color:#000; }
body.page-template-page__lp:has(#lp_page_header) #header_logo a { color:#fff; }
body.page-template-page__lp:has(#lp_page_header).page_header_hidden #header_logo a { color:#000; }
@media (min-width: 1201px) {
  body.page_layout_type1.content_layout_type1.logo_layout_type1 #header_logo a { color:#fff; }
  body.page_layout_type1.content_layout_type2.logo_layout_type2 #header_logo a { color:#fff; }
  body.no_search_result:has(.bg_image) #header_logo a { color:#fff; }
  body.page-template-page__lp:has(#lp_page_compact_content) #header_logo a { color:#000; }
}
@media (max-width: 1200px) {
  body.page_header_hidden #header_logo a { color:#000; }
}


/* ヘッダーメッセージ */
#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.open_drawer_menud #header_message { display:none; }
@media(hover: hover) {
  #header_message a:hover { opacity:0.6; }
}


/* ドロワーメニュー開閉ボタン */
.drawer_menu_button { width:90px; height:80px; display:block; cursor:pointer; position:fixed; top:var(--tcd-header-message-height); left:0; z-index:3; pointer-events:auto; }
body.admin-bar .drawer_menu_button { top:32px; }
.drawer_menu_button span { width:30px; height:2px; background:#fff; display:block; position:absolute; left:50%; transform: translateX(-50%); transition: all 0.4s ease; }
.drawer_menu_button span:nth-child(1) { top:31px; transform-origin:center; }
.drawer_menu_button span:nth-child(2) { top:39px; transform-origin:center; }
.drawer_menu_button span:nth-child(3) { top:48px; transform-origin:center; }
#drawer_menu .drawer_menu_button { opacity:0; pointer-events:none; }
body.open_drawer_menu .drawer_menu_button { opacity:0; pointer-events:none; }
body.open_drawer_menu #drawer_menu .drawer_menu_button { opacity:1; pointer-events:auto; }
body.content_layout_type2.logo_layout_type2 .drawer_menu_button { position:absolute; }
body.content_layout_type1.logo_layout_type1 .drawer_menu_button { position:absolute; }
body.open_drawer_menu .drawer_menu_button span:nth-child(1) { width:24px; top:40px; left:calc(50% - 12px); 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) { width:24px; top:40px; left:calc(50% - 12px); transform:rotate(-45deg); }
body.logo_layout_type1 .drawer_menu_button { left:auto; right:0; }
body.page_layout_type2 .drawer_menu_button span { background:#000; }
body.open_drawer_menu .drawer_menu_button span { background:#fff !important; }
body.page-template-page__lp:has(#lp_page_header) .drawer_menu_button span { background:#fff; }
body.page-template-page__lp:has(#lp_page_header).page_header_hidden .drawer_menu_button span { background:#000; }
body:has(#header_message) #drawer_menu .drawer_menu_button { top:var(--tcd-header-message-height); }
@media (min-width: 1201px) {
  body.page_layout_type1.content_layout_type1.logo_layout_type1 .drawer_menu_button span { background:#000; }
  body.page_layout_type1.content_layout_type2.logo_layout_type2 .drawer_menu_button span { background:#000; }
  body.no_search_result:has(.bg_image) .drawer_menu_button span { background:#fff; }
  body.page-template-page__lp:has(#lp_page_compact_content) .drawer_menu_button span { background:#000; }
}
@media (max-width: 1200px) {
	.drawer_menu_button { left:auto !important; right:0 !important; top:0; position:absolute; width:60px; height:60px; }
  body.admin-bar .drawer_menu_button { top:0px; }
  .drawer_menu_button span { width:19px !important; }
  .drawer_menu_button span:nth-child(1) { top:23px; }
  .drawer_menu_button span:nth-child(2) { top:29px; }
  .drawer_menu_button span:nth-child(3) { top:35px; }
  body.open_drawer_menu .drawer_menu_button span:nth-child(1) { top:29px; left:calc(50% - 10px); }
  body.open_drawer_menu .drawer_menu_button span:nth-child(2) { width:0 !important; }
  body.open_drawer_menu .drawer_menu_button span:nth-child(3) { top:29px; left:calc(50% - 10px); }
	body.page_header_hidden .drawer_menu_button span { background:#000; }
  body.page-template-page__lp:not(:has(#lp_page_header)) .drawer_menu_button span { background:#000; }
}
@media(hover: hover) {
  .drawer_menu_button:hover span { background:#999 !important; }
  body.open_drawer_menu .drawer_menu_button:hover span { background:#999 !important; }
  body.page-template-page__lp:not(:has(#lp_page_header)) .drawer_menu_button:hover span { background:#999 !important; }
}




/* ----------------------------------------------------------------------
 ドロワーメニュー
---------------------------------------------------------------------- */
#drawer_menu {
  position:fixed; top:0px; left:0; width:100%; height:100vh; height:100dvh; z-index:1001; 
  opacity:0; transition: opacity 0.5s ease; pointer-events:none; overscroll-behavior:contain; display:flex; flex-wrap:wrap;
}
#drawer_menu_inner { width:50%; height:100%; background:#000; overflow:auto; position:relative; display:flex; flex-direction:column;}
#drawer_menu_close_area { width:50%; height:100%; background:rgba(0,0,0,0.4); }
body.open_drawer_menu #main_content { pointer-events:none; }
body.open_drawer_menu #drawer_menu { opacity:1; pointer-events:auto; }
body.open_drawer_menu #js-footer-fix { display:none; }
body.logo_layout_type1 #drawer_menu { flex-direction:row-reverse; }
body.open_drawer_menu { overflow:hidden; }
@media (max-width: 1200px) {
  #drawer_menu { flex-direction:row-reverse !important; }
}
@media (max-width: 767px) {
	#drawer_menu_inner { width:100%; }
	#drawer_menu_close_area { display:none; }
}


/* グローバルメニュー */
#drawer_menu .menu_area { width:100%; margin:auto; position:relative; padding-top:70px; }
@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 ul { margin:0; }
#drawer_menu_nav a {
  position:relative; display:block; margin:0; padding:0 80px; height:70px; line-height:70px; overflow:hidden; text-decoration:none;
  color:#fff; font-size:16px; font-weight:600;
  overflow:hidden; white-space:nowrap; text-overflow:ellipsis; visibility:visible;
}
#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;
	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 .sub-menu { display:none; }
#drawer_menu_nav li ul { width:100%; display:flex; flex-wrap:wrap; background:rgba(180,180,180,0.1); margin-bottom:-1px; }
#drawer_menu_nav li ul li { width:calc(100% / 3); }
@media(hover: hover) {
	#drawer_menu_nav a:hover { color:rgba(255,255,255,0.5); }
}
@media (max-width: 1200px) {
  #drawer_menu_nav a { font-size:14px; padding:0 30px; height:50px; line-height:50px; }
	#drawer_menu_nav > ul > li > a:before { display:none; }
  #drawer_menu_nav .child_menu_button { right:20px;}
  #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; }
  @media(hover: hover) {
		#drawer_menu_nav a:hover { color:rgba(255,255,255,0.5) !important; }
  }
}


/* ボタン */
.sc_button_list { background:#f6f6f6; padding:50px; margin-top:90px; }
.sc_button_list .headline { font-size:26px !important; font-family:var(--tcd-headline-font-type) !important; text-align:center !important; margin-top:calc(0.5em - 0.5lh); margin-bottom:30px !important; }
.sc_button_list .button_list { margin-top:35px; }
.sc_button_list .button_list a { color:#fff; background:#000; max-width:300px; height:70px; font-size:16px; padding:0 30px; display:flex; flex-wrap:nowrap; align-items:center; justify-content:center; text-align:center; border-radius:5px; margin:0 auto 15px; text-decoration:none; line-height:1.4; }
.sc_button_list .button_list a.tel { font-size:18px; }
.sc_button_list .button_list a:last-of-type { margin-bottom:0; }
.sc_button_list .button_list a :where(svg, img) { font-size:22px; width:1em; height:1em; fill:currentColor; object-fit:contain; }
.sc_button_list .button_list a span { display:block; padding:0 0 0 10px; }
#drawer_menu .sc_button_list { background:none; padding:0; margin:0; }
#drawer_menu .sc_button_list .button_list { display:flex; flex-wrap:wrap; justify-content:center; gap:0 20px; margin:35px 80px 0; }
#drawer_menu .sc_button_list .button_list a { background:none; border:1px solid rgba(255,255,255,0.3); flex: 1 1 0%; margin:0; }
@media(hover: hover) {
	.sc_button_list .button_list a:hover { color:#fff !important; background:var(--tcd-accent-color); }
	#drawer_menu .sc_button_list .button_list a:hover { background:none; color:rgba(255,255,255,0.5) !important; }
}
@media (max-width: 1200px) {
  .sc_button_list .button_list a { height:60px; font-size:14px; padding:0 30px; flex:auto; }
	.sc_button_list .button_list a.tel { font-size:16px; }
	.sc_button_list .button_list a :where(svg, img) { font-size:20px; }
  #drawer_menu .sc_button_list .button_list { margin:35px 30px 0; display:block; }
	#drawer_menu .sc_button_list .button_list a { max-width:300px; width:auto; margin:0 auto 15px; }
	#drawer_menu .sc_button_list .button_list a:last-of-type { margin-bottom:0; }
}
@media (max-width: 767px) {
  .sc_button_list { padding:40px 30px; margin-top:50px; }
  .sc_button_list .headline { font-size:22px !important; margin-bottom:20px !important; }
  .sc_button_list .button_list { margin-top:21px; }
	.sc_button_list .button_list a { max-width:260px; width:auto; }
}
@media (max-width: 450px) {
	#drawer_menu .sc_button_list .button_list a { max-width:100%; }
}


/* SNSアイコン */
#drawer_menu .bottom_area { position:sticky; top:100vh; display:flex; flex-wrap:nowrap; justify-content:space-between; padding:60px 30px 30px; }
#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; }
}


/* 言語ボタン */
#drawer_lang_button { display:flex; flex-wrap:wrap; gap:0 20px; padding-left:30px; }
#drawer_lang_button a { color:#fff; }
@media(hover: hover) {
	#drawer_lang_button a:hover { color:rgba(255,255,255,0.5); }
}




/* ----------------------------------------------------------------------
  フッターバー
---------------------------------------------------------------------- */
#footer { width:100%; position:sticky; top:100vh; overflow:hidden; }
#footer:not(:has(#footer_top)) { border-top:1px solid #ddd; margin-top:-1px; }
body.page_layout_type1 #footer { opacity:0; transition: opacity 1.0s ease; }
body.page_layout_type1.footer_displayed #footer { opacity:1; }
#footer_top { position:relative; background:var(--tcd-accent-color); color:#fff; padding:0; margin-bottom:-1px; z-index:2; }
#footer_top a { color:#fff; }
#footer_bottom { position:relative; display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; padding:0px 30px; height:70px; }
#footer_bottom:not(:has(#footer_logo)), #footer_bottom:not(:has(#copyright)) { justify-content:center; }
#footer_bottom:not(:has(#footer_logo)):not(:has(#copyright)) { display:none; }
@media(hover: hover) {
  #footer_top a:hover { color:rgba(255,255,255,0.5); }
}
@media (max-width: 1200px) {
	#footer { position:relative; top:auto; }
  #footer:not(:has(#footer_top)) { border-top:none; margin-top:0px; }
	#footer_top:not(:has(#footer_menu_bottom)) { display:none; }
  #footer_bottom { height:auto; display:block; text-align:center; border-top:1px solid #ddd; padding:0; }
	#footer_bottom .logo_area { padding:40px 0; }
	#footer_bottom:not(:has(#footer_logo)):not(:has(.c-sns-icons)) .logo_area { padding:0; }
  #footer_bottom:not(:has(#footer_logo)):not(:has(#copyright)):has(.c-sns-icons) { display:block; }
}


/* フッターメニュー */
#footer_menu_bottom { padding:0 calc(var(--tcd-footer-sns-icons-width) + 30px); }
#footer_menu_bottom ul { font-size:16px; display:flex; flex-wrap:wrap; justify-content:center; align-items:center; margin:0 auto; padding:17px 0; }
#footer_menu_bottom ul a { padding:10px 30px; display:block; }
@media (max-width: 1200px) {
	#footer_menu_bottom { overflow:hidden; overflow-x:auto; text-align:center; padding:0; }
  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; padding:0 100px; }
  #footer_menu_bottom ul:after { content:''; position:absolute; top:0; left:auto; height:10px; width:100px; }
	#footer_menu_bottom li { display:inline-block; font-size:14px; }
  #footer_menu_bottom ul a { padding:23px 20px; }
}
@media (max-width: 1000px) {
	#footer_menu_bottom ul { padding:0 35px; }
	#footer_menu_bottom ul a { padding:23px 15px; }
  #footer_menu_bottom ul:after { width:35px; }
}
@media (max-width: 767px) {
	#footer_menu_bottom ul { padding:0 5px; }
  #footer_menu_bottom ul:after { width:5px; }
}


/* SNSアイコン */
#footer_top .c-sns-icons { justify-content:flex-end; position:absolute; top:28px; right:30px; }
#footer_bottom .c-sns-icons { display:none; }
#footer:not(:has(#footer_menu_bottom)) #footer_top .c-sns-icons { position:relative; top:0; right:auto; padding:27px 30px; justify-content:center; }
#footer_widget + .c-sns-icons,
#footer_menu + .c-sns-icons { margin-top:0; }
@media (max-width: 1200px) {
  #footer_top .c-sns-icons { display:none; }
  #footer_bottom .c-sns-icons { display:flex; justify-content:center; }
	#footer_bottom #footer_logo + .c-sns-icons { margin-top:30px; }
}


/* ロゴ */
#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); }
}


/* コピーライト */
#copyright p { font-size:14px; display:block; line-height:1.4; }
@media (max-width: 1200px) {
	#copyright { padding:20px 50px; border-top:1px solid #ddd; }
	#footer_bottom:not(:has(#footer_logo)):not(:has(.c-sns-icons)) #copyright { border-top:none; }
}
@media (max-width: 767px) {
	#copyright { padding:20px 20px; }
}


/* フッターボタン */
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; margin-bottom:-1px; }
.p-widget-tab-post-nav-item { position: relative; flex: 1; padding-inline: 1em; border: 1px solid #f6f6f6; border-bottom:1px solid #ddd; 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-color:#ddd; border-bottom:1px solid #fff; 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 { display:grid; grid-template-columns:repeat(2, 1fr); gap:19px; border:1px solid #ddd; padding:19px; }
.p-widget-tab-post-list-item { 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; width:100%; height:auto; position:relative; z-index:1; margin-bottom:19px; }
.p-widget-tab-post-list-item-image .c-thumbnail { width:100%; height:100%; }
.p-widget-tab-post-list-item-title { --tcd-line-clamp: 3; line-height: 1.8; height: auto; font-size:14px; }
.p-widget-tab-post-list-item .no_post { padding:0 20px; margin-bottom:-5px; }
@media(hover: hover) {
  .p-widget-tab-post-nav-item:hover { color: rgba(0, 0, 0, .5); }
}


/* バナースライダー */
.widget_tcd_widget_post_carousel { position:relative; }
.widget_tcd_widget_post_carousel .p-widget-headline { margin-bottom:0; }
.widget_post_carousel { position:relative; background:#fff; }
.widget_post_carousel:not(:has(.item:only-of-type)) { padding-bottom:0px !important; }
.widget_post_carousel a { display:flex; flex-direction:column; height:auto; }
.widget_post_carousel .c-thumbnail { aspect-ratio:300 / 205; }
.widget_post_carousel .title {
  font-size:14px; padding:20px; display:grid; place-items:center; transition: color 0.25s ease;
  position:absolute; left:0; bottom:0; z-index:2; color:#fff; background:rgba(0,0,0,0.5); width:100%; font-weight:600;
}
.widget_post_carousel .title span { --tcd-line-clamp:2; height:auto; }
.widget_post_carousel .splide__pagination { position:absolute; top:-34px; left:auto; right:20px; margin:0; align-items:flex-end; }
.widget_post_carousel .splide__pagination .splide__pagination__page { background:rgba(255,255,255,0.3); }
.widget_post_carousel .splide__pagination .splide__pagination__page.is-active { background:#fff; }

@media(hover: hover) {
  .widget_post_carousel .item:hover .content { color:#999 !important; }
  .widget_post_carousel.type2 .item:hover .title { color:rgba(255,255,255,0.8); }
}


/* メニュー */
:is(.widget_categories, .widget_archive, .widget_nav_menu, .widget_meta, .widget_pages) .p-widget-headline { margin-bottom:-1px; position:relative; }


/* 画像 */
.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:16px; }
.widget_recent_entries .post-date{ font-size:16px !important; }


/* コメント */
.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); }
}


/* カスタムHTML */
.textwidget a { color: var(--tcdce-base-link-color) !important; text-decoration:none !important; }
@media(hover: hover) {
  .textwidget a:hover { text-decoration: var(--tcdce-base-link-decoration) !important; }
}


/* ブロック */
.widget_block a { color: var(--tcdce-base-link-color) !important; text-decoration:none !important; }
@media(hover: hover) {
  .widget_block a:hover { text-decoration: var(--tcdce-base-link-decoration) !important; }
}


/* like */
.widget_tcd_modules_postlikewidget .p-widget-headline { margin-bottom:-1px; }
.p-widget-post-like-item-title { font-weight:500 !important; }
.no_post_like { border:1px solid #ddd; border-top:none; font-size:14px; padding:15px 25px; }


/* 目次 */
.widget_tcdce_toc_widget:has(.is-sticky) { top:calc( var(--tcd-header-message-height) + 50px ) !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:-45px; }
.splide__arrow--next { right:-45px; }
@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 KASHIRA style.css */