@charset "utf-8";
/*
Theme Name:VOYAGE
Theme URI:https://tcd-theme.com/tcd121
Description:WordPress theme VOYAGE was developed for local media outlets and municipal websites that aim to showcase the unique charm of their region. It comes with custom post types for beautifully animated features, spotlight articles on residents and local businesses, and interviews. With this theme, you can create a media site that truly conveys the atmosphere of the area.
Author:TCD
Author URI:https://tcd-theme.com/
Version:1.1
Text Domain:tcd-voyage
*/


/* ----------------------------------------------------------------------
  基本設定
---------------------------------------------------------------------- */
html { /*scroll-behavior:smooth; scroll-padding-top:150px;*/ }
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 (max-width: 600px) {
  html:has(#wpadminbar) { padding-top:0px; }
	#wpadminbar { position:fixed !important; }
}


/* スプリットレイアウト時にコンテナクエリを無効化 */
@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%; position:relative; overflow:clip; }
#main_content { position:relative; width:1100px; margin:0 auto; padding-bottom:150px; }
body.single #main_content,
body.page #main_content,
body.post-type-archive-voice #main_content,
body.tax-voice_category #main_content,
body:has(#author_list) #main_content { width:1100px; }
body.single-voice.voice_list_design_type1 #main_content { width:970px; }
body.sidebar_right #main_content { display:flex; flex-wrap:wrap; justify-content:space-between; }
body.sidebar_left #main_content { display:flex; flex-wrap:wrap; justify-content:space-between; flex-direction:row-reverse; }
#main_content .main_col { width:740px; container-type:inline-size; container-name:main_col; }
body.sidebar_none #main_content .main_col { margin:0 auto; }
#main_content .l-sidebar { width:300px; }
@media (max-width: 1400px) {
  #main_content { width:auto; margin:0 100px; }
  body.single #main_content,
	body.page:not(.sidebar_none) #main_content,
  body.post-type-archive-voice #main_content,
  body.tax-voice_category #main_content,
  body:has(#author_list) #main_content { margin:0 auto; }
	body.page.sidebar_none #main_content { width:auto; margin:0 100px; }
}
@media (max-width: 1260px) {
  body.single #main_content,
  body.page:not(.sidebar_none) #main_content { width:740px; }
	body:has(#author_list) #main_content,
	body.post-type-archive-voice #main_content,
	body.tax-voice_category #main_content,
	body.single-voice #main_content { width:auto; margin:0 100px; }
	#main_content { display:block !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: 1200px) {
  #main_content { margin:0 60px; padding-bottom:100px; width:auto !important; }
	body:has(#author_list) #main_content,
	body.post-type-archive-voice #main_content,
	body.tax-voice_category #main_content,
	body.single-voice #main_content { margin:0 60px; }
	body.page.sidebar_none #main_content { margin:0 60px; }
  #main_content .main_col { width:740px; margin:30px auto 0 !important; }
  #main_content .l-sidebar { width:740px; margin:80px auto 0; }
}
@media (max-width: 860px) {
  #main_content .main_col { width:auto; margin:30px 60px 0 !important; }
  #main_content .l-sidebar { width:auto; margin:80px 60px 0; }
}
@media (max-width: 767px) {
  #main_content { margin:0 20px; padding-bottom:50px; }
	body:has(#author_list) #main_content,
	body.post-type-archive-voice #main_content,
	body.tax-voice_category #main_content,
	body.single-voice #main_content { margin:0 20px; }
	body.page.sidebar_none #main_content { margin:0 20px; }
  #main_content .main_col { margin:0 20px !important; }
  #main_content .l-sidebar { margin:40px 20px; }
	#main_content .l-sidebar { margin-top:50px; margin-bottom:0; }
	#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:70px; }
.c-pagination .screen-reader-text { display:none; }
.c-pagination :where(.nav-links) { display:grid; gap:0 14px; grid-template-columns:repeat(auto-fit, 50px); grid-template-rows:50px; justify-content:center; font-size:14px; font-family:Arial; text-align:center; }
.c-pagination :where(.nav-links > *) { display:grid; place-items:center; color:#000000; border:1px solid #ddd; background:#fff; border-radius:5px; }
.c-pagination :where(.nav-links > * + *) { }
.c-pagination .page-numbers.dots { border:none; margin:0 -10px; position:relative; }
.c-pagination :where(.nav-links > .current) { z-index:1; color:#ffffff; border-color:var(--tcd-accent-color); background:var(--tcd-accent-color); }
.c-pagination .next { display:none; }
.c-pagination .prev { display:none; }
@media(hover: hover) {
  .c-pagination :where(.nav-links > a:hover) { z-index:1; color:#ffffff !important; border-color:var(--tcd-accent-color); background:var(--tcd-accent-color); }
}
@media (max-width: 767px) {
  .c-pagination { margin-top:50px; }
  .c-pagination :where(.nav-links) { grid-template-columns:repeat(auto-fit, 45px); grid-template-rows:45px; gap:0 10px; }
}


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


/* 矢印付ボタン */
.design_button { font-size:16px; align-self:flex-start; position:relative; overflow:hidden; height:70px; line-height:70px; border-radius:70px; background:#fff; display:block; text-align:center; color:#fff !important; padding:0 85px; width:fit-content; min-width:300px; margin:0 auto; margin-top:120px !important; text-decoration:none !important; z-index:5; }
.design_button:after { content:''; width:100%; height:100%; display:block; position:absolute; top:0; left:0; background:var(--tcd-accent-color); }
.design_button span { position:relative; z-index:2; }
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:after { opacity:0.9; }
}
@media (max-width: 1200px) {
  .design_button { margin-top:100px !important; height:60px; line-height:60px; padding:0 65px; min-width:260px; font-size:16px; }
  p + .design_button,
  p + p .design_button { margin-top:60px !important; }
}
@media (max-width: 767px) {
  .design_button {  margin-top:50px !important; font-size:14px; min-width:230px; }
  .design_button:before { font-size:30px; width:1em; left:15px; }
  p + .design_button,
  p + p .design_button { margin-top:50px !important; }
}




/* ----------------------------------------------------------------------
  固定ページ
---------------------------------------------------------------------- */
body.page:not(.home):not(.sidebar_none):not(:has(.c-breadcrumb)) #main_content { padding-top:115px; }
#page_content { width:900px; margin:0 auto; position:relative; padding:120px 0 150px; }
#page_article .post_content { font-family:var(--tcd-single-content-font-type); }
#page_featured_image { margin-bottom:50px; display:block; }
@media (max-width: 1260px) {
  body.page:not(.home):not(.sidebar_none):not(:has(.c-breadcrumb)) #main_content { padding-top:90px; }
}
@media (max-width: 1200px) {
  body.page:not(.home):not(.sidebar_none):not(:has(.c-breadcrumb)) #main_content { padding-top:50px; }
}
@media (max-width: 1100px) {
  body.page:not(.home):not(.sidebar_none):not(:has(.c-breadcrumb)) #main_content { padding-top:20px; }
  #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_tab_wrap { margin:110px 0; }
#sc_faq_tab_wrap:first-child { margin-top:0; }
#sc_faq_tab_wrap:last-child { margin-bottom:0; }
#sc_faq_tab { display:flex; flex-wrap:wrap; margin-bottom:-1px; position:relative; }
#sc_faq_tab .item { font-size:16px; padding:0 20px; flex: 1 1 0%; display:grid; place-items:center; height:70px; border:1px solid #ddd; border-right:none; background:#f6f6f6; cursor:pointer; transition: color 0.25s ease; }
#sc_faq_tab .item:last-of-type { border-right:1px solid #ddd; }
#sc_faq_tab .item.active { color:var(--tcd-accent-color); background:#fff; border-bottom:1px solid #fff; pointer-events:none; }
#sc_faq_tab:has(.item:only-child) { display:none; }
#sc_faq_list .sc_faq { border:1px solid #ddd; margin:0; padding:0 70px; display:none; }
#sc_faq_list .sc_faq.active { display:block; }
#sc_faq_list .sc_faq dt { margin-bottom:10px; padding:60px 0 0 0; font-size:24px; color:var(--tcd-accent-color); font-weight:600; position:relative; display:flex; flex-wrap:nowrap; align-items:center; gap:0 15px; line-height:1.5; }
#sc_faq_list .sc_faq dt:before { content:'Q'; width:40px; height:40px; line-height:40px; font-size:18px; font-weight:500; flex:0 0 auto; background:var(--tcd-accent-color); border-radius:100%; display:block; text-align:center; color:#fff; }
#sc_faq_list .sc_faq dd { padding:20px 0 70px 0; border-bottom:1px solid #ddd; }
#sc_faq_list .sc_faq dd:last-child { border:none; }
@media(hover: hover) {
	#sc_faq_tab .item:hover { color:#999;}
}
@media (max-width: 1200px) {
  #sc_faq_tab_wrap { margin:90px 0; }
}
@media (max-width: 767px) {
  #sc_faq_tab_wrap { margin:40px -20px; }
	#sc_faq_tab_wrap:last-child { margin-bottom:-50px; }
  #sc_faq_tab .item { font-size:14px; height:60px; padding:0 15px; }
  #sc_faq_tab .item:first-of-type { border-left:none; }
  #sc_faq_tab .item:last-of-type { border-right:none; }
  #sc_faq_list .sc_faq { border-left:none; border-right:none; padding:0 20px; }
	#sc_faq_tab_wrap:last-child .sc_faq { border-bottom:none; }
  #sc_faq_list .sc_faq dt { padding:30px 0 0 0; font-size:16px; }
  #sc_faq_list .sc_faq dd { padding:20px 0 30px 0; }
}


/* 画像スライダー */
.sc_image_slider_wrap { width:510px; margin:95px auto; }
.design_layout .sc_image_slider_wrap { width:50%; margin:0 0 auto; }
.sc_image_slider { width:100%; position:relative; }
.sc_image_slider .item { width:100%; position:relative; }
.sc_image_slider .item img { display:block; margin:0; border-radius:15px; }
.sc_image_slider_wrap .splide__pagination { margin-top:30px !important; }
.sc_image_slider_wrap .splide__pagination__page { width:12px; height:12px; }
@media (max-width: 767px) {
  .design_layout .sc_image_slider_wrap { width:400px; margin:0 auto 50px; }
  .sc_image_slider_wrap .splide__pagination { margin-top:20px !important; }
  .sc_image_slider_wrap .splide__pagination__page { width:10px; height:10px; }
}
@media (max-width: 500px) {
  .design_layout .sc_image_slider_wrap { width:100%; }
  .sc_image_slider .item { height:400px; border-radius:10px; overflow:hidden; }
  .sc_image_slider .item img { position:absolute; top:0; left:0; width:100%; height:100%; border-radius:0px; object-fit:cover; }
}


/* 画像カルーセル */
.sc_image_carousel_wrap { margin:110px 0 120px !important; width:calc(100vw - var(--tcd-scrollbar-width)); left:calc((100% - (100vw - var(--tcd-scrollbar-width))) / 2); position:relative; z-index:1; pointer-events:none; }
.sc_image_carousel .item { width:450px !important; height:auto; aspect-ratio:450 / 300; position:relative; overflow:hidden; border-radius:15px; }
.sc_image_carousel .item img { position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; }
.sc_image_carousel .splide__list { will-change:transform; }
.sc_image_list { display:flex; flex-wrap:nowrap; justify-content:center; gap:0px 20px; margin:0 100px;  }
.sc_image_list .item { max-width:450px !important; width:calc(100% / 3); height:auto; aspect-ratio:450 / 300; position:relative; overflow:hidden; border-radius:15px; }
.sc_image_list .item img { position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; }
@media (max-width: 1200px) {
  .sc_image_carousel .item { width:350px !important; }
}
@media (max-width: 1100px) {
  .sc_image_carousel .item { border-radius:10px; }
}
@media (max-width: 767px) {
  .sc_image_carousel_wrap { margin:45px 0 50px !important; }
  .sc_image_carousel .item { width:240px !important; border-radius:7px; }
	.sc_image_carousel .item img { border-radius:10px; }
}


/* 2カラムレイアウト */
.design_layout { display:flex; flex-wrap:nowrap; justify-content:space-between; margin-top:110px; margin-bottom:120px !important; gap:0 80px; }
#voice_archive_desc .design_layout { align-items:center; }
.design_layout .image { width:50%; margin-bottom:auto; }
.design_layout .image img { border-radius:15px; }
.design_layout .content { width:50%; }
.design_layout .content p:last-child { margin-bottom:calc(0.5em - 0.5lh); }
.design_layout.type2 { flex-direction:row-reverse; }
p:has(img) + .design_layout { margin-top:120px; }
.design_layout:last-child { margin-bottom:0 !important; }
.design_layout .sub_title { width:160px; height:60px; display:grid; place-items:center; border:1px solid #ddd; border-radius:60px; margin:0 auto 20px; }
@media (max-width: 1200px) {
  .design_layout { margin-top:90px; margin-bottom:100px !important; gap:0 50px; }
  .design_layout .sub_title { width:130px; height:45px; border-radius:45px; font-size:14px; margin-bottom:15px; }
}
@media (max-width: 767px) {
  .design_layout { margin-top:45px; margin-bottom:50px !important; flex-direction:column; flex-wrap:wrap; }
  p:has(img) + .design_layout { margin-top:50px; }
  #voice_archive_desc .design_layout.type2 { flex-direction:column-reverse; margin-top:45px; }
	.design_layout .image { width:fit-content; margin:0 auto 45px; width:100%; height:400px; border-radius:10px; overflow:hidden; position:relative; }
	.design_layout.type2 .image { margin:45px auto 0; }
  .design_layout .image img { border-radius:0px; position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; }
  .design_layout .content { width:100%; }
}


/* 縦書き */
.vertical_text { line-height:2.8; writing-mode:vertical-rl; text-align:left; position:relative; left:50%; transform: translateX(-50%); width:auto !important; margin:0 0 115px 0 !important; padding:0 !important; background:none !important; }
.vertical_text.headline { font-size:62px !important; line-height:1; }
@media (max-width: 1200px) {
  .vertical_text { margin:0 0 100px 0 !important; }
  .vertical_text.headline { font-size:50px !important;  margin:0 0 70px 0 !important; }
}
@media (max-width: 767px) {
  .vertical_text { line-height:2.2;  margin:0 0 50px 0 !important; }
  .vertical_text.headline { font-size:40px !important;  margin:0 0 50px 0 !important; }
}


/* その他 */
.design_num { color:var(--tcd-accent-color); font-weight:600; text-align:center; font-size:80px; margin:0 0 50px 0 !important; line-height:1 !important; }
.design_num .unit { font-size:24px; margin-left:10px; }
.short { max-width:830px; margin-left:auto !important; margin-right:auto !important; }
.gray_bg { background:#f6f6f6; margin:70px auto 120px !important; padding:80px; max-width:830px; }
.gray_bg:last-child { margin-bottom:0 !important; }
.gray_bg .num_area { text-align:center; }
.gray_bg .num_area .headline { font-size:16px; }
.gray_bg .num_area p { margin:0 0 14px 0; line-height:2; }
.gray_bg .design_num { text-align:left; margin:0 auto 60px !important; width:fit-content; }
.gray_bg .content {  }
@media (max-width: 1200px) {
	.design_num { font-size:60px; margin:0 auto 35px !important; }
  .gray_bg { margin:70px auto 100px !important; padding:70px; }
}
@media (max-width: 1100px) {
  .gray_bg { display:block; font-size:14px; }
	.num_area { font-size:14px; }
  .gray_bg .num_area { width:auto; text-align:center; }
  .gray_bg .design_num { margin:0 auto 30px !important; width:fit-content; }
  .gray_bg .content { width:auto; }
}
@media (max-width: 767px) {
	.design_num { font-size:46px; }
	.design_num .unit { font-size:16px; margin-left:5px; }
	.num_area .headline { font-size:14px; }
  .gray_bg .num_area .headline { font-size:14px; }
  .gray_bg .num_area p { line-height:1.5; }
  .gray_bg { margin:50px 0 !important; padding:40px; font-size:14px; }
	p:not(:has(img)) + .gray_bg { margin-top:40px !important; }
}


/* カウンター */
.sc_counter { text-align:center; margin:70px 0 60px !important; }
.sc_counter:first-child { margin-top:0 !important; }
.sc_counter:last-child { margin-bottom:0 !important; }
.sc_counter .title { font-size:16px; margin-top:calc(0.5em - 0.5lh); margin-bottom:15px; line-height:1.6;}
.sc_counter .num_area { color:var(--tcd-accent-color); font-weight:600; text-align:center; font-size:80px; line-height:1 !important; }
.sc_counter .unit { font-size:24px; margin-left:10px; }
@media (max-width: 1200px) {
	.sc_counter .num_area { font-size:60px; }
}
@media (max-width: 767px) {
  .sc_counter { margin:40px 0 35px !important; }
	.sc_counter .title { font-size:14px; margin-bottom:10px; }
	.sc_counter .num_area { font-size:46px; }
	.sc_counter .unit { font-size:16px; margin-left:5px; }
}



/* ----------------------------------------------------------------------
  インタビューアーカイブ
---------------------------------------------------------------------- */

/* フリースペース */
#voice_archive { padding:0 100px; }
#voice_archive_inner { margin:0 auto 150px; }
#voice_archive_desc { margin-bottom:120px; }
@media (max-width: 1200px) {
  #voice_archive { padding:0 60px; }
  #voice_archive_inner { margin:0 auto 100px; }
  #voice_archive_desc { margin-bottom:100px; }
}
@media (max-width: 767px) {
  #voice_archive { padding:0 20px; }
  #voice_archive_inner { margin:0 auto 50px; }
  #voice_archive_desc { margin-bottom:50px; }
}


/* カテゴリー記事カルーセル */
.voice_category_area { margin-bottom:120px; }
.voice_category_area:last-of-type { margin-bottom:0px; }
.voice_carousel_wrap { background:#f6f6f6; padding:70px 100px; border-radius:15px; }
.voice_carousel_wrap .headline { text-align:center; line-height:1.6; font-size:30px; font-family:var(--tcd-headline-font-type); font-weight:600; margin:0 0 60px 0; position:relative; }
.voice_carousel_wrap .post_list:has(.item:only-of-type) { justify-content:center; }
.voice_carousel_wrap .post_list:has(.item:only-of-type) .item { margin-right:0 !important; }
.voice_carousel .top_area { display:flex; flex-wrap:wrap; align-items:flex-start; }
body.voice_list_design_type1 .voice_carousel .top_area { flex-direction:column; align-items:center; justify-content:center; gap:20px 0; }
.voice_carousel .c-thumbnail { width:calc(100% - 100px); height:auto; aspect-ratio:300 / 420; border-radius:10px; }
body.voice_list_design_type1 .voice_carousel .c-thumbnail { width:100%; aspect-ratio:400 / 270; order:2; }
.voice_carousel .catch { width:100px; writing-mode: vertical-rl; text-align:left; }
body.voice_list_design_type1 .voice_carousel .catch { width:auto; text-align:center; writing-mode:horizontal-tb; order:1; }
.voice_carousel .catch h3 { line-height:2; font-size:18px; max-width:4em; overflow:hidden; visibility:visible; }
body.voice_list_design_type1 .voice_carousel .catch h3 { max-width:inherit; overflow:visible; line-height:1.8; }
.voice_carousel .catch h3 span { display: -webkit-inline-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
body.voice_list_design_type1 .voice_carousel .catch h3 span { -webkit-line-clamp:none; }
_::-webkit-full-page-media, _:future, :root .voice_carousel .catch h3 span { display:block; }
.voice_carousel .bottom_area { margin-top:25px; display:flex; flex-direction:column; justify-content:center; gap:10px 0; font-size:16px; text-align:left;}
body.voice_list_design_type1 .voice_carousel .bottom_area { align-items:center; }
.voice_carousel .bottom_area p { line-height:1.5; }
.voice_carousel .splide__arrows { height:100%;  }
.voice_carousel .splide__arrow--prev { left:-135px; }
.voice_carousel .splide__arrow--next { right:-135px; }
@media (max-width: 1100px) {
  .voice_category_area { margin:0 -60px 100px; }
	body.single-voice .voice_category_area { margin-bottom:-100px; border-bottom:1px solid #ddd; }
	.voice_carousel_wrap { border-radius:0; padding:70px 0; }
  .voice_carousel { visibility:visible !important; }
  .voice_carousel .splide__arrows { display:none; }
  .voice_carousel .splide__track { padding:0 60px; overflow:hidden; overflow-x:auto; text-align:center; }
  body.is-desktop .voice_carousel .splide__track { scrollbar-width:none; user-select:none; cursor:grab; }
	body.is-desktop .voice_carousel .splide__track:active { cursor:grabbing; }
  body.is-desktop .voice_carousel .splide__track::-webkit-scrollbar { display:none; }
  body.is-mobile .voice_carousel .splide__track { -webkit-overflow-scrolling:touch; scroll-behavior:smooth; }
  .voice_carousel .splide__list { width:auto; display:block; white-space:nowrap; font-size:0; position:relative; }
  .voice_carousel .splide__list:after { content:''; position:absolute; top:0; left:auto; height:10px; width:60px; }
	.voice_carousel .item { display:inline-block; width:350px; margin-right:40px; }
	.voice_carousel .item:last-of-type { margin-right:0; }
  .voice_carousel .bottom_area { font-size:14px; }
}
@media (max-width: 767px) {
  .voice_category_area { margin:0 -20px 50px; }
	body.single-voice .voice_category_area { margin-bottom:-50px; }
	.voice_carousel_wrap { padding:50px 0; }
  .voice_carousel_wrap .headline { font-size:22px; margin:-5px 0 45px 0; }
	body.voice_list_design_type1 .voice_carousel_wrap .headline { margin-bottom:40px; }
  .voice_carousel .splide__track { padding:0 20px; }
  .voice_carousel .splide__list:after { width:20px; }
	.voice_carousel .item { width:265px; margin-right:30px; }
  body.voice_list_design_type1 .voice_carousel .top_area { gap:15px 0; }
  .voice_carousel .c-thumbnail { width:calc(100% - 75px); }
  .voice_carousel .catch { width:75px; }
  .voice_carousel .catch h3 { font-size:16px; max-width:4em; }
  .voice_carousel .bottom_area { margin-top:20px; gap:5px 0;}
}


/* カテゴリーページ */
#voice_category_desc { display:grid; place-items:center; margin-top:-10px; margin-bottom:100px; }
#voice_category_desc p { text-align:center; line-height:2.4; font-size:18px; }
#voice_category_desc.vertical p { writing-mode:vertical-rl; text-align:left; line-height:3; }
@media (max-width: 767px) {
  #voice_category_desc { margin-top:0px; margin-bottom:50px; }
  #voice_category_desc p { line-height:2; font-size:16px; }
  #voice_category_desc.vertical p { line-height:2.2; }
}

.voice_list { display:grid; gap:60px 60px; grid-template-columns:repeat(2, 1fr); }
.voice_list .item a { background:#f6f6f6; padding:60px; display:block; border-radius:15px; }
.voice_list .top_area { display:flex; flex-wrap:nowrap; align-items:flex-start; }
body.voice_list_design_type1 .voice_list .top_area { flex-direction:column; align-items:center; justify-content:center; gap:20px 0; }
.voice_list .c-thumbnail { width:calc(100% - 100px); height:auto; aspect-ratio:300 / 420; border-radius:10px; }
body.voice_list_design_type1 .voice_list .c-thumbnail { width:100%; aspect-ratio:400 / 270; order:2; }
.voice_list .catch { width:100px; writing-mode: vertical-rl; text-align:left; }
body.voice_list_design_type1 .voice_list .catch { width:auto; text-align:center; writing-mode:horizontal-tb; order:1; }
.voice_list .catch h3 { line-height:2; font-size:18px; max-width:4em; overflow:hidden; visibility:visible; }
body.voice_list_design_type1 .voice_list .catch h3 { max-width:inherit; overflow:visible; line-height:1.8; }
.voice_list .catch h3 span { display:-webkit-inline-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
body.voice_list_design_type1 .voice_list .catch h3 span { -webkit-line-clamp:none; }
_::-webkit-full-page-media, _:future, :root .voice_list .catch h3 span { display:block; }
.voice_list .bottom_area { margin-top:25px; display:flex; flex-direction:column; justify-content:center; gap:10px 0; }
body.voice_list_design_type1 .voice_list .bottom_area { align-items:center; }
.voice_list .bottom_area p { line-height:1.5; }
.voice_list .splide__arrows { height:100%;  }
.voice_list .splide__arrow--prev { left:-130px; }
.voice_list .splide__arrow--next { right:-130px; }
@media (max-width: 1100px) {
  .voice_list { gap:30px 30px; }
  .voice_list .item a { padding:30px; border-radius:10px; }
  .voice_list .catch h3 { font-size:16px; }
}
@media (max-width: 767px) {
  .voice_list { gap:20px 20px; grid-template-columns:repeat(1, 1fr); }
	.voice_list .c-thumbnail { width:calc(100% - 75px); border-radius:7px; }
  .voice_list .catch { width:75px; flex:0 1 auto; margin-bottom:-5px; }
  .voice_list .bottom_area { margin-top:15px; gap:5px 0; }
	body.voice_list_design_type1 .voice_list .bottom_area { margin-top:20px; }
  .voice_list .bottom_area p { font-size:14px; }
}




/* ----------------------------------------------------------------------
  インタビュー詳細ページ
---------------------------------------------------------------------- */


/* ヘッダー */
#voice_header { background:#f6f6f6; border-radius:15px; padding:70px 130px; margin-bottom:120px; display:flex; flex-wrap:wrap; }
body.voice_list_design_type1 #voice_header { flex-direction:column; align-items:center; justify-content:center; gap:30px 0; flex-direction:row-reverse; }
#voice_header .featured_image { width:580px; height:auto; aspect-ratio:580 / 780; border-radius:15px; overflow:hidden; position:relative; display:block; }
body.voice_list_design_type1 #voice_header .featured_image { width:100%; aspect-ratio:830 / 560; order:3; margin:0; }
#voice_header img { width:100%; height:100%; position:absolute; top:0; left:0; object-fit:cover; }
#voice_header .content { width:calc(100% - 580px); position:relative; padding-left:60px; order:1; }
body.voice_list_design_type1 #voice_header .content { width:auto; padding:0; }
#voice_header .content_inner { display:flex; flex-direction:column; align-items:center; width:fit-content; height:100%; }
body.voice_list_design_type1 #voice_header .content_inner { height:auto; }
#voice_header .category_button { border-color:#ddd; background:#fff; color:#000 !important; font-size:14px; min-width:140px; padding:0 30px; margin:0 auto 50px; height:50px; line-height:50px; border-radius:50px; display:inline-block; }
body.voice_list_design_type1 #voice_header .category_button { margin-bottom:0; }
#voice_header .catch { writing-mode: vertical-rl; text-align:left; padding-bottom:50px; }
body.voice_list_design_type1 #voice_header .catch { width:auto; text-align:center; writing-mode:horizontal-tb; padding-bottom:0; margin-top:30px; }
#voice_header .catch h1 { font-size:var(--tcd-single-title-font-size-pc); font-family:var(--tcd-single-title-font-type); line-height:2; font-weight:600; max-width:4em; overflow:hidden; visibility:visible; }
body.voice_list_design_type1 #voice_header .catch h1 { line-height:1.6; max-width:inherit; overflow:visible; margin-top:calc(0.5em - 0.5lh); margin-bottom:calc(0.5em - 0.5lh); }
#voice_header .catch h1 span { display:-webkit-inline-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
body.voice_list_design_type1 #voice_header .catch h3 span { -webkit-line-clamp:none; }
#voice_header .title { margin-top:auto; font-size:16px; line-height:1.5; text-align:left; width:100%; }
body.voice_list_design_type1 #voice_header .title { text-align:center; order:5; }
#voice_header .info { margin-top:10px; font-size:16px; line-height:1.5; text-align:left; width:100%; }
body.voice_list_design_type1 #voice_header .info { text-align:center; order:6; }
body.voice_list_design_type1 #voice_header .title + .info { margin-top:-20px; }
@media(hover: hover) {
	#voice_header .category_button:hover { color:#999 !important; }
}
@media (max-width: 1200px) {
	#voice_header { justify-content:center; margin:0 -60px 100px; border-radius:0; padding:60px; }
  #voice_header .featured_image { width:50%; }
	#voice_header .content { width:auto; }
}
@media (max-width: 767px) {
	#voice_header { margin:0 -20px 50px; padding:30px; flex-direction:column; flex-direction:column-reverse; flex-direction:row-reverse; justify-content:start; }
  #voice_header .featured_image { width:400px; margin:0 auto 20px; border-radius:10px; }
  body.voice_list_design_type1 #voice_header .featured_image { width:calc(100% + 60px); margin:0 -30px; border-radius:0; }
	#voice_header .content { padding:0; }
	#voice_header .content_inner { display:block; height:auto; width:auto; }
	body.voice_list_design_type1 #voice_header .content_inner { display:flex; }
  #voice_header .category_button { font-size:12px; min-width:120px; padding:0 20px; margin:0 auto 10px; height:35px; line-height:35px; border-radius:35px; }
  #voice_header .catch { writing-mode: horizontal-tb; text-align:left; padding-bottom:10px; }
  #voice_header .catch h1 { font-size:var(--tcd-single-title-font-size-sp); max-width:unset; overflow:visible; line-height:1.5; }
  #voice_header .title { margin-top:auto; font-size:14px; float:left; width:auto; margin-right:15px; }
  #voice_header .info { margin-top:auto; font-size:14px; }
}
@media (max-width: 450px) {
  #voice_header .featured_image { width:100%; height:400px; }
}


/* 記事エリア */
body.single-voice #main_content .post_content { width:830px; margin:0 auto; }
#voice_article .post_content { font-family:var(--tcd-single-content-font-type); }
#voice_note { width:830px; background:#f6f6f6; border-radius:15px; padding:60px; margin:120px auto 0; }
#voice_note .headline { color:var(--tcd-accent-color); text-align:center; line-height:1.6; font-size:24px; font-family:var(--tcd-headline-font-type); font-weight:600; margin:0 0 55px 0; position:relative; }
#related_voice { margin-top:120px; }
#voice_article .single_free_space { width:830px; margin-left:auto; margin-right:auto; }
@media (max-width: 1200px) {
  #related_voice { margin-top:100px; }
}
@media (max-width: 950px) {
  #related_voice { margin-top:50px; }
  body.single-voice #main_content .post_content { width:auto; margin:0; }
  #voice_article .single_free_space { width:auto; }
}


/* CTA */
.voice_cta { display:block; margin:120px auto 0; width:830px; max-width:100%; }
.voice_cta .image_area { position:relative; overflow:hidden; width:100%; height:auto; aspect-ratio:830 / 200; }
.voice_cta .c-thumbnail { position:absolute; top:0; left:0; width:100%; height:100%; z-index:1; }
.voice_cta .overlay { position:absolute; top:0; left:0; width:100%; height:100%; z-index:2; }
.voice_cta .content { position:absolute; top:0; left:0; width:100%; height:100%; z-index:3; padding:40px; display:flex; flex-direction:column; justify-content:center; gap:20px 0; }
.voice_cta .sub_title { font-size:16px; font-weight:600; line-height:1.5; margin-top:calc(0.5em - 0.5lh); margin-bottom:calc(0.5em - 0.5lh); }
.voice_cta .title { font-weight:600; line-height:1.5; margin-top:calc(0.5em - 0.5lh); margin-bottom:calc(0.5em - 0.5lh); }
.voice_cta1 .title { font-size:var(--tcd-voice-cta1-font-size-pc); }
.voice_cta2 .title { font-size:var(--tcd-voice-cta2-font-size-pc); }
.voice_cta3 .title { font-size:var(--tcd-voice-cta3-font-size-pc); }
.contents1_cta1 .title { font-size:var(--tcd-contents1-cta1-font-size-pc); }
.contents1_cta2 .title { font-size:var(--tcd-contents1-cta2-font-size-pc); }
.contents1_cta3 .title { font-size:var(--tcd-contents1-cta3-font-size-pc); }
.voice_cta .desc { font-size:16px; line-height:2.4; border:1px solid #ddd; margin-top:-1px; padding:40px; }
@media (max-width: 1200px) {
  .voice_cta { margin:100px auto 0; }
}
@media (max-width: 767px) {
  .voice_cta { margin:50px auto 0; width:auto; }
  .voice_cta .image_area { height:160px; }
  .voice_cta .content { padding:20px; gap:10px 0; }
	.voice_cta .sub_title { font-weight:500; }
  .voice_cta1 .title { font-size:var(--tcd-voice-cta1-font-size-sp); }
  .voice_cta2 .title { font-size:var(--tcd-voice-cta2-font-size-sp); }
  .voice_cta3 .title { font-size:var(--tcd-voice-cta3-font-size-sp); }
  .contents1_cta1 .title { font-size:var(--tcd-contents1-cta1-font-size-sp); }
  .contents1_cta2 .title { font-size:var(--tcd-contents1-cta2-font-size-sp); }
  .contents1_cta3 .title { font-size:var(--tcd-contents1-cta3-font-size-sp); }
  .voice_cta .desc { font-size:14px; line-height:2; padding:20px; }
}




/* ----------------------------------------------------------------------
  特集アーカイブ
---------------------------------------------------------------------- */


/* カテゴリーソートボタン */
#category_sort_button { position:relative; z-index:1; text-align:center; margin:0 auto 70px; width:calc(100% - 140px); }
#category_sort_button .splide__list:not(:has(.item:nth-child(5))) { justify-content:center; transform:none !important; }
#category_sort_button .splide__list:not(:has(.item:nth-child(5))) .item:last-of-type { margin-right:0 !important; }
body.post-type-archive-news #category_sort_button, body.tax-news_category #category_sort_button { width:780px; }
body.post-type-archive-news #category_sort_button:not(:has(.item:nth-child(5))), body.tax-news_category #category_sort_button:not(:has(.item:nth-child(5))) { width:830px; }
#category_sort_button .splide__track { height:100%; }
#category_sort_button .splide__list { }
#category_sort_button .item { height:70px; font-size:16px; margin-top:1px; }
#category_sort_button .item a { border:1px solid #ddd; border-radius:5px; }
#category_sort_button .item.active_menu a { background:var(--tcd-accent-color); border-color:var(--tcd-accent-color); color:#fff; }
#category_sort_button .title { height:100%; display:grid; place-items:center; line-height:1.5; padding:0 20px; cursor:pointer; }
#category_sort_button .title span { --tcd-line-clamp:2; height:auto; }
#category_sort_button .splide__arrows { height:70px; }
#category_sort_button .splide__arrows button { background:none; box-shadow:none; }
#category_sort_button .splide__arrow--prev { left:-55px; }
#category_sort_button .splide__arrow--next { right:-55px; }
@media(hover: hover) {
  #category_sort_button .title:hover { color:rgba(0,0,0,0.6); }
}
@media (max-width: 1200px) {
	#category_sort_button { width:calc(100% + 120px) !important; margin:0 -60px 70px; }
  #category_sort_button .splide__list:not(:has(.item:nth-child(3))) { justify-content:center; transform:none !important; }
  #category_sort_button { visibility:visible !important; }
  #category_sort_button .splide__arrows { display:none; }
  #category_sort_button .splide__track { padding:0 60px; overflow:hidden; overflow-x:auto; text-align:center; }
  body.is-desktop #category_sort_button .splide__track { scrollbar-width:none; user-select:none; cursor:grab; }
	body.is-desktop #category_sort_button .splide__track:active { cursor:grabbing; }
  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:60px; }
	#category_sort_button .item { display:inline-block; width:auto !important; min-width:160px; margin:0; margin-right:15px; }
	#category_sort_button .item:last-of-type { margin-right:0; }
}
@media (max-width: 767px) {
	#category_sort_button { width:calc(100% + 40px) !important; margin:0 -20px 50px; }
  #category_sort_button .splide__track { padding:0 20px; }
  #category_sort_button .splide__list:after { width:20px; }
	#category_sort_button .item { width:auto !important; min-width:120px; height:60px; font-size:14px; margin-right:10px; }
}




/* ----------------------------------------------------------------------
  特集詳細
---------------------------------------------------------------------- */


/* 記事エリア */
#contents1_article { border:1px solid #ddd; border-radius:15px; padding:70px 130px 130px; }
#contents1_article #blog_header { margin-bottom:95px; }
#contents1_article #blog_header .featured_image { margin-top:70px; }
p:has(img.round) { margin-top:40px; margin-bottom:40px;}
img.round { border-radius:15px; }
@media (max-width: 1260px) {
  #contents1_article { border:none; border-radius:0; padding:0; }
}
@media (max-width: 1200px) {
  #contents1_article { width:740px; margin:30px auto 0; }
  #contents1_article #blog_header { margin-bottom:95px; }
}
@media (max-width: 860px) {
  #contents1_article { width:auto; margin:30px 60px 0; }
}
@media (max-width: 767px) {
  #contents1_article { margin:30px 20px 0; }
  #contents1_article #blog_header { margin-bottom:40px; }
  img.round { border-radius:10px; }
}


/* プロフィール */
#contents1_profile { padding:60px; background:#f6f6f6; border-radius:10px; margin-top:100px; }
#contents1_profile .top_area { display:flex; flex-wrap:wrap; }
#contents1_profile .top_area .image { width:180px; height:120px; border-radius:5px; position:relative; overflow:hidden; }
#contents1_profile .top_area .image img { width:100%; height:100%; position:absolute; top:0; left:0; object-fit:cover; }
#contents1_profile .top_area .meta { width:calc(100% - 180px); display:flex; flex-direction:column; justify-content:center; padding:0 0 0 60px; gap:20px 0; }
#contents1_profile .top_area:not(:has(.image)) .meta { width:auto !important; padding:0 !important; }
#contents1_profile .desc { margin-top:60px; }
#contents1_profile .design_button { margin-top:60px !important; }
@media (max-width: 1200px) {
  #contents1_profile { padding:50px; margin-top:100px; }
  #contents1_profile .top_area .meta { padding:0 0 0 50px; }
  #contents1_profile .desc { margin-top:50px; }
}
@media (max-width: 767px) {
  #contents1_profile { padding:30px; margin-top:50px; }
  #contents1_profile .top_area .image { width:120px; height:120px; }
  #contents1_profile .top_area .meta { width:calc(100% - 120px); padding:0 0 0 20px; font-size:14px; }
  #contents1_profile .desc { margin-top:30px; }
	#contents1_profile .desc .tcdce-body { font-size:14px !important; }
  #contents1_profile .design_button { margin-top:30px !important; }
}


/* 情報 */
#contents1_info { padding:60px; background:#f6f6f6; border-radius:10px; margin-top:100px; }
#contents1_info .headline { text-align:center; line-height:1; font-size:22px; font-weight:600; color:var(--tcd-accent-color); font-family:var(--tcd-headline-font-type); margin-bottom:60px; }
#contents1_info .info_list { border-collapse:separate !important; border-spacing:0 12px !important; margin:-20px 0; }
#contents1_info .info_list th { width:100px; font-weight:500; }
#contents1_info .info_list th span { background:#fff; border-radius:4px; padding:15px 10px; font-size:14px; display:block; white-space:nowrap; }
#contents1_info .info_list td { padding:15px 0 15px 30px; font-size:16px; line-height:2; }
#contents1_info .info_list .category_button { text-align:left; height:auto; line-height:auto; min-width:inherit; padding:0; font-size:16px; background:none; border:none; color:#000 !important; border-radius:0px; display:inline; }
#contents1_info .design_button { margin-top:60px !important; }
@media(hover: hover) {
	#contents1_info .info_list .category_button:hover { color:#999 !important; }
}
@media (max-width: 1200px) {
  #contents1_info { padding:50px; margin-top:100px; }
}
@media (max-width: 767px) {
  #contents1_info { padding:30px; margin-top:50px; }
  #contents1_info .headline { font-size:18px; margin-bottom:23px !important; }
  #contents1_info .info_list { border-spacing:0 !important; margin:0; }
	#contents1_info .info_list th { width:70px; }
	#contents1_info .info_list th span { padding:12px 10px; font-size:12px; }
  #contents1_info .info_list td { padding:12px 0 12px 20px; font-size:14px; }
  #contents1_info .info_list .category_button { font-size:14px;  }
  #contents1_info .design_button { margin-top:25px !important; }
}


/* 関連記事 */
#related_contents1 { position:relative; margin-top:120px; }
#related_contents1 .headline { font-size:30px; text-align:center; line-height:1; margin-bottom:70px; }
#related_contents1 .related_contents1_carousel { position:relative; }
#related_contents1 .blog_list { gap:0; }
#related_contents1 .splide__arrows { top:90px; opacity:0; transition: opacity 0.5s ease; }
#related_contents1 .splide__arrow--prev { left:-30px; }
#related_contents1 .splide__arrow--next { right:-30px; }
@media(hover: hover) {
	#related_contents1:hover .splide__arrows { opacity:1; }
}
@media (min-width: 1201px) {
  #related_contents1 .blog_list:not(:has(.item:nth-child(4))) { transform:none !important; }
  #related_contents1 .blog_list:not(:has(.item:nth-child(3))) { justify-content:center; }
  #related_contents1 .blog_list:not(:has(.item:nth-child(3))) .item:last-of-type { margin-right:0 !important; }
}
@media (max-width: 1200px) {
  #related_contents1 { width:auto; margin:100px auto 0; padding:0; }
	#related_contents1_carousel { overflow:hidden; overflow-x:auto; margin:0; padding:0; visibility:visible; }
  body.is-desktop #related_contents1_carousel { scrollbar-width:none; user-select:none; cursor:grab; }
	body.is-desktop #related_contents1_carousel:active { cursor:grabbing; }
  body.is-desktop #related_contents1_carousel::-webkit-scrollbar { display:none; }
  body.is-mobile #related_contents1_carousel { -webkit-overflow-scrolling:touch; scroll-behavior:smooth; }
	body.is-mobile #related_contents1_carousel .splide__track { overflow:hidden; overflow-x:auto; }
  #related_contents1 .splide__arrows { display:none; }
  #related_contents1_carousel .blog_list { display:flex; flex-wrap:nowrap; margin:0 0 0 60px !important; gap:0 40px; }
  #related_contents1_carousel .blog_list:after { content:''; background:transparent; height:10px; width:20px; display:block; flex:0 0 20px; }
	#related_contents1_carousel .blog_list .item { width:340px !important; margin:0 !important; flex:0 0 340px; }
}
@media (max-width: 767px) {
  #related_contents1 { margin-top:50px; }
  #related_contents1 .headline { font-size:20px; margin-bottom:40px; }
  #related_contents1_carousel .blog_list { margin:0 0 0 20px !important; gap:0 20px; }
  #related_contents1_carousel .blog_list:after { width:1px; flex:0 0 1px; }
	#related_contents1_carousel .blog_list .item { width:240px !important; flex:0 0 240px; }
}




/* ----------------------------------------------------------------------
  お知らせ
---------------------------------------------------------------------- */


/* アーカイブページ */
.news_list { width:830px; margin:0 auto; }
.news_list .item { display:flex; flex-wrap:nowrap; align-items:center; border:1px solid #ddd; margin:0 0 -1px 0; padding:40px; position:relative; }
.news_list .item:not(:has(.image)) { height:auto; display:block; }
.news_list .image { display:block; width:232px; height:auto; aspect-ratio:340 / 230; position:relative; z-index:1; overflow:hidden; }
.news_list .c-thumbnail { width:100%; height:100%; border-radius:7px; }
.news_list .content { width:calc(100% - 232px); display:flex; flex-direction:column; justify-content:flex-start; gap:30px 0; padding-left:40px; }
.news_list .item:not(:has(.image)) .content { width:auto; padding:0; }
.news_list .title { line-height:1.8; font-size:18px; font-weight:600; }
.news_list .title a { --tcd-line-clamp:2; height:auto; z-index:2; }
.news_list .meta { display:flex; gap:0 20px; position:relative; z-index:2; }
.news_list .meta:not(:has(.category_button)) { display:none; }
.news_list .item:not(:has(.image)) .title a span { position:relative; z-index:2; color:000; }
.news_list .item:not(:has(.image)) .title a:before { content:''; display:block; width:100%; height:100%; position:absolute; top:0; left:0; z-index:1; background:#fff; }
.news_list .item:not(:has(.image)) .meta { pointer-events:none; }
.news_list .item:not(:has(.image)) .category_button { pointer-events:auto; }
.news_list .item:not(:has(.image)) .meta .c-date { margin-top:0; }
.news_list .item:not(:has(.image)) .title + .c-date { position:relative; z-index:2; pointer-events:none; }
@media(hover: hover) {
  .news_list .item:not(:has(.image)) .title a:hover:before { background:#f6f6f6; }
}
@media (max-width: 940px) {
  .news_list { width:auto; margin:0; }
}
@media (max-width: 1200px) {
  .news_list:has(.image) { display:grid; gap:40px 40px; grid-template-columns:repeat(2, 1fr); }
  .news_list:has(.image) .item { height:auto !important; display:flex; flex-wrap:wrap; flex-direction:column; align-items:flex-start; padding:30px; margin:0; position:relative; }
  .news_list .image { width:100% !important; margin-bottom:30px; }
  .news_list .c-thumbnail { border-radius:7px; }
  .news_list .content { width:auto !important; gap:30px 0; padding-left:0px; flex-grow:1; }
	.news_list .c-date { margin-top:auto; }
}
@media (max-width: 900px) {
  .news_list:has(.image) { gap:30px 30px; }
  .news_list .image { margin-bottom:20px; }
	.news_list .content { gap:20px 0; }
	.news_list .title { font-size:16px; }
}
@media (max-width: 767px) {
	.news_list:not(:has(.image)) .item { padding:30px; }
	.news_list:has(.image) .item { padding:20px; }
  .news_list .image { margin-bottom:20px; }
}
@media (max-width: 600px) {
  .news_list { grid-template-columns:repeat(1, 1fr); gap:0; }
	.news_list:has(.image) { gap:30px 0px; grid-template-columns:repeat(1, 1fr); }
  .news_list .item { margin-bottom:-1px; }
}



/* 新着のお知らせ */
#related_news { padding-top:80px; }
#related_news .headline { font-size:30px; text-align:center; line-height:1; margin-bottom:50px; margin-top:calc(0.5em - 0.5lh); font-family:var(--tcd-headline-font-type); }
#related_news .news_list { width:100%; }
@media (max-width: 767px) {
  #related_news { padding-top:40px; }
  #related_news .headline { font-size:20px; margin-bottom:40px; }
}




/* ----------------------------------------------------------------------
  ランキング
---------------------------------------------------------------------- */
/* ランキングページ */
#ranking_page_sort_button { margin:0 auto 80px; }
#ranking_page_sort_button_inner { display:flex; flex-wrap:nowrap; justify-content:center; gap:0 15px; }
#ranking_page_sort_button .item { width:180px !important; height:70px; border:1px solid #ddd; display:grid; place-items:center; cursor:pointer; transition: color 0.25s ease; padding:0 20px; border-radius:5px; }
#ranking_page_sort_button .item.active { background:var(--tcd-accent-color); border-color:var(--tcd-accent-color); color:#fff; pointer-events:none; }
#ranking_page_sort_button .item .c-line-clamp { --tcd-line-clamp:2; line-height:1.4; height:auto; }
@media(hover: hover) {
	#ranking_page_sort_button .item:hover { color:#999; }
}
.ranking_post_list { display:none; }
.ranking_post_list.active { display:block; }
.ranking_post_list .post_list { display:grid; gap:40px 40px; grid-template-columns:repeat(2, 1fr); }
body:not(.sidebar_none):not(.home) .ranking_post_list .post_list { grid-template-columns:repeat(1, 1fr); gap:30px 30px; }
.ranking_post_list .item { display:flex; flex-wrap:nowrap; align-items:center; border:1px solid #ddd; padding:30px; position:relative; }
.ranking_post_list .item:not(:has(.image)) { height:auto; display:block; }
.ranking_post_list .num { position:absolute; top:30px; left:30px; height:35px; width:35px; background:#000; color:#fff; display:grid; place-items:center; z-index:2; font-size:14px; }
.ranking_post_list .image { display:block; width:160px; height:auto; aspect-ratio:1 / 1; position:relative; z-index:1; overflow:hidden; }
.ranking_post_list .c-thumbnail { width:100%; height:100%; }
.ranking_post_list .content { width:calc(100% - 160px); display:flex; flex-direction:column; justify-content:flex-start; gap:30px 0; padding-left:30px; }
.ranking_post_list .item:not(:has(.image)) .content { width:auto; padding:0; }
.ranking_post_list .title { line-height:1.8; font-size:18px; font-weight:600; }
.ranking_post_list .title a { --tcd-line-clamp:2; height:auto; }
.ranking_post_list .meta { display:flex; align-items:center; gap:0 20px; }
.ranking_post_list .like { font-size:14px; position:relative; padding-left:20px; color:#999; }
.ranking_post_list .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;
}
.ranking_post_list .pr_meta { display:flex; align-items:center; gap:0 10px; font-size:14px; color:#999; margin-top:-10px; }
@media (max-width: 1200px) {
  .ranking_post_list .post_list { grid-template-columns:repeat(1, 1fr); }
}
@media (max-width: 767px) {
	#ranking_page_sort_button { overflow:hidden; overflow-x:auto; margin:0 -20px 50px; height:60px; position:relative; text-align:center; }
  #ranking_page_sort_button_inner { display:block; white-space:nowrap; font-size:0; margin:0 20px; box-shadow:none; position:relative; }
  #ranking_page_sort_button_inner:after { content:''; position:absolute; top:0; left:auto; height:10px; width:20px; }
  body.is-desktop #ranking_page_sort_button { scrollbar-width:none; user-select:none; cursor:grab; }
  body.is-desktop #ranking_page_sort_button:active { cursor:grabbing; }
  body.is-desktop #ranking_page_sort_button::-webkit-scrollbar { display:none; }
  body.is-mobile #ranking_page_sort_button { -webkit-overflow-scrolling:touch; scroll-behavior:smooth; }
  #ranking_page_sort_button .item { display:inline-flex; justify-content:center; height:60px; min-width:120px; padding:0 20px; font-size:14px; margin-right:10px; }
	#ranking_page_sort_button .item:last-of-type { margin-right:0; }
	.ranking_post_list .post_list { gap:0 !important; }
	.ranking_post_list .item { padding:15px; margin:0 0 -1px 0; }
  .ranking_post_list .content { width:calc(100% - 100px); gap:20px 0; padding-left:20px; }
	.ranking_post_list .image { width:100px; }
	.ranking_post_list .num { top:15px; left:15px; width:30px; height:30px; }
  .ranking_post_list .title { font-size:16px; }
	.ranking_post_list .c-date { display:none; }
}





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


/* ソートボタン */
#archive_sort_tab_wrap { margin-bottom:70px; }
#archive_sort_tab { display:flex; flex-wrap:wrap; box-shadow:inset 0 0 0 1px #ddd; }
#archive_sort_tab:has(.item:only-child) { display:none; }
#archive_sort_tab .item { flex: 1 1 0%; text-align:center; height:70px; display:grid; place-items:center; pointer-events:auto; cursor:pointer; transition: color 0.25s ease; position:relative; z-index:1; }
#archive_sort_tab .item.active { background:var(--tcd-accent-color); border-color:var(--tcd-accent-color); color:#fff; pointer-events:none; z-index:2; }
#archive_sort_tab .item.active:after { position:absolute; bottom:-9px; left:50%; transform: translateX(-50%); clip-path: polygon(0 0, 100% 0%, 50% 100%); content:''; width:15px; height:10px; background:var(--tcd-accent-color); display:block; }
@media(hover: hover) {
	#archive_sort_tab .item:not(.active):hover { color:#999; }
}
@media (max-width: 767px) {
	#archive_sort_tab_wrap { overflow:hidden; overflow-x:auto; margin:0 -20px 20px; height:70px; position:relative; text-align:center; }
  #archive_sort_tab { margin-bottom:50px; display:block; white-space:nowrap; font-size:0; margin:0 20px; box-shadow:none; position:relative; }
  #archive_sort_tab:after { content:''; position:absolute; top:0; left:auto; height:10px; width:20px; }
  body.is-desktop #archive_sort_tab_wrap { scrollbar-width:none; user-select:none; cursor:grab; }
  body.is-desktop #archive_sort_tab_wrap:active { cursor:grabbing; }
  body.is-desktop #archive_sort_tab_wrap::-webkit-scrollbar { display:none; }
  body.is-mobile #archive_sort_tab_wrap { -webkit-overflow-scrolling:touch; scroll-behavior:smooth; }
  #archive_sort_tab .item { display:inline-flex; justify-content:center; height:60px; min-width:160px; border:1px solid #ddd; margin-right:-1px; padding:0 20px; font-size:14px; }
}


/* ソートコンテンツ */
.archive_sort { display:none; opacity:0; margin-bottom:70px; }
.archive_sort.active { display:block; }
.archive_sort.no_fadeIn { opacity:1; }
.archive_sort.fade-in { animation: tcd_fadeIn_animation 1.2s ease 0s forwards; }
.archive_sort.fade-out { animation: tcd_fadeOut_animation 1.2s ease 0s forwards; }
@keyframes tcd_fadeIn_animation {
  0% { opacity:0; }
  100% { opacity:1; }
}
@keyframes tcd_fadeOut_animation {
  0% { opacity:1; }
  100% { opacity:0; }
}
@media (max-width: 767px) {
	#archive_sort_wrap { overflow:hidden; overflow-x:auto; margin:0 -20px; }
  body.is-desktop #archive_sort_wrap { scrollbar-width:none; user-select:none; cursor:grab; }
  body.is-desktop #archive_sort_wrap:active { cursor:grabbing; }
  body.is-desktop #archive_sort_wrap::-webkit-scrollbar { display:none; }
  body.is-mobile #archive_sort_wrap { -webkit-overflow-scrolling:touch; scroll-behavior:smooth; }
  .archive_sort { display:none; margin-bottom:30px; }
}


/* カテゴリー一覧 */
#archive_category_sort { flex-wrap:wrap; gap:10px; }
#archive_category_sort.active { display:flex; }
#archive_category_sort a { border:1px solid var(--tcd-accent-color); color:var(--tcd-accent-color); height:35px; display:grid; place-items:center; padding:0 20px; border-radius:5px; font-size:14px; }
#archive_category_sort a.active { color:#fff !important; background:var(--tcd-accent-color); pointer-events:none; }
@media(hover: hover) {
	#archive_category_sort a:hover { color:#fff !important; background:var(--tcd-accent-color); }
}
@media (max-width: 767px) {
  #archive_category_sort { display:none; padding:0 20px; white-space:nowrap; font-size:0; position:relative; }
  #archive_category_sort:after { content:''; position:absolute; top:0; left:auto; height:10px; width:20px; }
	#archive_category_sort.active { display:block; }
	#archive_category_sort a { display:inline-flex; margin:0 10px 0 0; height:30px; font-size:12px; min-width:90px; justify-content:center; }
	#archive_category_sort a:last-of-type { margin-right:0; }
}


/* タグ一覧 */
#archive_tag_sort .wp-tag-cloud { display:flex; flex-wrap:wrap; gap:10px; }
#archive_tag_sort a { border:1px solid var(--tcd-accent-color); color:var(--tcd-accent-color); height:35px; display:grid; place-items:center; padding:0 20px; border-radius:5px; font-size:14px; }
#archive_tag_sort a.active { color:#fff !important; background:var(--tcd-accent-color); pointer-events:none; }
@media(hover: hover) {
	#archive_tag_sort a:hover { color:#fff !important; background:var(--tcd-accent-color); }
}
@media (max-width: 767px) {
  #archive_tag_sort { display:none; padding:0 20px; position:relative; }
	#archive_tag_sort.active { display:block; }
  #archive_tag_sort .wp-tag-cloud { display:block; white-space:nowrap; font-size:0; position:relative; }
  #archive_tag_sort .wp-tag-cloud:after { content:''; position:absolute; top:0; left:auto; height:10px; width:20px; }
	#archive_tag_sort li { display:inline-flex; margin:0 10px 0 0; }
	#archive_tag_sort li:last-of-type { margin-right:0; }
	#archive_tag_sort li a { display:inline-flex; height:30px; font-size:12px; min-width:90px; justify-content:center; }
}


/* 検索フォーム */
#archive_search_form form { height:60px; width:430px; position:relative; margin:0 auto; }
body.page_layout_type1 #archive_search_form form { margin-top:-60px; }
#archive_search_form .input_area input { position:absolute; left:0px; width:100%; height:60px; border:none; color:#000; background:#f3f3f3; z-index:1; padding:0 60px 0 25px; border-radius:60px; z-index:1; }
#archive_search_form .search_button input { position:absolute; right:0px; top:0px; border:none; background:none; width:60px; height:60px; 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:60px; height:60px; 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: 500px) {
  #archive_search_form form { width:calc(100% - 40px); margin:0 auto; }
}


/* 記事一覧 */
.blog_list { display:grid; gap:70px 40px; grid-template-columns:repeat(3, 1fr); }
.blog_list .item { position:relative; display:flex; flex-direction:column; }
.blog_list .image { margin-bottom:20px; display:block; width:100%; height:auto; aspect-ratio:340 / 230; z-index:1; position:relative; border-radius:7px; overflow:hidden; }
.blog_list .image .c-thumbnail { width:100%; height:100%; }
.blog_list .content { display:flex; flex-direction:column; justify-content:flex-start; gap:20px 0; flex-grow:1; }
.blog_list .meta { display:flex; align-items:center; gap:0 15px; }
.blog_list .title { line-height:1.8; font-size:18px; font-weight:600; }
.blog_list .title a { --tcd-line-clamp:2; height:auto; }
.blog_list .c-date { margin-top:auto; }
.blog_list .category_button.pr_label { pointer-events:none; }
.blog_list .pr_name { color:#999; font-size:14px; }
.no_post { text-align:center; font-weight:600; }
@media (max-width: 1100px) {
  .blog_list { grid-template-columns:repeat(2, 1fr); }
}
@media (max-width: 1100px) {
  .blog_list { gap:40px 40px; }
}
@media (max-width: 767px) {
  .blog_list { gap:30px 20px; }
	.blog_list .image { margin-bottom:20px; }
	.blog_list .content { gap:20px 0; }
	.blog_list .title { font-size:16px; }
  .blog_list .c-date { margin-top:-3px; }
  .blog_list .pr_name { font-size:12px; }
}
@media (max-width: 550px) {
  .blog_list { gap:30px 0px; grid-template-columns:repeat(1, 1fr); }
}


/* 投稿者アーカイブ */
#author_archive_profile { width:auto; margin:-10px auto 90px; }
#author_archive_profile .image { width:150px; height:150px; border-radius:100%; margin:0 auto 30px; 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:20px; line-height:1.2; text-align:center; display:block; font-weight:600; }
#author_archive_profile .position { font-size:14px; margin-top:20px; color:var(--tcd-accent-color); text-align:center; }
#author_archive_profile .c-sns-icons { justify-content:center; margin-top:20px; }
#author_archive_profile .desc { margin:100px auto 0; width:810px; }
#author_archive_profile .desc a { color: var(--tcdce-base-link-color) !important; }
@media (max-width: 1200px) {
  #author_archive_profile { margin-top:0; }
}
@media (max-width: 1000px) {
  #author_archive_profile .desc { width:auto; }
}
@media (max-width: 767px) {
  #author_archive_profile { margin:0px auto 50px; }
  #author_archive_profile .image { width:130px; height:130px; margin:0 auto 30px; }
  #author_archive_profile .desc { margin:30px auto 0; }
}


/* 投稿者ページ */
#author_list { display:grid; gap:120px 80px; grid-template-columns:repeat(3, 1fr); }
#author_list:has(.item:nth-child(1)):not(:has(.item:nth-child(3))) { display:flex; justify-content:center; }
#author_list:has(.item:nth-child(1)):not(:has(.item:nth-child(3))) .item { width:calc(100% / 3); }
#author_list .item { display:flex; flex-direction:column; }
#author_list .image { display:block; width:150px; height:150px; border-radius:100%; margin:0 auto 30px; overflow:hidden; }
#author_list .user_meta { text-align:center; }
#author_list .name { font-size:20px; line-height:1.2; display:block; font-weight:600; text-align:center; }
#author_list .position { font-size:16px; line-height:1.5; text-align:center; margin-top:15px; color:var(--tcd-accent-color); }
#author_list .desc { line-height:2.4; --tcd-line-clamp:4; height:auto; margin-top:25px; }
#author_list .desc a { color: var(--tcdce-base-link-color) !important; }
#author_list .item.has_position:not(:has(.position)) .desc { margin-top:auto; }
@media(hover: hover) {
  #author_list .desc a:hover { text-decoration:underline; }
}
@media (max-width: 1200px) {
	#author_list { gap:100px 30px; }
  #author_list .image { width:130px; height:130px; margin:0 auto 30px; }
  #author_list .position { font-size:14px; margin-top:20px; }
}
@media (max-width: 1000px) {
	#author_list { grid-template-columns:repeat(1, 1fr); gap:0; margin:0 -60px -50px; }
  #author_list:has(.item:nth-child(1)):not(:has(.item:nth-child(3))) { display:grid; }
  #author_list:has(.item:nth-child(1)):not(:has(.item:nth-child(3))) .item { width:100%; }
  #author_list .item { border-top:1px solid #ddd; padding:40px 0; }
  #author_list .desc { margin:30px auto 0 !important; width:400px; }
}
@media (max-width: 767px) {
	#author_list { margin:0 -20px -50px; }
  #author_list .item { padding:40px 20px; }
  #author_list .desc { width:auto; line-height:2; }
}




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


/* ヘッダー */
#blog_header { margin-bottom:50px; }
#blog_header .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); }
body.page #blog_header .title { text-align:center; }
#blog_header .title + .c-date { margin-top:30px; }
#blog_header .meta { display:flex; flex-wrap:wrap; margin-bottom:30px; gap:20px; }
#blog_header .meta .like { font-size:14px; position:relative; color:#999; height:35px; padding:0 0 0 20px; display:grid; place-items:center; }
#blog_header .meta .like:before {
  display:block; pointer-events:none; position:absolute; left:0px; top:10px;
	background:#999; font-size:17px; width:1em; height:1em; content:''; mask:var(--tcd-icon--heart) no-repeat center / 1em;
}
#blog_header .featured_image { margin:50px 0 0; width:100%; height:auto; aspect-ratio:740 / 500; border-radius:10px; position:relative; overflow:hidden; display:block; }
#blog_header .featured_image .overlay { position:absolute; top:0; left:0; width:100%; height:100%; z-index:3; }
#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; }
@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); }
}
@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; }
  #blog_header .meta { margin-bottom:20px; gap:15px; }
  #blog_header .meta .like { height:30px; }
	#blog_header .meta .like:before { top:7px; }
  #blog_header .title { font-size:var(--tcd-single-title-font-size-sp) !important; }
  #blog_header .title + .c-date { margin-top:20px; }
  #blog_header .featured_image { margin:30px -20px 0 !important; width:calc(100% + 40px) !important; border-radius:0; }
  #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:10px; margin-bottom:50px; }
.c-post-tags a { display:inline-block; height:35px; line-height:35px; background:#fff; border:1px solid var(--tcd-accent-color); color:var(--tcd-accent-color); padding:0 15px; font-size:14px; border-radius:5px; }
@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; margin-bottom: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; margin-bottom: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:30px; 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) {
  #related_post .blog_list { display:block; }
  #related_post .blog_list .item { height:200px; margin:0 0 30px 0; position:relative; display:flex; flex-wrap:wrap; align-items:center; border-radius:10px; overflow:hidden; box-shadow:inset 0 0 0 1px #ddd; }
  #related_post .blog_list .item:last-of-type { margin-bottom:0; }
  #related_post .blog_list .image { margin:0; display:block; width:300px; height:200px; aspect-ratio:unset; z-index:1; position:relative; overflow:hidden; border-radius:0; }
  #related_post .blog_list .image .c-thumbnail { width:100%; height:100%; }
  #related_post .blog_list .content { width:calc(100% - 300px); display:flex; flex-direction:column; justify-content:center; gap:20px 0; flex-grow:1; padding:40px; }
  #related_post .blog_list .meta { display:flex; gap:0 15px; }
  #related_post .blog_list .title { line-height:1.8; font-size:18px; font-weight:600; }
  #related_post .blog_list .title a { --tcd-line-clamp:2; height:auto; }
  #related_post .blog_list .category_button { display:none; }
  #related_post .blog_list .c-date { margin:0; }
}
@media (max-width: 767px) {
  #related_post { margin-top:40px; }
	#related_post .headline { font-size:20px; margin-bottom:40px; }
	#blog_list_carousel { overflow:auto; margin:0 -20px; padding:0 20px; }
  body.is-desktop #blog_list_carousel { scrollbar-width:none; user-select:none; cursor:grab; }
	body.is-desktop #blog_list_carousel:active { cursor:grabbing; }
  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; gap:0 20px; }
  #blog_list_carousel .blog_list:after { content:''; background:transparent; height:10px; width:1px; display:block; flex:0 0 1px; }
	#blog_list_carousel .blog_list .item { width:240px !important; margin:0 !important; flex:0 0 240px; }
}


/* コメント */
#comments { margin-top:80px; }
#comments .headline { font-size:30px; 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:40px !important; }
  #comments .headline { font-size:22px; margin-bottom:40px; }
}




/* ----------------------------------------------------------------------
 404ページ
---------------------------------------------------------------------- */
body.no_search_result #side_button { display:none; }
#no_search_result { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; position:relative; min-height:100dvh; height:100%; margin-top:-100px; }
#no_search_result .content { z-index:100; width:100%; 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 { display:none !important; margin-top:auto; 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: 1200px) {
  #no_search_result { margin-top:-60px; }
}
@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 { position:relative; width:calc(100% - 200px); height:auto; aspect-ratio:1250 / 600; overflow:hidden; border-radius:15px; margin:0 100px 120px; display:flex; flex-direction:column; justify-content:center; align-items:center; }
#page_header:not(:has(.image)) { background:#f6f6f6; aspect-ratio:unset; }
body:has(.c-breadcrumb) #page_header { margin-bottom:0; }
#page_header .content { color:#fff; position:relative; z-index:3; text-align:center; padding:60px; }
#page_header:not(:has(.image)) .content { color:#000; padding:120px 100px; }
#page_header .title { line-height:1.4; font-size:var(--tcd-page-header-font-size-pc); font-family:var(--tcd-page-header-font-type); font-weight:600; }
body.page #page_header .title { font-size:var(--tcd-page-header-catch-font-size-pc); }
#page_header .sub_title { line-height:2.2; font-size:18px; font-weight:500; }
body.page_header_catch_vertical #page_header .content { writing-mode:vertical-rl; text-align:left; }
body.page_header_catch_horizontal #page_header .content .title { margin-top:calc(0.5em - 0.5lh); margin-bottom:calc(0.5em - 0.5lh); }
body.page_header_catch_horizontal #page_header .content .sub_title { margin-top:calc(0.5em - 0.5lh + 50px); margin-bottom:calc(0.5em - 0.5lh); }
body.page_header_catch_horizontal #page_header .content .sub_title:only-child { margin-top:calc(0.5em - 0.5lh); }
body.page_header_catch_vertical #page_header .content .title { line-height:1.6; margin-left:calc(0.5em - 0.5lh); margin-right:calc(0.5em - 0.5lh); }
body.page_header_catch_vertical #page_header .content .sub_title { line-height:2.8; margin-left:calc(0.5em - 0.5lh); margin-right:calc(0.5em - 0.5lh + 50px); }
body.page_header_catch_vertical #page_header .content .sub_title:only-child { margin-right:calc(0.5em - 0.5lh); }
#page_header .content *:nth-child(1) { opacity:0; }
body.start_first_animation #page_header .content *:nth-child(1) { opacity:1; transition:opacity 1.0s ease 0.7s; }
#page_header .content *:nth-child(2) { opacity:0; }
body.start_first_animation #page_header .content *:nth-child(2) { opacity:1; transition:opacity 1.0s ease 1.2s; }
#page_header .image { display:block; position:absolute; top:0; left:0; width:100%; height:100%; z-index:1; }
#page_header .image img { position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; }
#page_header .overlay { position:absolute; top:0; left:0; width:100%; height:100%; z-index:2; }
body:has(#author_list) #page_header .title { font-size:var(--tcd-author-list-catch-font-size-pc); }
@media(hover: hover) {
	#side_button a:hover :where(svg, img) { opacity:0.5; }
}
@media (max-width: 1200px) {
  #page_header { width:calc(100% - 120px); margin:0 60px 100px; }
  #page_header .content { padding:50px; }
  #page_header:not(:has(.image)) .content { padding:60px 100px; }
  #page_header .title { font-size: calc((var(--tcd-page-header-font-size-pc) + var(--tcd-page-header-font-size-sp)) / 2); }
  body.page #page_header .title { font-size: calc((var(--tcd-page-header-catch-font-size-pc) + var(--tcd-page-header-catch-font-size-sp)) / 2); }
  #page_header .sub_title { font-size:16px; }
}
@media (max-width: 767px) {
  #page_header { width:calc(100% - 40px); margin:0 20px 50px; border-radius:10px; height:300px; }
	#page_header:not(:has(.image)) { height:auto; }
  #page_header .content { padding:30px; }
	#page_header .title { font-size:var(--tcd-page-header-font-size-sp); }
  body.page #page_header .title { font-size:var(--tcd-page-header-catch-font-size-sp); }
  body:has(#author_list) #page_header .title { font-size:var(--tcd-author-list-catch-font-size-sp); }
  #page_header:has(.title) .sub_title { line-height:2; font-size:14px; }
  body.page_header_catch_horizontal #page_header .content .sub_title { margin-top:calc(0.5em - 0.5lh + 30px); }
  body.page_header_catch_vertical #page_header .content .sub_title { line-height:2.2; margin-right:calc(0.5em - 0.5lh + 30px); }
  #page_header:not(:has(.image)):not(:has(.sub_title)) .title { font-size:24px; }
}
@media (max-width: 500px) {
  #page_header { height:240px; border-radius:10px; }
	#page_header:not(:has(.image)) { height:auto; }
  #page_header:not(:has(.image)) .content { padding:30px 30px; }
}


/* 小さいver */
#page_header.small { aspect-ratio:1250 / 300; }
#page_header.small .title { font-size:var(--tcd-headline-font-size-pc); font-family:var(--tcd-headline-font-type); }
body.page_header_catch_vertical #page_header.small .content { writing-mode:initial; text-align:center; }
@media (max-width: 1200px) {
  #page_header.small .title { font-size:calc( (var(--tcd-headline-font-size-pc) + var(--tcd-headline-font-size-sp)) / 2); }
}
@media (max-width: 767px) {
  #page_header.small { height:140px; }
  #page_header.small .title { font-size:var(--tcd-headline-font-size-sp); }
}


/* キャッチコピーとボタン */
#side_copy { text-shadow:1px 1px 1px #fff; position:fixed; left:0; top:50%; transform: translateY(-50%); width:100px; height:100%; writing-mode:vertical-rl; display:grid; place-items:center; transition: opacity 0.5s ease; z-index:10; }
#side_button { text-shadow:1px 1px 1px #fff; position:fixed; right:0; top:50%; transform: translateY(-50%); transition: opacity 0.5s ease; z-index:10; }
#side_button a { display:flex; flex-direction:column; justify-content:center; align-items:center; width:100px; height:100px; gap:15px 0; padding:0 20px; }
#side_button a .title { font-size:12px; display:block; }
#side_button a :where(svg, img) { font-size:34px; width:1em; height:1em; fill:currentColor; object-fit:contain; transition: opacity 0.25s ease; }
#side_button svg path { stroke:#fff; stroke-width:4px; fill:black; transition: fill 0.25s ease; }
#side_button a.mail svg path { stroke-width:1.3px; }
#side_button a.bed svg path { stroke-width:6px; }
#side_button a.apart svg path { stroke-width:5.5px; }
#side_button a.docs svg path { stroke-width:5.5px; }
#side_button img { filter:drop-shadow(1px 1px 0px #fff); }
body.footer_displayed #side_copy { opacity:0; pointer-events:none; }
body.footer_displayed #side_button { opacity:0; pointer-events:none; }
body.no_fix_side_contents #side_copy { position:absolute; top:50vh; }
body.no_fix_side_contents #side_button { position:absolute; top:50vh; }
body.home #side_copy { position:absolute; top:50vh; }
body.home #side_button { position:absolute; top:50vh; }
@media (max-width: 1200px) {
	#side_copy { display:none; }
  #side_button { display:none; }
}


/* パンくずリンク */
.c-breadcrumb { margin-block:0 !important; margin:0 0 60px !important; width:100%; }
body.single .c-breadcrumb { margin-bottom:0 !important; }
body.page .c-breadcrumb { margin-bottom:0 !important; }
body.sidebar_none.single .c-breadcrumb { width:740px; margin-left:auto !important; margin-right:auto !important; }
.c-breadcrumb__list { height:115px; }
body.page .c-breadcrumb__list { height:120px; }
.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__list { width:auto !important; height:50px !important; }
  body.single .c-breadcrumb { padding-inline:20px; }
  body.page .c-breadcrumb { padding-inline:0px; }
  body.page .c-breadcrumb__list { height:100px !important; }
  body.single-voice .c-breadcrumb { margin:0 -60px !important; width:auto; }
  body.author .c-breadcrumb { margin:0 -60px 100px !important; padding-inline:20px; width:auto; border-bottom:1px solid #ddd; }
  body.search-results .c-breadcrumb { padding-inline:20px; margin:0 -60px 100px !important; border-bottom:1px solid #ddd; width:auto; }
}
@media (max-width: 767px) {
  .c-breadcrumb { margin:0 -20px 30px !important;  }
  body.single .c-breadcrumb { padding-inline:0px; margin:0 0 30px !important; border-bottom:1px solid #ddd; }
  body.page .c-breadcrumb { padding-inline:0px; margin:0 -20px 30px !important; width:calc(100% + 40px); }
  body.page .c-breadcrumb__list { height:50px !important; }
  body.single-voice .c-breadcrumb { padding-inline:0px; margin:0 -20px !important; border-bottom:none; }
  body.author .c-breadcrumb { margin:0 -20px 50px !important; padding-inline:0px; }
  body.search-results .c-breadcrumb { padding-inline:0px; margin:0 -20px 50px !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:calc(0.5em - 0.5lh) 0 110px 0; position:relative; }
body.author #page_header_headline { margin-bottom:90px; }
#page_header_desc { margin:0 auto 120px; width:830px; }
#blog_header + #page_header_desc { margin:80px auto; width:auto; }
body.category #page_header_desc, body.tag #page_header_desc, 
body.tax-news_category #page_header_desc, body.tax-contents1_category #page_header_desc, body.tax-voice_category #page_header_desc, 
body.page-template-page__ranking #page_header_desc { text-align:center; }
#page_header_desc .mobile { display:none; }
@media (max-width: 1200px) {
  #page_header_headline { margin-bottom:90px; font-size:calc( (var(--tcd-headline-font-size-pc) + var(--tcd-headline-font-size-sp)) / 2); }
  #page_header_desc { margin-bottom:100px; }
}
@media (max-width: 1000px) {
  #page_header_desc { width:auto; }
}
@media (max-width: 767px) {
  #page_header_headline { font-size:var(--tcd-headline-font-size-sp); margin-bottom:45px; }
  #page_header_desc { margin-bottom:50px; }
  #page_header_desc .pc { display:none; }
  #page_header_desc .mobile { display:block; }
  #blog_header + #page_header_desc { margin:50px auto; }
  body.category #page_header_desc, body.tag #page_header_desc, body.tax-contents1_category #page_header_desc, body.tax-voice_category #page_header_desc, body.page-template-page__ranking #page_header_desc { text-align:left; }
  body.author #page_header_headline { margin-bottom:50px; }
}




/* ----------------------------------------------------------------------
  ヘッダーバー
---------------------------------------------------------------------- */
#header { position:sticky; top:var(--tcd-header-message-height); left:0; width:100%; height:100px; display:flex; flex-wrap:wrap;  align-items:center; justify-content:space-between; background:#fff; z-index:1000; transition:opacity 0.9s ease 0.2s, background-color 0.25s ease 0s, box-shadow 0.25s ease 0s; }
body:not(:has(#page_header)) #header { box-shadow:0 0 10px 1px rgba(0,0,0,0.1); }
body.start_scroll #header { box-shadow:0 0 10px 1px rgba(0,0,0,0.1); }
body.home.index_slider_layout_type1 #header,
body.no_search_result:has(#no_search_result .bg_image) #header { background:none; }
body.home #header,
body.no_search_result:has(#no_search_result .bg_image) #header { position:relative; top:0; box-shadow:none !important; }
body.lp_design_normal:not(.start_scroll) #header { background:none; box-shadow:none !important; }
body.admin-bar #header { top:32px; }
body.admin-bar.home #header { top:0px; }
@media (max-width: 1200px) {
  #header { height:60px; }
}
@media (max-width: 782px) {
	body.home #header { position:sticky; }
  body.home.start_scroll #header { box-shadow:0 0 10px 1px rgba(0,0,0,0.1) !important; background:#fff !important; top:var(--tcd-header-message-height); z-index:1001; }
  body.admin-bar #header { top:calc(var(--tcd-header-message-height) + 46px) !important; }
}


/* ロゴ */
#header_logo { display:grid; place-items:center; margin-left:40px; z-index:3; }
#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%; }
@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 .image.mobile { 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; color:var(--tcd-logo-font-color);　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; }
body.home.index_slider_layout_type1 #header_logo img,
body.lp_design_normal:has(#lp_page_header):not(.start_scroll) #header_logo img,
body.no_search_result:has(#no_search_result .bg_image) #header_logo img { filter:brightness(0) invert(1); }
body.home.index_slider_layout_type1 #header_logo .title,
body.lp_design_normal:has(#lp_page_header):not(.start_scroll) #header_logo .title,
body.no_search_result:has(#no_search_result .bg_image) #header_logo .title { color:#fff; }
@media (max-width: 1200px) {
  #header_logo { margin-left:20px; }
  #header_logo .image { height:var(--tcd-logo-image-size-sp); }
	#header_logo .image.pc { display:none; }
	#header_logo .image.mobile { display:block; }
  #header_logo .title { font-size:var(--tcd-logo-font-size-sp); }
	body.home.index_slider_layout_type1.start_scroll #header_logo img { filter:none; }
	body.home.index_slider_layout_type1.start_scroll #header_logo .title { color:var(--tcd-logo-font-color); }
}


/* サイトの説明文 */
#site_desc { margin-left:auto; line-height:1.4; font-size:16px; margin-right:110px; }
body:not(:has(#drawer_menu_button)) #site_desc { margin-right:40px; }
body.home.index_slider_layout_type1 #site_desc,
body.lp_design_normal:has(#lp_page_header):not(.start_scroll) #site_desc,
body.no_search_result:has(#no_search_result .bg_image) #site_desc{ color:#fff; }
@media (max-width: 1200px) {
  #site_desc { font-size:14px; }
  #header:not(:has(.drawer_menu_button)) #site_desc { margin-right:60px; }
  body:not(:has(#drawer_menu_button)) #site_desc { margin-right:20px; }
}
@media (max-width: 767px) {
  #site_desc { display:none; }
}


/* ヘッダーメッセージ */
#header_message { position:sticky; top:0; left:0px; width:100%; color:#fff; text-align:center; font-size:var(--var-2header-message-height); z-index:1002; }
body.home #header_message { position:relative; }
#header_message * { padding:14px 30px; color:inherit; display:block; line-height:1.6; font-size:14px; }
@media(hover: hover) {
  #header_message a:hover { opacity:0.6; }
}
@media (max-width: 782px) {
  body.home #header_message { position:sticky; }
}


/* ドロワーメニュー開閉ボタン */
#drawer_menu_button { width:110px; height:100px; display:block; cursor:pointer; position:fixed; top:var(--tcd-header-message-height); right:0; z-index:1000; transition: opacity 0.5s ease; }
#drawer_menu_button span { width:35px; height:2px; background:#000; display:block; position:absolute; left:50%; transform: translateX(-50%); transition: all 0.4s ease; }
#drawer_menu_button span:nth-child(1) { top:39px; transform-origin:center; }
#drawer_menu_button span:nth-child(2) { top:49px; transform-origin:center; }
#drawer_menu_button span:nth-child(3) { top:59px; transform-origin:center; }
body.home #drawer_menu_button { position:absolute; top:var(--tcd-header-message-height); right:0; }
body.home.index_slider_layout_type1:not(.open_drawer_menu) #drawer_menu_button span,
body.lp_design_normal:has(#lp_page_header):not(.start_scroll):not(.open_drawer_menu) #drawer_menu_button span,
body.no_search_result:has(#no_search_result .bg_image):not(.open_drawer_menu) #drawer_menu_button span { background:#fff; }
body.admin-bar:not(.home) #drawer_menu_button { top:32px; }
body.open_drawer_menu #drawer_menu_button { z-index:1003; }
body.open_drawer_menu #drawer_menu_button span:nth-child(1) { height:2px; width:24px; top:50px; left:calc(50% - 12px); transform:rotate(45deg); }
body.open_drawer_menu #drawer_menu_button span:nth-child(2) { height:2px; width:0px; }
body.open_drawer_menu #drawer_menu_button span:nth-child(3) { height:2px; width:24px; top:50px; left:calc(50% - 12px); transform:rotate(-45deg); }
@media (max-width: 1200px) {
  #drawer_menu_button { width:60px; height:60px; }
  #drawer_menu_button span { width:19px !important; height:2px; }
  #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 (max-width: 1000px) {
  body.open_drawer_menu #drawer_menu_button span { background:#fff !important; }
}
@media (max-width: 782px) {
  body.admin-bar:not(.home) #drawer_menu_button { top:46px; }
  body.admin-bar #drawer_menu_button { top:46px; }
  body.home #drawer_menu_button { position:fixed; }
	body.home:not(.open_drawer_menu).start_scroll #drawer_menu_button { z-index:1001; }
	body.home:not(.open_drawer_menu).start_scroll #drawer_menu_button span { background:#000; }
}
@media(hover: hover) {
	#drawer_menu_button:hover { opacity:0.4; }
}




/* ----------------------------------------------------------------------
 ドロワーメニュー
---------------------------------------------------------------------- */
#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; flex-direction:row-reverse;
}
body:has(#header_message):not(.start_scroll) #drawer_menu { top:var(--tcd-header-message-height); height:calc(100vh - var(--tcd-header-message-height)); height:calc(100dvh - var(--tcd-header-message-height)); }
#drawer_menu_inner { width:50%; height:100%; overflow:auto; position:relative; display:flex; flex-direction:column; background:#fff; }
#drawer_menu_image_area { width:50%; height:100%; overflow:hidden; position:relative; }
#drawer_menu_image_area:has(img) { background:#fff; }
#drawer_menu_image_area .overlay { position:absolute; top:0; left:0; width:100%; height:100%; z-index:5; }
#drawer_menu_image_area:not(:has(img)) .overlay { background:rgba(0,0,0,0.4) !important; }
#drawer_menu_image_area img.active { z-index:2; opacity:1; }
#drawer_menu_image_area img { display:block; position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; z-index:1; opacity: 0; transition: opacity 0.5s ease-in-out; }
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.open_drawer_menu { overflow:hidden; }
@media (max-width: 1000px) {
	#drawer_menu { background:rgba(0,0,0,0.4); }
	#drawer_menu_inner { width:400px; display:block; background:var(--tcd-accent-color); color:#fff; padding-top:60px; }
	body.admin-bar #drawer_menu_inner { padding-top:92px; }
	#drawer_menu_image_area { width:calc(100% - 400px); }
  #drawer_menu_image_area:has(img) { background:none; }
	#drawer_menu_image_area .overlay { display:none; }
	#drawer_menu_image_area img { display:none !important; }
}
@media (max-width: 782px) {
	body.admin-bar #drawer_menu_inner { padding-top:106px; }
	body:has(#header_message).start_scroll #drawer_menu { top:var(--tcd-header-message-height) !important; height:calc(100vh - var(--tcd-header-message-height)); }
}
@media (max-width: 500px) {
	#drawer_menu_inner { width:100%; }
}


/* 閉じるボタン */
@media (max-width: 1000px) {
	body.open_drawer_menu #drawer_menu .drawer_menu_button span { background:#fff !important; }
  @media(hover: hover) {
    body.open_drawer_menu #drawer_menu .drawer_menu_button:hover { opacity:0.5; }
	}
}


/* グローバルメニュー */
#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 100px; height:100px; line-height:1.5; overflow:hidden; text-decoration:none; display:flex; flex-direction:column; justify-content:center; flex-direction:column-reverse;
  color:var(--tcd-accent-color); font-size:26px; font-weight:600; transition: background-color 0.7s ease;
}
#drawer_menu_nav a span { display:block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; visibility:visible; }
#drawer_menu_nav a .sub_title { font-size:16px; color:#000; font-weight:500; margin:5px 0; }
#drawer_menu_nav li.open > a, #drawer_menu_nav li:has(.child_menu_button:hover) > a { background:var(--tcd-accent-color); color:#fff; }
#drawer_menu_nav li.open > a .sub_title, #drawer_menu_nav li:has(.child_menu_button:hover) > a .sub_title { color:#fff; }
#drawer_menu_nav li { position:relative; }
#drawer_menu_nav .child_menu_button { display:block; position:absolute; text-align:center; width:116px; height:100px; right:0px; top:0px; z-index:9; cursor:pointer; transition: opacity 0.25s ease; }
#drawer_menu_nav .child_menu_button:after { position:absolute; left:0px; top:52px; content:'';  width:16px; height:2px; background:var(--tcd-accent-color); transition: width 0.5s ease; }
#drawer_menu_nav .child_menu_button:before { position:absolute; left:0px; top:52px; content:'';  width:16px; height:2px; background:var(--tcd-accent-color); transform:rotate(90deg); transition: transform 0.5s ease; }
#drawer_menu_nav li.open > .child_menu_button:after { background:#fff; width:0; }
#drawer_menu_nav li.open > .child_menu_button:before { background:#fff; transform:rotate(0deg); }
#drawer_menu_nav li li a {
	color:#000; font-size:16px; height:70px; text-align:center; 
	line-height:1.2; font-weight:500; padding:0 20px; background:none;
	transition: color 0.5s ease;
}
#drawer_menu_nav li li:nth-child(3n+1) a { text-align:left; padding-left:0; }
#drawer_menu_nav li li:nth-child(3n) a { text-align:right; padding-right:0; }
#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:#f6f6f6; padding:0 100px; }
#drawer_menu_nav li ul li { width:calc(100% / 3); }
@media(hover: hover) {
	#drawer_menu_nav a:hover { color:#fff; background:var(--tcd-accent-color); }
	#drawer_menu_nav li li a:hover { color:var(--tcd-accent-color); background:none; }
	#drawer_menu_nav a:hover .sub_title { color:#fff; }
	#drawer_menu_nav .child_menu_button:hover { opacity:0.5; }
	#drawer_menu_nav li:hover > .child_menu_button:after { background:#fff; }
	#drawer_menu_nav li:hover > .child_menu_button:before { background:#fff; }
}
@media (max-width: 1200px) {
  #drawer_menu_nav a { padding:0 50px; height:80px; font-size:21px; }
  #drawer_menu_nav .child_menu_button { width:80px; height:80px; right:10px; top:0px; }
  #drawer_menu_nav .child_menu_button:after { left:25px; top:42px; }
  #drawer_menu_nav .child_menu_button:before { left:25px; top:42px; }
  #drawer_menu_nav a .sub_title { font-size:14px; }
}
@media (max-width: 1000px) {
  #drawer_menu .menu_area { padding-top:0px; }
	#drawer_menu_nav a { color:#fff; height:auto; font-size:14px; font-weight:500; padding:14px 20px; border-top:1px solid rgba(255,255,255,0.2); }
  #drawer_menu_nav a .sub_title { display:none; }
  #drawer_menu_nav .child_menu_button { width:50px; height:50px; right:0px; top:0px; }
  #drawer_menu_nav .child_menu_button:after { left:13px; top:25px; background:#fff; width:14px; }
  #drawer_menu_nav .child_menu_button:before { left:13px; top:25px; background:#fff; width:14px; }
  #drawer_menu_nav li ul { width:100%; display:block; background:#f6f6f6; padding:0; }
  #drawer_menu_nav li ul li { width:100%; }
  #drawer_menu_nav li li a { display:block; font-size:14px; height:auto; text-align:left !important; line-height:1.5; padding:14px 20px !important; }
  @media(hover: hover) {
    #drawer_menu_nav a:hover { color:rgba(255,255,255,0.5); }
	}
}


/* サブメニュー */
#drawer_sub_menu_nav { margin-top:40px; }
#drawer_sub_menu_nav a { padding:15px 100px; display:block; }
@media(hover: hover) {
	#drawer_sub_menu_nav a:hover { color:var(--tcd-accent-color); }
}
@media (max-width: 1200px) {
  #drawer_sub_menu_nav { margin-top:25px; }
  #drawer_sub_menu_nav a { padding:12px 50px; }
}
@media (max-width: 1000px) {
  #drawer_sub_menu_nav { margin-top:0px; padding-top:10px;border-top:1px solid rgba(255,255,255,0.2); }
  #drawer_sub_menu_nav a { padding:14px 20px; color:#fff; line-height:1.5; font-size:14px;}
  @media(hover: hover) {
    #drawer_sub_menu_nav a:hover { color:rgba(255,255,255,0.5); }
	}
}


/* アイコンボタン */
#drawer_icon_button { display:none; }
@media (max-width: 1000px) {
  #drawer_icon_button { display:flex; border-top:1px solid rgba(255,255,255,0.2); }
	#drawer_menu:not(:has(#drawer_sub_menu_nav)) #drawer_icon_button { border-bottom:1px solid rgba(255,255,255,0.2); }
  #drawer_icon_button a { color:#fff; display:flex; flex-direction:column; justify-content:center; align-items:center; width:calc(100% / 3); height:90px; gap:15px 0; padding:0 20px; border-right:1px solid rgba(255,255,255,0.2); }
	#drawer_icon_button a:nth-child(3n) { border-right:none; }
	#drawer_icon_button a .title { font-size:12px; display:block; }
  #drawer_icon_button a :where(svg, img) { font-size:30px; width:1em; height:1em; fill:currentColor; object-fit:contain; transition: opacity 0.25s ease; }
	#drawer_icon_button a img { filter:brightness(0) invert(1); max-width:30px !important; height:auto; }
  #drawer_icon_button svg path { stroke:var(--tcd-accent-color); stroke-width:4px; fill:#fff; transition: fill 0.25s ease; }
  #drawer_icon_button a.mail svg path { stroke-width:1.1px; }
  #drawer_icon_button a.bed svg path { stroke-width:5px; }
  #drawer_icon_button a.apart svg path { stroke-width:5px; }
  #drawer_icon_button a.docs svg path { stroke-width:5px; }
  @media(hover: hover) {
    #drawer_icon_button a:hover { color:rgba(255,255,255,0.5); }
		#drawer_icon_button a:hover :where(svg, img) { opacity:0.5; }
	}
}


/* SNSアイコンエリア */
#drawer_menu .bottom_area { position:sticky; top:100vh; display:flex; flex-wrap:nowrap; justify-content:space-between; padding:60px 100px 40px; }
@media (max-width: 1200px) {
  #drawer_menu .bottom_area { padding:60px 50px 40px; }
}
@media (max-width: 1000px) {
  #drawer_menu .bottom_area { padding:20px; flex-wrap:wrap; gap:20px; }
	#drawer_menu .c-sns-icons { order:2; }
	#drawer_menu .c-sns-icons--mono a { color:#fff; }
}


/* 言語ボタン */
#drawer_lang_button { display:flex; flex-wrap:wrap; gap:0 20px; padding-left:10px; }
#drawer_lang_button a { display:grid; place-items:center; }
@media (max-width: 1000px) {
  #drawer_lang_button { padding-left:0px; order:3; }
	#drawer_lang_button a { color:#fff; }
  @media(hover: hover) {
    #drawer_lang_button a:hover { color:rgba(255,255,255,0.5); }
	}
}


/* 検索フォーム */
@media (min-width: 1001px) {
  #drawer_search { height:40px; width:40px; z-index:2; margin-left:auto; }
  #drawer_search form  { position:relative; height:100%; }
  #drawer_search .input_area { position:absolute; top:0px; right:40px; width:260px; padding-left:20px; height:40px; background:#fff; opacity:0; pointer-events:none; transition: opacity 0.5s ease; }
  #drawer_search.active .input_area, #drawer_search:hover .input_area { opacity:1; pointer-events:auto; }
  #drawer_search .input_area input { border:none; height:40px; width:100%; padding:0 25px; background:#fafafa; border:1px solid #ddd; border-radius:40px; top:0px; right:0px; position:relative; }
  #drawer_search .search_button { position:absolute; right:0px; top:0px; height:100%; width:40px; }
  #drawer_search .search_button input { display:block; width:100%; height:100%; cursor:pointer; background:none; border:none; text-indent:-200px; overflow:hidden; }
  #drawer_search .search_button:before {
    display:block; pointer-events:none; position:absolute; left:8px; top:50%; transform: translate(0%, -50%); transition: background-color 0.5s ease;
    background:#000; font-size:25px; width:1em; height:1em; content:''; mask:var(--tcd-icon--search) no-repeat center / 1em;
  }
  @media(hover: hover) {
    #drawer_search .search_button:hover:before { background-color:rgba(0,0,0,0.5) !important; }
  }
}
@media (max-width: 1000px) {
	#drawer_search { order:1; width:100%; height:50px; position:relative; }
  #drawer_search .input_area input { position:absolute; left:0px; width:100%; height:50px; border:none; color:#fff; background:rgba(255,255,255,0.2); z-index:1; padding:0 60px 0 25px; border-radius:50px; z-index:1; }
  #drawer_search .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; }
  #drawer_search .search_button label { position:absolute; right:0px; top:0px; z-index:10; width:50px; height:50px; display:block; pointer-events:none; }
  #drawer_search .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:#fff; font-size:26px; width:1em; height:1em; content:''; mask:var(--tcd-icon--search) no-repeat center / 1em;
  }
  @media(hover: hover) {
    #drawer_search .search_button:hover label:before { background-color:rgba(255,255,255,0.5); }
  }
}



/* ----------------------------------------------------------------------
  フッターバー
---------------------------------------------------------------------- */


/* フッターバナー */
#footer_banner { height:280px; background:#f6f6f6; padding-top:40px; }
#footer_banner_carousel { width:1250px; height:200px; margin:0 auto; position:relative; }
#footer_banner_carousel-list:not(:has(.item:nth-child(4))) { transform:none !important; }
#footer_banner_carousel-list:not(:has(.item:nth-child(3))) { justify-content:center; }
#footer_banner .item { height:200px; position:relative; overflow:hidden; border-radius:10px; }
#footer_banner_carousel-list:not(:has(.item:nth-child(3))) .item:last-of-type { margin-right:0 !important; }
#footer_banner .item .content { width:100%; position:absolute; bottom:0; left:0; z-index:3; color:#fff; display:flex; flex-direction:column; justify-content:center; text-align:center; gap:10px 0; padding:20px 30px; }
#footer_banner .item .title { font-size:20px; font-weight:600; line-height:1.5; }
#footer_banner .item .sub_title { font-size:14px; font-weight:500; line-height:1.5; }
#footer_banner .item .c-thumbnail { width:100%; height:100%; position:absolute; top:0; left:0; z-index:1; }
#footer_banner .item .overlay { width:100%; height:50%; position:absolute; bottom:0; left:0; z-index:2; }
#footer_banner .item:not(:has(.title)):not(:has(.sub_title)) .overlay { display:none; }
#footer_banner .splide__arrows { top:50%; transform: translateY(-50%); opacity:0; transition: opacity 0.5s ease; }
#footer_banner .splide__arrow--prev { left:-35px; }
#footer_banner .splide__arrow--next { right:-35px; }
@media(hover: hover) {
  #footer_banner:hover .splide__arrows { opacity:1; }
}
@media (max-width: 1320px) {
  #footer_banner_carousel { width:calc(100% - 120px); }
}
@media (max-width: 1200px) {
	#footer_banner_carousel { visibility:visible !important; width:auto; }
  #footer_banner .splide__track { padding:0 60px; overflow:hidden; overflow-x:auto; }
  body.is-desktop #footer_banner .splide__track { scrollbar-width:none; user-select:none; cursor:grab; }
  body.is-desktop #footer_banner .splide__track:active { cursor:grabbing; }
  body.is-desktop #footer_banner .splide__track::-webkit-scrollbar { display:none; }
  body.is-mobile #footer_banner .splide__track { -webkit-overflow-scrolling:touch; scroll-behavior:smooth; }
  #footer_banner .splide__list { width:auto; display:block; white-space:nowrap; font-size:0; position:relative; text-align:center; }
  #footer_banner .splide__list:after { content:''; position:absolute; top:0; left:auto; height:10px; width:60px; }
  #footer_banner .splide__arrows { display:none; }
	#footer_banner .item { width:370px; margin-right:30px; display:inline-block; white-space:wrap; text-align:left; }
	#footer_banner .item:last-of-type { margin-right:0px; }
}
@media (max-width: 767px) {
  #footer_banner { height:195px; background:#f6f6f6; padding-top:30px; }
  #footer_banner .splide__track { padding:0 20px; }
  #footer_banner .splide__list:after { width:20px; }
	#footer_banner .item { width:260px; height:135px; aspect-ratio:unset; margin-right:20px; border-radius:7px; }
	#footer_banner .item:last-of-type { margin-right:0px; }
  #footer_banner .item .content { gap:5px 0; padding:15px 30px; }
  #footer_banner .item .title { font-size:18px; }
  #footer_banner .item .sub_title { font-size:12px; }
}


/* ロゴエリア */
#footer { width:100%; margin-top:auto; overflow:hidden; }
#footer:not(:has(.overlay)) #footer_top { background:var(--tcd-accent-color); }
#footer_top { position:relative; color:#fff; padding:80px 100px; }
#footer_top a { color:#fff; text-decoration:underline; }
#footer_top a[href*="tel:"] { text-decoration:none; }
#footer_logo_area { position:relative; z-index:3; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:40px 0; text-align:center; }
#footer_logo .image { height:var(--tcd-footer-logo-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-footer-logo-font-size-pc); }
#footer_logo a { display:block; transition:all 0.5s ease; text-decoration:none; }
#footer_logo picture { display:block; }
#footer_info { line-height:2.5; margin-top:calc(0.5em - 0.5lh); margin-bottom:calc(0.5em - 0.5lh); font-size:16px; }
#footer_top .c-sns-icons { margin-top:-10px; }
#footer_top .bg_image { display:block; width:100%; height:100%; position:absolute; top:0; left:0; z-index:1; }
#footer_top .bg_image img { width:100%; height:100%; position:absolute; top:0; left:0; object-fit:cover; }
#footer_top .overlay { width:100%; height:100%; position:absolute; top:0; left:0; z-index:2; }
#footer_top video { width:100%; height:100%; position:absolute; top:0; left:0; object-fit:cover; }
@media(hover: hover) {
  #footer_top a:hover { color:rgba(255,255,255,0.5); }
  #footer_logo a:hover { opacity:0.5; }
}
@media (max-width: 1200px) {
  #footer_logo .text { font-size:var(--tcd-footer-logo-font-size-sp); }
  #footer_logo .image { height:var(--tcd-footer-logo-image-size-sp); }
}
@media (max-width: 767px) {
  #footer_top { padding:50px 20px; }
  #footer_logo_area { gap:30px 0; }
  #footer_info { font-size:14px; line-height:2; }
}


/* フッターメニュー */
#footer_menu_bottom { padding:0 100px; }
#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 25px; 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 60px; }
  #footer_menu_bottom ul:after { content:''; position:absolute; top:0; left:auto; height:10px; width:60px; }
	#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; }
}


/* コピーライト */
#copyright p { font-size:14px; display:block; line-height:1.4; text-align:center; border-top:1px solid #ddd; padding:25px 100px; }
@media (max-width: 1200px) {
	#copyright p { padding:20px 60px; }
}
@media (max-width: 767px) {
	#copyright p { padding:20px 20px; }
}


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




/* ----------------------------------------------------------------------
  ウィジェット
---------------------------------------------------------------------- */
/* 基本設定 */
.p-widget-list-sp { display:none !important; }
.p-widget-headline { position:relative; z-index:2; }
@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; }
.p-widget-tab-post-nav-item { position: relative; flex: 1; padding-inline: 1em; border: 1px solid #dddddd; transition-property: color; }
.p-widget-tab-post-nav-item span { --tcd-line-clamp:2; height:auto; }
* + .p-widget-tab-post-nav-item { margin-left: -1px; }
.p-widget-tab-post-nav-item:first-of-type { border-radius:10px 0 0 0; }
.p-widget-tab-post-nav-item:last-of-type { border-radius:0 10px 0 0; }
.p-widget-tab-post-nav button { background:#f6f6f6; }
.p-widget-tab-post-nav[data-tab="1"] > button:nth-child(1),
.p-widget-tab-post-nav[data-tab="2"] > button:nth-child(2),
.p-widget-tab-post-nav[data-tab="3"] > button:nth-child(3) { border-bottom:none; padding-bottom: 1px; background:#fff; pointer-events:none; position:relative; z-index:3; }
.p-widget-tab-post-nav[data-tab="1"] + * + *,
.p-widget-tab-post-nav[data-tab="1"] + * + * + *,
.p-widget-tab-post-nav[data-tab="2"] + *,
.p-widget-tab-post-nav[data-tab="2"] + * + * + *,
.p-widget-tab-post-nav[data-tab="3"] + *,
.p-widget-tab-post-nav[data-tab="3"] + * + * { display: none; }
.p-widget-tab-post-list-item { display: grid; grid-template-columns: 100px 1fr; background: #ffffff; border: 1px solid #dddddd; margin-top: -1px; padding:20px; position:relative; }
.p-widget-tab-post-list-item:not(:has(img)) { display:block; padding:20px 0 !important; }
.p-widget-tab-post-list-item-image { aspect-ratio: 1; margin:-1px; position:relative; z-index:1; }
.p-widget-tab-post-list-item-image .c-thumbnail { width:100%; height:100%; }
.p-widget-tab-post-list-item-title { --tcd-line-clamp: 3; padding:0 0 0 20px; align-self: center; line-height: 1.8; height: auto; }
.p-widget-tab-post-list-item:not(:has(img)) .p-widget-tab-post-list-item-title { padding:0 20px; }
.p-widget-tab-post-list-item .no_post { padding:0 20px; margin-bottom:-5px; }
.p-widget-tab-post-list-item .num { position:absolute; top:19px; left:19px; background:#000; color:#fff; width:30px; height:30px; display:grid; place-items:center; z-index:2; font-size:12px; }
.p-widget-tab-post-list-item .c-date { margin:0 20px 12px; }
.p-widget-tab-post:not(:has(.p-widget-tab-post-list:nth-child(2))) {
  .p-widget-tab-post-list-item { padding:0; grid-template-columns: 110px 1fr; }
  .p-widget-tab-post-list-item-title { --tcd-line-clamp: 2; padding:0 20px; }
}
.p-widget-tab-post-list-item.pr_post .title_area { height:auto; align-self:center; }
.p-widget-tab-post-list-item.pr_post .p-widget-tab-post-list-item-title { --tcd-line-clamp: 2; }
.p-widget-tab-post-list-item.pr_post .pr_meta { padding:10px 0 0 20px; font-size:12px; color:#999; display:flex; flex-direction:column; gap:5px 0; line-height:1.4; }
.p-widget-tab-post-list-item:not(:has(img)) .pr_meta { padding:0 0 10px 20px !important; }
.p-widget-tab-post-list-item.pr_post .pr_meta .pr_label { flex: 0 0 auto; }
@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; }
.widget_post_carousel a { display:flex; flex-direction:column; height:auto; }
.widget_tcd_widget_post_carousel .splide__track { box-shadow:inset 0 0 0 1px #ddd; border-radius:10px; overflow:hidden; }
.widget_tcd_widget_post_carousel:has(.p-widget-headline) .splide__track { border-radius:0 0 10px 10px; margin-top:-1px; }
.widget_post_carousel .c-thumbnail { aspect-ratio:300 / 205; }
.widget_post_carousel .title {
  font-size:16px; padding:30px; display:grid; place-items:center; transition: color 0.25s ease;
  z-index:2; width:100%; font-weight:500;
}
.widget_post_carousel .title span { --tcd-line-clamp:2; height:auto; }
.widget_post_carousel .splide__pagination { margin:20px 0 0 0; }
.widget_post_carousel .splide__pagination .splide__pagination__page { background:#ddd; }
.widget_post_carousel .splide__pagination .splide__pagination__page.is-active { background:#000 !important; }
@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); }
	.widget_post_carousel .splide__pagination .splide__pagination__page:hover { background:#999; }
}


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


/* タグクラウド */
.widget_tag_cloud .tag-cloud-link { background:#fff !important; border:1px solid var(--tcd-accent-color) !important; color:var(--tcd-accent-color) !important; font-size:12px !important; }
@media(hover: hover) {
  .widget_tag_cloud .tag-cloud-link:hover { background:var(--tcd-accent-color) !important; color:#fff !important; }

}


/* 画像 */
.widget_media_image .p-widget-headline { margin-bottom:0px; }
.widget_media_image figure { width:100% !important; }


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


/* 検索フォーム */
.widget_search .p-widget-headline { margin-bottom:-1px; }
.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; font-size:14px; padding:15px 25px; }


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




/* ----------------------------------------------------------------------
  Lenis
---------------------------------------------------------------------- */
html.lenis,html.lenis body{ height:auto; scroll-behavior: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:60px; pointer-events:none; }/* heightはスライダー毎に変更すること */
.splide__arrow { opacity:1; background:#fff; border-radius:100%; height:70px; width:70px; display:grid; place-items:center; margin:0; padding:0; pointer-events:auto; box-shadow:0 0 15px 2px rgba(50,50,50,0.1); }
.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 / 2em; font-size:12px; width:1em; height:1em; background:#000; transition:opacity 0.25s ease, background-color 0.25s ease; position:relative; }
.splide__arrow:not(:disabled):before { opacity:1; }
.splide__arrow--prev:before { transform:rotate(180deg); left:-2px; }
.splide__arrow--prev { left:-50px; }
.splide__arrow--next { right:-50px; }
@media(hover: hover) {
	.splide__arrow:hover { opacity:1 !important; }
  .splide__arrow:hover:before { background:#999; }
}


/* ページナビ */
.splide__pagination { gap:0 10px; position:relative; bottom:auto; margin:25px 0 0 0 !important; padding:0 !important; 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; }
}
@media (max-width: 767px) {
	.splide__pagination { margin-top:20px !important; }
}



/* END VOYAGE style.css */