@charset "utf-8";


/* ----------------------------------------------------------------------
 基本設定
---------------------------------------------------------------------- */
/* レイアウト */
#main_contents { width:auto; margin:0 auto; padding:60px 50px; }
#main_col { width:calc(100% - 390px); }
#main_contents.layout_type1 #main_col { width:100%; margin:0; }
@media screen and (max-width:1100px) {
  #main_contents { display:block; }
  #main_contents #main_col { width:100%; margin:0; }
  #side_col {
    width:100%; padding:60px 0 0; margin-bottom:-40px; 
    display:-webkit-box; display:-ms-flexbox; display:-webkit-flex; display:flex;
    -ms-flex-wrap:wrap; -webkit-flex-wrap:wrap; flex-wrap:wrap;
  }
  #main_contents.layout_type3 #main_col { margin:0; }
	body.single #main_contents.layout_type1 #main_col, body.page #main_contents.layout_type1 #main_col, body.page #main_contents #main_col { width:auto !important; margin:0 auto; max-width:740px; }
}
@media screen and (max-width:750px) {
  #main_contents { padding:40px 20px; }
  body.home #main_contents { padding-top:0; }
  #side_col { padding:40px 0 0; margin-bottom:0px; }
}


/* ドロワーメニュー */
#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; }
}




/* ----------------------------------------------------------------------
 LPページ
---------------------------------------------------------------------- */
/* レイアウト */
#main_contents.no_sidebar_lp_page { padding:60px 0; }
#main_contents.no_sidebar_lp_page .lp_content { max-width:740px; width:auto !important; }
#main_contents.no_sidebar_lp_page .layer_image_content { max-width:inherit; }
#main_contents.no_sidebar_lp_page .lp_content.layer_image_content:last-of-type { margin-bottom:-60px; }
#main_contents.no_sidebar_lp_page .layer_image_content_inner { width:auto !important; max-width:740px; }
#main_contents.no_sidebar_lp_page #main_col { max-width:inherit !important; }
@media screen and (max-width:850px) {
  #main_contents.no_sidebar_lp_page .lp_content { max-width:inherit; margin:0 50px 50px; }
	#main_contents.no_sidebar_lp_page .lp_content.layer_image_content { margin-right:0; margin-left:0; }
	#main_contents.no_sidebar_lp_page .layer_image_content_inner { max-width:inherit; width:auto; }
}
@media screen and (max-width:750px) {
  #main_contents.no_sidebar_lp_page { padding:40px 0; }
  #main_contents.no_sidebar_lp_page .lp_content { max-width:inherit; margin:0 20px 40px; }
	#main_contents.no_sidebar_lp_page .lp_content:last-of-type { margin-bottom:0; }
  #main_contents.no_sidebar_lp_page .lp_content.layer_image_content:last-of-type { margin-bottom:-40px; }
}


/* 共通 */
@media screen and (max-width:750px) {
  .lp_content { margin-bottom:40px; }
  .lp_content:last-of-type { margin-bottom:0px; }
  .lp_content .design_headline1 { margin-bottom:10px; }
  .lp_content .design_headline2 { margin-bottom:40px; padding-top:0; }
  .lp_faq .design_headline2 { margin-bottom:30px; }
  .lp_content.show_border_around { padding:30px; }
}


/* 画像コンテンツ */
@media screen and (max-width:750px) {
  .lp_image_content .desc1 { margin-bottom:30px; }
  .lp_image_content .desc2 { margin-top:30px; }
}


/* プロフィール */
@media screen and (max-width:750px) {
  .lp_profile .author_profile { margin:0; padding:25px 30px; }
  .lp_profile .label { font-size:11px; left:30px; top:-35px; min-width:100px; height:35px; line-height:35px; padding:0 15px; }
}


/* FAQコンテンツ */
@media screen and (max-width:750px) {
  .lp_faq .desc { margin-bottom:10px; }
  .faq_list .question { line-height:1.6; padding:16px 20px 12px 50px; }
  .faq_list .question:before { left:20px; top:26px; }
  .faq_list .question:after { left:26px; top:20px; }
  .faq_list .answer { padding:15px 20px 15px; }
  .faq_list .answer p { line-height:2.4; }
}


/* レイヤ画像コンテンツ */
.layer_image_content { }
.layer_image_content .layer_image img { max-width:50%; }
.layer_image_content.image_layout_type2 .layer_image img { max-width:70%; }
@media screen and (max-width:850px) {
  .layer_image_content_inner { margin:0 50px !important; }
}
@media screen and (max-width:750px) {
	.layer_image_content { margin-left:-20px; margin-right:-20px; }
	#main_contents.no_sidebar_lp_page .layer_image_content { margin-left:0px; margin-right:0px; }
  .layer_image_content .content { width:auto !important; }
  .layer_image_content .layer_image_content_inner { margin:0 20px !important; padding-left:0 !important; padding-right:0 !important; -ms-justify-content:center !important; -webkit-justify-content:center !important; justify-content:center !important; }
  .layer_image_content.text_layout2_mobile_type1 .layer_image_content_inner { padding-top:35px; -ms-align-items:flex-start; -webkit-align-items:flex-start; align-items:flex-start; }
  .layer_image_content.text_layout2_mobile_type2 .layer_image_content_inner { padding:0; -ms-align-items:center; -webkit-align-items:center; align-items:center; }
  .layer_image_content.text_layout2_mobile_type3 .layer_image_content_inner { padding-top:35px; -ms-align-items:flex-end; -webkit-align-items:flex-end; align-items:flex-end; }
  .layer_image_content.catch_layout_mobile_left .catch { text-align:left; }
  .layer_image_content.catch_layout_mobile_center .catch { text-align:center; }
  .layer_image_content.catch_layout_mobile_right .catch { text-align:right; }
  .layer_image_content .desc { margin:10px 0 0 0; }
  .layer_image_content .desc p.pc { display:none; }
  .layer_image_content .desc p.mobile { display:block; }
  .layer_image_content .content .link_button { margin:20px 0 0 0; }
  .layer_image_content .link_button a { font-size:14px; min-width:200px; height:45px; line-height:45px; padding:0 20px; }
  .layer_image_content .bg_image.pc { display:none; }
  .layer_image_content .bg_image.mobile { display:block; }
  .layer_image_content .layer_image img { max-width:calc(100% - 50px); margin-bottom:0px; }
  .layer_image_content.image_layout_type2 .layer_image img { max-width:calc(100% - 100px); }
  .layer_image_content .layer_image img.pc { display:none; }
  .layer_image_content .layer_image img.mobile { display:block; }
  /*.layer_image_content .layer_image { -ms-align-items:flex-end !important; -webkit-align-items:flex-end !important; align-items:flex-end !important; }*/
  .layer_image_content.image_layout_mobile_type1 .layer_image { -ms-justify-content:flex-start; -webkit-justify-content:flex-start; justify-content:flex-start; }
  .layer_image_content.image_layout_mobile_type2 .layer_image { -ms-justify-content:center; -webkit-justify-content:center; justify-content:center; }
  .layer_image_content.image_layout_mobile_type3 .layer_image { -ms-justify-content:flex-end; -webkit-justify-content:flex-end; justify-content:flex-end; }
  .layer_image_content.image_layout2_mobile_type1 .layer_image { -ms-align-items:flex-start; -webkit-align-items:flex-start; align-items:flex-start; }
  .layer_image_content.image_layout2_mobile_type2 .layer_image { -ms-align-items:center; -webkit-align-items:center; align-items:center; }
  .layer_image_content.image_layout2_mobile_type3 .layer_image { -ms-align-items:flex-end; -webkit-align-items:flex-end; align-items:flex-end; }
}


/* デモサイト用 */
@media screen and (max-width:750px) {
  .demo_lp_headline  { font-size:18px !important; text-align:center; padding:7px 0 10px !important; }
}




/* ----------------------------------------------------------------------
 ランキングページ
---------------------------------------------------------------------- */

/* タブ */
@media screen and (max-width:750px) {
  #ranking_list .tab { margin:0 0 20px 0; }
  #ranking_list .tab li { font-size:12px; }
  #ranking_list .tab a { height:45px; line-height:45px; }
}


/* ランキング記事 */
@media screen and (max-width:1100px) {
  #ranking_list .post_list { margin-bottom:-30px; }
  #ranking_list .post_list .item { width:calc(50% - 15px); height:160px; margin:0 30px 30px 0; }
  #ranking_list .post_list .image_wrap { width:160px; height:160px; }
  #ranking_list .post_list .content{ width:calc(100% - 160px); height:160px; }
  #ranking_list .post_list .content_inner { padding:0 20px; }
  #ranking_list .post_list .category { font-size:11px; min-width:100px; height:35px; line-height:35px; padding:0 15px; }
  #ranking_list .post_list .rank { font-size:12px; width:30px; height:30px; line-height:30px; }
}
@media screen and (max-width:900px) {
  #ranking_list .post_list .item { height:130px; }
  #ranking_list .post_list .image_wrap { width:130px; height:130px; }
  #ranking_list .post_list .content { width:calc(100% - 130px); height:130px; }
  #ranking_list .post_list .title { font-size:14px; }
}
@media screen and (max-width:750px) {
  #ranking_list .post_list { display:block; margin:0; }
	#ranking_list .post_list.animation_type3 { overflow:hidden; }
	#ranking_list .post_list .item { width:100%; margin:0 0 20px 0; }
  #ranking_list .post_list .item:last-of-type { margin:0; }
}




/* ----------------------------------------------------------------------
 トップページ　カルーセル
---------------------------------------------------------------------- */

/* タイプ1 */
#header_carousel_type1 { height:400px; }
#header_carousel_type1 .post_list { height:365px; }
#header_carousel_type1 .item { height:365px; }
#header_carousel_type1 .content { width:420px; height:130px; left:20px; bottom:20px; }
#header_carousel_type1 .content_inner { padding:0 20px; }
#header_carousel_type1 .category { left:20px; bottom:150px; }
@media screen and (max-width:1100px) {
  #header_carousel_type1 .content { width:100%; height:120px; left:0; bottom:0; }
  #header_carousel_type1 .category { left:0px; bottom:120px; font-size:11px; min-width:100px; height:35px; line-height:35px; padding:0 15px; }
}
@media screen and (max-width:750px) {
  #header_carousel_type1 { height:315px; }
  #header_carousel_type1 .post_list { height:265px; }
  #header_carousel_type1 .item { height:265px; }
  #header_carousel_type1 .content { height:105px; }
  #header_carousel_type1 .category { bottom:105px; }
  #header_carousel_type1 .slick-dots { bottom:-32px; }
}
@media screen and (max-width:550px) {
  #header_carousel_type1 { height:290px; }
  #header_carousel_type1 .post_list { height:240px; }
  #header_carousel_type1 .item { height:240px; }
}


/* タイプ２ */
@media screen and (max-width:750px) {
  #header_carousel_type2 { margin:0 0 20px 0; height:295px; padding:15px 0 0; }
  #header_carousel_type2 .item { width:308px; height:200px; padding:35px 0 0 0; margin:0 3px; }
  #header_carousel_type2 .category { font-size:11px; min-width:100px; height:35px; line-height:35px; padding:0 15px; }
  #header_carousel_type2 .content { padding:10px 20px; }
  #header_carousel_type2 .slick-dots { bottom:-29px; }
}




/* ----------------------------------------------------------------------
 トップページ　スライダー
---------------------------------------------------------------------- */
#header_slider .caption { padding:0 50px; }
@media screen and (max-width:1100px) {
  #header_slider_wrap { height:450px; }
  #header_slider { height:450px; }
  #header_slider .item { height:450px; }
  #header_slider .slick-dots { bottom:20px; }
}
@media screen and (max-width:750px) {
  #header_slider_wrap { height:350px; margin:0 0 20px 0; }
  #header_slider { height:350px; }
  #header_slider .item { height:350px; }
  #header_slider .caption { padding:0 20px; }
	#header_slider .catch { font-weight:500; }
  #header_slider .desc { margin:10px 0 0 0; }
  #header_slider .desc p.pc { display:none; }
  #header_slider .desc p.mobile { display:block; }
  #header_slider .desc.hide_desc_mobile { display:none; }
  #header_slider .button { font-size:14px; min-width:200px; height:45px; line-height:45px; padding:0 20px; margin-top:20px; }
  #header_slider .bg_image.pc { display:none; }
  #header_slider .bg_image.mobile { display:block; }
  #header_slider .catch.animate, #header_slider .desc.animate, #header_slider .button.animate {
    -webkit-animation:none;
    animation:none;
  }
  #header_slider .catch.animate_mobile, #header_slider .desc.animate_mobile, #header_slider .button.animate_mobile {
    -webkit-animation: slideUp 1.3s cubic-bezier(0.165, 0.84, 0.44, 1) forwards 1.0s;
    animation: slideUp 1.3s cubic-bezier(0.165, 0.84, 0.44, 1) forwards 1.0s;
  }
}
@media screen and (max-width:550px) {
  #header_slider_wrap { height:300px; }
  #header_slider { height:300px; }
  #header_slider .item { height:300px; }
}




/* ----------------------------------------------------------------------
 トップページ　その他
---------------------------------------------------------------------- */


/* タブ */
@media screen and (max-width:750px) {
  #index_tab { height:67px; margin:0; }
  #index_tab.type2 {
		margin:0 -20px 0 0;
    display:block; overflow-x:auto; white-space:nowrap;
    -webkit-backface-visibility:hidden; backface-visibility:hidden;
    -webkit-overflow-scrolling:touch;
  }
  #index_tab.type2 li { float:left; width:100px; }
  #index_tab li { font-size:11px; }
  #index_tab a { height:45px; line-height:45px; }
}


/* 記事タイプ１ */
@media screen and (max-width:1100px) {
  #index_tab_post_list .post_list.type1 .item { width:calc(50% - 15px); height:370px; margin:0 30px 30px 0; }
  #index_tab_post_list .post_list.type1 .item:nth-of-type(2n) { margin-right:0; }
  #index_tab_post_list .post_list.type1 .image_wrap { height:210px; }
  #index_tab_post_list .post_list.type1 .category { font-size:11px; min-width:100px; height:35px; line-height:35px; padding:0 15px; }
}
@media screen and (max-width:750px) {
	#index_tab_post_list .tab_post_list { margin:0 -20px; padding:0 20px; }
	#index_tab_post_list .post_list.animation_type3 { overflow:hidden; }
  #index_tab_post_list .post_list.type1 .item { width:calc(50% - 10px); height:340px; margin:0 20px 20px 0; }
  #index_tab_post_list .post_list.type1 .content { height:130px; }
  #index_tab_post_list .post_list.type1 .content_inner { padding:15px 20px; }
  #index_tab_post_list .post_list.type1 .title { line-height:1.6; max-height:4.8em; }
	#index_tab_post_list .post_list.type1.has_excerpt .title { bottom:15px; padding:0 20px; }
  #index_tab_post_list .post_list.type1 .date { left:20px; bottom:20px; }
}
@media screen and (max-width:550px) {
  #index_tab_post_list .post_list.type1 { margin:0 0 20px 0; }
  #index_tab_post_list .post_list.type1 .item { width:100%; margin:0 0 20px 0; }
}


/* 記事タイプ２ */
@media screen and (max-width:1100px) {
  #index_tab_post_list .post_list.type2 .item { margin:0 0 30px 0; }
  #index_tab_post_list .post_list.type2 .category { font-size:11px; min-width:100px; height:35px; line-height:35px; padding:0 15px; }
}
@media screen and (max-width:900px) {
  #index_tab_post_list .post_list.type2 .item { height:200px; }
  #index_tab_post_list .post_list.type2 .image_wrap { width:300px; height:200px; }
  #index_tab_post_list .post_list.type2 .content { width:calc(100% - 300px); height:200px; }
}
@media screen and (max-width:750px) {
  #index_tab_post_list .post_list.type2 { margin:0 -20px 40px; }
  #index_tab_post_list .post_list.type2 .item { height:147px; margin:0; padding:20px; -webkit-box-sizing:border-box; box-sizing:border-box; border-top:1px solid #ddd; }
  #index_tab_post_list .post_list.type2 .item:last-of-type { border-bottom:1px solid #ddd; }
  #index_tab_post_list .post_list.type2 .image_wrap { width:160px; height:105px; }
  #index_tab_post_list .post_list.type2 .content { width:calc(100% - 160px); height:105px; border:none; }
  #index_tab_post_list .post_list.type2 .content_inner { padding:0 0 0 20px; }
  #index_tab_post_list .post_list.type2 .category { left:20px; top:20px; }
	#index_tab_post_list .post_list.type2 .title { line-height:1.8; max-height:5.4em; }
}


/* ページ下部の記事一覧 */
@media screen and (max-width:750px) {
  .bottom_post_list { margin-bottom:-20px; }
  .bottom_post_list .item { width:calc(50% - 10px); height:210px; margin:0 20px 20px 0; }
  .bottom_post_list .title_area { padding:15px 20px; }
  .bottom_post_list .title { max-height:5.4em; }
  .bottom_post_list .title span { -webkit-line-clamp:3; }
  .bottom_post_list .category { font-size:11px; min-width:100px; height:35px; line-height:35px; padding:0 15px; }
}
@media screen and (max-width:550px) {
  .bottom_post_list { margin-bottom:0px; display:block; }
  .bottom_post_list .item { width:100%; height:210px; margin:0 0 20px 0; }
  .bottom_post_list .item:last-of-type { margin:0 0 0 0; }
}


/* フリースペース */
@media screen and (max-width:750px) {
  #index_free_space.show_border { padding:20px; }
  #index_free_space .demo_index_free_space { height:300px; }
  #index_free_space .demo_index_free_space .catch { font-size:18px; padding:0 20px; }
}




/* ----------------------------------------------------------------------
 ブログアーカイブページ
---------------------------------------------------------------------- */

/* 記事タイプ１ */
@media screen and (max-width:1100px) {
  .blog_list.type1 { margin-bottom:-40px; position:relative; }
  .blog_list.type1 .item { width:calc(50% - 15px); height:370px; margin:0 30px 30px 0; }
  .blog_list.type1.no_date .item { height:350px; }
  #main_contents .blog_list.type1 .item { width:calc(50% - 15px) !important; }
  #main_contents .blog_list.type1 .item:nth-of-type(3n) { margin-right:30px !important; }
  #main_contents .blog_list.type1 .item:nth-of-type(2n) { margin-right:0px !important; }
  .blog_list.type1 .image_wrap { height:210px; }
  .blog_list.type1 .category { font-size:11px; min-width:100px; height:35px; line-height:35px; padding:0 15px; }
}
@media screen and (max-width:750px) {
  .blog_list.type1 { margin-bottom:-20px; }
  .blog_list.type1 .item { width:calc(50% - 10px); height:340px; margin:0 20px 20px 0; }
  .blog_list.type1.no_date .item { height:310px; }
  #main_contents .blog_list.type1 .item { width:calc(50% - 10px) !important; }
  #main_contents .blog_list.type1 .item:nth-of-type(3n) { margin-right:20px !important; }
  #main_contents .blog_list.type1 .item:nth-of-type(2n) { margin-right:0px !important; }
  .blog_list.type1 .content { height:130px; }
  .blog_list.type1.no_date .content { height:100px; }
  .blog_list.type1 .content_inner { padding:15px 20px; }
  .blog_list.type1 .title { line-height:1.6; max-height:4.8em; }
  .blog_list.type1 .date { left:20px; bottom:20px; }
  .blog_list.type1 .desc { line-height:2; max-height:6em; }
}
@media screen and (max-width:550px) {
  .blog_list.type1 { margin-bottom:0px; }
  .blog_list.type1 .item { width:100%; height:340px; margin:0 0 20px 0; }
  .blog_list.type1 .item:last-of-type { margin:0; }
  #main_contents .blog_list.type1 .item { width:100% !important; }
  #main_contents .blog_list.type1 .item:nth-of-type(3n) { margin-right:0px !important; }
}


/* 記事タイプ２*/
@media screen and (max-width:1100px) {
  .blog_list.type2 { margin-bottom:-30px; }
  .blog_list.type2 .item { height:160px; margin:0 0 30px 0; }
  #main_contents .blog_list.type2 .item { width:calc(50% - 15px) !important; margin-right:30px !important; }
  #main_contents .blog_list.type2 .item:nth-of-type(2n) { margin-right:0 !important; }
  .blog_list.type2 .image_wrap { width:160px; height:160px; }
  .blog_list.type2 .content { width:calc(100% - 160px); height:160px; }
  .blog_list.type2 .content_inner { padding:0 20px; }
  .blog_list.type2 .category { font-size:11px; min-width:100px; height:35px; line-height:35px; padding:0 15px; }
}
@media screen and (max-width:900px) {
  .blog_list.type2 .item { height:130px; }
  .blog_list.type2 .image_wrap { width:130px; height:130px; }
  .blog_list.type2 .content { width:calc(100% - 130px); height:130px; }
}
@media screen and (max-width:750px) {
  .blog_list.type2 { margin-bottom:0px; }
  .blog_list.type2 { display:block; }
  .blog_list.type2 .item { width:100%; margin:0 0 20px 0; }
  #main_contents .blog_list.type2 .item { width:100% !important; }
  #main_contents .blog_list.type2 .item:nth-of-type(2n) { margin-right:0 !important; }
  .blog_list.type2 .item:last-of-type { margin-bottom:0; }
}


/* 投稿者ページ */
body.author .author_profile { margin:60px 50px 0; }
body.author .author_profile .name { margin:0 0 15px 0; }
body.author .author_profile .desc { font-size:16px; }
body.author .author_profile .avatar_area { width:140px; height:140px; }
body.author .author_profile .info { -webkit-width:calc(100% - 140px); width:calc(100% - 140px); }
#author_page_headline { width:auto; margin:60px 50px 0; }
@media screen and (max-width:750px) {
  body.author .author_profile { margin:40px 20px 0; display:block; }
  body.author .author_profile .avatar_area { width:120px; height:120px; margin:0 auto 20px; }
  body.author .author_profile .info { width:100%; text-align:center; }
  body.author .author_profile .info_inner { padding:0; }
  body.author .author_profile .author_link { margin:10px 0 0; font-size:0; }
  body.author .author_profile .author_link li { margin:0 5px; }
	body.author .author_profile .desc { text-align:left; font-size:14px; line-height:1.8; }
	#author_page_headline { height:50px; line-height:50px; margin:40px 20px 0; }
}


/* ページナビ */
@media screen and (max-width:1100px) {
  .page_navi { margin:60px 0 0; }
}
@media screen and (max-width:750px) {
  .page_navi { margin:40px 0 0; }
}




/* ----------------------------------------------------------------------
 ページヘッダー
---------------------------------------------------------------------- */
#page_image_header { width:auto; height:450px; position:relative; margin:0 auto; }
#page_image_header_inner { padding:0 50px; }
#header_desc { margin:45px 50px -15px; width:auto; }
@media screen and (max-width:750px) {
  #page_image_header { height:350px; }
  #page_image_header_inner { padding:0 20px; }
  #page_image_header .desc { line-height:2.4; margin:20px auto 0; }
  #page_header { height:50px; line-height:50px; }
  #header_desc { margin:29px 20px -13px; width:auto; line-height:2.4; }
  #page_image_header .desc .pc { display:none; }
  #page_image_header .desc .mobile { display:block; }
  #page_image_header .bg_image.pc { display:none; }
  #page_image_header .bg_image.mobile { display:block; }
}
@media screen and (max-width:550px) {
  #page_image_header { height:300px; }
}




/* ----------------------------------------------------------------------
 ヘッダー
---------------------------------------------------------------------- */
#header { height:60px; }
#header_top { height:60px; width:auto; position:relative; }
body.hide_header_title #header_top, body.author #header_top { border-bottom:1px solid #ddd; }
.hide_global_menu #header { height:60px; }
.mobile .header_fix_mobile { padding-top:60px; }
.mobile .hide_header.header_fix_mobile { padding-top:0 !important; }
.header_fix_mobile #header {
  position:fixed !important; top:0px; left:0px; z-index:200; width:100%; box-shadow:0 0 15px 5px rgba(0,0,0,0.1); border:none;
  -webkit-animation: slide_down_menu 0.5s ease; animation: slide_down_menu 0.5s ease;
	-webkit-transition: all 0.35s ease; transition: all 0.35s ease;
}
.mobile .use_fixed_content_link.header_fix_mobile { padding-top:0px; }
.mobile .use_fixed_content_link.header_fix_mobile #header { position:relative !important; }
@-webkit-keyframes slide_down_menu {
  0% { top:-60px; }
  100% { top:0px; }
}
@keyframes slide_down_menu {
  0% { top:-60px; }
  100% { top:0px; }
}


/* ロゴ */
#header_logo { margin-left:20px; }
#header_logo .pc_logo_image { display:none; }
#header_logo .pc_logo_text { display:none; }
#header_logo .mobile_logo_image { display:block; }
#header_logo .mobile_logo_text { display:block; }


/* 説明文 */
#site_description { font-size:12px; padding-right:60px; margin:0 0 0 20px; }
@media screen and (max-width:750px) {
  body.hide_header_desc_mobile #site_description { display:none; }
  #site_description.show_desc_mobile { display:block; }
}



/* メニューボタン */
#menu_button {
  position:absolute; z-index:50; right:0px; bottom:0px;
  display:inline-block; font-size:11px; width:60px; height:60px; line-height:60px; text-decoration:none; text-align:center;
}
#menu_button span {
  width:22px; height:2px; background:#000; 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;
}
#menu_button span:nth-child(1) { top:25px; left:20px; }
#menu_button span:nth-child(2) { top:31px; left:20px; }
#menu_button span:nth-child(3) { top:37px; left:20px; }
#menu_button:hover span { background:orange; }


/* グローバルメニュー */
#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 0; }
@media screen and (max-width:450px) {
  #mobile_banner { margin:0 20px; }
}


/* メガメニュー */
.megamenu_blog_list { display:none; }
.megamenu_b_wrap { display:none; }


/* パンくずリンク */
#bread_crumb { border-top:1px solid #ddd; width:auto; }
#bread_crumb ul { width:auto; padding:0 20px; }
#bread_crumb li { font-size:12px; }
#bread_crumb li a { height:43px; line-height:43px; }
#bread_crumb li:after { height:43px; line-height:43px; margin:0 5px; }
#bread_crumb li.home a:before { font-size:12px; }
@media screen and (max-width:750px) {

}


/* メッセージ */
#header_message { padding:10px 0; }
#header_message .post_content { width:auto !important; margin:0 20px !important; }
#header_message.show_close_button .post_content { margin:0 40px !important; }
@media screen and (max-width:750px) {
  #header_message .post_content { line-height:1.8; }
  #header_message.show_close_button .post_content { margin:0 35px !important; }
}




/* ----------------------------------------------------------------------
 ブログ詳細ページ
---------------------------------------------------------------------- */

/* タイトルエリア */
#post_image { height:400px; }
@media screen and (max-width:750px) {
  #post_image { width:calc(100% + 40px); height:300px; margin:0 -20px 30px; }
  #post_image .category, #post_title .category { font-size:11px; min-width:100px; height:35px; line-height:35px; padding:0 15px; }
	#post_title .title { font-weight:600; }
}
@media screen and (max-width:550px) {
  #post_image { height:240px; }
}


/* SNSボタン */
@media screen and (max-width:750px) {
  #single_share_top { margin:0 0 40px 0; }
  #single_share_top .share-top { }
  #single_share_bottom { }
  #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:550px) {
  
}


/* コピーボタン */
@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; margin:50px 0 0; }
#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; }
  .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 #main_col .author_profile .desc { max-height:5.4em; line-height:1.8; }
  body.single #main_col .author_profile .desc span { -webkit-line-clamp:3; }
}


/* 広告 */
@media screen and (max-width:850px) {
  #single_banner_top { width:auto; }
  #single_banner_bottom { width:auto; }
  #single_banner_shortcode { padding:0 0 20px; }
}


/* ナビゲーション */
@media screen and (max-width:750px) {
  #next_prev_post .item { height:52px; }
  #next_prev_post a { padding:0px; line-height:52px; text-align:center; }
  #next_prev_post .image_wrap { display:none; }
  #next_prev_post .title_area { float:none; width:100%; height:100%; }
  #next_prev_post .title { display:none; }
  #next_prev_post .nav { display:block; }
  #next_prev_post a:before {
    content:'\e90f'; font-family:'design_plus'; font-size:11px; top:1px; left:15px; position:absolute;
    -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
  }
  #next_prev_post .next_post a:before { content:'\e910'; left:auto; right:15px; }
}


/* 関連記事 */
@media screen and (max-width:750px) {
  #related_post .item { width:calc(50% - 10px); margin:0 20px 15px 0; }
  #related_post .item:nth-of-type(3n) { margin-right:20px; }
  #related_post .item:nth-of-type(2n) { margin-right:0px; }
  #related_post .image_wrap { margin:0 0 12px 0; }
  #related_post .title { max-height:4.8em; }
  #related_post .title span { -webkit-line-clamp:3; }
	#related_post .category { font-size:11px; min-width:100px; height:35px; line-height:35px; padding:0 15px; }
}
@media screen and (max-width:550px) {
  #related_post .image_wrap { height:100px; }
}



/* ----------------------------------------------------------------------
 その他のページ
---------------------------------------------------------------------- */
/* 404ページ*/
#page_404_header { height:calc(100vh - 60px); }
body.no_header #page_404_header { height:100vh; }
#page_404_header .catch_area { padding:0 30px; }




/* ----------------------------------------------------------------------
 ウィジェット 
---------------------------------------------------------------------- */
/* 基本設定 */
@media screen and (max-width:1100px) {
  .widget_content { width:calc(50% - 15px); margin:0 30px 40px 0; }
  .widget_content:nth-child(2n) { margin-right:0; }
  .widget_content:last-of-type { margin-bottom:40px; }
}
@media screen and (max-width:750px) {
  .widget_content { width:100%; margin:0 auto 40px !important; max-width:350px; border:none; padding:0; }
  .widget_content:last-of-type { margin-bottom:0px !important; }
}


/* 検索 */
@media screen and (max-width:1050px) {
  #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; }
}


/* タブ記事 */
@media screen and (max-width:750px) { 
  .widget_tab_post_list_button a { height:50px; line-height:50px; }
}


/* プロフィール （記事のユーザープロフィールと共有）*/
@media screen and (max-width:750px) { 
  .profile_widget .author_profile { padding:30px 30px 25px; }
}


/* カテゴリー一覧 */
@media screen and (max-width:750px) { 
  .category_list_widget li a { height:50px; line-height:50px; padding-right:10px; }
}


/* アーカイブ　ドロップダウン */
@media screen and (max-width:750px) { 
  .p-dropdown__title { height:50px; line-height:50px; }
}




/* ----------------------------------------------------------------------
 フッター
---------------------------------------------------------------------- */
/* カルーセル */
#footer_carousel { background:none !important; }
#footer_carousel .post_list { width:100%; }
#footer_carousel .nav { display:none; }


/* フッターウィジェット */
#footer_widget { padding:0 50px; }
#footer_widget_inner { width:auto; margin:0 auto; padding:60px 0 20px; }
#footer_widget .widget_content {  }
#footer_widget .widget_content { width:calc(100% / 3 - 20px); margin:0 30px 40px 0; }
@media screen and (max-width:1100px) {
  #footer_widget .widget_content { width:calc(50% - 15px); margin:0 30px 40px 0; }
  #footer_widget .widget_content:nth-child(3n) { margin-right:50px; }
  #footer_widget .widget_content:nth-child(2n) { margin-right:0px; }
}
@media screen and (max-width:750px) {
  #footer_widget { padding:0 20px; }
  #footer_widget_inner { max-width:350px; margin:0 auto; padding:40px 0; }
	#footer_widget .widget_headline { margin-top:-12px; }
  #footer_widget .widget_content { width:100%; margin:0 0 40px; }
  #footer_widget .widget_content:nth-child(3n) { margin-right:auto; }
  #footer_widget .widget_content:nth-child(2n) { margin-right:auto; }
}


/* 最下部のメニュー */
@media screen and (max-width:750px) {
  #footer_menu { padding:30px 0 28px; }
  #footer_menu li { display:block; margin:0; }
  #footer_menu li a { height:35px; line-height:35px; display:block; width:100%; }
}


/* フッター最下部 */
#footer_bottom_inner { width:auto; }
@media screen and (max-width:750px) {
  #footer_bottom_inner { height:auto; position:relative; margin:0 auto; }
}


/* フッターSNS*/
#footer_sns { left:20px; }
@media screen and (max-width:750px) {
  #footer_sns { position:relative; left:auto; top:auto; padding:0 0 40px; }
}


/* コピーライト */
@media screen and (max-width:750px) {
  #copyright { line-height:50px; height:50px; }
}


/* ページ上部へ戻るボタン */
@media screen and (max-width:750px) {
  #return_top a { height:50px; width:50px; line-height:50px; }
  body.has_footer_cta #return_top.active { -webkit-transform: translate3d(0,-60px,0); transform: translate3d(0,-60px,0); }
}


/* 固定フッターが有効時、モバイルデバイス調整用 */
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); }
}




/* ----------------------------------------------------------------------
 コメント
---------------------------------------------------------------------- */
/* 基本設定 */

/* コメント・トラックバックのタブ */
#comment_tab li a, #comment_tab li p { padding:15px 15px; }




/* ----------------------------------------------------------------------
 その他
---------------------------------------------------------------------- */
/*  WordPress プリセットスタイル */
@media screen and (max-width:750px) {
  .post_content p { line-height:2.4; }
  .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;  }




/* ----------------------------------------------------------------------
 CTA
---------------------------------------------------------------------- */

/* type1 */
@media only screen and (max-width: 750px) {
  .cta_type1 { height:200px; }
  .cta_type1 .catch { font-size:16px; padding:0 20px; }
  .cta_type1 .image.mobile { display:block; }
  .cta_type1 .image.pc { display:none; }
}


/* type2 */
@media only screen and (max-width: 950px) {
  .cta_type2 { height:200px; }
  .cta_type2 .catch { font-size:16px; padding:0 40px; }
}
@media only screen and (max-width: 550px) {
  .cta_type2 { height:250px; }
  .cta_type2 .image_wrap { width:100%; height:50%; float:none; }
  .cta_type2 .link { width:100%; height:50%; float:none; }
  .cta_type2 .image.mobile { display:block; }
  .cta_type2 .image.pc { display:none; }
  .cta_type2 .catch { padding:0 20px; }
}


/* type3 */
@media only screen and (max-width: 750px) {
  .cta_type3 .catch { font-size:16px; padding:0 20px; }
  .cta_type3 .image.mobile { display:block; }
  .cta_type3 .image.pc { display:none; }
}


/* footer cta */
@media screen and (max-width:1050px) {
  /* body.display_footer_cta { padding-bottom:80px; } */
  #js-footer-cta .catch { font-size:16px; margin:0 30px; line-height:1.4; }
  #js-footer-cta__btn { font-size:15px; min-width:240px; height:50px; line-height:50px; margin-right:40px; }
  #js-footer-cta__close { width:40px; }
  #js-footer-cta .image_wrap.use_angle .catch { margin-right:50px; }
}
@media only screen and (max-width: 750px) {
  /* body.display_footer_cta { padding-bottom:60px; } */
  #js-footer-cta { height:60px; }
  #js-footer-cta .catch { font-size:14px; margin:0 70px 0 20px; }
  #js-footer-cta__btn { position:absolute; height:60px; width:100%; background:none !important; }
  #js-footer-cta__btn span { display:none; }
  #js-footer-cta__close { height:60px; line-height:60px; width:40px; z-index:2; }
  #js-footer-cta__btn:after { display:block; font-family:'design_plus'; content:'\e910'; width:20px; height:60px; line-height:60px; position:absolute; right:40px; }
  #js-footer-cta .image_wrap { height:60px; width:100%; }
  #js-footer-cta .button_wrap { height:60px; line-height:60px; width:100%; position:absolute; top:0px; left:0px; z-index:2; }
  #js-footer-cta .button_wrap #js-footer-cta__btn { position:relative; }
  #js-footer-cta .image_wrap { -webkit-transform: skew(0deg); transform: skew(0deg); }
  #js-footer-cta .image_wrap_inner { -webkit-transform: skew(0deg); transform: skew(0deg); }
  #js-footer-cta .image_wrap.use_angle .catch { margin-right:70px; }
  #js-footer-cta .image.pc { display:none; }
  #js-footer-cta .image.mobile { display:block; }
}
