@charset "utf-8";


/* ----------------------------------------------------------------------
 基本設定
---------------------------------------------------------------------- */
/* レイアウト */
#container { position:relative; height:100%; }
#main_contents { width:auto; padding:40px 0 60px; margin:0 auto; display:block; }
#main_contents:after { display:none; }
#main_col { width:auto; max-width:770px; margin:0 auto; padding:0; }
body.page #main_contents { padding-top:60px; }
body.page #main_col { padding-top:0px; }
body.hide_sidebar #main_col { width:auto; padding-top:0px; }
#side_col {
  width:auto; max-width:770px; margin:70px auto 0;
  display:-webkit-box; display:-ms-flexbox; display:-webkit-flex; display:flex;
  -ms-flex-wrap:wrap; -webkit-flex-wrap:wrap; flex-wrap:wrap;
}
@media screen and (max-width:900px) {
  #main_contents { padding:20px 20px 40px; display:block; }
  #main_col { width:auto !important; margin-bottom:40px; padding:0; }
  #side_col { width:auto; margin:40px auto 0; display:block; max-width:365px; }
}
@media screen and (max-width:750px) {
  body.page #main_contents { padding-top:35px; }
}
@media screen and (max-width:550px) {
  #main_contents { padding:20px 20px 0; }
  #side_col { max-width:inherit; }
}


/* ドロワーメニュー */
#drawer_menu {
  display:block; position:fixed; top:0px; right:-400px; width:400px; height:100%; background:#333; overflow:auto; z-index:9999;
  -webkit-transition:right 300ms cubic-bezier(0.190, 1.000, 0.220, 1.000); transition:right 300ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
  -webkit-backface-visibility: hidden; backface-visibility: hidden;
  -webkit-overflow-scrolling: touch;
}
.open_menu #drawer_menu { right:0; box-shadow:-5px 0 20px 0 rgba(0,0,0,0.4); }
@media screen and (max-width:500px) {
  #drawer_menu { right:-80%; width:80%; }
}


/* ドロワーメニュー展開時のオーバーレイ */
.open_menu #container:before {
  content:''; display:block; width:100%; height:100%; position:fixed; top:0px; left:0px; background:rgba(0,0,0,0.6); z-index:9999;
}
/* safariとedgeのみ背景をぼかす */
_::-webkit-full-page-media, _:future, :root .open_menu #container:before { background:rgba(0,0,0,0.6); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); }
@supports (-ms-ime-align: auto) {
  .open_menu #container:before { background:rgba(0,0,0,0.6); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); }
}
/* ぼかしはここまで */


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


/* admin bar利用時 */
body.admin-bar { padding-top:32px; }
body.admin-bar.header_fix_mobile #header { margin-top:32px; }
body.admin-bar #drawer_menu { padding-top:32px; }
.mobile body.admin-bar.header_fix_mobile { padding-top:102px; }
@media screen and (max-width:781px) {
  body.admin-bar { padding-top:46px; }
  body.admin-bar.header_fix_mobile #header { margin-top:46px; }
  body.admin-bar #drawer_menu { padding-top:46px;}
  body.admin-bar.fixed_find_menu #find_menu_wrap { top:46px; }
  body.admin-bar.fixed_find_menu { padding-top:106px; }
  .mobile body.admin-bar.header_fix_mobile { padding-top:126px; }
}


/* デザインボタン */
@media screen and (max-width:750px) {
  .design_button { height:50px; }
  .design_button a { min-width:240px; height:50px; line-height:50px; font-size:14px; padding:0 15px;  }
}


/* デザイン見出し */
.design_headline2 { margin:100px 0 63px 0 !important; padding:0 0 0 0 !important; }
@media screen and (max-width:750px) {
	.design_headline1 { font-size:20px !important; margin:0 0 30px 0 !important; padding:0 !important; }
  .design_headline2 { font-size:18px !important; margin:33px -20px 35px !important; }
  .design_headline2 span { padding-top:15px; }
	body.hide_sidebar .design_headline2 { margin-right:-20px !important; padding-right:-20px !important; }
	.two_column_image + .design_headline2 { margin-top:40px !important; }
}


/* ライン */
.design_line { margin:50px 0px 53px 0; }
@media screen and (max-width:750px) {
  .design_line { margin:32px -20px 35px; width:calc(100% + 40px); }
}


/* 横並びの画像 */
@media screen and (max-width:750px) {
  .two_column_image { margin:35px 0 35px; }
  .design_headline2 + .two_column_image { margin-top:0; }
  .two_column_image .item:first-of-type { margin-right:1px; }
}


/* SLOARIS用ロード画面 */
@media screen and (max-width:750px) {
  body.use_loading_screen.load_screen_animation_type2 #container {  transform: translate3d(0px, 30px, 0px); }
  body.use_loading_screen.load_screen_animation_type3 #container { transform: translate3d(0px, -30px, 0px); }
}




/* ----------------------------------------------------------------------
 トップページ　ヘッダーコンテンツ
---------------------------------------------------------------------- */
#header_slider_wrap { height:800px; }
#header_slider { height:800px; }
#header_slider .item { height:800px; }
#header_slider .caption { width:100%; padding:0 60px; max-width:1150px; }
@media screen and (max-width:950px) {
  #header_slider_wrap { height:700px; }
  #header_slider { height:700px; }
  #header_slider .item { height:700px; }
  #header_slider .caption { padding:0 40px; }

  #header_slider_nav_wrap.stop_animation{ display:none; }
  #header_slider .slick-dots { display: block !important; position:absolute; bottom:23px; left:0px; width:100%; z-index:10; text-align:center; }
  #header_slider .slick-dots li { display:inline-block; width:10px; height:10px; margin:0 7px; font-size:10px; }
  #header_slider .slick-dots button { cursor:pointer; border:none; color:transparent; width:14px; height:10px; display:block; font-size:0; background:none; position:relative; }
  #header_slider .slick-dots button::before { content:''; display:block; width:10px; height:10px; line-height:10px; background:none; border:1px solid #fff; border-radius:12px; position: absolute; top:0; left:0; }
  #header_slider .slick-dots button:hover::before, #header_slider .slick-dots .slick-active button::before { background:#ccc; border-color:#ccc; }
}
@media screen and (max-width:750px) {
  #header_slider_wrap { height:555px; }
  #header_slider { height:555px; }
  #header_slider .item { height:555px; }
  #header_slider .caption { padding:0 20px; }
  #header_slider .catch { font-weight:600 !important; }
  #header_slider .desc { margin:10px 0 -5px; }
  #header_slider .desc p.pc { display:none; }
  #header_slider .desc p.mobile { display:block; }
  #header_slider .design_button { font-size:14px; min-width:200px; height:45px; line-height:45px; padding:0 20px; margin-top:15px; }
  #header_slider .bg_image.pc { display:none; }
  #header_slider .bg_image.mobile { display:block; }
	#header_slider_nav_wrap { bottom:15px; height:86px; }
	#header_slider_nav_wrap.two_item { display:none; }
  #header_slider_nav_wrap.stop_animation{ display:none; }
	#header_slider_nav .nav_item { width:255px; height:86px; margin:0 7px; }
	#header_slider_nav .nav_catch {	font-size:12px; padding:0 40px 0 20px; }
  #header_slider_nav .nav_item:after { width:255px; height:86px; left:-255px; }
  #header_slider_nav .nav_item:before { font-size:12px; top:40px; right:20px; }

  /* ドットナビゲーション */
  #header_slider .slick-dots { display: block !important; position:absolute; bottom:23px; left:0px; width:100%; z-index:10; text-align:center; }
  #header_slider .slick-dots li { display:inline-block; width:10px; height:10px; margin:0 7px; font-size:10px; }
  #header_slider .slick-dots button { cursor:pointer; border:none; color:transparent; width:14px; height:10px; display:block; font-size:0; background:none; position:relative; }
  #header_slider .slick-dots button::before { content:''; display:block; width:10px; height:10px; line-height:10px; background:none; border:1px solid #fff; border-radius:12px; position: absolute; top:0; left:0; }
  #header_slider .slick-dots button:hover::before, #header_slider .slick-dots .slick-active button::before { background:#ccc; border-color:#ccc; }
}


/* ヘッダーコンテンツを表示しない場合 */
body.no_index_header_content #header { border-bottom:1px solid #ddd; }
body.no_index_header_content.header_fix_mobile #header { border-bottom:none; }
body.no_index_header_content #index_content_builder { border-top:1px solid #ddd; padding:60px 0 0 0; }




/* ----------------------------------------------------------------------
 トップページ　その他
---------------------------------------------------------------------- */
/* 共通設定 */
.cb_content:last-of-type { padding-bottom:100px; }
@media screen and (max-width:750px) {
  .cb_headline .sub_headline { font-size:14px; }
	.cb_content:last-of-type { padding-bottom:40px; }
}


/* ニュースティッカー */
@media screen and (max-width:950px) {
  #index_news_ticker { width:100%; height:70px; }
}
@media screen and (max-width:750px) {
  #index_news_ticker { width:100%; height:115px; }
	#index_news_ticker .item { height:auto; padding:20px 20px 15px; display:block; }
	#index_news_ticker .date { width:auto; margin:0 10px 0 0; height:25px; line-height:26px; font-size:12px; float:left; }
  #index_news_ticker .category { font-size:11px; margin-right:0px; min-width:80px; height:25px; line-height:26px; padding:0 15px; }
  #index_news_ticker .title { font-size:14px; text-overflow:clip; white-space:normal; max-height:3.6em; margin-top:10px; clear:both; }
  #index_news_ticker .title a { overflow:visible; text-overflow:clip; white-space:normal; display:-webkit-inline-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
}


/* タブコンテンツ */
.tab_content_top .tab { width:100%; }
.tab_content_bottom { width:auto; border:none; padding:100px 60px; }
.tab_content_bottom .item { left:60px; right:60px; }
.tab_content_bottom .image_area { width:50%; }
.tab_content_bottom .content { width:calc(50% - 60px); }
@media screen and (max-width:950px) {
  .tab_content_top { height:500px; }
  .tab_content_top_inner { width:100%; padding:0 40px; }
  .tab_content_bottom { padding:100px 40px; }
  .tab_content_bottom .image_area { margin-right:40px; }
  .tab_content_bottom .content { width:calc(50% - 40px); }
  .tab_content_top .tab { height:50px; }
  .tab_content_top .tab .item { font-size:14px; height:50px; line-height:50px; min-width:150px; margin:0 4px; padding:0 15px; border-radius:5px 5px 0 0; }
}
@media screen and (max-width:750px) {
  .tab_content_top { height:360px; }
  .tab_content_top_inner { padding:0 20px; }
  .tab_content_top .desc { line-height:2; margin:6px 0 0; }
  .tab_content_top .design_button { margin-top:20px; }
  .tab_content_top .tab { height:40px; }
  .tab_content_top .tab .item { font-size:12px; height:40px; line-height:40px; min-width:70px; }
  .tab_content_bottom { padding:40px 20px; }
  .tab_content_bottom .item { left:20px; right:20px; top:40px; }
  .tab_content_bottom .item_inner { display:block; }
  .tab_content_bottom .image_area { width:100%; margin:0 auto; max-width:500px; }
  .tab_content_bottom .content { width:100%; margin:37px 0 0 0; }
  .tab_content_bottom .title { margin-bottom:11px; }
  .tab_content_bottom .catch { margin-bottom:6px; }
  .tab_content_bottom .desc { line-height:2; }
  .tab_content_bottom .design_button { margin-top:33px; }
	.tab_content_bottom .slick-dots { bottom:20px; }
}


/* ブログ一覧 */
.cb_blog_list { width:auto; padding:90px 0px 100px; border:none; }
.cb_blog_list .blog_list { margin:60px 0px -70px; }
.cb_blog_list .cb_desc { margin:55px 60px 0; }
.cb_blog_list .image_link { width:50%; padding-right:30px; -webkit-box-sizing:border-box; box-sizing:border-box; }
.cb_blog_list .content { width:50%; padding-left:30px; }
@media screen and (max-width:950px) {
  .cb_blog_list .cb_desc { margin:55px 40px 0; }
  .cb_blog_list .item { height:300px; padding:40px; }
  .cb_blog_list .image_link { padding-right:20px; height:220px; }
  .cb_blog_list .content { padding-left:20px; height:220px; }
}
@media screen and (max-width:750px) {
  .cb_blog_list { padding:40px 0px 40px; }
  .cb_blog_list .cb_desc { margin:25px 20px 0; }
  .cb_blog_list .blog_list { margin:30px 0px -10px; }
  .cb_blog_list .item { height:auto; padding:20px 20px 12px; }
  .cb_blog_list .image_link { width:100%; padding:0px; margin:0 0 20px 0; }
  .cb_blog_list .content { width:100%; padding:0px; height:auto; }
  .cb_blog_list .content_inner { position:relative; top:auto; -ms-transform: translateY(0%); -webkit-transform: translateY(0%); transform: translateY(0%); }
  .cb_blog_list .meta { margin-bottom:12px; }
  .cb_blog_list .meta li:first-of-type { margin-right:10px; }
  .cb_blog_list .category a, .cb_blog_list .pr_label { font-size:11px; min-width:80px; height:25px; line-height:26px; padding:0 15px; }
  .cb_blog_list .date { font-size:12px; height:25px; line-height:26px; }
  .cb_blog_list .desc { display:none; margin:7px 0 0 0; }
  .cb_blog_list .design_button { margin-top:40px; }
}
@media screen and (max-width:550px) {
  .cb_blog_list .image_link { height:180px; }
}


/* サービス一覧 */
.cb_service_list { background:#f6f6f6; }
.cb_service_top { width:auto; padding:90px 60px; border:none; }
.cb_service_bottom { width:auto; padding:70px 60px; border:none; }
.cb_service_list.cb_content:last-of-type .cb_service_bottom { padding-bottom:100px; }
.cb_service_item_list .item { position:relative; height:500px; overflow:hidden; }
.cb_service_item_list .item a { display:block; position:relative; width:100%; height:100%; color:#fff; }
.cb_service_item_list .item a:after { content:''; display:block; width:50%; height:100%; background:rgba(0,0,0,0.5); position:absolute; right:0px; top:0px; z-index:2; }
.cb_service_item_list .content {
	width:50%; position:absolute; right:0px; bottom:auto !important; z-index:3; padding:60px;
	position:absolute; top:50%; -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%);
  -webkit-box-sizing:border-box; box-sizing:border-box;
}
.cb_service_item_list .item:nth-child(even) a:after { right:auto; left:0px; }
.cb_service_item_list .item:nth-child(even) .content { right:auto; left:0px; }
.cb_service_item_list .title { font-weight:600; line-height:1.5; margin-top:8px; }
.cb_service_item_list .title span { display:block; }
.cb_service_item_list .sub_title { font-weight:500; }
.cb_service_item_list .title br { display:none; }
.cb_service_item_list .desc { line-height:2.4; color:#fff; margin-top:30px; }
.cb_service_item_list .image_wrap { display:block; width:100%; height:100%; position:relative; z-index:1; overflow:hidden; }
.cb_service_item_list .image { width:100%; height:100% !important; display:block; overflow:hidden; position:relative; z-index:2; }
.cb_service_item_list .bottom_title { font-weight:600; margin:38px 0 0 0; line-height:1; position:relative; display:inline-block; padding:0 20px 0 0; }
.cb_service_item_list .bottom_title:after {
  font-family:'design_plus'; content:'\e910'; font-size:14px; display:block; position:absolute; top:2px; right:0px; font-weight:500;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
  -webkit-transition: all 0.2s ease; transition: all 0.2s ease;
}
@media screen and (max-width:950px) {
	.cb_service_top { padding:90px 40px; }
  .cb_service_bottom { padding:70px 40px; }
}
@media screen and (max-width:750px) {
	.cb_service_list { z-index:2; position:relative; }
	.cb_service_top { padding:35px 20px; }
	.cb_service_top .cb_desc { line-height:2; margin:30px 0 0; }
  .cb_service_item_list .item { height:100%; }
  .cb_service_item_list .content { position:relative; width:100%; padding:35px 50px 50px; top:0; -ms-transform: translateY(0%); -webkit-transform: translateY(0%); transform: translateY(0%); }
	.cb_service_item_list .image_wrap { position:absolute; top:0px; left:0px; }
	.cb_service_item_list .item a:after { width:100%; }
  .cb_service_item_list .desc { line-height:2; margin-top:20px; }
  .cb_service_item_list .bottom_title { margin:23px 0 0 0; }
	.cb_service_item_list .bottom_title:after { font-size:12px; }
  .cb_service_bottom { padding:40px 40px; }
	.cb_service_list.cb_content:last-of-type .cb_service_bottom { padding-bottom:40px; }
}


/* お知らせ一覧 */
.cb_news_list { width:auto; padding:90px 60px 100px; border:none; }
@media screen and (max-width:950px) {
  .cb_news_list { padding:90px 40px 100px; }
}
@media screen and (max-width:750px) {
  .cb_news_list { padding:32px 20px 35px; }
  .cb_news_list.no_archive_button { padding-bottom:0; margin-bottom:-1px; }
	.cb_news_list.no_archive_button + .white_content { padding-top:40px !important; }
  .cb_news_list .news_category_list { margin:35px auto 30px; }
  .cb_news_list .design_button { margin-top:40px; margin-bottom:5px; }
  .cb_news_list .news_list { margin:0 -20px; }
	.cb_news_list .no_category_list { margin-top:35px; }
}


/* プロジェクト一覧 */
.cb_project_list { width:auto; padding:90px 0px 100px; border:none; }
.cb_project_list .cb_headline::before {
  content: "";
  display: block;
  height: 60px;
  margin-top: -60px;
  visibility: hidden;
}
.cb_project_list .project_list { margin:60px 0px -70px; }
.cb_project_list .cb_desc { margin:55px 60px 0; }
@media screen and (max-width:950px) {
  .cb_project_list .cb_desc { margin:55px 40px 0; }
}
@media screen and (max-width:750px) {
  .cb_project_list { padding:40px 0px 40px; }
  .cb_project_list .project_list { margin:30px 0px -10px; }
  .cb_project_list .cb_desc { margin:25px 20px 0; }
  .cb_project_list .design_button { margin-top:40px; }
}


/* フリースペース */
.cb_free_space.type1 { width:auto; padding:0 60px; border:none; }
.cb_free_space.type2 { width:auto; }
@media screen and (max-width:950px) {
  .cb_free_space.type1 { padding:0 40px; }
}
@media screen and (max-width:750px) {
  .cb_free_space.type1 { padding:0 20px; }
}


/* デモサイト用 */
@media screen and (max-width:750px) {
  .cb_free_space .index_free_design_content .catch { font-size:20px; margin:0 0 17px 0; }
  .cb_free_space .index_free_design_content img { display:block; margin:25px auto 0; max-width:250px; }
}




/* ----------------------------------------------------------------------
 会社概要アーカイブページ
---------------------------------------------------------------------- */
#company_archive_top { padding:0 0 1px 0; width:auto; border:none; }
#company_archive_bottom_inner { padding:70px 0 100px 0; width:auto; border:none; }
@media screen and (max-width:950px) {
	#company_list { margin:0 40px -40px; }
  #company_list .image_wrap { height:200px; }
	#company_list .title { padding:0 40px; }
	#company_list .catch { padding:35px 40px; }
}
@media screen and (max-width:750px) {
	#company_archive_top .square_headline.inview { top:-20px; }
  #company_archive_top .square_headline.inview.animate { top:-60px; }
  #company_archive_bottom_inner { padding:40px 0 40px 0; }
	#company_archive_bottom .top_catch { margin:-5px 0 33px; }
	#company_list { display:block; margin:0 20px -40px; }
  #company_list .item { width:100%; margin:0; }
	#company_list .title { padding:0 30px; }
	#company_list .catch { padding:15px 30px 32px; }
}
@media screen and (max-width:550px) {
  #company_list .image_wrap { height:160px; }
}




/* ----------------------------------------------------------------------
 会社概要詳細ページ
---------------------------------------------------------------------- */
@media screen and (max-width:750px) {
  .single_company_catch { font-size:20px; margin:-5px 0 35px; }
}


/* 企業理念 */
@media screen and (max-width:750px) {
  .philosophy_image1 { margin:0 auto; display:block; padding:14px 0 7px; max-width:240px !important; }
	.philosophy_image1 img { }
}


/* 会社概要 */
@media screen and (max-width:750px) {
  .outline_table { margin:33px 0 0 !important; font-size:14px; }
	.outline_table th { width:90px !important; padding:0 !important; }
}


/* 沿革 */
@media screen and (max-width:750px) {
  .history_table { font-size:14px; margin:33px 0 0 !important; }
  .history_table .year { width:78px !important; font-size:14px; }
  .history_table .month { width:50px !important; }
}


/* アクセス */
@media screen and (max-width:750px) {
  #access_map { margin:33px -20px 0; }
  .qt_google_map { height:320px !important; }
  .qt_google_map .qt_googlemap_embed { height:320px !important; }
  #access_map .qt_google_map .pb_googlemap_custom-overlay-inner { top: -84px; left: -50px; width: 90px !important; height: 90px !important; }
/*	#access_map .qt_google_map .pb_googlemap_custom-overlay-inner .pb_googlemap_custom-overlay-img { max-width:70px; height:auto; } */
	#access_info { margin:35px 0 -7px; text-align:center; }
  #access_info .headline { font-size:16px; margin:0 0 6px 0; }
  #access_info .link a { padding:6px 0; }
}


/* 提携会社 */
@media screen and (max-width:750px) {
  #partner_list { display:block; border:none; margin:33px -20px -40px; }
  #partner_list .item {	width:100%; height:auto; border:none; border-top:1px solid #ddd; padding:50px 40px 35px; }
  #partner_list .item img { margin:0 auto; }
  #partner_list .item:nth-child(1) img { margin-top:auto; }
	#partner_list .item .image { margin-bottom:50px; }
  #partner_list .item p { position:relative; bottom:auto; padding:0; }
}




/* ----------------------------------------------------------------------
 プロジェクトアーカイブページ
---------------------------------------------------------------------- */
#project_archive { padding:0 0 100px; width:auto; border:none; }
.project_list { margin:0; }
@media screen and (max-width:950px) {
  .project_list .image_wrap { height:250px; }
  .project_list .category { margin-left:40px; }
	.project_list .title { padding:0 40px; }
	.project_list .desc { margin:20px 40px 0; }
}
@media screen and (max-width:750px) {
	#project_archive { padding-bottom:40px; }
	body.no_page_nav #project_archive { padding-bottom:0px; }
	#project_archive .square_headline.inview { top:-20px; }
  #project_archive .square_headline.inview.animate { top:-60px; }
  .project_list { margin:0; display:block; }
	.project_list .item { width:100%; margin:0 0 33px 0; }
	.project_list .category { font-size:14px; height:50px; line-height:50px; margin-left:20px; }
	.project_list .title { padding:0 20px; bottom:15px; }
	.project_list .desc { line-height:2; max-height:4em; margin:13px 20px 0; }
}
@media screen and (max-width:550px) {
  .project_list .image_wrap { height:205px; }
}



/* ----------------------------------------------------------------------
 プロジェクト詳細ページ
---------------------------------------------------------------------- */
#related_project .design_headline2 { margin:0px 0 70px 0 !important; }
@media screen and (max-width:950px) {
  #project_title_area .image { height:350px; }
}
@media screen and (max-width:750px) {
	#project_title_area { margin:0 -20px 30px; }
	#project_title_area .category { height:50px; line-height:50px; margin:0 0 0 20px; }
	#project_title_area .image_wrap { width:100%; position:relative; margin:0 0 5px; padding-top:57%; }
	#project_title_area .image { position:absolute; top:0; left:0; width:100%; height:100%; margin:0; }
	#project_title_area .title { border:none; border-bottom:1px solid #ddd; padding:20px 20px; }
	#related_project { margin:35px 0 -18px 0; }
	#related_project .design_headline2 { font-size:16px !important; margin:0px 0 40px 0 !important; }
	#related_project .post_list { margin:0 30px; }
	#related_project .item { width:calc(50% - 9px); margin:0 18px 18px 0; }
	#related_project .image_wrap { margin:0 0 12px 0; height:120px; }
	#related_project .title { font-size:14px; max-height:4.8em; }
  #related_project .title span { -webkit-line-clamp:3; }
}
@media screen and (max-width:550px) {
	#related_project .post_list { margin:0; }
	#related_project .image_wrap { height:85px; }
}



/* ----------------------------------------------------------------------
 サービスアーカイブページ
---------------------------------------------------------------------- */
#service_archive { padding:0 0 100px; width:auto; border:none; }
#service_list { margin:0; }
#service_list .content_inner { padding:50px 50px 50px; }
@media screen and (max-width:950px) {
  #service_list .item { height:500px; }
	#service_list .content { height:100%; width:100%; }
}
@media screen and (max-width:750px) {
	#service_archive { padding:0; margin-bottom:-1px; }
  #service_list { margin:0; }
	#service_archive .square_headline.inview { top:-20px; }
  #service_archive .square_headline.inview.animate { top:-60px; }
	#service_list .content { position:relative; }
	#service_list .content_inner { padding:35px 50px 50px; position:relative; top:auto; -ms-transform: translateY(0%); -webkit-transform: translateY(0%); transform: translateY(0%); }
	#service_list .item { height:auto; }
	#service_list .catch { margin-top:20px; }
  #service_list .desc { line-height:2; margin-top:18px; max-height:6em; }
  #service_list .design_button { margin:23px 0 0 0; }
}
@media screen and (max-width:550px) {
	#service_list .design_button a { width:100%; }
}




/* ----------------------------------------------------------------------
 サービス詳細ページ
---------------------------------------------------------------------- */
#post_title2 { padding-right:0px; margin:-40px 0 60px 0; }
#service_banner .design_headline2 { margin:0 0 60px 0 !important; }
#service_banner { margin:50px 0 0px 0; }
@media screen and (max-width:950px) {
  #service_banner .content_inner { padding:0 40px; }
}
@media screen and (max-width:750px) {
  #post_title2 { padding-right:20px; margin:-20px -20px 40px 0; height:auto; }
	#post_title2 .title { height:auto; padding:12px 0; }
	#post_image2_wrap { width:calc(100% + 40px); position:relative; margin:0 -20px 33px; padding-top:64%; }
  #post_image2 { position:absolute; top:0; left:0; width:100%; height:100%; margin:0; }
	#service_banner { margin:33px 0 0 0; }
  #service_banner .design_headline2 { font-size:16px !important; margin:0 -20px 40px !important; }
	#service_banner .item a { height:auto; display:block; }
  #service_banner .image_wrap { width:100%; height:170px; }
	#service_banner .content { width:100%; }
  #service_banner .content_inner { padding:20px 30px; position:relative; top:auto; -ms-transform: translateY(0%); -webkit-transform: translateY(0%); transform: translateY(0%); }
	#service_banner .desc { line-height:2; max-height:6em; margin:3px 0 0 0; }
}




/* ----------------------------------------------------------------------
 固定ページ
---------------------------------------------------------------------- */
/* LPページ */
@media screen and (max-width:750px) {
	#tcd_lp_page_table { font-size:14px; margin:0 0 40px 0; }
  #tcd_lp_page_table th { width:90px !important; padding:0; }
}


/* FAQ */
@media screen and (max-width:750px) {
  .faq_list { margin:0 0 40px; }
  .faq_list .question { font-size:14px !important; padding:15px 45px 11px 20px !important; }
  .faq_list .question:before { right:17px; top:0; bottom:0; width:9px; height:1px; margin:auto; }
  .faq_list .question:after { right:21px; top:0; bottom:0; width:1px; height:9px; margin:auto;}
  .faq_list .answer { padding:15px 20px 15px; }
  .faq_list .answer p { line-height:2; }
}




/* ----------------------------------------------------------------------
 お知らせアーカイブページ
---------------------------------------------------------------------- */
#news_archive { padding:0 0 100px; width:auto; }
.news_category_list { margin:0 60px 100px; }
.news_list { margin:0 60px; }
@media screen and (max-width:950px) {
  .news_category_list { margin:0 40px 100px; }
  .news_list { margin:0 40px; }
}
@media screen and (max-width:750px) {
  #news_archive { padding:0 0 40px; }
	body.no_page_nav #news_archive { padding-bottom:0; }
	#news_archive .square_headline.inview { top:-20px; }
  #news_archive .square_headline.inview.animate { top:-60px; }
  .news_category_list, .news_category_sort_button { margin:0 20px 30px; }
  .news_category_list li, .news_category_sort_button li { font-size:14px; margin:0 10px 10px; }
	.news_category_list li a, .news_category_sort_button li a { padding-top:15px; }
  .news_list { margin:0; }
	.news_list .item { height:auto; border-left:none; border-right:none; margin:0 0 -1px 0; padding:20px 20px 15px; display:block; }
	.news_list .date { width:auto; margin:0 10px 0 0; height:25px; line-height:26px; font-size:12px; float:left; }
  .news_list .category { font-size:11px; margin-right:0px; min-width:80px; height:25px; line-height:27px; padding:0 15px; }
  .news_list .title { text-overflow:clip; white-space:normal; max-height:3.6em; margin-top:10px; clear:both; font-size:14px; }
  .news_list .title a { overflow:visible; text-overflow:clip; white-space:normal; display:-webkit-inline-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
}




/* ----------------------------------------------------------------------
 お知らせ詳細ページ
---------------------------------------------------------------------- */
#single_news_inner { width:auto; margin:0 auto; border:none; padding:60px 0 100px; }
#single_news #article { width:770px; padding:40px; }
#news_next_prev_post { margin:40px auto 0; width:770px; }
#recent_news { width:770px; margin:70px auto 0; }
#recent_news .news_list { margin:0; }
#recent_news .headline { margin-bottom:40px; }
#recent_news .design_button { margin-top:40px; }
@media screen and (max-width:900px) {
  #single_news_inner { padding:40px 0; }
  #single_news #article { width:auto; margin:0 40px; }
  #news_next_prev_post { margin:40px 40px 0; width:auto; }
  #recent_news { width:auto; margin:70px 40px 0; }
	#recent_news .design_button { margin-bottom:40px; }
}
@media screen and (max-width:750px) {
  #single_news { background:#fff; }
  #single_news_inner { padding:0; }
  #single_news #article { margin:0; padding:20px 20px; }
  #news_next_prev_post { margin:20px 20px 0; }
	#news_next_prev_post .item { height:50px; }
  #news_next_prev_post .item:first-of-type { border:none; margin-right:-1px; }
  #news_next_prev_post a {
		border:1px solid #ddd; text-align:center; display:block; width:100%; height:50px; line-height:50px;
	  -webkit-box-sizing:border-box; box-sizing:border-box;
  }
	#news_next_prev_post .title_area { display:block; position:relative; left:auto; top:auto; -ms-transform: translateY(0%); -webkit-transform: translateY(0%); transform: translateY(0%); }
  #news_next_prev_post .prev_post .title_area { padding:0; }
  #news_next_prev_post .next_post .title_area { padding:0; }
  #news_next_prev_post .title { display:none; }
  #news_next_prev_post .nav { display:block; font-size:14px;}
  #news_next_prev_post a:before {
    content:'\e90f'; font-family:'design_plus'; font-size:11px; top:1px; left:15px; position:absolute; background:none; width:auto; height:auto;
    -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
  }
  #news_next_prev_post .next_post a:before { content:'\e910'; left:auto; right:15px; }
  #recent_news { width:auto; margin:40px 0 0; }
	#recent_news .headline { margin-bottom:38px; }
}




/* ----------------------------------------------------------------------
 ブログアーカイブページ
---------------------------------------------------------------------- */
#blog_archive { padding:0 0 100px; width:auto; border:none; }
#blog_list .image_link { width:50%; padding-right:30px; -webkit-box-sizing:border-box; box-sizing:border-box; }
#blog_list .content { width:50%; padding-left:30px; }
@media screen and (max-width:950px) {
	#blog_list .item { height:300px; padding:40px; }
  #blog_list .image_link { padding-right:20px; height:220px; }
  #blog_list .content { padding-left:20px; height:220px; }
}
@media screen and (max-width:750px) {
  #blog_archive { padding:0 0 40px; }
	body.no_page_nav #blog_archive { padding-bottom:0; margin-bottom:-1px; }
	#blog_archive .square_headline.inview { top:-20px; }
  #blog_archive .square_headline.inview.animate { top:-60px; }
	#blog_list { display:block; }
	#blog_list .item { height:auto; padding:20px 20px 12px; }
  #blog_list .image_link { width:100%; padding:0px; margin:0 0 20px 0; }
  #blog_list .content { width:100%; padding:0px; height:auto; }
	#blog_list .content_inner { position:relative; top:auto; -ms-transform: translateY(0%); -webkit-transform: translateY(0%); transform: translateY(0%); }
  #blog_list .meta { margin-bottom:12px; }
	#blog_list .meta li:first-of-type { margin-right:10px; }
  #blog_list .category a, #blog_list .pr_label { font-size:11px; min-width:80px; height:25px; line-height:26px; padding:0 15px; }
	#blog_list .date { font-size:12px; height:25px; line-height:26px; }
	#blog_list .desc { display:none; margin:7px 0 0 0; }
}
@media screen and (max-width:550px) {
  #blog_list .image_link { height:180px; }
}


/* 投稿者ページ */
body.author .author_profile { width:auto; margin:0px 0 60px; padding:60px 60px 0; }
@media screen and (max-width:950px) {
  body.author .author_profile { margin:0 0 40px; padding:40px 40px 0; }
}
@media screen and (max-width:750px) {
  body.author .author_profile { padding:40px 20px 0; }
  body.author .author_profile .avatar_area { width:90px; height:90px; }
  body.author .author_profile .info { -webkit-width:calc(100% - 90px); width:calc(100% - 90px); }
}


/* ページナビ */
@media screen and (max-width:750px) {
  .page_navi { margin:40px 20px 1px; }
	.page_navi li { margin-bottom:-1px; }
  .page_navi .next, .page_navi .prev { display: none; }
  .page_navi a, .page_navi a:hover, .page_navi span{ width: 45px; height: 45px; line-height: 45px;}
  }


/* ----------------------------------------------------------------------
 ページヘッダー
---------------------------------------------------------------------- */
#page_header { height:500px; }
#page_header_inner { width:100% !important; padding:0 60px; webkit-box-sizing:border-box; box-sizing:border-box; }
@media screen and (max-width:750px) {
  #page_header { height:350px; }
  #page_header_inner { padding:0 30px; }
  #page_header .desc { font-size:15px; margin:10px 0 -5px; }
	#page_header .bg_image.pc { display:none; }
	#page_header .bg_image.mobile { display:block; }
}
@media screen and (max-width:550px) {
  #page_header { height:250px; }
}


/* 四角形の見出し */
@media screen and (max-width:750px) {
  #archive_square_headline { width:120px; height:120px; top:-60px; margin-bottom:-20px; }
}


/* 説明文 */
@media screen and (max-width:750px) {
  .archive_desc { line-height:2; margin:-25px 0 34px 0; text-align:center; padding:0 20px; }
}


/* パンくずリンク */
#bread_crumb ul { width:auto; padding:0 20px; }
#bread_crumb li { margin:0 5px 0 0; padding:0 15px 0 0; }
#bread_crumb li:after { line-height:46px; height:45px; bottom:-16px; }
#bread_crumb li a { height:45px; line-height:46px; }




/* ----------------------------------------------------------------------
 ヘッダー
---------------------------------------------------------------------- */
#header {
	height:60px; webkit-box-sizing:border-box; box-sizing:border-box;
  -webkit-transition: opacity 0.35s ease; transition: opacity 0.35s ease;
}
.use_mobile_header_fix #header:after {
  content:''; display:block; width:100%; height:60px; background:#000; top:-60px; left:0px; position:absolute; z-index:1;
  -webkit-transition: all 0.6s cubic-bezier(0.22, 1, 0.36, 1) 0s; transition: all 0.6s cubic-bezier(0.22, 1, 0.36, 1) 0s;
}
#header.active:after { top:0px; }
.open_menu #header { opacity:0; }
.mobile body.header_fix_mobile #header {
	position:fixed; top:0px; left:0px;
  -webkit-animation: shadow_animation 0.7s esase forwards 0.2s;
  animation: shadow_animation 0.7s ease forwards 0.2s;
}
.mobile body.header_fix_mobile #header:after { top:0px !important; }
.mobile body.hide_global_menu.header_fix_mobile #header { position:absolute; }
.mobile body.hide_global_menu.header_fix_mobile #header:after { display:none; }
.mobile body.single.header_fix_mobile { padding-top:60px; }
.mobile body.single.header_fix_mobile #header:before { display:none; }
.mobile body.single.header_fix_mobile #header.active:after { display:block; }
.mobile body.hide_header_image.header_fix_mobile { padding-top:60px; }
.mobile body.hide_header_image.header_fix_mobile #header.active:after { display:block; }
.mobile body.hide_header_logo.hide_global_menu.hide_header_image.header_fix_mobile { padding-top:0px; }


/* ロゴ */
#header_logo a { height:60px; line-height:60px; padding:0 20px !important; }
#header_logo .logo_image.pc { display:none; }
#header_logo .logo_image.mobile { display:block; }
#index_header_logo { left:20px; top:20px; }
@media screen and (max-width:750px) {
  #index_header_logo .logo_image.mobile { display:block; }
  #index_header_logo .logo_image.pc { display:none; }
}


/* メニューボタン */
#global_menu_button {
  position:absolute; z-index:2; right:0px; bottom:0px;
  display:inline-block; font-size:11px; width:60px; height:60px; line-height:60px; text-decoration:none; text-align:center;
}
#global_menu_button span {
  width:22px; height:2px; background:#fff; display:block; position:absolute;
  -webkit-transition-property:background-color; -webkit-transition-duration:0.2s; -webkit-transition-timing-function:ease;
  transition-property:background-color; transition-duration:0.2s; transition-timing-function:ease;
	-webkit-transition: all 0.3s ease; transition: all 0.3s ease;
}
#global_menu_button span:nth-child(1) { top:24px; left:20px; }
#global_menu_button span:nth-child(2) { top:30px; left:20px; }
#global_menu_button span:nth-child(3) { top:36px; left:20px; }
#global_menu_button:hover span { opacity:0.5; }
body.home #global_menu_button { opacity:0; }
body.home #global_menu_button.animate {
  -webkit-animation: opacityAnimation 1.0s ease forwards 0s;
  animation: opacityAnimation 1.0s ease forwards 0s;
}
body.stop_index_slider_animation #global_menu_button { opacity:1; }
body.hide_global_menu #global_menu_button { display:none !important; }
#header.active #global_menu_button span { background:#000 !important; }
body.single #global_menu_button span { background:#000 !important; }
body.hide_header_image #global_menu_button span, body.no_index_header_content #global_menu_button span { background:#000; }


/* メガメニュー */
.megamenu { display:none; }


/* グローバルメニュー */
#header #global_menu { display:none; }
#mobile_menu { width:100%; margin:0; }
#mobile_menu ul { margin:0; }
#mobile_menu li ul { display:none; }
#mobile_menu a {
  position:relative; display:block;  margin:0; padding:0 60px 0 20px; height:60px; line-height:60px; overflow:hidden; text-decoration:none;
  color:#fff; font-size:13px; border-bottom:1px solid #ddd;
  -webkit-box-sizing:border-box; box-sizing:border-box;
  overflow:hidden; white-space:nowrap; text-overflow:ellipsis; visibility:visible;
}
#mobile_menu a:hover { color:#fff; }
#mobile_menu ul ul a { padding-left:32px; }
#mobile_menu ul ul ul a { padding-left:47px; }
#mobile_menu ul ul ul ul a { padding-left:60px; }


/* グローバルメニュー（子メニュー） */
#mobile_menu li { position:relative; }
#mobile_menu .child_menu_button { display:block; position:absolute; text-align:center; width:60px; height:60px; right:0px; top:-1px; z-index:9; cursor:pointer; }
#mobile_menu .child_menu_button .icon:before {
  font-family:'design_plus'; content:'\e90e'; color:#fff; text-align:center;
  display:block; font-size:12px;
  position:absolute; right:24px; top:29px;
}
#mobile_menu .child_menu_button.active .icon:before, #mobile_menu .child_menu_button:hover .icon:before { color:#fff; border-color:#fff; }
#mobile_menu li.open > .child_menu_button .icon:before { content:'\e911'; }
#mobile_menu li.open > ul {  }
#mobile_menu .child_menu_button:hover { background:rgba(0,0,0,0.2); }


/* ドロワーメニュー　閉じるボタン */
#drawer_menu .close_button { display:block; width:100%; height:60px; position:relative; cursor:pointer; border-bottom:1px solid rgba(255,255,255,0.2); }
#drawer_menu .close_button:before {
  font-family:'design_plus'; color:#fff; font-size:18px; display:block; 
  content:'\e91a'; position:absolute; top:24px; right:17px;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}


/* 検索フォーム */
#header_search { display:none; }
#footer_search { max-width:300px; height:45px; position:relative; overflow:hidden; background:rgba(255,255,255,0.2); margin:30px auto; }
#footer_search .input_area input {
  width:calc(100% - 45px); color:#fff; height:45px; padding:0 10px; border:none; background:none; z-index:1;
  position:absolute; left:0px; top:0px;
  -webkit-box-sizing:border-box; box-sizing:border-box;
}
#footer_search:hover .input_area input, #footer_search.active .input_area input { left:0px; }
#footer_search .button input { background:none; width:45px; height:45px; border:none; position:absolute; right:0px; pointer-events:none; z-index:2; }
#footer_search .button label { background:none; display:block; width:45px; height:45px; position:absolute; top:0px; right:0px; cursor:pointer; z-index:2; }
#footer_search .button label:before {
  font-family:'design_plus'; color:#fff; font-size:18px; content:'\e915'; display:block; position:relative; top:16px; left:16px;
  -webkit-transition: all 0.2s ease; transition: all 0.2s ease;
}
#footer_search .button label:hover:before { color:#0b8a97; }
@media screen and (max-width:450px) {
  #footer_search { margin:30px 20px; }
}


/* バナー */
#mobile_banner { }
#mobile_banner img { display:block; margin:0 auto; max-width:100%; height:auto; }
#mobile_banner .banner { margin:20px; }


/* メッセージ */
#header_message { padding:12px 20px; min-height:40px; }
html.open_menu #header_message { display:block; }
#close_header_message { width:60px; }
#header_message.show_close_button { padding-right:55px; }
@media screen and (max-width:750px) {
  #header_message { font-size:12px; }
}




/* ----------------------------------------------------------------------
 ブログ詳細ページ
---------------------------------------------------------------------- */
/* タイトルエリア */
@media screen and (max-width:950px) {
  #post_image { height:350px; }
}
@media screen and (max-width:750px) {
  #post_title { margin-bottom:20px; }
  #post_title .category { font-size:11px; margin:0 0 10px 0;  min-width:80px; height:25px; line-height:25px; padding:0 15px; }
  #post_title .date { font-size:12px; }
  #post_title .update { font-size:12px; position:relative; padding:0 0 0 29px; color:#999; margin:0 0 0 10px; }
  #post_title .update:before { font-size:14px; top:0px; left:10px; }
  #post_title .meta_top { margin:10px 0 0 0; }
  #post_image { width:calc(100% + 40px); height:300px; margin:0 -20px 40px; }
	#post_image_wrap { width:calc(100% + 40px); position:relative; margin:0 -20px 33px; padding-top:64%; }
  #post_image { position:absolute; top:0; left:0; width:100%; height:100%; margin:0; }
}


/* SNSボタン */
@media screen and (max-width:750px) {
  #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:750px) {
  #single_copy_title_url_top { margin:0 0 30px; }
  #single_copy_title_url_bottom { margin:40px 0 0; }
  .single_copy_title_url_btn { border-width:2px; font-size:12px; line-height:46px; min-width:250px; }
}
@media screen and (max-width:550px) {
}


/* メタ情報 */
#post_meta_bottom { padding:15px 20px 13px; }
#post_meta_bottom li { display:block; margin:0 0 5px 0; padding:0 0 0 25px; border-right:none; }
#post_meta_bottom li:last-child { border:none; margin:0; }
#post_meta_bottom li:before { line-height:1.5; }
@media screen and (max-width:750px) {
  #post_meta_bottom { margin:40px 0 0; }
}


/* ページ分割 */
@media screen and (max-width:750px) {
  #post_pagination { padding:5px 0 0; }
  #post_pagination a, #post_pagination p { font-size:12px; width:45px; height:45px; line-height:45px; }
  #p_readmore { padding:5px 0 0; margin:0; }
}


/* プロフィール */
@media screen and (max-width:750px) {
  .author_profile { padding:20px 20px 15px; }
  body.single .author_profile { margin:40px 0 0; }
  .author_profile .avatar_area { width:90px; height:90px; }
  .author_profile .info { -webkit-width:calc(100% - 90px); width:calc(100% - 90px); }
  .author_profile .info_inner { padding:0 0 0 20px; }
  .author_profile .name { font-size:18px; margin:0 0 7px 0; }
	.author_profile .author_link { margin-top:5px; }
  .author_profile .desc { font-size:12px !important; }
	body.single .author_profile .desc { line-height:2; }
}


/* 広告 */
@media screen and (max-width:750px) {
  #single_banner_top { width:auto; }
  #single_banner_bottom { width:auto; margin:40px 0 -5px; }
  #single_banner_shortcode { padding:0 0 20px; }
}


/* ナビゲーション */
#next_prev_post { margin:40px 0 0 0 ; padding-right:0px; }
@media screen and (max-width:750px) {
  #next_prev_post { border:none; margin:40px 0 0; }
  #next_prev_post .item { height:52px; margin:0; padding:0 !important; }
  #next_prev_post .item:first-of-type { border-right:none; }
  #next_prev_post .item:last-of-type { margin-left:-1px; }
  #next_prev_post a {
    height:50px; line-height:50px; border:1px solid #ddd; position:relative; background:#fff;
    -webkit-box-sizing:border-box; box-sizing:border-box;
  }
  #next_prev_post .image_wrap { display:none; }
  #next_prev_post .title_area { position:relative; bottom:auto; left:auto; color:#000; padding:0px; }
  #next_prev_post .title { display:none; }
  #next_prev_post .nav { display:block; text-align:center; }
  #next_prev_post a:before {
    content:'\e90f'; font-family:'design_plus'; font-size:11px; top:1px; left:15px; position:absolute; background:none; width:auto; height:auto;
    -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
  }
  #next_prev_post .next_post a:before { content:'\e910'; left:auto; right:15px; }
}


/* 関連記事 */
#related_post { margin:70px 0 -20px 0; padding:0 0 0 0; }
#related_post .design_headline2 { margin:0 0 70px 0 !important; }
@media screen and (max-width:750px) {
  #related_post { margin:40px 0 -20px 0; }
	#related_post .design_headline2 { font-size:18px; margin:0 -20px 40px !important; }
  #related_post .item { width:calc(50% - 4px); margin:0 8px 17px 0; }
  #related_post .item:nth-of-type(3n) { margin-right:8px; }
  #related_post .item:nth-of-type(2n) { margin-right:0px; }
	#related_post .image_wrap { margin:0 0 13px 0; height:120px; }
	#related_post .title { max-height:4.8em; font-size:14px; }
  #related_post .title span { -webkit-line-clamp:3; }
}
@media screen and (max-width:550px) {
	#related_post .image_wrap { height:90px; }
}



/* ----------------------------------------------------------------------
 その他のページ
---------------------------------------------------------------------- */
/* 404ページ*/
#page_404_header .content { padding:0 30px; }




/* ----------------------------------------------------------------------
 フッター
---------------------------------------------------------------------- */
/* ロゴエリア */
@media screen and (max-width:750px) {
  #footer_top { padding:40px 0 35px; }
	#footer_logo .logo_image.pc { display:none; }
  #footer_logo .logo_image.mobile { display:block; }
}


/* SNSボタン */
#footer_sns { margin:30px 0 0 0; position:relative; right:auto; top:auto; }
@media screen and (max-width:750px) {
	#footer_sns { margin:30px 0 0 0; }
}


/* フッターメニュー */
#footer_menu { width:auto; }
#footer_menu .footer_menu { padding:0 60px 40px; -ms-flex: 1 0 auto; -webkit-flex: 1 0 auto; flex: 1 0 auto; width:50%; border:none; border-right:1px solid #ddd; }
#footer_menu .footer_menu:nth-child(2n) { border-right:none; }
@media screen and (max-width:950px) {
  #footer_menu .footer_menu { padding:0 40px 23px; }
}
@media screen and (max-width:750px) {
  #footer_menu .footer_menu { padding:0 20px 20px; border:none; }
	#footer_menu .footer_menu li:first-of-type { font-size:14px; margin:0 0 13px 0; }
}


/* フッターメニュー（下部）*/
#footer_menu_bottom { height:auto; line-height:inherit; }
#footer_menu_bottom ul { padding:14px 0; }
#footer_menu_bottom li { line-height:1; font-size:14px; display:inline-block; margin:0 20px; }
#footer_menu_bottom li a { display:block; padding:10px 0; }
@media screen and (max-width:950px) {
  #footer_menu_bottom li { font-size:12px; margin:0 10px; }
}


/* フッターバナー */
#footer_banner .item { height:140px; }
#footer_banner .title_area { padding:0 30px; }
@media screen and (max-width:950px) {
  #footer_banner .item { height:140px; width:50%; -ms-flex: 1 0 auto; -webkit-flex: 1 0 auto; flex: 1 0 auto; }
  #footer_banner .title_area { padding:0 40px; }
}
@media screen and (max-width:750px) {
	#footer_banner .item { height:100px; }
  #footer_banner .title_area { padding:0 20px; }
	#footer_banner .sub_title { margin-top:10px; }
}


/* コピーライト */
@media screen and (max-width:750px) {
  #copyright { line-height:50px; height:50px; }
}


/* ページ上部へ戻るボタン */
#return_top2 { display:none; }
#return_top { display:block !important; }
@media screen and (max-width:750px) {
  #return_top a { height:50px; width:50px; line-height:50px; }
}


/* 固定フッターが有効時、モバイルデバイス調整用 */
body.show_footer_bar { padding-bottom:0px; }
body.show_footer_bar #return_top.active { -webkit-transform: translate3d(0,-50px,0); transform: translate3d(0,-50px,0); }
body.home.show_footer_bar #container { padding-bottom:0px; }
@media screen and (max-width:950px) {
  body.show_footer_bar #footer_button.active { -webkit-transform: translate3d(0,-50px,0); transform: translate3d(0,-50px,0); }
}




/* ----------------------------------------------------------------------
 ウィジェット
---------------------------------------------------------------------- */
/* 基本設定 */
.widget_content { width:calc(50% - 20px); margin:0 40px 40px 0; padding:0; border:none; }
.widget_content:nth-child(2n) { margin-right:0; }
.widget_headline, .widget_block .wp-block-heading { background:#00729f; color:#fff; height:60px; line-height:60px; padding:0 20px; }
@media screen and (max-width:900px) {
  .widget_content, .widget_content:nth-child(2n) { width:auto; margin:0 0 40px 0; }
  .widget_content:last-of-type { margin:0; }
}
@media screen and (max-width:550px) {
  .widget_content { border-top:1px solid #ddd; padding:40px 20px 0; margin:0 -20px 40px !important; }
  .widget_headline, .widget_block .wp-block-heading { background:none; color:#00729f; height:inherit; line-height:1; padding:0; }
}


/* カテゴリー一覧 */
.category_list_widget { margin-top:0px; }
.category_list_widget .square_headline { height:auto; line-height:1; padding:0 20px; position:relative; z-index:2; }
.category_list_widget .square_headline div.head {
  height:60px; line-height:60px; position:relative; top:auto; -ms-transform: translateY(0%); -webkit-transform: translateY(0%); transform: translateY(0%);
  display:-webkit-box; display:-ms-flexbox; display:-webkit-flex; display:flex;
  -ms-flex-wrap:wrap; -webkit-flex-wrap:wrap; flex-wrap:wrap;
  -ms-justify-content:space-between; -webkit-justify-content:space-between; justify-content:space-between;
}
.category_list_widget .square_headline .headline { font-size:18px; }
.category_list_widget .square_headline .sub_headline { font-size:12px; }
.category_list_widget ul { z-index:1; position:relative; }
.category_list_widget li a { border:1px solid #ddd; padding:0 20px; height:50px; line-height:50px; font-size:14px; margin-top:-1px; }
.category_list_widget li li a { padding-left:34px; }
.category_list_widget li li li a { padding-left:48px; }
.category_list_widget li a:hover { padding-left:30px; }
.category_list_widget li li a:hover { padding-left:44px; }
.category_list_widget li li li a:hover { padding-left:58px; }
@media screen and (max-width:550px) {
  .category_list_widget .square_headline div.head { height:50px; line-height:50px; }
}


/* タブ記事 */
.widget_tab_post_list_button div { height:50px; line-height:50px; font-size:14px; }
.widget_tab_post_list { top:50px; left:0px; width:100%; }
.widget_tab_post_list .image_wrap { width:100px; height:100px; }
.widget_tab_post_list .title_area { width:calc(100% - 100px); }
@media screen and (max-width:550px) {
  .widget_tab_post_list { top:90px; left:20px; width:calc(100% - 40px); }
}


/* デザインされた記事一覧 */
.styled_post_list1_widget { padding:0; }
.styled_post_list1_widget .widget_headline { height:60px; line-height:60px; font-size:18px; background:#00729f; color:#fff; padding:0 20px; border:none; margin:0; }
.styled_post_list1 li { margin:0; border:1px solid #ddd; border-bottom:none; }
.styled_post_list1 li:last-child { border-bottom:1px solid #ddd; }
.styled_post_list1 a { padding:20px 20px 20px; }
.styled_post_list1 .image_wrap { width:100px; height:100px; }
.styled_post_list1 .title_area { width:calc(100% - 100px); height:100px; }
@media screen and (max-width:550px) {
  .styled_post_list1_widget { margin:0 -20px -1px !important; }	
  .styled_post_list1 li { border:none; border-bottom:1px solid #ddd; }
}


/* 記事スライダー */
.post_slider_widget {
  border:1px solid #ddd; padding:20px; height:235px; 
  -webkit-box-sizing:border-box; box-sizing:border-box;
}
.post_slider_nav { margin-left:0; }
@media screen and (max-width:550px) {
  .post_slider_widget { height:inherit; border:none; border-top:1px solid #ddd; padding:40px 20px; margin:0 -20px 0 !important; }
}


/* バナー一覧 */
.tcd_banner_widget .banner_inner {
  border:1px solid #ddd; padding:20px;
  -webkit-box-sizing:border-box; box-sizing:border-box;
}
.tcd_banner_widget .headline { font-size:20px; }
.tcd_banner_widget .sub_headline { font-size:12px; }
@media screen and (max-width:550px) {
	.tcd_banner_widget { padding:20px 20px; margin:0 -20px !important; }
  .tcd_banner_widget .banner_inner { border:none; padding:0; }
}


/* アーカイブ　ドロップダウン */
@media screen and (max-width:750px) {
  .p-dropdown__title { height:50px; line-height:50px; }
}


/* 検索 */
@media screen and (max-width:750px) {
  #searchform { height:50px; }
  #searchform #s { height:50px; }
  #searchform #searchsubmit { height:50px; }
  #searchform .submit_button  { height:50px; }
  #searchform .submit_button:before { height:50px; line-height:50px; }
}




/* ----------------------------------------------------------------------
 コメント
---------------------------------------------------------------------- */
#comments { margin:70px 0 0 0; padding:0 0 0 0; }
#comments .design_headline2 { margin:0 0 70px 0 !important; }
@media screen and (max-width:750px) {
  #comments { margin:40px 0 0 0; }
	#comments .design_headline2 { font-size:18px; margin:0 -20px 35px !important; }
}


/* コメント・トラックバックのタブ */
#comment_tab li a, #comment_tab li p { padding:14px 15px; font-size:12px; }
@media screen and (max-width:750px) {
  #comment_tab li a, #comment_tab li p { background:#eee; }
}




/* ----------------------------------------------------------------------
 その他
---------------------------------------------------------------------- */
/*  WordPress プリセットスタイル */
@media screen and (max-width:750px) {
  .post_content h1, .post_content h2, .post_content h3, .post_content h4, .post_content h5, .post_content h6 { margin:0 0 5px 0; }
  .post_content p { line-height:2; }
  .post_content li, .post_content dt, .post_content dd { line-height:1.8; }
  .post_content td, .post_content th { line-height:1.8; padding:14px 20px; }
}


/* パスワード保護 */
.c-pw__box { padding:20px; margin:0 0 20px 0; }
.c-pw__box-label { display:block; margin:0 0 15px 0; text-align:center; }
.c-pw__box-input { width:calc(100% - 160px); margin:0 10px 0 0; -webkit-box-sizing:border-box; box-sizing:border-box; }
.c-pw__btn--submit { width:150px; min-width:inherit; -webkit-box-sizing:border-box; box-sizing:border-box; }
@media screen and (max-width:750px) {
  .c-pw__box { padding:15px; }
  .c-pw__box-input { width:calc(100% - 105px); margin-right:5px; }
  .c-pw__btn--submit { width:100px; }
}


/* Cardlink style - カードリンクのスタイル */
.cardlink { margin:30px 0 35px !important; padding:15px;  }



