@charset "utf-8";


/* ----------------------------------------------------------------------
 基本設定
---------------------------------------------------------------------- */
body { touch-action:manipulation; }
@media screen and (max-width:1300px) {
  html { scroll-padding-top:90px; }
}
@media screen and (max-width:800px) {
  body.admin-bar { padding-top:46px; }
  body.show_footer_bar { padding-bottom:48px; }
  * { -webkit-tap-highlight-color:transparent; }
  br.mobile_break { display:block; }
}


/* レイアウト */
@media screen and (max-width:1160px) {
	#main_content { width:auto; margin:0 100px; padding:50px 0 100px; display:block; }
	#main_col { width:100%; }
	body.single-post.show_sidebar #main_col { width:100%; }
  #side_col { width:650px; margin:100px auto -40px; display:flex; flex-wrap:wrap; justify-content:space-between; align-items:flex-start; }
}
@media screen and (max-width:1000px) {
	#main_content { margin:0 50px; }
}
@media screen and (max-width:800px) {
	body.single-post #container { background:#fff; }
	#main_content { margin:0 20px; padding:0 0 40px; }
	#side_col { margin-top:40px; }
}
@media screen and (max-width:710px) {
	#side_col { width:auto; }
}
@media screen and (max-width:600px) {
	#side_col { display:block; }
}


/* admin bar利用時 */
body.home.admin-bar { padding-top:30px; }
body.admin-bar.header_fix #header { margin-top:32px; }
body.admin-bar #drawer_menu { padding-top:32px; }
@media screen and (max-width:780px) {
  body.home.admin-bar { padding-top:45px; }
}
@media screen and (max-width:600px) {
	body.admin-bar.open_header #header { top:0px !important; }
  body.admin-bar.close_header #header { top:0px !important; }
}




/* ----------------------------------------------------------------------
 共通パーツ
---------------------------------------------------------------------- */
/* デザインボタン */
@media screen and (max-width:1200px) {
  a.design_button { min-width:240px; height:60px; }
}
@media screen and (max-width:800px) {
  a.design_button { min-width:220px; height:50px; font-size:14px; }
}


/* swiperのドットナビ */
/* サムネイルver */
@media screen and (max-width:800px) {
  .sc_image_carousel_nav { margin-top:30px; }
	.sc_image_carousel_nav .swiper-slide.swiper-slide-thumb-active { transform:scale(1.3); }
}




/* ----------------------------------------------------------------------
 トップページ ヘッダースライダー
---------------------------------------------------------------------- */
#header_slider_container.height_type2 { height:650px; }
@media screen and (max-width:1300px) {
  #header_slider_container { height:calc(100vh - 140px); height:calc(100svh - 140px); }
  #header_slider_container.design_type2 { height:calc(100vh - 60px); }
	#header_slider_container.height_type2 { max-height:calc(100vh - 140px); min-height:600px; }
	#header_slider_container .logo { display:none; }
}
@media screen and (max-width:1160px) {
  #header_slider_container.header_content_type2.height_type2 { height:auto !important; min-height:inherit !important; }
  #header_slider_container.header_content_type3.height_type2 { height:auto !important; min-height:inherit !important; }
	.header_slider_content .desc { line-height:2; font-size:16px; }
	.header_slider_content .catch + .desc { margin:15px 0 0 0; }
	.header_slider_content .link_button { margin:23px 0 0 0; }
  #header_slider_fixed_content.layout_type2 .header_slider_content { padding:4em 0; }
	#header_slider_fixed_content.layout_type2 .header_slider_content .catch { line-height:2; }
  #header_slider_fixed_content.layout_type2 .header_slider_content .desc { line-height:2; font-size:16px; }
	#header_slider_fixed_content.layout_type2 .header_slider_content .catch + .desc { margin:0 10px 0 0; }
}
@media screen and (max-width:800px) {
  #header_slider_container { width:calc(100% - 30px); height:calc(100vh - 155px); height:calc(100svh - 155px); margin:15px 15px 0; border-radius:10px; }
  #header_slider_container.design_type2 { height:calc(100vh - 140px); }
  #header_slider_container.header_content_type2.height_type2 { aspect-ratio:9 / 16; height:auto !important; min-height:inherit !important; max-height: calc(100vh - 150px); }
  #header_slider_container.header_content_type3.height_type2 { aspect-ratio:9 / 16; height:auto !important; min-height:inherit !important; max-height: calc(100vh - 150px); }
  #header_slider_fixed_content.layout_type2 .header_slider_content { padding:2em 0; }
  .header_slider_content { padding:0 40px; }
  .header_slider_content span.empty { width:1em; height:1em; }
}


/* ニュースティッカー */
@media screen and (max-width:800px) {
  #news_ticker { left:0px !important; top:0px !important; margin-bottom:0px; width:100%; height:80px; border-radius:0px; border-bottom:1px solid #ddd; }
  #news_ticker_carousel { width:100%; height:80px; }
  #news_ticker .item { height:80px; line-height:1.6; padding:0 20px; display:flex; flex-direction:column; justify-content:center; }
	#news_ticker .item .content { display:block; }
	#news_ticker .date { margin:0 0 5px 0; }
}




/* ----------------------------------------------------------------------
 コンテンツビルダー
---------------------------------------------------------------------- */
@media screen and (max-width:800px) {
  #content_builder .link_button { margin-top:40px; }
	#content_builder section:last-child { padding-bottom:40px; }
	.cb_white_bg + .cb_white_bg { scroll-margin-top:90px; }
}


/* デザインヘッダー */
.design_header .image_area { margin-top:100px; }
@media screen and (max-width:1160px) {
  .design_header { width:100% !important; margin:0 0 100px; }
  .design_header .catch { font-size:calc((var(--headline_font_size) + var(--headline_font_size_sp)) / 2); }
	.design_header .desc { font-size:16px; line-height:2; }
	.design_header.direction_type2 .desc { line-height:2.2; }
	.design_header .catch + .desc { margin:15px 0 -7px 0; }
	.design_header.direction_type2 .catch + .desc { margin:0 15px 0 0; }
	.design_header .bg_image { transform: translate3d(-100px,-50%,0) scale(var(--content_size_pc)); transform-origin:left center; height:auto; }
  .design_header .bg_image.position_right_top { transform: translate3d(100px,-50%,0) scale(var(--content_size_pc)); transform-origin:right center; }
  .design_header .bg_image.position_center_middle { transform: translate3d(-50%,-50%,0) scale(var(--content_size_pc)); transform-origin:center center; }
  .design_header .bg_image.position_right_middle { transform: translate3d(100px,-50%,0) scale(var(--content_size_pc)); transform-origin:right center; }
  .design_header .bg_image.position_left_bottom { transform: translate3d(-100px,50%,0) scale(var(--content_size_pc)); transform-origin:left center; }
  .design_header .bg_image.position_center_bottom { transform: translate3d(-50%,50%,0) scale(var(--content_size_pc)); transform-origin:center center; }
  .design_header .bg_image.position_right_bottom { transform: translate3d(100px,50%,0) scale(var(--content_size_pc)); transform-origin:right center; }
}
@media screen and (max-width:1000px) {
	.design_header .bg_image { transform: translate3d(-50px,-50%,0) scale(var(--content_size_pc)); }
  .design_header .bg_image.position_right_top { transform: translate3d(50px,-50%,0) scale(var(--content_size_pc)); }
  .design_header .bg_image.position_center_middle { transform: translate3d(-50%,-50%,0) scale(var(--content_size_pc)); }
  .design_header .bg_image.position_right_middle { transform: translate3d(50px,-50%,0) scale(var(--content_size_pc)); }
  .design_header .bg_image.position_left_bottom { transform: translate3d(-50px,50%,0) scale(var(--content_size_pc)); }
  .design_header .bg_image.position_center_bottom { transform: translate3d(-50%,50%,0) scale(var(--content_size_pc)); }
  .design_header .bg_image.position_right_bottom { transform: translate3d(50px,50%,0) scale(var(--content_size_pc)); }
}
@media screen and (max-width:800px) {
  .design_header { margin:0 0 40px; }
	.design_header.direction_type1 { margin-bottom:40px; }
	.design_header:not(:has(img)):not(:has(.desc)) { margin-bottom:23px; }
  .design_header .catch { font-size:var(--headline_font_size_sp); }
	.design_header .desc .pc { display:none; }
	.design_header .desc .mobile { display:block; }
  .design_header .image_area { margin-top:40px; }
	.design_header .image { border-radius:7px; }
	.design_header .bg_image.pc { display:none; }
	.design_header .bg_image.mobile { display:block; }
	.design_header .bg_image { transform: translate3d(-30%,-50%,0) scale(var(--content_size_sp)); }
  .design_header .bg_image.position_right_top { transform: translate3d(30%,-50%,0) scale(var(--content_size_sp)); }
  .design_header .bg_image.position_center_middle { transform: translate3d(-50%,-50%,0) scale(var(--content_size_sp)); }
  .design_header .bg_image.position_right_middle { transform: translate3d(30%,-50%,0) scale(var(--content_size_sp)); }
  .design_header .bg_image.position_left_bottom { transform: translate3d(-30%,50%,0) scale(var(--content_size_sp)); }
  .design_header .bg_image.position_center_bottom { transform: translate3d(-50%,50%,0) scale(var(--content_size_sp)); }
  .design_header .bg_image.position_right_bottom { transform: translate3d(30%,50%,0) scale(var(--content_size_sp)); }
}


/* デザインコンテンツ */
.cb_design_content { padding:100px 0; }
@media screen and (max-width:1160px) {
  .cb_design_content { padding:100px 100px; }
  .cb_design_content .image_area { width:auto; }
	.cb_design_content .bg_image { transform: translate3d(-100px,-50%,0) scale(var(--content_size_pc)); transform-origin:left center; height:auto; }
  .cb_design_content .bg_image.position_right_top { transform: translate3d(100px,-50%,0) scale(var(--content_size_pc)); transform-origin:right center; }
  .cb_design_content .bg_image.position_center_middle { transform: translate3d(-50%,-50%,0) scale(var(--content_size_pc)); transform-origin:center center; }
  .cb_design_content .bg_image.position_right_middle { transform: translate3d(100px,-50%,0) scale(var(--content_size_pc)); transform-origin:right center; }
  .cb_design_content .bg_image.position_left_bottom { transform: translate3d(-100px,50%,0) scale(var(--content_size_pc)); transform-origin:left center; }
  .cb_design_content .bg_image.position_center_bottom { transform: translate3d(-50%,50%,0) scale(var(--content_size_pc)); transform-origin:center center; }
  .cb_design_content .bg_image.position_right_bottom { transform: translate3d(100px,50%,0) scale(var(--content_size_pc)); transform-origin:right center; }
}
@media screen and (max-width:1000px) {
  .cb_design_content { padding:100px 50px; }
	.cb_design_content .bg_image { transform: translate3d(-50px,-50%,0) scale(var(--content_size_pc)); }
  .cb_design_content .bg_image.position_right_top { transform: translate3d(50px,-50%,0) scale(var(--content_size_pc)); }
  .cb_design_content .bg_image.position_center_middle { transform: translate3d(-50%,-50%,0) scale(var(--content_size_pc)); }
  .cb_design_content .bg_image.position_right_middle { transform: translate3d(50px,-50%,0) scale(var(--content_size_pc)); }
  .cb_design_content .bg_image.position_left_bottom { transform: translate3d(-50px,50%,0) scale(var(--content_size_pc)); }
  .cb_design_content .bg_image.position_center_bottom { transform: translate3d(-50%,50%,0) scale(var(--content_size_pc)); }
  .cb_design_content .bg_image.position_right_bottom { transform: translate3d(50px,50%,0) scale(var(--content_size_pc)); }
}
@media screen and (max-width:800px) {
  .cb_design_content { padding:40px 20px; scroll-margin-top:60px; }
  .cb_design_content .image_area { display:block; }
	.cb_design_content .image_area .item { max-width:100%; margin:0 auto; }
	.cb_design_content .image_area .item:first-of-type { margin-bottom:20px; }
	.cb_design_content .image_area .image { border-radius:7px; max-width:100%; }
	.cb_design_content .bg_image.pc { display:none; }
	.cb_design_content .bg_image.mobile { display:block; }
	.cb_design_content .bg_image { transform: translate3d(-30%,-50%,0) scale(var(--content_size_sp)); }
  .cb_design_content .bg_image.position_right_top { transform: translate3d(30%,-50%,0) scale(var(--content_size_sp)); }
  .cb_design_content .bg_image.position_center_middle { transform: translate3d(-50%,-50%,0) scale(var(--content_size_sp)); }
  .cb_design_content .bg_image.position_right_middle { transform: translate3d(30%,-50%,0) scale(var(--content_size_sp)); }
  .cb_design_content .bg_image.position_left_bottom { transform: translate3d(-30%,50%,0) scale(var(--content_size_sp)); }
  .cb_design_content .bg_image.position_center_bottom { transform: translate3d(-50%,50%,0) scale(var(--content_size_sp)); }
  .cb_design_content .bg_image.position_right_bottom { transform: translate3d(30%,50%,0) scale(var(--content_size_sp)); }
}


/* 2カラム */
.cb_two_column { padding:100px 0; }
@media screen and (max-width:1160px) {
  .cb_two_column { padding:100px 100px; }
  .cb_two_column .item_list { width:auto; }
	.cb_two_column .bg_image { transform: translate3d(-100px,-50%,0) scale(var(--content_size_pc)); transform-origin:left center; height:auto; }
  .cb_two_column .bg_image.position_right_top { transform: translate3d(100px,-50%,0) scale(var(--content_size_pc)); transform-origin:right center; }
  .cb_two_column .bg_image.position_center_middle { transform: translate3d(-50%,-50%,0) scale(var(--content_size_pc)); transform-origin:center center; }
  .cb_two_column .bg_image.position_right_middle { transform: translate3d(100px,-50%,0) scale(var(--content_size_pc)); transform-origin:right center; }
  .cb_two_column .bg_image.position_left_bottom { transform: translate3d(-100px,50%,0) scale(var(--content_size_pc)); transform-origin:left center; }
  .cb_two_column .bg_image.position_center_bottom { transform: translate3d(-50%,50%,0) scale(var(--content_size_pc)); transform-origin:center center; }
  .cb_two_column .bg_image.position_right_bottom { transform: translate3d(100px,50%,0) scale(var(--content_size_pc)); transform-origin:right center; }
}
@media screen and (max-width:1000px) {
  .cb_two_column { padding:100px 50px; }
	.cb_two_column .bg_image { transform: translate3d(-50px,-50%,0) scale(var(--content_size_pc)); }
  .cb_two_column .bg_image.position_right_top { transform: translate3d(50px,-50%,0) scale(var(--content_size_pc)); }
  .cb_two_column .bg_image.position_center_middle { transform: translate3d(-50%,-50%,0) scale(var(--content_size_pc)); }
  .cb_two_column .bg_image.position_right_middle { transform: translate3d(50px,-50%,0) scale(var(--content_size_pc)); }
  .cb_two_column .bg_image.position_left_bottom { transform: translate3d(-50px,50%,0) scale(var(--content_size_pc)); }
  .cb_two_column .bg_image.position_center_bottom { transform: translate3d(-50%,50%,0) scale(var(--content_size_pc)); }
  .cb_two_column .bg_image.position_right_bottom { transform: translate3d(50px,50%,0) scale(var(--content_size_pc)); }
}
@media screen and (max-width:800px) {
  .cb_two_column { padding:40px 20px; scroll-margin-top:60px; }
	.cb_two_column .item { display:block; margin:0 0 40px 0; }
	.cb_two_column .item .image_wrap { width:100%; margin:0 0 20px 0; }
	.cb_two_column .item .image_wrap img { border-radius:7px; }
  .cb_two_column .item .content { width:auto; padding:0; }
  .cb_two_column .item:nth-child(2n) .content { padding:0; }
  .cb_two_column .item .desc { line-height:2; }
	.cb_two_column .link { margin:25px 0 0; font-size:16px; padding-right:20px; left:50%; transform: translateX(-50%); }
	.cb_two_column .link:after { top:1px; font-size:14px; }
	.cb_two_column .bg_image { transform: translate3d(-30%,-50%,0) scale(var(--content_size_sp)); }
  .cb_two_column .bg_image.position_right_top { transform: translate3d(30%,-50%,0) scale(var(--content_size_sp)); }
  .cb_two_column .bg_image.position_center_middle { transform: translate3d(-50%,-50%,0) scale(var(--content_size_sp)); }
  .cb_two_column .bg_image.position_right_middle { transform: translate3d(30%,-50%,0) scale(var(--content_size_sp)); }
  .cb_two_column .bg_image.position_left_bottom { transform: translate3d(-30%,50%,0) scale(var(--content_size_sp)); }
  .cb_two_column .bg_image.position_center_bottom { transform: translate3d(-50%,50%,0) scale(var(--content_size_sp)); }
  .cb_two_column .bg_image.position_right_bottom { transform: translate3d(30%,50%,0) scale(var(--content_size_sp)); }
}


/* サービス一覧 */
.cb_service_list { padding:100px 0; }
@media screen and (max-width:1160px) {
  .cb_service_list .service_list { width:auto; }
  .cb_service_list { padding:100px 100px; }
  .cb_service_list .service_list .item { width:calc(50% - 15px); }
  .cb_service_list .service_list .item:nth-child(3n) { margin-right:30px; }
  .cb_service_list .service_list .item:nth-child(2n) { margin-right:0px; }
}
@media screen and (max-width:1000px) {
  .cb_service_list { padding:100px 50px; }
}
@media screen and (max-width:800px) {
  .cb_service_list { padding:40px 20px; scroll-margin-top:60px; }
	.cb_service_list .design_header { margin-bottom:30px; }
  .cb_service_list .design_header.direction_type1:not(:has(.desc)) { margin-bottom:30px; }
	.cb_service_list .service_list { margin-bottom:-20px; }
  .cb_service_list .service_list .item { width:calc(50% - 10px); margin:0 20px 20px 0; padding-bottom:22px; border-radius:7px; }
  .cb_service_list .service_list .item:nth-child(3n) { margin-right:20px; }
  .cb_service_list .service_list .item:nth-child(2n) { margin-right:0px; }
	.cb_service_list .service_list .image_wrap { border-radius:7px 7px 0 0; }
	.cb_service_list .service_list .title { padding:0 30px; font-size:20px; }
	.cb_service_list .service_list .desc { max-height:4em; padding:0 30px; }
  .cb_service_list .service_list .desc span { -webkit-line-clamp:2; }
}
@media screen and (max-width:600px) {
	.cb_service_list .service_list { display:block; margin-bottom:0; }
  .cb_service_list .service_list .item { width:auto; margin:0 0 20px 0; }
  .cb_service_list .service_list .item:nth-child(3n) { margin-right:0; }
  .cb_service_list .service_list .item:last-of-type { margin-bottom:0; }
}


/* お知らせ */
.cb_news_list { padding:100px 0; }
@media screen and (max-width:1160px) {
  .cb_news_list .news_list { width:auto; }
  .cb_news_list { padding:100px 100px; }
}
@media screen and (max-width:1000px) {
  .cb_news_list { padding:100px 50px; }
}
@media screen and (max-width:800px) {
  .cb_news_list { padding:40px 20px; scroll-margin-top:60px; }
	.cb_news_list .design_header { margin-bottom:40px; }
  .cb_news_list .design_header.direction_type1:not(:has(.desc)) { margin-bottom:32px; }
}


/* ブログ一覧 */
.cb_blog_list { padding:100px 0; }
@media screen and (max-width:1160px) {
  .cb_blog_list { padding:100px 100px; }
	.index_post_carousel_wrap { width:auto; }
  .index_post_carousel { overflow:visible; }
	.index_post_carousel_wrap .blog_list { width:auto; margin:0; }
  .index_post_carousel_wrap .blog_list .item { width:250px !important; }
	.cb_blog_list .swiper-nav-button { display:none; }
}
@media screen and (max-width:1000px) {
  .cb_blog_list { padding:100px 50px; }
}
@media screen and (max-width:800px) {
  .cb_blog_list { padding:40px 20px; scroll-margin-top:60px; }
	.cb_blog_list .design_header { margin-bottom:40px; }
  .cb_blog_list .design_header.direction_type1:not(:has(.desc)) { margin-bottom:32px; }
  .index_post_carousel_wrap .blog_list .item { width:200px !important; }
}


/* フリースペース */
.cb_free_space { padding:100px 0; }
@media screen and (max-width:1160px) {
	.cb_free_space { width:auto; padding:100px 100px; }
}
@media screen and (max-width:1000px) {
	.cb_free_space { padding:100px 50px; }
}
@media screen and (max-width:800px) {
  .cb_free_space { padding:40px 20px; scroll-margin-top:60px; }
	.cb_free_space .design_header { margin-bottom:40px; }
  .cb_free_space .design_header.direction_type1:not(:has(.desc)) { margin-bottom:32px; }
}


/* 固定ページを表示する場合 */
#front_page_contents.layout_type1 { margin:0 100px; }
@media screen and (max-width:1100px) {
	#front_page_contents { padding:100px 0; }
  #front_page_contents.layout_type1 { margin:0 50px; }
}
@media screen and (max-width:800px) {
	#front_page_contents { padding:40px 0; }
  #front_page_contents.layout_type1 { margin:0 20px; }
}




/* ----------------------------------------------------------------------
 固定ページ
---------------------------------------------------------------------- */
#page_contents { padding:100px 0; }
@media screen and (max-width:1160px) {
  #page_contents { padding:100px 100px; }
  body.page #page_contents .post_content { width:auto; margin:0; }
}
@media screen and (max-width:1000px) {
  #page_contents { padding:100px 50px; }
	#lp_style1_content #page_contents { padding-right:50px; padding-left:50px; }
  .short { padding:0 50px; }
}
@media screen and (max-width:800px) {
  #page_contents { padding:40px 20px; }
	#lp_style1_content #page_contents { padding-right:20px; padding-left:20px; }
  .short { padding:0; }
}


/* デザイン見出し1 */
@media screen and (max-width:1160px) {
  .post_content .design_headline1 { font-size:24px !important; }
}
@media screen and (max-width:800px) {
  .post_content .design_headline1 { font-size:20px !important; margin:25px 0 25px 0; margin-bottom:25px !important; }
	.post_content p:not(:has(img)) + .design_headline1 { margin-top:-5px; }
	.post_content p:has(img) + .design_headline1 { margin-top:35px; }
  body.single-service .post_content p:has(img) + .design_headline1 { margin-top:35px; }
  .post_content .design_headline1 + p:has(img) { margin-top:35px; }
  .post_content .post_row + .design_headline1 { margin-top:30px; }
}


/* 背景アクセント付き画像 */
.image_with_bg { margin-top:95px; margin-bottom:90px; }
@media screen and (max-width:1160px) {
  .image_with_bg .bg_image { transform: translate3d(-100px,-50%,0) scale(var(--content_size_pc)); transform-origin:left center; height:auto; }
  .image_with_bg .bg_image.position_right_top { transform: translate3d(100px,-50%,0) scale(var(--content_size_pc)); transform-origin:right center; }
  .image_with_bg .bg_image.position_center_middle { transform: translate3d(-50%,-50%,0) scale(var(--content_size_pc)); transform-origin:center center; }
  .image_with_bg .bg_image.position_right_middle { transform: translate3d(100px,-50%,0) scale(var(--content_size_pc)); transform-origin:right center; }
  .image_with_bg .bg_image.position_left_bottom { transform: translate3d(-100px,50%,0) scale(var(--content_size_pc)); transform-origin:left center; }
  .image_with_bg .bg_image.position_center_bottom { transform: translate3d(-50%,50%,0) scale(var(--content_size_pc)); transform-origin:center center; }
  .image_with_bg .bg_image.position_right_bottom { transform: translate3d(100px,50%,0) scale(var(--content_size_pc)); transform-origin:right center; }
}
@media screen and (max-width:1000px) {
  .image_with_bg .bg_image { transform: translate3d(-50px,-50%,0) scale(var(--content_size_pc)); }
  .image_with_bg .bg_image.position_right_top { transform: translate3d(50px,-50%,0) scale(var(--content_size_pc)); }
  .image_with_bg .bg_image.position_center_middle { transform: translate3d(-50%,-50%,0) scale(var(--content_size_pc)); }
  .image_with_bg .bg_image.position_right_middle { transform: translate3d(50px,-50%,0) scale(var(--content_size_pc)); }
  .image_with_bg .bg_image.position_left_bottom { transform: translate3d(-50px,50%,0) scale(var(--content_size_pc)); }
  .image_with_bg .bg_image.position_center_bottom { transform: translate3d(-50%,50%,0) scale(var(--content_size_pc)); }
  .image_with_bg .bg_image.position_right_bottom { transform: translate3d(50px,50%,0) scale(var(--content_size_pc)); }
}
@media screen and (max-width:800px) {
  .image_with_bg { position:relative; margin-top:30px; margin-bottom:35px; }
  .image_with_bg .bg_image { transform: translate3d(-30%,-50%,0) scale(var(--content_size_sp)); }
  .image_with_bg .bg_image.position_right_top { transform: translate3d(30%,-50%,0) scale(var(--content_size_sp)); }
  .image_with_bg .bg_image.position_center_middle { transform: translate3d(-50%,-50%,0) scale(var(--content_size_sp)); }
  .image_with_bg .bg_image.position_right_middle { transform: translate3d(30%,-50%,0) scale(var(--content_size_sp)); }
  .image_with_bg .bg_image.position_left_bottom { transform: translate3d(-30%,50%,0) scale(var(--content_size_sp)); }
  .image_with_bg .bg_image.position_center_bottom { transform: translate3d(-50%,50%,0) scale(var(--content_size_sp)); }
  .image_with_bg .bg_image.position_right_bottom { transform: translate3d(30%,50%,0) scale(var(--content_size_sp)); }
}


/* ボタン */
@media screen and (max-width:800px) {
  /*.q_button_wrap { margin-top:30px; }*/
  /*p + .q_button_wrap { margin-top:32px; }*/
  table + .q_button_wrap { margin-top:40px; }
}


/* LPページ */
#lp_page_header { height:480px; min-height:480px; }
@media screen and (max-width:1160px) {
  #lp_page_header { height:380px; min-height:380px; }
	#lp_page_header .content { padding:0 100px; }
	#lp_page_header .catch { font-size: calc(((var(--lp_page_header_catch) + var(--lp_page_header_catch_sp)) / 2) * 1px); }
	#lp_page_header .desc { font-size: calc(((var(--lp_page_header_sub_catch) + var(--lp_page_header_sub_catch_sp)) / 2) * 1px); }
	#lp_page_header .desc + .catch { margin-top:20px; }
  #lp_page_header .catch + .desc { margin-top:20px; }
  #lp_page_header * > .link_button { margin-top:30px; }
  #lp_page_header .content.direction_type2 .catch + .desc { margin-right:10px; }
	#lp_page_header .content span.empty { width:1em; height:1em; }
}
@media screen and (max-width:1000px) {
	#lp_page_header .content { padding:0 50px; }
	#lp_style1_content #lp_page_header .content { padding:0 50px; }
	#lp_page_header.layout_type1 .content.direction_type2, #lp_page_header.layout_type4 .content.direction_type2 { justify-content:center; }
  #lp_page_header.layout_type5 .content.direction_type3, #lp_page_header.layout_type6 .content.direction_type2 { justify-content:center; }
}
@media screen and (max-width:800px) {
  #lp_page_header { height:280px; min-height:280px; }
  #lp_page_header .image.pc { display:none; }
	#lp_page_header .image.mobile { display:block; }
	#lp_page_header .content { padding:0 20px; }
  #lp_page_header .catch { font-size: calc(var(--lp_page_header_catch_sp) * 1px); line-height: clamp(1.2, calc(60 / var(--lp_page_header_catch_sp)), 1.8); }
  #lp_page_header .desc { font-size: calc(var(--lp_page_header_sub_catch_sp) * 1px); line-height: clamp(1.2, calc(60 / var(--lp_page_header_sub_catch_sp)), 1.8); }
	#lp_style1_content #lp_page_header .content { padding:0 20px; }
}


/* FAQページ */
@media screen and (max-width:1160px) {
  .faq_category_sort_button { width:auto; margin:0 0 70px !important; }
  #faq_content_list { width:auto; margin:0; }
  #faq_content_list .faq_content { border-radius:7px; padding:30px; margin-bottom:50px; scroll-margin-top:20px; }
  #faq_content_list .faq_content .headline { font-size:20px; margin-bottom:25px; }
}
@media screen and (max-width:800px) {
  .faq_category_sort_button { margin:0 0 40px !important; }
  #faq_content_list .faq_content { border-radius:0px; border:none; border-top:1px solid #ddd; padding:40px 20px; margin:0 -20px; scroll-margin-top:-31px; }
	#faq_content_list .faq_content:last-of-type { padding-bottom:0; }
}


/* 採用情報 */
@media screen and (max-width:1000px) {
	.recruit_page_list { display:block; font-size:14px; }
	.recruit_page_list li { width:auto; }
}
@media screen and (max-width:800px) {
  .recruit_page_table th { width:90px; }
}


/* アクセス */
@media screen and (max-width:800px) {
  .post_content .design_headline1 + .gray_bg { margin-top:25px; }
	.post_content .post_row h3 { font-size:16px; margin:0 0 2px 0; }
	.post_content .gray_bg { padding:20px; }
	.post_content .gray_bg .post_row { padding:20px; margin:0 0 20px; }
	.post_content .gray_bg .post_row .post_col-2:first-of-type { padding-right:0px; }
  .post_content .gray_bg .post_row .post_col-2:last-of-type { padding-left:0px; }
}


/* スタッフ一覧 */
#staff_list { margin:0 auto 100px; }
@media screen and (max-width:1160px) {
  #staff_list { width:auto; }
	#staff_list .layout_type1 .content .position { margin-bottom:15px; }
  #staff_list .layout_type1 .content .sns_button_list { margin-top:15px; }
  #staff_list .link { position:relative; right:auto; bottom:auto; }
  #staff_list .layout_type1 .link { margin-top:15px; }
	#staff_list .layout_type2 .name_area { display:block; margin-bottom:30px; }
	#staff_list .layout_type2 .content .sns_button_list { margin:15px 0 0 0; }
	#staff_list .layout_type2 .content .position { margin-bottom:15px; }
	#staff_list .layout_type2 .link { position:relative; right:auto; margin-top:15px; }
}
@media screen and (max-width:800px) {
	body.page-template-page-tcd-staff #page_contents { padding-bottom:30px; }
  #staff_list { margin:0; }
	#page_header:not(:has(.image)):not(:has(.desc)) + #page_contents #staff_list { margin-top:-10px; }
	.design_header + #staff_list { margin-top:33px; }
  body:has(#staff_list) .design_header { margin-bottom:33px; }
	#staff_list .item { display:block; margin:0 0 40px; padding:0 0 20px; }
	#staff_list .layout_type1 .image { width:auto; margin:0 0 30px 0; }
  #staff_list .layout_type1 .image img { border-radius:10px; margin:0 auto; }
	#staff_list .layout_type1 .content { width:auto; }
  #staff_list .layout_type1 .content .desc { line-height:2; margin-bottom:30px; }
	#staff_list .layout_type1 .name_area { text-align:center; }
	#staff_list .layout_type1 .content .position { font-size:14px; }
	#staff_list .layout_type1 .content .name { font-size:18px; }
  #staff_list .layout_type1 .content .sns_button_list { justify-content:center; }
	#staff_list .link { font-size:16px; padding-right:20px; }
  #staff_list .link:after { top:3px; font-size:14px; }
	#staff_list .layout_type1 .post_content { border-radius:10px; padding:30px; margin-top:30px !important; }
	#staff_list .layout_type1 .doctor_career { font-size:14px; }
  #staff_list .layout_type1 .doctor_career dt { width:85px; }
  #staff_list .layout_type1 .doctor_career dd { width:calc(100% - 90px); }
  #staff_list .layout_type1 .post_content .design_headline1 { font-size:20px !important; margin:0 0 25px !important; }
  #staff_list .layout_type2 .image { width:auto; margin:0 0 30px 0; }
	#staff_list .layout_type2 .image img { max-width:100%; width:auto; height:auto; border-radius:7px; margin:0 auto; }
  #staff_list .layout_type2 .content { width:auto; padding:0; }
	#staff_list .layout_type2 .name_area { text-align:center; margin-bottom:20px; }
	#staff_list .layout_type2 .content .position { text-align:center; font-size:14px; }
	#staff_list .layout_type2 .content .name { font-size:18px; }
  #staff_list .layout_type2 .content .sns_button_list { justify-content:center; }
	#staff_list .layout_type2 .content .desc { line-height:2; }
}
@media screen and (max-width:500px) {
  #staff_list .layout_type2 .image { width:220px; margin:0 auto 30px; }
}



/* ----------------------------------------------------------------------
 ページヘッダー
---------------------------------------------------------------------- */
body.page #page_header.layout_type1 { padding-top:100px; }
@media screen and (max-width:1300px) {
	#page_headline { height:70px; font-size:calc( (var(--headline_font_size) + var(--headline_font_size_sp)) / 2); }
  #page_header_catch { font-size:24px; }
  body.page #page_header.layout_type1 { padding-top:0; }
}
@media screen and (max-width:1391px) {
  body.page #page_header.layout_type1 { padding-top:0; }
}
@media screen and (max-width:1160px) {
	body.page #page_header { min-height:inherit; height:350px; }
	#page_header:not(:has(.image)) { height:auto !important; }
	#page_header.layout_type2 .content { padding:40px 0; }
	#page_header.layout_type2:not(:has(.image)) .content { padding:100px 0 0; }
	#page_header .catch { font-size:calc( (var(--headline_font_size) + var(--headline_font_size_sp)) / 2); }
	#page_header .desc { font-size:16px; line-height:2; }
	#page_header.layout_type2 .desc { line-height:2.2; }
	#page_header .catch + .desc { margin:15px 0 -5px 0; }
	#page_header.layout_type2 .catch + .desc { margin:0 15px 0 0; }
}
@media screen and (max-width:1000px) {
	#page_header { height:250px; aspect-ratio:unset; }
}
@media screen and (max-width:800px) {
	body.page #page_header.layout_type1:not(:has(img)) { padding-top:40px; }
	#page_headline { height:60px; font-size:var(--headline_font_size_sp); }
	body.mobile_device #page_headline { font-weight:500 !important; }
	#page_header { height:220px; }
	body.page #page_header { height:250px; }
  #page_header .content { padding:0 30px; }
	#page_header.layout_type2:not(:has(.image)) .content { padding:40px 0 0; }
	#page_header.layout_type2 .content { padding:30px 0; }
  #page_header_catch { font-size:20px; margin-bottom:30px; }
	#container:not(:has(#page_header_desc)) #page_header_catch { margin-bottom:40px; }
	#page_header .catch { font-size:var(--headline_font_size_sp); }
  #page_header .desc { line-height:2; font-size:16px; }
	#page_header.layout_type2 .desc { line-height:2.2; }
  #page_header .desc.pc { display:none; }
	#page_header .desc.mobile { display:block; }
	#page_header_desc { margin:-8px 0 30px; }
	#page_header_desc .desc { font-size:16px; }
  #page_header_desc .desc.pc { display:none; }
  #page_header_desc .desc.mobile { display:block; }
}




/* ----------------------------------------------------------------------
 サービスアーカイブ
---------------------------------------------------------------------- */
#archive_service { padding:100px 0; }
#service_content_list .service_content { scroll-margin-top:40px; }
@media screen and (max-width:1160px) {
  #archive_service { width:auto; margin:0 100px; }
  #service_content_list .service_content { padding:30px; margin:0 0 50px 0; scroll-margin-top:20px; }
	#service_content_list .service_content .title { font-size:24px; margin:-5px 0 30px; }
	#service_content_list .service_content .image_wrap { border-radius:7px; }
	#service_content_list .service_content .desc_area { padding:0 0 0 30px; }
	#service_content_list .service_content .link { margin-top:30px; font-size:16px; padding-right:20px; }
	#service_content_list .service_content .link:after { top:1px; font-size:14px; }
	#service_content_list .service_content .check_list_headline { margin-top:30px; font-size:16px; padding:20px 40px; }
	#service_content_list .service_content .check_list_headline:after { font-size:14px; width:14px; top:23px; right:20px; }
	#service_content_list .service_content .check_list { padding:30px; }
	#service_content_list .service_content .check_list ul { display:block; }
  #service_content_list .service_content .check_list li { width:auto; }
}
@media screen and (max-width:1000px) {
  #archive_service { margin:0 50px; }
  #service_content_list .service_content .check_list li { font-size:14px; }
}
@media screen and (max-width:800px) {
  #archive_service { margin:0 20px; padding:40px 0 0; }
	#service_content_list { margin:0 -20px; }
  #service_content_list .service_content { padding:30px 20px; margin:0; scroll-margin-top:-31px; border:none; border-radius:0; border-top:1px solid #ddd; }
	#service_content_list .service_content .title { font-size:20px; margin:-5px 0 25px; }
	#service_content_list .service_content .content { display:block; }
  #service_content_list .service_content .image_area { width:auto; max-width:400px; margin:0 auto 23px; }
	#service_content_list .service_content .desc_area { width:auto; padding:0; }
	#service_content_list .service_content .desc { line-height:2; max-height:4em; }
  #service_content_list .service_content .desc span { -webkit-line-clamp:2; }
	#service_content_list .service_content .link { left:50%; transform: translateX(-50%); margin:20px 0 0; }
	#service_content_list .service_content .check_list_headline { padding:17px 20px; }
	#service_content_list .service_content .check_list { padding:25px 20px; }
}




/* ----------------------------------------------------------------------
 サービス詳細
---------------------------------------------------------------------- */
#single_service { padding:100px 0; }
@media screen and (max-width:1160px) {
  #single_service { width:auto; margin:0 100px; }
	#service_header { padding:80px 50px 50px; }
	#service_header .check_list { border-radius:7px; padding:50px; }
  #service_header .check_list ul { display:block; }
  #service_header .check_list li { width:auto; }
}
@media screen and (max-width:1000px) {
  #single_service { margin:0 50px; }
}
@media screen and (max-width:800px) {
  #single_service { margin:0 20px; padding:0 0 40px; }
	#service_header { padding:0; border-radius:0; border:none; margin-bottom:40px; }
	#service_header > .headline { font-size:18px; display:block; width:auto; position:relative; left:auto; top:auto; transform:none; text-align:center; padding:18px 0 13px; }
  #service_header > .headline span { line-height:1.6; padding:0; border:none; border-radius:0; display:block; }
	#service_header .image { margin:0 -20px; }
	#service_header .image img { border-radius:0px; margin:0 0 40px 0; }
	#service_header .post_content { margin:0 0 25px 0; }
	#service_header .check_list { padding:25px 30px; font-size:14px; }
	#single_service #category_sort_button { margin:32px 0 0 0; }
}




/* ----------------------------------------------------------------------
 お知らせアーカイブ
---------------------------------------------------------------------- */
/* 記事一覧 */
@media screen and (max-width:1300px) {
  #archive_news { padding:100px 0; }
}
@media screen and (max-width:1160px) {
  #archive_news { width:auto; margin:0 100px; }
	#news_category_sort_button_wrap .swiper-nav-button { display:none; }
}
@media screen and (max-width:1000px) {
  #archive_news { margin:0 50px; }
}
@media screen and (max-width:800px) {
  #archive_news { margin:0 20px; padding:40px 0; }
	#container:has(#bread_crumb) #archive_news { padding-top:40px; }
	#news_category_sort_button_wrap { margin:-10px -20px 25px; }
	#news_category_sort_button_slider { padding:0 5px; }
	#news_category_sort_button .item { height:40px; line-height:40px; font-size:14px; }
	#news_category_sort_button a { padding:0 15px; }
	.news_list { padding:10px 30px; }
	.news_list .item { display:block; height:auto; overflow:visible; white-space:normal; padding:20px 0 15px; }
	.news_list .date { margin:0 0 15px 0; display:block; }
	.news_list .title { line-height:1.5; white-space:normal; max-height:3em; overflow:hidden; visibility:visible; }
	.news_list .title span { display:-webkit-inline-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
}




/* ----------------------------------------------------------------------
 お知らせ詳細ページ
---------------------------------------------------------------------- */
@media screen and (max-width:1100px) {
  #single_news_header .title { font-size:calc( (var(--single_title_font_size) + var(--single_title_font_size_sp)) / 2);  }
}
@media screen and (max-width:800px) {
	body.single-news #article { padding:30px 0 0; }
	#single_news_header { margin-bottom:40px; }
	#single_news_header .meta { margin:0 0 15px 0; }
  #single_news_header .title { font-size:var(--single_title_font_size_sp); margin:0 0 25px 0; }
	#single_news_header .image { margin:20px -20px 0; width:calc(100% + 40px); border-radius:0; }
	
	#related_news { margin-top:40px; }
  #related_news .headline { font-size:20px; margin-bottom:40px; }
  #related_news .news_list { padding:13px 30px; }
}




/* ----------------------------------------------------------------------
 ブログアーカイブページ
---------------------------------------------------------------------- */
@media screen and (max-width:1300px) {
  #archive_blog { padding:100px 0; }
}
@media screen and (max-width:1160px) {
  #archive_blog { width:auto; margin:0 100px; }
	#category_sort_button ol { display:flex; }
	#category_sort_button ol li { width:50%; }
  #category_sort_button .headline { height:60px; line-height:60px; font-size:18px; }
}
@media screen and (max-width:1000px) {
  #archive_blog { margin:0 50px; }
}
@media screen and (max-width:800px) {
  #archive_blog { margin:0 20px; padding:40px 0; }
	#container:has(#bread_crumb) #archive_blog { padding-top:40px; }
	#category_sort_button { margin:0 0 40px 0; }
	#category_sort_button ol li { font-size:14px; }
	#category_sort_button ol li a { justify-content:center; text-align:center; padding:18px 20px; }
	#category_sort_button ol li a:after { display:none; }
  #archive_blog  .blog_list { margin:0 auto -30px; }
	.blog_list .item:not(.swiper-slide) { width:calc(50% - 10px); margin:0 20px 30px 0; }
  .blog_list .item:nth-child(3n):not(.swiper-slide) { margin-right:20px; }
  .blog_list .item:nth-child(2n):not(.swiper-slide) { margin-right:0px; }
	.blog_list .image_wrap { margin-bottom:20px; border-radius:7px; }
	.blog_list .title { font-size:16px; max-height:5.4em; }
  .blog_list .title span { -webkit-line-clamp:3; }
	.blog_list .category_list {	height:35px; min-width:100px; font-size:12px; padding:0 20px; border-radius:35px; margin-bottom:15px; }
	.blog_list .category_list a { height:35px; line-height:35px; }
	.blog_list .date_list { margin:13px 0 -10px; }
	.page_navi { margin-top:40px; }
	.page_navi a, .page_navi .current, .page_navi .dots { font-size:12px; width:40px; height:40px; line-height:40px; }
  .page_navi .dots:before { font-size:25px; right:7px; top:2px; }
	.page_navi .next:before, .page_navi .prev:before { font-size:11px; top:1px; }
}



/* 投稿者アーカイブ */
@media screen and (max-width:800px) {
  #author_archive_header { border-radius:7px; padding:30px; margin-bottom:40px; }
	#author_archive_header .name_area img { margin-bottom:25px; }
	#author_archive_header .name { font-size:18px; }
  #author_archive_header .sns_button_list { margin-top:10px; justify-content:center; }
	#author_archive_header .desc { margin:20px 0 -10px; }
  #author_archive_header .desc p { line-height:2; }
}




/* ----------------------------------------------------------------------
 ページ上部　ヘッダー
---------------------------------------------------------------------- */
@media screen and (max-width:1300px) {
  #header { height:60px; width:100%; display:block; text-align:center; }
	body.home #header { order:1; box-shadow:none; }
	body.home #header:after { display:block; content:''; width:100%; height:1px; background:#ddd; position:absolute; left:0; bottom:0; }
	body.home.start_scroll #header { box-shadow:0 0 10px 1px rgba(0,0,0,0.2); border:none; }
	body.home.start_scroll #header:after { display:none; }
	#global_menu { display:none; }
	#header_search { display:none; }
	#header_tel { display:none; }
	#header.mobile_logo_position_left { text-align:left; padding-left:20px; }
}


/* ロゴ */
@media screen and (max-width:1300px) {
	#header_logo { position:relative; top:auto; left:auto; width:auto; border:none; height:100%; padding:0; margin:0 auto; }
	#header.mobile_logo_position_left #header_logo a { text-align:left; }
	#header_logo img { max-height:calc(100% - 30px); }
}


/* サイドボタン */
@media screen and (max-width:1300px) {
  #side_icon_button { display:none; }
}


/* メッセージ */
@media screen and (max-width:1300px) {
  #header_message { width:100%; margin:0; }
}
@media screen and (max-width:1200px) {
  #header_message { padding:10px 0; }
  #header_message .post_content { width:auto !important; margin:0 20px !important; }
  #header_message.show_close_button .post_content { margin:0 40px !important; }
}
	@media screen and (max-width:750px) {
  #header_message .post_content { line-height:1.8; }
  #header_message.show_close_button .post_content { margin:0 35px !important; }
}


/* パンくずリンク */
@media screen and (max-width:1160px) {
	#bread_crumb { padding:0 100px; }
  #bread_crumb ul { width:auto !important; height:50px; line-height:50px; }
}
@media screen and (max-width:1000px) {
	#bread_crumb { padding:0 50px; }
}
@media screen and (max-width:800px) {
  #bread_crumb { height:50px; padding:0 20px; overflow:auto; overflow-y:hidden; scrollbar-width: thin; border-bottom:1px solid #ddd; }
	#bread_crumb ul { overflow:visible; height:50px; line-height:52px; margin:0; }
	#bread_crumb li { font-size:12px; }
	#bread_crumb li.category { flex:0 0 auto; overflow:visible; text-overflow:clip; white-space:normal; }
	#bread_crumb li:last-of-type { flex: 0 0 auto; padding-right:20px; overflow:visible; text-overflow:clip; white-space:normal; }
}




/* ----------------------------------------------------------------------
 モバイル用ドロワーメニュー
---------------------------------------------------------------------- */
/* ドロワーメニュー開閉ボタン */
@media screen and (max-width:1300px) {
  #drawer_menu_button { width:60px; height:60px; display:block; position:absolute; right:0; top:0; cursor:pointer; }
  #drawer_menu_button span { width:22px; height:2px; background:#000; display:block; position:absolute; left:50%; transform: translateX(-50%); transition: all 0.4s ease; }
  #drawer_menu_button span:nth-child(1) { top:23px; }
  #drawer_menu_button span:nth-child(2) { top:29px; }
  #drawer_menu_button span:nth-child(3) { top:35px; }
}


/* ドロワーメニュー */
@media screen and (max-width:1300px) {
  #drawer_menu { display:block; }
  .open_drawer_menu #drawer_menu { transform: translate3d(0,0,0); pointer-events:auto; }
  .open_drawer_menu #drawer_menu_overlay { opacity:1; pointer-events:auto; }
}
@media only screen and (max-width: 600px) {
	#drawer_menu { width:100%; }
	.open_menu #container { transform: translate3d(-100%,0,0); }
}


/* 閉じるボタン */
#drawer_menu .header { position:relative; width:100%; height:60px; }
#drawer_mneu_close_button { cursor:pointer; display:block; width:50px; height:60px; position:absolute; top:5px; right:0px; z-index:10; }
#drawer_mneu_close_button:before { color:#fff; font-family:'normal_icon'; content:'\e91a'; font-size:20px; display:block; top:17px; left:12px; position:absolute; }


/* グローバルメニュー */
#mobile_menu { width:auto; margin:0; border-bottom:1px solid rgba(255,255,255,0.2); }
#mobile_menu ul { margin:0; }
#mobile_menu li ul { display:none; }
#mobile_menu a {
  border-top:1px solid rgba(255,255,255,0.2); position:relative; display:block;  margin:0; padding:0 50px 0 20px; height:50px; line-height:50px; overflow:hidden; text-decoration:none;
  background:var(--main_color); color:#fff !important; font-size:14px; transition:none;
  overflow:hidden; white-space:nowrap; text-overflow:ellipsis; visibility:visible;
}
#mobile_menu li li a { font-size:14px; height:50px; line-height:50px; }


/* グローバルメニュー（子メニュー） */
#mobile_menu li { position:relative; }
#mobile_menu .child_menu_button { display:block; position:absolute; text-align:center; width:50px; height:50px; right:0px; top:0px; z-index:9; cursor:pointer; }
#mobile_menu li .child_menu_button:after { content:"\e90e"; font-family:normal_icon; display:block; position:absolute; right:20px; top:21px; font-size:14px; color:#fff; }
#mobile_menu li.open > .child_menu_button:after { transform:rotate(180deg); top:19px;}
#mobile_menu li li a { background:rgba(255,255,255,0.2); position:relative; border:none; }
#mobile_menu li li.menu-item-has-children > a:after { display:none; }
#mobile_menu li li.open > a { }
#mobile_menu li ul { }


/* SNS */
#mobile_sns { margin:30px 40px -10px; justify-content:center; }
#drawer_menu #mobile_sns.color_type1 li a:before { color:#fff; }


/* 検索フォーム */
#drawer_menu_search { margin:30px 20px 0; position:relative; width:auto; }
#drawer_menu_search .input_area { background:#fff; width:100%; height:50px; border-radius:5px; position:relative; }
#drawer_menu_search .input_area input { font-size:14px; border:none; background:none; height:50px; width:calc(100% - 50px); position:absolute; left:0px; top:2px; padding:0 10px 0 25px; color:#000; }
#drawer_menu_search .button_area { width:50px; height:50px; position:absolute; right:0px; top:0px; }
#drawer_menu_search .button_area input { width:50px; height:50px; border:none; background:none; cursor:pointer; }
#drawer_menu_search .button_area:before {
  display:block; text-align:center; cursor:pointer; z-index:1; pointer-events:none;
  position:absolute; font-family:'normal_icon'; color:#000; font-size:16px; content:'\e94c'; left:14px; top:18px;
  -webkit-transition: color 0.25s ease; transition: color 0.25s ease;
}

/* 電話番号 */
#drawer_tel { position:relative; margin:30px 20px 0; }
#drawer_tel .tel { position:relative; font-size:20px; color:#fff; border:1px solid rgba(255,255,255,0.2); display:block; text-align:center; height:50px; line-height:48px; }
#drawer_tel .tel:before { content:'\e919'; font-family:normal_icon; font-size:22px; position:relative; top:1px; left:0; margin:0 5px 0 -5px; }
#drawer_tel .desc { font-size:14px; margin:25px 0 -5px 0; line-height:1.8em; text-align:center; color:#fff; }
#drawer_tel .desc a { color:#fff; text-decoration:underline; }




/* ----------------------------------------------------------------------
 ブログ詳細ページ
---------------------------------------------------------------------- */
/* タイトルエリア */
@media screen and (max-width:1100px) {
  #single_post_header .title { font-size:calc( (var(--single_title_font_size) + var(--single_title_font_size_sp)) / 2);  }
}
@media screen and (max-width:800px) {
	body.single-post #article { padding:30px 0 0; }
	#single_post_header { margin-bottom:40px; }
	#single_post_header + .post_content { margin-top:-5px; }
	#single_post_header .meta { height:auto; margin:0 0 15px 0; }
	#single_post_header .meta:has(.update) { display:block; }
	#single_post_header .category_list { height:35px; min-width:100px; font-size:12px; padding:0 20px; border-radius:35px; margin-right:15px; }
	#single_post_header .meta:has(.update) .category_list { margin:0 0 15px; }
  #single_post_header .category_list a { height:35px; line-height:35px; }
  #single_post_header .title { font-size:var(--single_title_font_size_sp); margin:0 0 25px 0; }
	#single_post_header:has(.category) .title { padding-top:13px; }
	#single_post_header .image { margin:20px -20px 0; width:calc(100% + 40px); border-radius:0; }
}


/* SNSボタン */
@media screen and (max-width:800px) {
  #single_share_top { margin:40px 0 40px 0; }
  #single_share_bottom { margin:40px 0 0; }
}


/* コピーボタン */
@media screen and (max-width:800px) {
  #single_copy_title_url_top { margin:0 0 35px; }
  #single_copy_title_url_btm { margin:40px 0 0; }
  .single_copy_title_url_btn { border-width:2px; line-height:46px; min-width:250px; }
}


/* ページ分割 */
@media screen and (max-width:800px) {
	#post_pagination { margin-top:35px; margin-bottom:35px; }
	#post_pagination a, #post_pagination p { font-size:12px; width:40px; height:40px; line-height:40px; }
}


/* 広告 */
@media screen and (max-width:800px) {
  #single_banner_top { width:auto; padding:0; margin:0 0 40px 0; }
  #single_banner_bottom { width:auto; margin:40px 0 -5px; }
  #single_banner_shortcode { padding:0 0 20px; }
	#single_free_space { margin-top:40px !important; }
	.single_banner { line-height:2; }
}


/* ナビゲーション */
@media screen and (max-width:800px) {
	#next_prev_post { }
	#next_prev_post .item { height:60px; border:1px solid #ddd; width:50%; }
	#next_prev_post .item:first-of-type { border-right:none; }
	#next_prev_post .item:only-of-type { border-right:1px solid #ddd; }
  #next_prev_post .nav { display:block; }
  #next_prev_post .title { display:none; }
  #next_prev_post .image_wrap { display:none; }
	#next_prev_post .content { width:100%; }
  #next_prev_post .nav { position:relative; text-align:center; width:100%; font-weight:500; font-size:14px; line-height:1; margin-top:1px; }
	#next_prev_post .prev_post:before { font-family:normal_icon; content:'\e90f'; position:absolute; top:25px; left:15px; font-size:14px; }
  #next_prev_post .next_post:before { font-family:normal_icon; content:'\e910'; position:absolute; top:25px; right:15px; font-size:14px; }
}
@media screen and (max-width:800px) {
	#next_prev_post { margin-top:40px; }
}


/* メタ情報 */
@media screen and (max-width:800px) {
  #post_tag_list { margin:40px 0 -5px; }
  #post_tag_list a { font-size:12px; }
}


/* プロフィール */
@media screen and (max-width:800px) {
  .author_profile { margin:40px 0 0; padding:15px 20px; }
	.author_profile .avatar_area { width:90px; height:90px; }
  .author_profile .image_wrap { width:90px; height:90px; }
  .author_profile .info { width:calc(100% - 90px); }
	.author_profile .info_inner { padding:0 0 0 20px; }
	.author_profile .name { font-size:16px; margin:5px 0 10px 0; }
	.author_profile .desc { font-size:14px; max-height:3.4em; line-height:1.7; }
  .author_profile .desc span { -webkit-line-clamp:2; }
}


/* ナビゲーション */
@media screen and (max-width:800px) {
  #next_prev_post2 { margin:40px 0 0; }
  #next_prev_post2 .item { height:60px; }
  #next_prev_post2 .prev_post:before { left:20px; font-size:14px; }
  #next_prev_post2 .next_post:before { right:20px; font-size:14px; }
  #next_prev_post2 .title { display:none; }
  #next_prev_post2 .nav { display:block; text-align:center; width:100%; font-size:14px; }
}

/* 関連記事 */
@media screen and (max-width:1160px) {
  #related_post_carousel_wrap { margin:0; }
	#related_post_carousel { overflow:visible; }
	#related_post_carousel .blog_list .item { width:200px !important; }
	#related_post_carousel .blog_list .image_wrap { margin-bottom:15px; }
	#single_related_post .swiper-nav-button { display:none; }
}
@media screen and (max-width:800px) {
	#single_related_post { margin-top:40px; }
  #single_related_post .headline { font-size:20px; margin:0 0 40px 0; }
	#single_related_post .blog_list .title { font-size:14px; max-height:3.6em; }
  #single_related_post .blog_list .title span { -webkit-line-clamp:2; }
}
@media screen and (max-width:600px) {
	#related_post_carousel .blog_list .item { width:135px !important; }
}




/* ----------------------------------------------------------------------
 その他のページ
---------------------------------------------------------------------- */
/* 404ページ*/
#page_404_header .content { padding:0 60px; }
@media screen and (max-width:1100px) {
  #page_404_header { height:calc(100vh - 60px); height:calc(100dvh - 60px); }
	#page_404_header .content { padding:0 40px; }
}
@media screen and (max-width:800px) {
	#page_404_header .headline { font-size:30px; }
  #page_404_header .content { padding:0 20px; }
  #page_404_header .desc { line-height:2; margin-top:30px; }
}




/* ----------------------------------------------------------------------
 フッター
---------------------------------------------------------------------- */
/* フッターバナー */
@media screen and (max-width:1300px) {
	#footer_banner .image_wrap { width:calc(100% + 1px); height:140px; aspect-ratio:unset; }
	#footer_banner:has(.item:nth-child(4)) .image_wrap { min-height:140px; }
}
@media screen and (max-width:800px) {
	#footer_banner { display:block; }
	#footer_banner .title { border-right:none; height:60px; }
	#footer_banner .image_wrap { width:100%; height:auto; aspect-ratio:480 / 160; }
	#footer_banner:has(.item:nth-child(4)) .image_wrap { min-height:160px; max-width:unset; }
}


/* 住所 */
@media screen and (max-width:1160px) {
  #footer_info_area { padding:60px 100px 50px; }
  #footer_info_area_inner { width:auto; }
  #footer_info_area_inner > .post_content:first-of-type { padding-right:25px; }
  #footer_info_area_inner > .post_content:last-of-type { padding-left:25px; }
}
@media screen and (max-width:1000px) {
  #footer_info_area { padding:60px 50px 50px; }
}
@media screen and (max-width:800px) {
  #footer_info_area { padding:35px 20px; }
	#footer_info_area_inner { display:block; }
	#footer_info_area_inner > .post_content { font-size:14px; }
  #footer_info_area_inner > .post_content:first-of-type { padding-right:0px; margin-bottom:15px; }
  #footer_info_area_inner > .post_content:last-of-type { padding-left:0px; }
	.post_content .sc_schedule { font-size:14px; }
}


/* メニュー */
@media screen and (max-width:1160px) {
  #footer_menu { width:auto; display:flex; flex-wrap:wrap; padding:65px 100px; }
}
@media screen and (max-width:1000px) {
  #footer_menu { padding:0; overflow:hidden; }
	#footer_menu nav { flex: 1 1 50%; border-bottom:1px solid #ddd; padding:50px; margin:0 0 -1px 0; }
	#footer_menu nav:nth-child(2n) { padding-left:20px; }
}
@media screen and (max-width:800px) {
	#footer_menu nav { padding:38px 20px; margin-bottom:0; }
  #footer_menu nav:only-child ul { text-align:center; }
}


/* フッター */
@media screen and (max-width:1300px) {
}
@media screen and (max-width:1100px) {
	#footer_logo img.pc { display:none; }
  #footer_logo img.mobile { display:block; }
}
@media screen and (max-width:800px) {
	#return_top { display:none; }
}


/* SNS */
@media screen and (max-width:800px) {
	#footer_bottom { height:auto; border:none; }
	#footer_sns { position:relative; left:auto; top:auto; transform:none; border-bottom:1px solid #ddd; padding:21px 20px 20px; justify-content:center; margin:0; }
  #footer_sns li { margin:0 7px; }
	#copyright { line-height:1.5; top:auto; transform:none; position:relative; text-align:center; padding:20px 20px 19px; }
}


/* コピーライト */
@media screen and (max-width:1100px) { }




/* ----------------------------------------------------------------------
 ウィジェット
---------------------------------------------------------------------- */
/* 基本設定 */
@media screen and (max-width:1160px) {
  #side_col .widget_content { width:calc(50% - 25px); max-width:300px; }
  #side_col .widget_content:last-of-type { margin-bottom:40px; }
}
@media screen and (max-width:800px) {
	.widget_headline { font-size:16px; }
	#side_col .widget_content { width:calc(50% - 10px); margin-bottom:40px; }
	.widget_content { font-size:14px; }
}
@media screen and (max-width:600px) {
	#side_col .widget_content { width:auto; margin-left:auto; margin-right:auto; max-width:100%; }
}


/* アーカイブ　ドロップダウン */
@media screen and (max-width:800px) {
  .p-dropdown__title { height:60px; line-height:60px; }
	.widget_archive select, .widget_categories select { padding:0 20px; }
}


/* デフォルトのカテゴリー */
@media screen and (max-width:800px) {
  .widget_categories li a { height:50px; line-height:50px; }
	.widget_categories li .post-count { top:9px; width:35px; height:35px; line-height:35px; font-size:11px; }
}


/* デフォルトのアーカイブ */
@media screen and (max-width:800px) {
  .widget_archive li a { height:50px; line-height:50px; }
  .widget_archive li .post-count { top:9px; width:35px; height:35px; line-height:35px; font-size:11px; }
}


/* デフォルトの固定ページ */
@media screen and (max-width:800px) {
  .widget_pages li a { height:50px; line-height:50px; }
}


/* デフォルトのナビ　*/
@media screen and (max-width:800px) {
  .widget_nav_menu li a { height:50px; line-height:50px; }
}


/* デフォルトのメタウィジェット */
@media screen and (max-width:800px) {
  .widget_meta li a { height:50px; line-height:50px; }
}


/* 検索 */
@media screen and (max-width:800px) {
	#searchform { height:60px; }
  #searchform #s { padding:0 20px; height:60px; width:calc(100% - 60px); }
  #searchform #searchsubmit { width:60px; height:60px; }
  #searchform .submit_button  { width:60px; height:60px; top:0px; }
  #searchform .submit_button:before { width:60px; height:60px; line-height:60px; font-size:14px; right:-2px; top:1px; }
}


/* デフォルトの最近の記事 */
@media screen and (max-width:800px) {
  .widget_recent_entries li { padding:20px 20px 15px; }
  .widget_recent_entries li a { font-size:14px; }
}


/* デフォルトのコメントウィジェット */
@media screen and (max-width:800px) {
  .widget_recent_comments li { font-size:14px; padding:20px 20px 15px; }
}


/* デフォルトの固定ページ */
@media screen and (max-width:800px) {
	.widget_pages li { font-size:14px; }
  .widget_pages li a { height:50px; line-height:50px; }
}


/* デフォルトのナビ */
@media screen and (max-width:800px) {
	.widget_nav_menu li { font-size:14px; }
  .widget_nav_menu li a { height:50px; line-height:50px; }
}


/* デフォルトのブロック */
@media screen and (max-width:800px) {
  .widget_block { font-size:14px; }	
}


/* デフォルトのテキストウィジェット */
@media screen and (max-width:800px) {
  .widget_text .textwidget { font-size:14px; }
	.widget_text .textwidget p { line-height:2; }
}


/* デフォルトのアーカイブとカテゴリー　ドロップダウンメニュー */
@media screen and (max-width:800px) {
  .widget_archive select, .widget_categories select { height:60px; font-size:14px; }
  .widget_archive .screen-reader-text, .widget_categories .screen-reader-text  { height:60px; }
  .widget_archive .screen-reader-text:before, .widget_categories .screen-reader-text:before { top:27px; right:18px; }
}


/* RSS */
@media screen and (max-width:800px) {
  .widget_rss li { padding:20px 20px 15px; font-size:14px; }
}




/* ----------------------------------------------------------------------
 404ページ
---------------------------------------------------------------------- */
@media screen and (max-width:1300px) {
	body.search-no-results #no_search_result:not(:has(.bg_image)) { border-top:1px solid #ddd; }
  #no_search_result { height:calc(100vh - 60px); height:calc(100dvh - 60px); }
	#no_search_result:not(.has_image) { border-top:1px solid #ddd; }
	#no_search_result .desc { padding:0 50px; width:auto; }
}
@media screen and (max-width:1100px) {
	#no_search_result .tag_list { width:auto; padding:0 50px; }
}
@media screen and (max-width:800px) {
  #no_search_result .headline { font-size:24px; margin-bottom:30px; }
	#no_search_result .desc { padding:0 20px; line-height:2; margin-bottom:35px; }
	#no_search_result .tag_list { padding:0 20px; margin-top:40px;}
	#no_search_result .desc + .tag_list { margin-top:30px; }
  #no_search_result .wp-tag-cloud a { font-size:12px !important; }
}
@media screen and (max-width:600px) {
	#no_search_result .search_form { padding:0 20px; }
  #no_search_result form { max-width:400px; width:100%; }
}




/* ----------------------------------------------------------------------
 コメント
---------------------------------------------------------------------- */
@media screen and (max-width:800px) {
	#comments { margin:40px 0 0 0; }
  #comments .headline { font-size:18px; margin-bottom:40px; }
	#comment_tab li a, #comment_tab li p { background:#f6f6f6; }
}




/* ----------------------------------------------------------------------
 その他
---------------------------------------------------------------------- */


/* MONAD モバイル用スタイルシート */