@charset "utf-8";


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


/* レイアウト */
#main_content { max-width:inherit; padding:0 60px 150px; }
body.short_content_width #main_content { max-width:inherit; }
@media screen and (max-width:1100px) {
	#main_content { display:block; padding:0 40px 110px; }
	#main_col { width:auto; max-width:750px; margin:0 auto; }
  #side_col { width:auto; max-width:750px; display:flex; flex-wrap:wrap; margin:100px auto; }
}
@media screen and (max-width:800px) {
	#main_content { padding:0 20px; }
  #side_col { margin:40px auto 40px; }
}
@media screen and (max-width:650px) {
	#main_content { padding:0 20px 40px; }
  #side_col { display:block; margin-bottom:0; }
}


/* admin bar利用時 */
body.home.admin-bar { padding-top:182px; }
body.admin-bar.header_fix #header { margin-top:32px; }
body.admin-bar #drawer_menu { padding-top:32px; }
@media screen and (max-width:780px) {
  /* body { padding-top: 68px; } */
  body.admin-bar { padding-top: 100px; }
  body.home.admin-bar { padding-top: 100px; }
}
@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:1100px) {
  :is(.design_header, .tcdce-body .design_header) { display:block; }
	:is(.design_header, .tcdce-body .design_header) .title_area { width:auto; padding-right:0px; }
	:is(.design_header, .tcdce-body .design_header) .desc { width:auto; padding-left:0; margin-top:50px; }
}
@media screen and (max-width:800px) {
  :is(.design_header, .tcdce-body .design_header) { margin-bottom:35px; margin-top:0; }
	body.hide_sidebar :is(.design_header, .tcdce-body .design_header), body.single-service :is(.design_header, .tcdce-body .design_header) { margin-top:60px; }
	body.hide_sidebar.home :is(.design_header, .tcdce-body .design_header) { margin-top:0px; }
	body.hide_sidebar p + :is(.design_header, .tcdce-body .design_header), body.single-service p + :is(.design_header, .tcdce-body .design_header) { margin-top:45px; }
	.post_row + :is(.design_header, .tcdce-body .design_header) { margin-top:45px !important; }
	.sub_title.colored { font-size:16px; margin-top:7px; margin-bottom:0; }
	:is(.design_header, .tcdce-body .design_header) .desc { margin-top:30px; line-height:2; }
  :is(.design_header, .tcdce-body .design_header) .desc.mobile { display:block; }
  :is(.design_header, .tcdce-body .design_header) .desc.pc { display:none; }
}
@media screen and (max-width:768px) {
  .brsp { display:block; }
}
/* デザインボタン */
@media screen and (max-width:1100px) {
  .design_button { width:240px; height:60px; line-height:60px; border-radius:60px;  }
}
@media screen and (max-width:800px) {
  .design_button { height:50px; line-height:50px; border-radius:50px; font-size:14px; }
}


/* Swiperのスクロールバー（共通） */
.genesis_carousel_scrollbar { max-width:inherit; padding:0 60px; }
@media screen and (max-width:1100px) {
  .genesis_carousel_scrollbar { padding:0 40px; }
}
@media screen and (max-width:800px) {
  .genesis_carousel_scrollbar { padding:0 20px; }
}


/* 矢印アイコンのみ */
@media screen and (max-width:800px) {
  .arrow_button { width:40px; height:40px; }
	.arrow_button:before, .arrow_button:after { font-size:8px; top:17px; }
}


/* 矢印アイコン付き右寄せリンク */
@media screen and (max-width:800px) {
  .design_arrow_button a { font-size:16px; width:100%; justify-content:flex-end; }
  .design_arrow_button a .label { margin-right:20px; max-width:calc(100% - 70px); line-height:1.4; }
}


/* カテゴリーボタン */
@media screen and (max-width:800px) {
  .category_button { padding:0 15px; font-size:12px; min-width:90px; height:30px; line-height:30px; border-radius:30px; }
  .tag_button { padding:0 15px; font-size:14px; margin: 0 0 10px 0 !important;}
}


/* マスク画像 */
@media screen and (max-width:800px) {
  .post_row + .shutter_image { margin-top:33px !important; }
  .shutter_image { margin-bottom:35px !important; margin-left:-20px; margin-right:-20px; }
	.shutter_image.vertical { display:block; margin-right:0; margin-left:0; }
	.shutter_image.vertical .item { width:100% !important; margin:0 0 3px 0; }
	.shutter_image.vertical .item:last-of-type { margin:0; }
	.shutter_image.col3.vertical .item { aspect-ratio:320 / 230; }
}


/* マスク画像　リンク付き */
@media screen and (max-width:1100px) {
  .shutter_image.link_ver .headline { padding:25px 20px; font-size:18px; line-height:1.4; }
	.shutter_image.link_ver .post_list a { font-size:16px; height:50px; line-height:50px; padding:0 50px 0 20px; }
	.shutter_image.link_ver .post_list a .arrow_button_small { top:19px; right:10px; }
  .shutter_image.link_ver .item .headline { opacity:1; }
  .shutter_image.link_ver .item .overlay { opacity:1; }
  .shutter_image.link_ver .item .post_list { transform: translate3d(0,0,0); }
}




/* ----------------------------------------------------------------------
 トップページ ヘッダースライダー
---------------------------------------------------------------------- */

/* キャッチフレーズエリア */
#header_slider_content .content { max-width:inherit; padding:0 60px; }
@media screen and (max-width:1100px) {
	#header_slider_wrap { height:calc(100vh - 60px); }
  #header_slider_content .content { padding:0 40px; }
}
@media screen and (max-width:800px) {
  #header_slider_content .content { padding:0 20px; }
	#header_slider_content .desc_area { margin-top:10px; }
	#header_slider_content .desc_area p.mobile { display:block; }
	#header_slider_content .desc_area p.pc { display:none; }
}


/* タイプ２用スタイル */
@media screen and (max-width:1100px) {
  #header_slider_wrap.layout_type2 #header_slider_content { height:calc(50% - 30px); }
  #header_slider_wrap.layout_type2 #header_slider { height:calc(50% + 30px); }
}




/* ----------------------------------------------------------------------
 コンテンツビルダー
---------------------------------------------------------------------- */

/* 共通パーツ */
.cb_design_header { max-width:inherit; padding:0 60px; }
.cb_design_arrow_button { max-width:inherit; padding:0 60px; }
@media screen and (max-width:1100px) {
  .cb_design_header { padding:0 40px; }
  .cb_design_arrow_button { padding:0 40px; }
}
@media screen and (max-width:800px) {
	.cb_design_content { padding:40px 0; }
  .cb_design_header { padding:0 20px; }
  .cb_design_arrow_button { padding:0 20px; margin-top:40px; }
	.cb_design_content .shutter_image + .design_arrow_button { margin-top:40px; }
}


/* デザインコンテンツ */
.cb_design_content .item_list { max-width:inherit; padding:0 60px; }
@media screen and (max-width:1100px) {
  .cb_design_content .item_list { padding:0 40px; }
}
@media screen and (max-width:800px) {
  .cb_design_content .item_list { padding:0 20px; }
}




/* サービス */
.cb_service_category_list { max-width:inherit; padding:0 60px; }
body.mobile_device .cb_service_category_list .item.open .post_list { transform: translate3d(0,0,0); }
@media screen and (max-width:1100px) {
  .cb_service_category_list { padding:0 40px; }
	.cb_service_category_list .title_area { padding:30px 20px; }
	.cb_service_category_list .sub_title { font-size:16px; margin-top:10px; }
	.cb_service_category_list .post_list { max-height:calc(300px); }
	.cb_service_category_list .post_list a { font-size:16px; height:50px; line-height:50px; padding:0 50px 0 20px; }
	.cb_service_category_list .post_list a .label { top:1px; }
	.cb_service_category_list .post_list a .arrow_button_small { top:19px; right:10px; }
}
@media screen and (max-width:950px) {
  .cb_service_category_list { display:block; }
	.cb_service_category_list .item { height:276px; aspect-ratio:unset; margin:0 0 3px 0; }
	.cb_service_category_list .post_list { max-height:calc(150px); }
  .cb_service_category_list .image_wrap img.pc { display:none; }
  .cb_service_category_list .image_wrap img.mobile { display:block; }
}
@media screen and (max-width:800px) {
	.cb_service_list { padding:40px 0; }
  .cb_service_category_list { padding:0 20px; }
}


/* カルーセルver */
.cb_service_category_list_wrap { max-width:inherit; width:calc( var(--vw) * 100 - 120px); }
.cb_service_category_list_carousel { padding:0; }
.cb_service_category_list_carousel .item { flex:0 0 auto; width:calc( (var(--vw) * 100 - 120px) / 3 - 3px) !important; }
@media screen and (max-width:1100px) {
  .cb_service_category_list_wrap { max-width:inherit; width:calc( var(--vw) * 100 - 80px); }
  .cb_service_category_list_carousel { padding:0; }
  .cb_service_category_list_carousel .item { flex:0 0 auto; width:calc( (var(--vw) * 100 - 80px) / 3 - 3px) !important; }
}
@media screen and (max-width:950px) {
  .cb_service_category_list_wrap { width:calc(100% - 80px); }
  .cb_service_category_list_carousel { padding:0; }
	.cb_service_category_list_inner { display:block !important; transform:none !important; }
  .cb_service_category_list_carousel .item { height:300px; width:100% !important; background:blue; }
	.cb_service_list .swiper-button-next { display:none; }
  .cb_service_list .swiper-button-prev { display:none; }
}
@media screen and (max-width:800px) {
  .cb_service_category_list_wrap { width:calc(100% - 40px); }
  .cb_service_category_list_carousel { padding:0; }
}


/* ブログ一覧 */
.blog_carousel_wrap { padding:0 60px !important; }
@media screen and (max-width:1100px) {
  .blog_carousel_wrap { padding:0 40px !important; }
	.blog_carousel .item { width:260px; margin:0 20px 0 0; }
	.blog_carousel .item:last-of-type { margin-right:0; }
	.blog_carousel .image_link { margin:0 0 20px 0; }
	.blog_carousel .category_button { margin-bottom:17px; }
	.blog_carousel .title { font-size:16px; margin-bottom:13px; line-height:1.6; }
	.blog_carousel .title a { max-height:4.8em; }
  .blog_carousel .title span { -webkit-line-clamp:3; }
	.blog_carousel .date { font-size:14px; }
	.blog_carousel .date::before { font-size:16px; top:1.5px; }
}
@media screen and (max-width:800px) {
	.cb_blog_list { padding:40px 0; }
	.cb_blog_list .design_header { margin-bottom:37px; }
  .blog_carousel_wrap { padding:0 20px !important; }
	.blog_carousel_wrap + .genesis_carousel_scrollbar .swiper-scrollbar { margin-top:45px !important; }
}


/* お知らせ一覧 */
.news_carousel_wrap { padding:0 60px !important; }
@media screen and (max-width:1100px) {
	.news_carousel_wrap { height:190px; padding:0 40px !important; }
  .news_carousel .item { width:440px; height:190px; padding:30px; }
	.news_carousel .image_link { width:130px; height:130px; }
	.news_carousel .content { width:calc(100% - 130px); padding:0 0 0 30px; }
	.news_carousel .category_button { margin-bottom:15px; }
	.news_carousel .title { font-size:16px; margin-bottom:10px; }
	.news_carousel .date { font-size:14px; }
	.news_carousel .date::before { font-size:16px; top:1.5px; }
}
@media screen and (max-width:800px) {
	.cb_news_list { padding:40px 0; }
	.cb_news_list .design_header { margin-bottom:40px; }
	.news_carousel_wrap { height:195px; padding:0 20px !important; }
	.news_carousel_wrap + .genesis_carousel_scrollbar .swiper-scrollbar { margin-top:40px !important; }
	.news_carousel_cat_all_wrap + .genesis_carousel_scrollbar .swiper-scrollbar { margin-top:40px !important; }
	.cb_news_list .cb_design_arrow_button { margin-top:35px; }
}


/* フリースペース */
.cb_free_space .post_content { max-width:inherit; padding:0 60px; }
@media screen and (max-width:1100px) {
  .cb_free_space .post_content { padding:0 40px; }
}
@media screen and (max-width:800px) {
  .cb_free_space { padding:40px 0; }
  .cb_free_space .post_content { padding:0 20px; }
}


/* 固定ページを表示する場合 */
#front_page_contents { padding:50px 20px; width:auto !important; }


/* ----------------------------------------------------------------------
 固定ページ
---------------------------------------------------------------------- */
/* ヘッダー */
#page_header .design_header { max-width:inherit; padding:0 60px; }
#page_header .desc_area { max-width:inherit; padding:0 60px;}
@media screen and (max-width:1100px) {
	/* body.show_sidebar #page_header { max-width:840px; margin:0 auto; } */
  #page_header .design_header { display:block; padding:0 40px; }
  #page_header .desc_area { display:block; padding:0 40px; }
	#page_header .catch { width:auto; padding-right:0px; font-size:32px; }
  #page_header .desc { width:auto; padding-left:0px; }
	#page_header .catch + .desc { margin-top:40px; }
}
@media screen and (max-width:800px) {
	body:not(.show_sidebar) #page_header.large_height { height:240px; display:flex; flex-wrap:wrap; align-items:center; }
	body:not(.show_sidebar) #page_header.large_height .design_header { margin:-20px 0 0 0; }
  #page_header .design_header { padding:0 20px; margin:20px 0 0; }
  #page_header .desc_area { padding:0 20px; margin:35px 0 0 0; }
	#page_header .desc { line-height:2; }
	#page_header .desc.mobile { display:block; }
	#page_header .desc.pc { display:none; }
  #page_header .catch { font-size: 22px !important;}
  #page_header .desc_area h2 { font-size: 22px !important; line-height: 1.7em !important; margin-bottom: 50px; }
	#page_header .catch + .desc { margin-top:25px; }
	#page_header .image { margin:32px 0 35px 0; height:300px; aspect-ratio:unset; }
	/* #page_header + #main_content { margin-top:35px; } */
	#page_header .desc { font-size: 16px !important; line-height: 1.6em !important; }
}

/* メインコンテンツ */
#page_contents .post_content { max-width:inherit; padding:0 60px 0 15%; }
@media screen and (max-width:1100px) {
  #page_contents .post_content { padding:0 40px 0 15%; }
}
@media screen and (max-width:950px) {
  body.short_content #page_contents .post_content { width:auto; padding:0 40px 0 15%; }
}
@media screen and (max-width:800px) {
	#page_contents { padding-bottom:40px; margin-top: 60px;}
	body.page-template-page-tcd-lp.hide_page_header #page_contents { padding-top:35px; }
  #page_contents .post_content { padding:0 20px; }
  body.short_content #page_contents .post_content { padding:0 20px; }
	body.hide_breadcrumb #container { padding-top: 0px;}
}


/* LPページ */
#lp_page_header .catch { max-width:inherit; padding:0 60px; }
@media screen and (max-width:1100px) {
	#lp_page_header { height:500px; }
  #lp_page_header .catch { padding:0 40px; }
}
@media screen and (max-width:800px) {
	#lp_page_header { height:300px; margin-bottom:35px; }
	body.hide_page_header_bar #lp_page_header { height:360px; }
	#lp_page_header #header_logo2 { left:20px; top:20px; }
  #lp_page_header .catch { padding:0 20px; }
	#lp_page_header .catch .mobile { display:block; }
	#lp_page_header .catch .pc { display:none; }
}


/* LP1 */
@media screen and (max-width:800px) {
  :is(.lp_content, .tcdce-body .lp_content) { margin-bottom:40px; }
	:is(.lp_content, .tcdce-body .lp_content) .catch { margin-bottom:32px; font-size:20px !important; margin-top:35px; }
	:is(.lp_content, .tcdce-body .lp_content) .catch.sub_title { margin-bottom:40px; font-size:16px !important; margin-top:17px; }
	:is(.lp_content, .tcdce-body .lp_content) .shutter_image { margin-top:35px; }
  :is(.lp_content, .tcdce-body .lp_content) .faq_list { margin-top:35px; }
  :is(.lp_content, .tcdce-body .lp_content) .s_table { margin-top:35px; margin-bottom:40px !important; }
	:is(.lp_content, .tcdce-body .lp_content) table th { width:70px !important; }
  :is(.lp_content, .tcdce-body .lp_content) table td { width:calc(100% - 70px) !important; }
}


/* LP2 */
@media screen and (max-width:1100px) {
  .lp2_content .catch { font-size:28px !important; }
}
@media screen and (max-width:800px) {
  .lp2_content { padding:35px 0; }
  .lp2_content:first-of-type { padding-top:0; }
  .lp2_content:last-of-type { padding-bottom:0; }
  .lp2_content .catch { margin:0 0 28px; font-size:20px !important; }
  .lp2_content .shutter_image { margin:30px -20px 30px !important; }
  .lp2_content .q_button_wrap { margin-top:35px; }
}


/* LP3 */
@media screen and (max-width:1100px) {
  .lp3_content .catch { font-size:30px !important; }
	.lp3_bottom_content .item_list { display:block; }
  .lp3_bottom_content .item_list .item { width:auto; margin:-1px 0px 0 0; padding:30px 30px 25px; }
}
@media screen and (max-width:800px) {
  .lp3_content .catch { font-size:20px !important; margin-bottom:25px; }
	.lp3_bottom_content .catch { margin-bottom:15px; }
}


/* 会社情報 */
@media screen and (max-width:1100px) {
  #company_message .post_col img { max-width:500px !important; margin:0 auto 5px !important; display:block; }
}
@media screen and (max-width:800px) {
  .gray_bg { padding:35px 0; }
	#company_message .catch { margin:0px 0 25px 0; }
	#company_message .shutter_image { margin-right:0; margin-left:0; }
	#company_data_list { margin:0 0 40px; }
	#company_data_list h4 { font-size:16px; margin:25px 0 25px 0; }
	#company_data_list td { padding-left:40px; }
	#company_data_list table.right th { width:190px; }
  #company_data_list table.right td { width:calc(100% - 190px); padding-left:40px; }
	#company_data_list .s_table { overflow:visible; white-space:normal; margin-bottom:-10px; max-width:100%; width:100%; }
	#company_data_list .s_table table { table-layout:fixed; width:100%; word-wrap:break-word; word-break:break-word; }
	#company_data_list .s_table td, #company_data_list .s_table th { word-wrap:break-word; word-break:break-word; }
	#company_access .qt_google_map { margin-bottom:35px; margin-left:-20px; margin-right:-20px; width:calc(100% + 40px); }
	#profile { padding-top:35px; }

  .about_container {
    width: 100%;
    margin: 0 auto 50px;
    padding-top: 15px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: start;
    gap: 80px;
    border-bottom: 1px solid #333333;
    padding-bottom: 50px;
  }
  
}


/* ギャラリー */
.gallery_content_header { max-width:inherit; padding:0 60px; }
@media screen and (max-width:1100px) {
  .gallery_content_header { padding:0 40px; display:block; }
	.gallery_content_header .catch { width:auto; padding-right:0px; }
  .gallery_content_header .desc { width:auto; padding-left:0px; }
	.gallery_content_header .catch + .desc { margin-top:40px; }
}
@media screen and (max-width:800px) {
	.gallery_content { padding:40px 0; margin:40px auto 35px; }
  .post_content:empty + .gallery_content { margin-top:-40px; }
  .gallery_content_header { padding:0 20px; margin-bottom:33px; }
  .gallery_content_header .desc { line-height:2; }
	.gallery_content_header .desc.mobile { display:block; }
	.gallery_content_header .desc.pc { display:none; }
	.gallery_content_header .catch + .desc { margin-top:28px; }
	.gallery_content_header .catch + .desc + .desc{ margin-top:28px; }
	.gallery_content_carousel .item { width:130px; height:130px; margin-right:20px; }
}




/* ----------------------------------------------------------------------
 サービスアーカイブページ
---------------------------------------------------------------------- */
/* ヘッダー */
.service_category_content .header { max-width:inherit; padding:0 60px; }
.service_header_desc { max-width:inherit; padding:0 60px 130px; }
.service_header_desc .desc:last-of-type { padding-left:60px; }
@media screen and (max-width:1100px) {
  .service_category_content .header { padding:0 40px; }
	.service_category_content .header .catch { width:auto; padding-right:0px; }
  .service_category_content .header .desc { width:auto; padding-left:0px; margin-top:40px; }
	.service_category_content .desc_area { display:block; }
  .service_header_desc { padding:0 40px 130px; display:block; }
	.service_header_desc .desc { width:auto; }
  .service_header_desc .desc:last-of-type { padding:35px 0 0; }
}
@media screen and (max-width:800px) {
	.service_header_image { width:100%; height:300px; overflow:hidden; position:relative; margin-bottom:-1px; }
	.service_header_image img { width:100%; height:100%; position:absolute; object-fit:cover; }
	#bread_crumb + .service_category_content { margin-top:16px; }
	.service_category_content { padding:37px 0 32px; }
  .service_category_content .header { padding:0 20px; }
  .service_category_content .header .desc { line-height:2; margin-top:25px; }
  .service_category_content .header .desc span.mobile { display:block; }
  .service_category_content .header .desc span.pc { display:none; }
	.service_category_content .desc_area { margin-top:0px; }
	.service_header_image + .service_header_desc { margin-top:0px; }
  .service_header_desc { padding:35px 20px; margin:0px; }
  .service_header_desc .desc span.mobile { display:block; }
  .service_header_desc .desc span.pc { display:none; }
	.service_category_content .header .design_arrow_button { margin-top:32px; margin-bottom:10px; }
	.service_header_desc  + #archive_service .service_category_post_list { margin-top:0; }
  #archive_service .service_category_post_list { margin-top:0px; }
}


/* 記事一覧（1カラム） */
.service_category_content .post_list.type1 { max-width:inherit; padding:0 60px; }
.service_category_content .post_list.type1 .content { padding:0 30px; }
@media screen and (max-width:1100px) {
  .service_category_content .post_list.type1 { padding:0 40px; }
}
@media screen and (max-width:800px) {
  .service_category_content .post_list.type1 { padding:0 20px; margin-top:32px; }
	.service_category_content .post_list.type1 a { display:block; }
	.service_category_content .post_list.type1 .image_wrap { width:auto; }
	.service_category_content .post_list.type1 .content { width:auto; padding:25px 30px; }
	.service_category_content .post_list.type1 .title { font-size:16px; }
}


/* 記事一覧（2カラム） */
.service_category_content .post_list.type2 { max-width:inherit; padding:0 60px; }
.service_category_content .post_list.type2 a { padding:30px; min-height:216px; }
.service_category_content .post_list.type2 .image_wrap { width:150px; height:150px; }
.service_category_content .post_list.type2 .content { width:calc(100% - 150px); padding:0 0 0 30px; }
.service_category_content .post_list.type2 .title { font-size:18px; max-height:4.8em; overflow:hidden; visibility:visible; }
.service_category_content .post_list.type2 .title span { display:-webkit-inline-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
@media screen and (max-width:1100px) {
  .service_category_content .post_list.type2 { padding:0 40px; }
}
@media screen and (max-width:950px) {
	.service_category_content .post_list.type2 { display:block; }
	.service_category_content .post_list.type2 .item { width:auto; margin-bottom:-1px; }
	.service_category_content .post_list.type2 .item:nth-child(2n) { border-left:1px solid #ddd; }
}
@media screen and (max-width:800px) {
  .service_category_content .post_list.type2 { padding:0; margin-bottom:-32px; margin-top:32px; border-bottom:1px solid #ddd; }
	.service_category_content .post_list.type2 .item { border-left:none; border-right:none; border-bottom:none; margin:0; }
	.service_category_content:last-of-type .post_list.type2 { border-bottom:none; }
	.service_category_content .post_list.type2 .item:nth-child(2n) { border-left:none; }
  .service_category_content .post_list.type2 a { padding:30px 20px; display:block; }
  .service_category_content .post_list.type2 .image_wrap { width:130px; height:130px; }
  .service_category_content .post_list.type2 .content { width:auto; padding:0; }
	.service_category_content .post_list.type2 .title { font-size:16px; position:absolute; left:170px; top:58px; width:calc(100% - 190px); height:4.8em; display:flex; flex-wrap:wrap; align-items:center; }
	.service_category_content .post_list.type2 .desc { margin-top:22px; margin-bottom:-8px; }
}


/* カテゴリーページ */
.service_category_post_list { max-width:inherit; padding:0 60px; }
.service_category_post_list .item a { padding:30px; }
.service_category_post_list .image_wrap { width:150px !important; height:150px !important; }
.service_category_post_list .content { width:calc(100% - 150px); padding:0 0 0 30px; }
.service_category_post_list .title { font-size:20px; }
@media screen and (max-width:1100px) {
  .service_category_post_list { padding:0 40px; }
}
@media screen and (max-width:950px) {
	.service_category_post_list { display:block; }
	.service_category_post_list .item { width:auto; margin:0 0 -1px 0; }
}
@media screen and (max-width:800px) {
	.service_header_image + #archive_service .service_category_post_list { margin-top:-1px; }
  .service_category_post_list { padding:0; margin:0 0 -1px 0; }
	.service_category_post_list .item { border-left:none; border-right:none; }
	.service_category_post_list .item:last-of-type { border-bottom:none; }
  .service_category_post_list .item a { padding:30px 20px; display:block; }
  .service_category_post_list .image_wrap { width:130px !important; height:130px !important; }
  .service_category_post_list .content { width:auto; padding:0; }
	.service_category_post_list .title { font-size:16px; position:absolute; left:170px; top:58px; width:calc(100% - 190px); height:4.8em; max-height:inherit; display:flex; flex-wrap:wrap; align-items:center; margin-bottom:0; }
  .service_category_post_list .title span { -webkit-line-clamp:3; }
	.service_category_post_list .desc { margin-top:22px; margin-bottom:-8px; }
}




/* ----------------------------------------------------------------------
 サービス詳細ページ
---------------------------------------------------------------------- */
/* ヘッダー */
#single_service_header .title span { max-width:inherit; padding:0 60px; }
#single_service_header .category { max-width:inherit; padding:0 60px; }
@media screen and (max-width:1100px) {
	#single_service_header { height:505px; }
	#single_service_header .title { font-size:24px; height:60px; line-height:60px; }
  #single_service_header .title span { padding:0 40px; }
  #single_service_header .category { padding:0 40px; height:340px; }
	#single_service_header .category .sub_title { font-size:16px; margin-top:17px; }
}
@media screen and (max-width:800px) {
	#single_service_header { height:360px; }
	#single_service_header .title { font-size:20px; height:50px; line-height:50px; }
  #single_service_header .title span { padding:0 20px; }
  #single_service_header .category { padding:0 20px; height:200px; }
}


/* コンテンツ */
#single_service_main_content { max-width:inherit; padding:80px 60px 110px; }
@media screen and (max-width:1100px) {
  #single_service_main_content { padding:80px 40px 110px; }
}
@media screen and (max-width:800px) {
  #single_service_main_content { padding:0px 20px 35px; margin:-5px 0 0 0; }
}


/* リンク一覧 */
#service_link_list_inner { max-width:inherit; padding:140px 60px 150px; }
#service_link_list .post_list.type1 .content { padding:30px; }
#service_link_list .post_list.type2 .item { padding:30px; }
#service_link_list .post_list.type2 .image_wrap { width:150px; height:150px; }
#service_link_list .post_list.type2 .content { width:calc(100% - 150px); padding:0 0 0 30px; }
#service_link_list .post_list.type2 .catch { font-size:20px; }
#service_link_list .post_list.type2 .link_label { max-width:calc(100% - 30px); }
#service_link_list .post_list.type2 .link_label .label { font-size:16px; }
@media screen and (max-width:1100px) {
  #service_link_list_inner { padding:140px 40px 150px; }
  #service_link_list .post_list.type2 { display:block; }
  #service_link_list .post_list.type2 .item { width:auto; border:1px solid #ddd !important; }
	#service_link_list .post_list.type2 .link_label .label { max-width:calc(100% - 60px); }
}
@media screen and (max-width:800px) {
  #service_link_list_inner { padding:37px 20px 40px; }
	#service_link_list .design_header { margin-bottom:40px; }
	#service_link_list .post_list.type1 .item { display:block; margin-bottom:20px; border-bottom:1px solid #ddd; }
	#service_link_list .post_list.type1 .item:last-of-type { margin-bottom:0; border-bottom:none; }
	#service_link_list .post_list.type1 .image_wrap { width:auto; }
	#service_link_list .post_list.type1 .content { width:auto; display:block; padding:20px 30px; }
	#service_link_list .post_list.type1 .item.layout_type1 + .item.layout_type1 .content { border-top:none; }
  #service_link_list .post_list.type1 .item.layout_type2 + .item.layout_type2 .content { border-top:none; }
  #service_link_list .post_list.type1 .catch { font-size:16px; }
	#service_link_list .post_list.type1 .desc { display:none; }
  #service_link_list .post_list.type2 .item { padding:20px; display:block; position:relative; }
  #service_link_list .post_list.type2 .image_wrap { width:130px; height:130px; }
  #service_link_list .post_list.type2 .content { width:auto; padding:0; position:initial; }
	#service_link_list .post_list.type2 .catch { font-size:16px; position:absolute; left:170px; top:20px; width:calc(100% - 190px); height:130px; max-height:inherit; display:flex; flex-wrap:wrap; align-items:center; }
  #service_link_list .post_list.type2 .link_label { position:relative; bottom:auto; margin-top:20px; left:0; justify-content:flex-end; max-width:inherit; }
  #service_link_list .post_list.type2 .link_label .label { margin-right:15px; }
}




/* ----------------------------------------------------------------------
 お知らせ
---------------------------------------------------------------------- */
.news_category_button { padding:0 60px !important; }
#archive_news { max-width:inherit; padding:0 60px 150px; }
@media screen and (max-width:1100px) {
  .news_category_button { padding:0 40px !important; margin-top:-12px; }
	.news_category_button li { margin-right:10px; }
  .news_category_button li:last-of-type { margin-right:0; }
	.news_category_button a { height:40px; line-height:40px; padding:0 20px; font-size:14px; }
  #archive_news { padding:0 40px 150px; }
  .news_list { display:block; width:auto; }
	.news_list .item { width:auto; margin:0 0 -1px 0; }
}
@media screen and (max-width:800px) {
  .news_category_button { padding:0 20px !important; margin:0px 0 40px 0; }
  #archive_news { padding:0 0 40px; }
	.news_list .item { padding:30px 20px; border-left:none; border-right:none; }
	.news_list .image_link { width:130px; height:130px; }
	.news_list .content { width:calc(100% - 130px); padding:0 0 0 20px; }
	.news_list .category_button { margin-bottom:15px; }
  .news_list .title { font-size:16px; margin-bottom:10px; }
	.news_list .date { font-size:14px; }
	.news_list .date::before { font-size:16px; top:1.5px; }
	.ajax_post_list_wrap .entry-more span { margin:40px auto 0; }
	
	/* 最新のお知らせ */
  #recent_news .headline { font-size:20px; padding:40px 0; }
	#recent_news .post_list { margin:0 -20px; }
	#recent_news .item { padding:30px 20px; border-right:none; border-left:none; }
	#recent_news .image_link { width:130px; height:130px; }
	#recent_news .content { width:calc(100% - 130px); padding:0 0 0 20px; }
	#recent_news .category_button { margin-bottom:15px; }
  #recent_news .title { font-size:16px; margin-bottom:10px; }
	#recent_news .title a { max-height:3.6em; }
  #recent_news .title span { -webkit-line-clamp:2; }
	#recent_news .date { font-size:14px; }
	#recent_news .date::before { font-size:16px; top:1.5px; }
}




/* ----------------------------------------------------------------------
 ブログアーカイブページ
---------------------------------------------------------------------- */
/* ページヘッダー */
#archive_header { max-width:inherit; padding:0 60px; }
@media screen and (max-width:1100px) {
	#archive_header { display:block; padding:0 40px; }
	#archive_header .title_area { width:auto; padding-right:0px; }
	#archive_header .desc { width:auto; padding-left:0px; margin-top:50px; }
}
@media screen and (max-width:800px) {
  #archive_header { padding:0 20px; margin:20px auto 35px; }
	#archive_header .desc { line-height:2; margin-top:30px; }
	#archive_header .desc.mobile { display:block; }
	#archive_header .desc.pc { display:none; }
}


/* ブログ一覧 */
#archive_blog { max-width:inherit; padding:0 60px 150px; }
@media screen and (max-width:1100px) {
  #archive_blog { padding:0 40px 150px; }
}
@media screen and (max-width:1000px) {
  .blog_list .item { position:relative; width:calc(50% - 20px); margin:0 40px 50px 0; }
  #archive_blog .blog_list .item:nth-child(3n) { margin-right:40px; }
  #archive_blog .blog_list .item:nth-child(2n) { margin-right:0px; }
}
@media screen and (max-width:800px) {
  #archive_blog { padding:0 20px 40px; }
	body.paged #archive_blog { padding-top:20px; }
	.blog_list { margin-bottom:-30px; }
  .blog_list .item { position:relative; width:calc(50% - 10px); margin:0 20px 30px 0; }
  #archive_blog .blog_list .item:nth-child(3n) { margin-right:20px; }
  #archive_blog .blog_list .item:nth-child(2n) { margin-right:0px; }
	.blog_list .title { font-size:16px; margin-bottom:10px; }
	.blog_list .date { font-size:14px; }
	.blog_list .date::before { font-size:16px; top:1.5px; }
	.blog_list .image_link { margin-bottom:20px; }
	.blog_list .category_button { margin-bottom:15px; }
	.blog_list .tag_button { margin-bottom:15px; }
  #archive_blog.no-author-header {
    padding-top: 40px;
  }
}
@media screen and (max-width:600px) {
	#archive_blog .blog_list { display:block; margin-bottom:0; }
  .blog_list .item { width:auto; margin:0 0 30px 0; }
  #archive_blog .blog_list .item:nth-child(3n) { margin-right:0; }
}

/* ブログカテゴリー一覧*/

@media screen and (max-width:1391px) {
  #blog_category_sort_wrap {
    padding: 0 60px;
}

#blog_category_sort_wrap .swiper-button-prev { left:10px; right:auto;}
#blog_category_sort_wrap .swiper-button-next { left:auto; right:10px;}
}

@media screen and (max-width:1130px) {
  #blog_category_sort .blog_category_sort_button:before{ opacity: 0; }
  #blog_category_sort .blog_category_sort_button:after{ opacity: 0; }
      #blog_category_sort_wrap { width:auto; margin:10px 40px 50px; padding: 0;}
      #blog_category_sort { overflow:visible; }
      #blog_category_sort:after, #blog_category_sort:before { display:none !important; }
      #blog_category_sort_wrap .swiper-nav-button { display:none; }
      #blog_category_sort .item { width:233px !important; }
      #blog_category_sort .item a { border-right:1px solid #ddd; }
      #blog_category_sort .item:first-of-type a { border-left:1px solid #ddd; }
      #blog_category_sort .item a:after { display:none; }
      body:not(.home):not(.single-post) .style_list { width:auto; margin:0 100px -30px; }
  }

  @media screen and (max-width:800px) {
      #blog_category_sort_wrap { width:auto; margin:40px 20px 30px; }
    #archive_headline + #archive_style #blog_category_sort_wrap { margin-top:35px; }
      #blog_category_sort .item { width:200px !important; }
      #blog_category_sort .item a { height:50px; line-height:50px; font-size:14px; }
  }
  @media screen and (max-width:600px) {
      #blog_category_sort .item { width:160px !important; }
  }


/* ページナビ */
@media screen and (max-width:800px) {
  .page_navi { margin:40px 0 -10px 0; }
	.page_navi .next, .page_navi .prev { display:none; }
	.page_navi a, .page_navi .current, .page_navi span { font-size:12px; width:40px; height:40px; line-height:40px; }
	.page_navi span.dots { width:10px; }
}


/* 投稿者アーカイブ */
#author_archive_header .content { max-width:inherit; padding:0 60px; }
@media screen and (max-width:1100px) {
  #author_archive_header .content { padding:0 40px; display:block; max-width:800px; }
	#author_archive_header .image_area { display:block; text-align:center; }
  #author_archive_header .avatar_area { margin:0 auto 20px; }
	#author_archive_header .sns_button_list { margin:20px 0 0 -8px; }
	#author_archive_header .desc { width:auto; margin:30px 0 0; }
}
@media screen and (max-width:800px) {
	body.author.paged #archive_blog { padding-top:40px; }
	#author_archive_header { padding:40px 0 30px; margin-bottom:40px; }
  #author_archive_header .content { padding:0 20px; }
	#author_archive_header .desc p { line-height:2; }
  #author_headline { margin-bottom:40px; font-size:20px; }
}


/* 検索結果 */
#no_search_result .desc { padding:0 60px; }
@media screen and (max-width:1100px) {
  #no_search_result .desc { padding:0 40px; }
}
@media screen and (max-width:800px) {
  #no_search_result .headline { margin:0 0 30px 0; font-size:30px; }
	#no_search_result .desc { margin:0 auto 33px; line-height:2; padding:0 20px; width:auto; }
	#no_search_result form { width:calc(100% - 40px); max-width:350px; }
}




/* ----------------------------------------------------------------------
 ページ上部　ヘッダー
---------------------------------------------------------------------- */
/* @media screen and (max-width:1100px) {
  #header { height:60px; transition: transform 0.5s ease, opacity 0.7s ease 0.1s; }
} */

/* モバイルではヘッダー高さを固定（スクロールしても変わらない） */
@media screen and (max-width:768px) {
  #header { 
    height:68px !important; 
    transition: height 0.25s cubic-bezier(0.4, 0.0, 0.2, 1), transform 0.4s cubic-bezier(0.4, 0.0, 0.2, 1), opacity 0.6s cubic-bezier(0.4, 0.0, 0.2, 1) 0.1s; 
  }
  #header.scrolled { 
    height:60px !important;
    /* Safari最適化 */
    transform: translateZ(0);
    -webkit-transform: translateZ(0);
  }
}


/* ロゴ */
@media screen and (max-width:1100px) {
  #header_logo { left:20px;}
  #header_logo img.pc { display:none; }
  #header_logo img.mobile { display:block; }
  #header_logo2 { left:20px }
  #header_logo2 img.pc { display:none; }
  #header_logo2 img.mobile { display:block; }
}
@media screen and (max-width:768px) {
  #header_logo { left:10px; height: 60px !important;}
}


/* グローバルメニュー（1100px以下では非表示） */
@media screen and (max-width:1100px) {
  #global_menu { display:none; }
}


/* ドロワーメニュー開閉ボタン（1100px以下） */
@media screen and (max-width:1100px) {
  #drawer_menu_button { 
    width:50px; 
    height:50px; 
    display:block; 
    position:fixed; 
    right:10px; 
    top:50%; 
    transform:translateY(-50%); 
    z-index:999999;
    cursor:pointer;
    background-color: #333333;
    border-radius: 50%;
  }
  #drawer_menu_button span { 
    width:22px; 
    height:1px; 
    background:#fff; 
    display:block; 
    position:absolute; 
    left:50%; 
    transform: translateX(-50%); 
    transition: all 0.4s ease; 
  }
  #drawer_menu_button span:nth-child(1) { top:19px; }
  #drawer_menu_button span:nth-child(2) { top:25px; }
  #drawer_menu_button span:nth-child(3) { top:31px; }
	body.header_type2 #drawer_menu_button span { background:#fff; }
	body.header_type2.header_fixed #drawer_menu_button span { background:#000; }
  html.open_menu #drawer_menu_button { z-index:9999999 !important; }
  html.open_menu #drawer_menu_button span:nth-child(1) { transform:translateX(-50%) rotate(45deg); top:25px; }
  html.open_menu #drawer_menu_button span:nth-child(2) { opacity:0; }
  html.open_menu #drawer_menu_button span:nth-child(3) { transform:translateX(-50%) rotate(-45deg); top:25px; }
  html.open_menu #drawer_menu_button span { background:#fff; }
}


/* 検索フォーム（全体で非表示のためコメントアウト） */
/* @media screen and (max-width:1100px) {
  #header_search { display:none; }
} */


/* メッセージ */
@media screen and (max-width:1250px) {
  #header_message { padding:10px 0; z-index:2000; }
  #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: 1100px) {
  body.header_type2 #header_message + #header,
  body.home.header_slider_layout_type2 #header_message + #header { margin-bottom: -60px; }
}

/* パンくずリンク */
#bread_crumb { max-width:inherit; padding:0 60px; }
body.short_content_width #bread_crumb { max-width:inherit; }
@media screen and (max-width:1100px) {
  #bread_crumb { padding:0 40px; }
}
@media screen and (max-width:800px) {
  #bread_crumb { display: none !important; padding:0 20px; margin:0 auto; height:50px; overflow:auto; overflow-y:hidden; }
	body.single #bread_crumb { margin-bottom:20px; }
	#bread_crumb ul { height:50px; line-height:50px; overflow:visible; }
}




/* ----------------------------------------------------------------------
 メガメニュー
---------------------------------------------------------------------- */
/* メガメニューA　記事カルーセル */
.megamenu_post_carousel { padding:0 60px !important; }
@media screen and (max-width:1100px) {
  .megamenu_a { display:none; }
}


/* メガメニューB */
.megamenu_b .image_wrap { height:150px !important; aspect-ratio:initial; }
.megamenu_b .title { font-size:30px; }
.megamenu_b .title_area { padding:0 30px; }
.megamenu_b .post_list { padding:25px 30px 45px; }
.megamenu_b .arrow_link { font-size:14px; }
@media screen and (max-width:1100px) {
  .megamenu_b { display:none; }
}




/* ----------------------------------------------------------------------
 ドロワーメニュー（全画面オーバーレイスタイル）
---------------------------------------------------------------------- */
@media screen and (max-width:1100px) {
  #drawer_menu {
    display:block; 
    position:fixed; 
    top:0; 
    left:0; 
    width:100vw; 
    height:100vh; 
    height:100dvh; 
    background:#000; 
    z-index:99999;
    transition: opacity 0.3s ease, visibility 0.3s ease; 
    opacity:0; 
    visibility:hidden;
    pointer-events:none;
    overflow-y:auto;
    -webkit-overflow-scrolling: touch;
  }
  .open_menu #drawer_menu { 
    opacity:1; 
    visibility:visible; 
    pointer-events:auto;
  }
  .open_menu #header { 
    background:#000 !important; 
    z-index:999999; 
  }
  .open_menu #header_logo svg, 
  .open_menu #header_logo2 svg { 
    fill:#fff !important; 
  }
  .open_menu #header_logo svg path, 
  .open_menu #header_logo2 svg path { 
    fill:#fff !important; 
  }
  .open_menu #header_logo .logo_text, 
  .open_menu #header_logo2 .logo_text { 
    color:#fff !important; 
  }
  .open_menu #header_logo img, 
  .open_menu #header_logo2 img { 
    filter: brightness(0) invert(1) !important; 
  }
  /* オーバーレイエフェクトは不要（全画面なので） */
  #container:before { display:none; }
  .open_menu #container { }
  .open_menu #js-footer-bar { display:none; }
  body.admin-bar #drawer_menu { top:32px; height:calc(100vh - 32px); height:calc(100dvh - 32px); }
}
@media only screen and (max-width: 782px) {
  body.admin-bar #drawer_menu { top:48px; height:calc(100vh - 48px); height:calc(100dvh - 48px); }
}


/* ドロワーメニューのスクロールバー */
#drawer_menu_mobile .simplebar-scrollbar:before { background:#aaa !important; }


/* 閉じるボタン（全画面オーバーレイ用） */
@media screen and (max-width:1100px) {
  #drawer_menu .header { 
    position:relative; 
    width:100%; 
    height:80px; 
    border-bottom:1px solid rgba(255,255,255,0.1); 
    display:flex; 
    align-items:center; 
    justify-content:flex-end;
    padding:0 20px;
  }
  /* #drawer_mneu_close_button - 削除済み（文字化け対応） */
}


/* グローバルメニュー（全画面オーバーレイ用） */
@media screen and (max-width:1100px) {
  #mobile_menu { 
    width:100%; 
    margin:0; 
    padding:40px 0;
  }
  #mobile_menu ul { 
    margin:0; 
    list-style:none;
    padding:0;
  }
  #mobile_menu li ul { display:none; }
  #mobile_menu a {
    position:relative; 
    display:block; 
    margin:0; 
    padding:0 60px 0 40px; 
    height:60px; 
    line-height:60px; 
    overflow:hidden; 
    text-decoration:none;
    color:#fff !important; 
    font-size:18px; 
    font-weight:300;
    border-bottom:1px solid rgba(255,255,255,0.1); 
    transition: background-color 0.2s ease, padding-left 0.2s ease;
    overflow:hidden; 
    white-space:nowrap; 
    text-overflow:ellipsis; 
    visibility:visible;
  }
  #mobile_menu a:hover {
    background-color:rgba(255,255,255,0.05);
    padding-left:50px;
  }
  #mobile_menu li li a { 
    border:none; 
    height:60px; 
    line-height:60px; 
    font-size:16px;
    padding-left:60px;
  }
  #mobile_menu li li a:hover {
    padding-left:70px;
  }
}


/* グローバルメニュー（子メニュー） - 全画面オーバーレイ用 */
@media screen and (max-width:1100px) {
  #mobile_menu li { position:relative; }
  #mobile_menu .child_menu_button { 
    display:block; 
    position:absolute; 
    text-align:center; 
    width:60px; 
    height:60px; 
    right:0px; 
    top:0px; 
    z-index:9; 
    cursor:pointer; 
  }
  #mobile_menu .child_menu_button:after {
    background:#fff; 
    content:''; 
    height:2px; 
    width:12px; 
    display:block;
    position:absolute; 
    right:26px; 
    top:30px; 
    transition: background-color 0.25s ease;
  }
  #mobile_menu .child_menu_button:before {
    background:#fff; 
    content:''; 
    height:12px; 
    width:2px; 
    display:block;
    position:absolute; 
    right:31px; 
    top:24px; 
    transition: background-color 0.25s ease;
  }
  #mobile_menu li.open > .child_menu_button:before { display:none; }
  #mobile_menu li.open > a { border-bottom:1px solid rgba(255,255,255,0.1); }
  #mobile_menu li li a { 
    background:rgba(255,255,255,0.03); 
    border-bottom:1px solid rgba(255,255,255,0.05); 
    position:relative; 
  }
  #mobile_menu li li:last-of-type a { border-bottom:none; }
  #mobile_menu li li a:after { 
    content:'\e94f'; 
    display:block; 
    font-family:'design_plus'; 
    font-size:10px; 
    position:absolute; 
    right:25px; 
    top:25px; 
    width:20px; 
    color:#fff; 
    z-index:2; 
    text-align:center; 
    pointer-events:none; 
  }
  #mobile_menu li li.menu-item-has-children > a:after { display:none; }
  #mobile_menu li li.open > a { border-bottom:1px solid rgba(255,255,255,0.05); }
  #mobile_menu li ul { background:transparent; }
}


/* 検索フォーム（ドロワーメニュー内も非表示） */
@media screen and (max-width:1100px) {
  #drawer_menu_search { 
    display:none;
  }
  #drawer_menu_search .input_area { 
    background:rgba(255,255,255,0.1); 
    width:100%; 
    height:50px; 
    border-radius:25px; 
    position:relative; 
    border:1px solid rgba(255,255,255,0.2);
  }
  #drawer_menu_search .input_area input { 
    font-size:16px; 
    border:none; 
    background:none; 
    height:50px; 
    width:calc(100% - 50px); 
    position:absolute; 
    left:0px; 
    top:0px; 
    padding:0 15px 0 25px; 
    color:#fff; 
  }
  #drawer_menu_search .input_area input::placeholder {
    color:rgba(255,255,255,0.6);
  }
  #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; 
    font-weight:600;
    position:absolute; 
    font-family:'design_plus'; 
    color:#fff; 
    font-size:16px; 
    content:'\e94c'; 
    left:50%; 
    top:50%;
    transform:translate(-50%, -50%);
    transition: color 0.25s ease;
  }
}


/* SNS（全画面オーバーレイ用） */
@media screen and (max-width:1100px) {
  #mobile_sns { 
    text-align:center; 
    padding:40px 40px 60px; 
    border-top:1px solid rgba(255,255,255,0.1);
    margin-top:auto;
  }
  #mobile_sns ul {
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    margin:0;
    padding:0;
    list-style:none;
  }
  #mobile_sns li { 
    margin:0 10px 10px 0; 
  }
  #mobile_sns li a {
    display:block;
    width:44px;
    height:44px;
    border-radius:50%;
    background:rgba(255,255,255,0.1);
    transition: background-color 0.2s ease, transform 0.2s ease;
  }
  #mobile_sns li a:hover {
    background:rgba(255,255,255,0.2);
    transform:scale(1.1);
  }
  #mobile_sns li a:before { 
    color:#fff; 
    line-height:44px;
  }
  #mobile_sns li.note a:before { 
    background-color: #fff; 
  }
}



/* ----------------------------------------------------------------------
 SERVICE
---------------------------------------------------------------------- */

@media screen and (max-width:768px) {
  h1.large_headline {
    font-size: 16vw;
  }
}


/* ----------------------------------------------------------------------
 ブログ詳細ページ
---------------------------------------------------------------------- */


/* タイトルエリア */
@media screen and (max-width:1100px) {
  #single_post_header { width:100%; max-width:100%; margin:0 auto 58px; }
  #single_post_header .title { font-size:var(--single_post_title_font_size_tb); }
  #single_post_header .work-title { font-size:20px; }
}
@media screen and (max-width:800px) {
	#single_post_header { margin:0 0 38px; }
  #single_post_header .title { font-size:var(--single_post_title_font_size_sp); }
  #single_post_header .work-title { font-size:18px; }
	#single_post_header .category_button_list { margin-bottom:15px; }
	#single_post_header .tag_button_list { margin-bottom:15px; }
	#single_post_header .meta { margin-top:12px; }
	#single_post_header .date { font-size:14px; }
	#single_post_header .date::before { font-size:16px; top:1.5px; }
	#single_post_header .update { font-size:14px; }
	#single_post_header .update::before { font-size:16px; top:1.5px; }
	#single_post_header_image { border-radius:0; margin:0 -20px 33px; width:calc(100% + 40px); }
}


/* SNSボタン */
@media screen and (max-width:800px) {
  #single_share_top { margin:0 0 40px 0; }
  #single_share_top .share-top { }
  #single_share_bottom { margin:40px 0 0; }
  #single_share_bottom .share-btm { margin-bottom:0 !important; padding:0; }
  #single_share_top .mt10, #single_share_top .mt10 { margin:0 !important; }
  #single_share_bottom .mb45, #single_share_bottom .mb45 { margin:0 !important; }
  .share-type1 ul { text-align:center; margin-bottom:-5px !important; }
  .share-type3 ul { text-align:center; margin-bottom:-5px !important; }
  .share-type2 ul.type2 { text-align:center; margin-bottom:-5px !important; }
  .share-type4 ul.type4 { text-align:center; margin-bottom:-5px !important; }
  .sns_default_top  { text-align:center; margin-bottom:-5px !important; }
}


/* コピーボタン */
@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) {
}


/* 広告 */
@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; }
}

@media (max-width: 767px) {
  .single_banner { line-height:2; }
}

/* ナビゲーション */
@media screen and (max-width:1100px) {
	#next_prev_post { }
	#next_prev_post .item { height:50px; }
  #next_prev_post .nav { display:block; }
  #next_prev_post .title { display:none; }
  #next_prev_post .nav {
		position:relative; text-align:center; width:100%; font-weight:500; font-size:12px; line-height:1;
    -webkit-box-sizing:border-box; box-sizing:border-box;
    -webkit-transition: color 0.2s ease; transition: color 0.2s ease;
  }
	#next_prev_post .nav:after {
    z-index:10; position:absolute; margin-top:2px; left:15px; top:50%; -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%);
    font-family:'design_plus'; color:#000; font-size:12px; font-weight:500; display:block;
    -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
    -webkit-transition: all 0.2s ease; transition: all 0.2s ease;
  }
	#next_prev_post .prev_post .nav:after { content:'\e90f'; }
  #next_prev_post .next_post .nav:after { content:'\e910'; left:auto; right:15px; }
}
@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; }
}


/* 関連記事 */
#related_post .related_post_carousel_wrap, body.short_content_width #related_post .related_post_carousel_wrap { max-width:inherit; width:calc( var(--vw) * 100 - 120px); }
#related_post .blog_list { max-width:inherit; }
#related_post .blog_list .item, body.short_content_width #related_post .blog_list .item { width:calc( (var(--vw) * 100 - 120px) / 3 - 32px) !important; }
#related_post .related_post_carousel_button { display:flex; flex-wrap:wrap; justify-content:center; margin-top:30px; }
@media screen and (max-width:1100px) {
  #related_post .related_post_carousel_wrap, body.short_content_width #related_post .related_post_carousel_wrap { width:calc( var(--vw) * 100 - 80px); }
  #related_post .blog_list .item, body.short_content_width #related_post .blog_list .item { margin-right:40px; width:calc( (var(--vw) * 100 - 80px) / 2 - 20px) !important; }
}
@media screen and (max-width:800px) {
	#related_post { padding:40px 0; }
	#related_post .headline { font-size:20px; margin:0 0 40px 0; }
  #related_post .related_post_carousel_wrap, body.short_content_width #related_post .related_post_carousel_wrap { width:100%; }
  #related_post .blog_list .item, body.short_content_width #related_post .blog_list .item { margin:0 10px; width:260px !important; }
	.related_post_carousel_button_wrap { display:none; flex-wrap:wrap; justify-content:center; }
	#related_post .swiper-button-next { position:relative; top:auto !important; margin:40px 5px 0; left:auto; right:auto; }
  #related_post .swiper-button-prev { position:relative; top:auto !important; margin:40px 5px 0; left:auto; right:auto; }
	#related_post .swiper-nav-button.swiper-button-disabled { opacity:0.5 !important; }
	#related_post .item:first-of-type { margin-left:20px; }
	#related_post .item:last-of-type { margin-right:20px !important; }
	#related_post .related_carousel_scrollbar { margin-top:40px; }
}
@media screen and (max-width:600px) {
  #related_post .related_post_carousel_wrap, body.short_content_width #related_post .related_post_carousel_wrap { width:100%; }
}




/* ----------------------------------------------------------------------
 その他のページ
---------------------------------------------------------------------- */
/* 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; }
}




/* ----------------------------------------------------------------------
 フッター
---------------------------------------------------------------------- */
/* バナー */
#footer_banner a { padding:0 60px; aspect-ratio:initial; height:250px; }
#footer_banner a:first-of-type { padding-left:60px; }
@media screen and (max-width:1100px) {
	#footer_banner { display:block; }
	#footer_banner a { padding:0 40px !important; width:100% !important; }
  #footer_banner a:first-of-type { padding-left:40px; }
	#footer_banner.banner_num2 a:nth-child(2):before { width:100%; height:1px; }
	#footer_banner.banner_num3 a:nth-child(2):before, #footer_banner.banner_num3 a:nth-child(3):before { width:100%; height:1px; }
}
@media screen and (max-width:800px) {
	#footer_banner a { padding:0 20px !important; height:150px !important; }
  #footer_banner a:first-of-type { padding-left:20px; }
	#footer_banner .title .label { margin-right:15px; }
	#footer_banner .sub_title { font-size:16px; margin-top:10px; }
}


/* ロゴエリア */
#footer { border-top:1px solid #ddd; }
#footer_inner { max-width:inherit; padding:100px 60px; }
@media screen and (max-width:1100px) {
  #footer_inner { padding:80px 40px; }
}
@media screen and (max-width:800px) {
  #footer_inner { padding:40px 20px 35px; }
  #footer_logo img.pc { display:none; }
  #footer_logo img.mobile { display:block; }
	#footer_address { font-size:14px; }
	#footer_sns { margin-top:10px; }
}


/* メニュー */
#footer_nav { padding:0 60px; }
@media screen and (max-width:1100px) {
  #footer_nav { padding:0 40px; }
	#footer_nav li { font-size:14px; }
	#footer_nav li a { height:50px; line-height:50px; }
}
@media screen and (max-width:800px) {
  #footer_nav { padding:0 20px; }
	#footer_nav li { margin-right:20px; }
  #footer_nav li:last-of-type { margin-right:0; }
}


/* コピーライト */
#copyright span { max-width:inherit; padding:0 60px; }
@media screen and (max-width:1100px) {
  #copyright span { padding:0 40px; }
	#copyright { height:50px; line-height:50px; }
}
@media screen and (max-width:800px) {
	#copyright { display:flex; flex-wrap:nowrap; overflow:auto; }
  #copyright span { padding:0 20px; white-space:nowrap; }
}


/* ページ上部へ戻るボタン */
@media screen and (max-width:1100px) {
	body.show_footer_bar #return_top.active { bottom:68px; }
  #return_top a { height:50px; width:50px; line-height:50px; }
  #return_top.active { transform: translate3d(0,0,0); bottom:25px; }
	/* #return_top a .arrow:before, #return_top a .arrow:after { left:18px; } */
}
@media screen and (max-width:800px) {
	#return_top { right:20px; }
	.p-footer-bar + #return_top { bottom:0px; }
	.p-footer-bar + #return_top.active { bottom:68px; }
}
@media screen and (max-width:600px) {
	.open_menu #return_top.active { right:calc(100% + 25px); }
}




/* ----------------------------------------------------------------------
 ウィジェット
---------------------------------------------------------------------- */
/* 基本設定 */
@media screen and (max-width:1100px) {
  .widget_content { width:calc(50% - 20px); margin:0 40px 40px 0; }
	.widget_content:nth-child(2n) { margin-right:0; }
}
@media screen and (max-width:800px) {
  .widget_content { width:calc(50% - 10px); margin:0 20px 40px 0; }
	.widget_content:nth-child(2n) { margin-right:0; }
	.widget_headline { padding:0 20px; height:50px; }
}
@media screen and (max-width:650px) {
  .widget_content { width:auto; margin:0 0 30px 0; }
	.widget_content:last-of-type { margin-bottom:0; }
}


/* タブ記事 */
@media screen and (max-width:800px) {
  .widget_tab_post_list_button div { height:50px; line-height:50px; }
}


/* 人気の記事 */
@media screen and (max-width:800px) {
	.popular_post_widget a { height:80px; }
  .popular_post_widget .rank { line-height:80px; }
  .popular_post_widget .title { padding:0 20px; }
}


/* バナー */
@media screen and (max-width:800px) {
  .tcd_banner_widget .title_area { padding:20px 25px; }
}


/* アーカイブ　ドロップダウン */
@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 { padding:0 20px; height:50px; line-height:50px; }
	.widget_categories li li a { padding-left:calc(20px + 1em); }
  .widget_categories li li li a { padding-left:calc(20px + 2em); }
	.widget_categories li .post-count { right:12px; top:8px; width:35px; height:35px; line-height:35px; font-size:11px; }
}


/* デフォルトのアーカイブ */
@media screen and (max-width:800px) {
	.widget_archive li { font-size:14px; }
  .widget_archive li a { padding:0 20px; height:50px; line-height:50px; }
  .widget_archive li li a { padding-left:calc(20px + 1em); }
  .widget_archive li li li a { padding-left:calc(20px + 2em);; }
  .widget_archive li .post-count { right:12px; top:12px; }
}


/* デフォルトのナビ　*/
@media screen and (max-width:800px) {
  .widget_nav_menu li a { padding:0 20px; height:50px; line-height:50px; }
  .widget_nav_menu li li a { padding-left:calc(20px + 1em); }
  .widget_nav_menu li li li a { padding-left:calc(20px + 2em); }
}


/* 検索 */
@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:3px; }
}


/* デフォルトの最近の記事 */
@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 { padding:0 20px; height:50px; line-height:50px; }
  .widget_pages li li a { padding-left:calc(20px + 1em); }
  .widget_pages li li li a { padding-left:calc(20px + 2em); }
}


/* デフォルトのナビ */
@media screen and (max-width:800px) {
	.widget_nav_menu li { font-size:14px; }
  .widget_nav_menu li a { padding:0 20px; height:50px; line-height:50px; }
  .widget_nav_menu li li a { padding-left:calc(20px + 1em); }
  .widget_nav_menu li li li a { padding-left:calc(20px + 2em); }
}


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


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


/* デフォルトのアーカイブとカテゴリー　ドロップダウンメニュー */
@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:23px; }
}


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




/* ----------------------------------------------------------------------
 コメント
---------------------------------------------------------------------- */
@media screen and (max-width:800px) {
	#comments { margin:40px 0 0 0; }
  #comments .headline { font-size:20px; margin-bottom:40px; }
}




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


