@charset "utf-8";

/* ----------------------------------------------------------------------
 基本設定
---------------------------------------------------------------------- */
/* レイアウト */
#main_contents { width:auto; margin:0; padding:90px 50px 100px; }
@media screen and (max-width:750px) {
  #main_contents { padding:40px 20px 0; }
}



/* ドロワーメニュー */
#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); }
}
/* ぼかしはここまで */


/* ドロワーメニューのスクロールバー */
.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.show_border { box-shadow:none; }
@media screen and (max-width:750px) {
  .lp_content1 .catch { font-weight:600; }
  #main_contents.show_border { padding:0 20px; }
  #main_contents { padding:0 20px; }
  body.page #main_contents { padding:40px 20px; }
  body.page-template-page-lp #main_contents { padding:0px 20px; }
  body.page-template-page-lp .top_skew_image { margin-top:40px !important; }
  body.page-template-page-lp .bottom_skew_image { margin-bottom:40px !important; }
  #main_contents .image_list { margin:40px 0px 33px !important; }
  #main_contents .full_width .image_list { margin:40px -20px 33px !important; }
  #main_contents .lp_content:first-of-type.lp_content1 { padding-top:40px; }
  #main_contents .lp_content:last-of-type.lp_content1 { padding-bottom:40px; }
}


/* 斜め画像 */
@media screen and (max-width:750px) {
  .top_skew_image { height:170px; width:-webkit-calc(100% + 40px); width:calc(100% + 40px); margin:0px -20px 45px; }
  #main_contents.show_border .top_skew_image { width:-webkit-calc(100% + 40px); width:calc(100% + 40px); margin:0px -20px 45px; }
  #main_contents.show_border .top_skew_image.no_wide { width:-webkit-calc(100% + 40px); width:calc(100% + 40px); margin:0 -20px 45px; }

  .skew_image { height:170px; width:-webkit-calc(100% + 40px); width:calc(100% + 40px); margin:50px -20px 50px; }
  .skew_image .image { height:calc(100% + 70px); }
  #main_contents.show_border .skew_image { width:-webkit-calc(100% + 40px); width:calc(100% + 40px); margin:50px -20px 50px; }

  .bottom_skew_image { height:170px; width:-webkit-calc(100% + 40px); width:calc(100% + 40px); margin:45px -20px 0px; }
  #main_contents.show_border .bottom_skew_image { width:-webkit-calc(100% + 40px); width:calc(100% + 40px); margin:45px -20px 0px; }
  #main_contents.show_border .bottom_skew_image.no_wide { width:-webkit-calc(100% + 40px); width:calc(100% + 40px); margin:45px -20px 0; }
}


/* ワイド画像 */
@media screen and (max-width:750px) {
  .top_wide_image { margin:0 -20px 30px; }
  #main_contents.show_border .top_wide_image { margin:0 -20px 30px; }
  #main_contents.show_border .top_wide_image img { width:calc(100% + 40px); }

  .wide_image { margin:32px -20px 34px; }
  #main_contents.show_border .wide_image { margin:32px -20px 34px; }
  #main_contents.show_border .wide_image img { width:calc(100% + 40px); }

  .bottom_wide_image { margin:40px -20px 0px; }
  #main_contents.show_border .bottom_wide_image { margin:40px -20px 0px; }
  #main_contents.show_border .bottom_wide_image img { width:calc(100% + 40px); }

  .post_content img.size-size4 { margin:0px -20px 0px width:calc(100% + 40px) !important; max-width:calc(100% + 40px) !important; }
  #main_contents.show_border .post_content img.size-size4 { margin:0px -20px 0px; width:calc(100% + 40px) !important; max-width:calc(100% + 40px) !important; }

  body.page-template-page-lp .top_wide_image { margin-top:40px !important; }
  body.page-template-page-lp .bottom_wide_image { margin-bottom:40px !important; }

}


/* 通常画像 */
@media screen and (max-width:750px) {
  .top_normal_image { margin:0 0px 35px; }
  .normal_image { margin:0 0px 35px; }
  .bottom_normal_image { margin:40px 0px 0; }
  body.page-template-page-lp .top_normal_image { margin-top:40px !important; }
  body.page-template-page-lp .bottom_normal_image { margin-bottom:40px !important; }
}


/* その他 */
@media screen and (max-width:750px) {
  .design_list_headline { height:50px; line-height:50px !important; font-size:15px !important; }
  .design_list { margin-bottom:40px !important; }
  .design_list th { width:110px; }
  .design_list td { padding:15px 20px !important; }
}




/* ----------------------------------------------------------------------
 ページヘッダー
---------------------------------------------------------------------- */
#page_header { height:350px; }
body.single #page_header, body.archive.author #page_header { display:none; }
#page_header .catch_area { width:100%; padding:0 50px; }
@media screen and (max-width:750px) {
  #page_header { height:240px; }
  #page_header .headline_area { min-width:250px; height:70px; }
  #page_header .sub_title { margin-top:5px; }
  #page_header .catch_area { padding:0 20px; }
  #page_header .catch { font-weight:600; }
  #page_header .catch.pc { display:none; }
  #page_header .catch.mobile { display:block; }
  #page_header .desc.pc { display:none; }
  #page_header .desc.mobile { display:block; }
  #page_header .desc { margin-top:10px; line-height:1.8; }
}


#catch_area .catch { line-height:1.6; }
#catch_area .desc { line-height:2.3; }
@media screen and (max-width:750px) {
  #catch_area .catch { font-weight:600; }
}



/* ----------------------------------------------------------------------
 ブログアーカイブページ
---------------------------------------------------------------------- */
#blog_archive { width:auto; margin:0 auto; padding:90px 50px 100px; overflow:hidden; }
@media screen and (max-width:750px) {
  #blog_archive { padding:0 20px; }
  #blog_archive #catch_area { margin:38px 0 30px; }
  #blog_archive .post_list2 { margin:0 -21px 0 -20px; }
}


/* ページナビ */
@media screen and (max-width: 750px){
  .page_navi { margin:40px 0; }
  .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_navi .next:before, .page_navi .prev:before{
  top: 0px;
  line-height: 11px;
  }
  
.page_navi .next:before, .page_navi .prev:before{
  top: 0px;
  line-height: 11px;
}





/* ----------------------------------------------------------------------
 お知らせ
---------------------------------------------------------------------- */
/* アーカイブページ */
#news_archive { width:auto; margin:0 auto; padding:90px 50px 100px; }
@media screen and (max-width:750px) {
  #news_archive { padding:0 20px; overflow:hidden; }
  #news_archive #catch_area { margin:35px 0 30px; }
  #news_archive .post_list1 { margin:0 -21px 0 -20px; }
}


/* 詳細ページ */
@media screen and (max-width:750px) {
  body.single-news #article { border:none; margin:0px -20px 0; }
  body.single-news #post_title_area { margin:0px 0px 45px; width:100%; }
  body.single-news #post_title_area.no_image .title { padding:60px 20px 0; }
  body.single-news #post_title_area.no_image .post_meta { left:20px; }
  #news_contents { padding:0 20px; }
  #news_contents.type2 { padding-top:20px; }
  body.single-news #next_prev_post { margin:40px 20px 0px; width:auto; }
  body.single-news #next_prev_post:before { display:none; }
}


/* 最新のお知らせ */
@media screen and (max-width:750px) {
  #recent_news { margin:40px -20px 0; padding:0; border:none; border-top:1px solid #ddd; }
  #recent_news .headline { height:60px; line-height:60px; padding:0 20px; }
  #recent_news .post_list { border-bottom:1px solid #ddd; }
  #recent_news .post_list .item { float:none; width:auto; margin:0; border:none; border-top:1px solid #ddd; }
  #recent_news .post_list .image_wrap { margin:-1px 0 0 0; display:block; width:111px; height:111px; }
  #recent_news .post_list .title_area { padding:0 20px; width:calc(100% - 111px); }
  #recent_news .post_list .title { font-weight:600; }
}




/* ----------------------------------------------------------------------
 ギャラリー
---------------------------------------------------------------------- */

/* アーカイブページ */
#gallery_archive { width:auto; margin:0 auto; padding:90px 50px 100px; overflow:hidden; }
@media screen and (max-width:750px) {
  #gallery_archive { padding:0 20px; }
  #gallery_archive #catch_area { margin:38px 0 30px; }
}


/* ソートボタン */
#gallery_sort_button { width:auto; margin:0 0 100px; }
#gallery_sort_button a { height:45px; line-height:45px; font-size:12px; width:calc(100% / 3); }
@media screen and (max-width:750px) {
  #gallery_sort_button { width:auto; margin:0 0 40px; }
}


/* カテゴリー一覧 */
@media screen and (max-width:750px) {
  #gallery_category_list { margin-bottom:40px; }
  .tax-gallery_category #gallery_category_list { margin-top:40px; }
  #gallery_category_list li { width:calc(50% + 1px); margin:0 -1px -1px 0; font-size:12px; height:45px; line-height:45px; }
}


/* 記事一覧 */
@media screen and (max-width:750px) {
  #archive_gallery_list { margin:0 -20px; }
  #archive_gallery_list .item { height:314px; width:-webkit-calc(50% + 1px); width:calc(50% + 1px); }
  #archive_gallery_list .image_wrap { height:181px; }
  #archive_gallery_list .title_area { padding:16px 20px; height:131px; }
  #archive_gallery_list .title { line-height:1.8; height:auto; max-height:7.2em; margin:0; }
  #archive_gallery_list .title span { -webkit-line-clamp:4; }
  #archive_gallery_list .date { top:146px; font-size:10px; padding:0 15px; }
}


/* 詳細ページ */
#gallery_single { width:auto; margin:0 auto; padding:90px 50px 100px; }
#single_gallery_list { width:auto; }
@media screen and (max-width:750px) {
  #gallery_single { width:auto; margin:0 auto; padding:40px 20px 40px; }
  #gallery_single #catch_area { margin-bottom:30px; }
  #single_gallery_list { width:auto; margin:0 -20px; }
  #next_prev_post2 { margin-top:40px; }
  #next_prev_post2 .item { height:50px; }
  #next_prev_post2 .image_wrap { display:none; }
  #next_prev_post2 .title_area { float:none; width:auto; }
  #next_prev_post2 .title_area .title { display:none; }
  #next_prev_post2 .title_area .nav { display:block; width:100%; text-align:center; height:50px; line-height:50px; }
  #gallery_single .button { margin-top:40px; }
  #gallery_single .button a { font-size:14px; min-width:200px; height:50px; line-height:50px; }
  #gallery_single .bottom_desc { margin:30px 0 -9px; }
}
@media screen and (max-width:550px) {
  #single_gallery_list .item { width:50%; }
}



/* ----------------------------------------------------------------------
 チーム
---------------------------------------------------------------------- */
/* アーカイブページ */
#member_archive { padding:90px 0 100px; overflow:hidden; }
#member_archive #catch_area { width:auto; margin:0 50px 87px; }
@media screen and (max-width:750px) {
  #member_archive { padding:0; }
  #member_archive #catch_area { width:auto; margin:37px 20px 33px; }
}


/* ソートボタン */
#member_sort_button { width:auto; margin:0 50px 100px; }
#member_sort_button a { height:45px; line-height:45px; font-size:12px; }
@media screen and (max-width:750px) {
  #member_sort_button { width:auto; margin:0 20px 40px; }
}


/* メンバー一覧 */
.index_member_list { width:auto; padding:90px 50px 100px; overflow:hidden; }
.index_member_list .button { text-align:center; margin-top:100px; }
.index_member_list .button a { font-size:14px; min-width:200px; height:50px; line-height:50px; }
.member_list_slider { width:auto; }
.member_list1 { margin-bottom:-100px; }
.member_list1 .item { width:50%; }
.member_list2 { width:auto; padding:0 50px; }
.index_member_list .member_list2 { padding:0; }
.member_list2 .item { width:50%; }
@media screen and (max-width:750px) {
  .index_member_list { padding:35px 0 40px; }
  .index_member_list .catch { line-height:1.4; margin:0 20px 15px; font-weight:600; }
  .index_member_list .catch .pc { display:none; }
  .index_member_list .catch .mobile { display:block; }
  .index_member_list .desc { line-height:2.2; margin:0 20px 30px; }
  .index_member_list .desc.pc { display:none; }
  .index_member_list .desc.mobile { display:block; }
  .member_list1 { margin-bottom:0px; }
  .member_list1 .title { height:45px; line-height:45px; }
  .member_list1 .excerpt { font-size:14px; padding:0 25px; }
  .member_list2 { padding:0; width:calc(100% + 2px); }
  .member_list2 .title { top:240px; height:45px; line-height:45px; }
  .index_member_list .member_list2:before { display:none; }
  .index_member_list .member_list2:after { display:none; }
}
@media screen and (max-width:550px) {
  .member_list1 .excerpt { max-height:5.4em; }
  .member_list1 .excerpt span { -webkit-line-clamp:3; }
  .member_list2 .item { height:315px; }
  .member_list2 .image_wrap { height:183px; }
  .member_list2 .title { top:138px; }
  .member_list2 .excerpt_area { height:132px; padding:17px 20px; }
  .member_list2 .excerpt {
    font-size:14px; line-height:1.8; max-height:7.2m; position:relative; left:auto; right:auto;
    top:0%; transform:none;
  }
  .member_list2 .excerpt span { -webkit-line-clamp:4; }
  .member_list_slider .slick-dots { bottom:-42px; }
  .index_member_list .member_list2 { height:315px; }
  .index_member_list .button { margin-top:70px; }
}


/* メンバー詳細ページ */
#member_single { width:auto; padding:50px 50px 100px; }
@media screen and (max-width:750px) {
  #member_single { width:auto; padding:0px; }
  #single_author_title_area { height:50px; }
  #single_author_title_area .category { margin:8px 15px 0 8px; }
  #single_author_title_area .title { height:50px; line-height:50px; padding:0 20px; }
  #single_author_title_area .author_link { right:10px; top:16px;}
  #single_author_image_area { height:auto; width:100%; }
  #single_author_image_area .image { float:none; width:auto; height:360px; }
  #single_author_image_area .catch { float:none; width:auto; height:auto; }
  #single_author_image_area .catch h2 { padding:45px 50px; top:0%; transform:none; }
  #member_single .main_content { border:none; padding:0px 20px 40px; }
  #member_single .main_content .headline { border-bottom:2px solid #000; margin:30px 0 10px 0; padding:0 0 12px 0; }
  #member_single .user_image_area { margin:30px 0 0; }
  #member_single .user_image_area .image { height:198px; }
  #member_single .user_video_area { margin:30px 0 0; }
  #member_single .user_video_area a { height:198px; }
  #next_prev_author { margin:30px 0 0; }
  #next_prev_author .item { height:50px; }
  #next_prev_author .image_wrap { display:none; }
  #next_prev_author .title_area { float:none; width:100%; }
  #next_prev_author .title_area .title { font-size:12px; }
}




/* ----------------------------------------------------------------------
 トップページ　（ヘッダースライダー以外）
---------------------------------------------------------------------- */
/* カルーセルスライダー */
#header_carousel { height:155px; }
#header_carousel_wrap.no_meta #header_carousel { height:120px; }
#header_carousel .item a.link { height:120px; }
#header_carousel .item .title_area { padding:20px 25px; width:-webkit-calc(100% - 120px); width:calc(100% - 120px); }
#header_carousel .item .title { line-height:2.0; max-height:6em; }
#header_carousel .image_wrap { width:120px; height:120px; }
#header_carousel .post_meta { padding:0 15px; margin-left:120px; }
#header_carousel .post_meta li { font-size:10px; }
@media screen and (max-width:750px) {
  #header_carousel .item .title_area { padding:25px 25px; }
  #header_carousel .item .title { font-weight:600; }
}


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


/* フリースペース */
.index_free_space { width:auto; padding:0 50px 100px; }
@media screen and (max-width:750px) {
  .index_free_space { width:auto; padding:0 20px 40px; }
}


/* デザインコンテンツ１ */
.index_design_content1 { width:auto; padding:90px 50px 100px; }
.index_design_content1 .button a { font-size:14px; min-width:200px; height:50px; line-height:50px; }
.index_design_content1 .desc { }
@media screen and (max-width:750px) {
  .index_design_content1 { width:auto; padding:40px 20px 40px; }
  .index_design_content1 .catch { line-height:1.4; font-weight:600; }
  .index_design_content1 .catch .pc { display:none; }
  .index_design_content1 .catch .mobile { display:block; }
  .index_design_content1 .post_content.pc { display:none; }
  .index_design_content1 .post_content.mobile { display:block; }
  .index_design_content1 .button { margin-top:32px; }
}


/* デザインコンテンツ２ */
.index_design_content2 { }
.index_design_content2 .button a { font-size:14px; min-width:200px; height:50px; line-height:50px; }
.index_design_content2 .content_inner {
  width:100%; padding:0 100px;
  -webkit-box-sizing:border-box; box-sizing:border-box;
}
@media screen and (max-width:850px) {
  .index_design_content2 { height:auto; overflow:auto; background:none !important; }
  .index_design_content2 .content { width:auto; height:auto; position:relative; left:auto; top:auto; background:#004c66; }
  .index_design_content2 .content_inner {
    position:relative; width:auto; padding:65px 50px;
    left:auto; top:auto; transform:none;
  }
  .index_design_content2 .image_wrap { transform:none; position:relative; top:auto; right:auto; width:auto; height:360px; }
  .index_design_content2 .image { transform:none; }
  .index_design_content2.type2 .content { left:auto; right:auto; }
  .index_design_content2.type2 .image_wrap { transform:none; right:auto; left:auto; }
  .index_design_content2.type2 .image { transform:none; }
  .index_design_content2 .desc { line-height:2.2; }
  .index_design_content2 .desc.pc { display:none; }
  .index_design_content2 .desc.mobile { display:block; }
}


/* 画像一覧 */
@media screen and (max-width:750px) {
  .index_image_list .image_list .item { width:calc(100% / 3); }
  .index_image_list .main_image { height:400px; }
}
@media screen and (max-width:550px) {
  .index_image_list .main_image { height:240px; }
}


/* 記事一覧１ */
.index_post_list1 { width:auto; padding:90px 50px 100px; }
.index_post_list1 .headline { margin:0 0 70px 0; }
.index_post_list1 .carousel_arrow { display:none }
.index_post_list1 .button a { font-size:14px; min-width:200px; height:50px; line-height:50px; }
@media screen and (max-width:750px) {
  .index_post_list1 { padding:32px 0 40px; }
  .index_post_list1 .headline { margin:0 0 35px 0; }
  .index_post_list1 .headline span { font-weight:600; }
  .index_post_list1 .post_list1 { height:386px; }
  .post_list1 .item { height:386px; width:50%; }
  .post_list1 .image_wrap { height:270px; }
  .post_list1 .title_area { height:116px; padding:20px; }
  .post_list1 .item:nth-child(3n) .title_area { border-right:none; }
  .post_list1 .item:nth-child(2n) .title_area { border-right:1px solid #ddd; }
  .index_post_list1 .post_list1 .item:nth-child(2n) .title_area { border-right:none; }
  .post_list1 .title { font-weight:600; height:auto; max-height:7.2em; margin:0; }
  .post_list1 .title span { -webkit-line-clamp:4; }
  .post_list1 .excerpt { display:none; }
  .post_list1 .post_meta { top:235px; padding:0 15px; }
  .post_list1 .post_meta li { font-size:10px; }
  .index_post_list1 .post_list1:before { display:none; }
  .index_post_list1 .post_list1:after { display:none; }
  .index_post_list1 .button { margin-top:40px; }
}
@media screen and (max-width:550px) {
  .index_post_list1 .post_list1 { height:314px; }
  .post_list1 .item { height:314px; }
  .post_list1 .image_wrap { height:181px; }
  .post_list1 .post_meta { top:146px; }
  .post_list1 .title_area { height:132px; padding:17px 20px; }
}


/* 記事一覧２ */
.index_post_list2 { width:auto; padding:90px 50px 100px; }
.post_list2 { width:auto; }
.index_post_list2 .headline { margin:0 0 70px 0; }
.index_post_list2 .button a { font-size:14px; min-width:200px; height:50px; line-height:50px; }
@media screen and (max-width:950px) {
  .post_list2 .item { width:-webkit-calc(50% - 1px); width:calc(50% - 1px); }
  .post_list2 .item:nth-child(3n) { margin-right:1px; }
  .post_list2 .item:nth-child(2n) { margin-right:0; }
}
@media screen and (max-width:750px) {
  .index_post_list2 { width:auto; padding:32px 0px 40px; overflow:hidden; }
  .index_post_list2 .headline { margin:0 0 35px 0; }
  .index_post_list2 .headline span { font-weight:600; }
  .index_post_list2 .post_list2 { margin-right:-1px; }
  .post_list2 .item { height:314px; }
  .post_list2 .image_wrap { height:183px; }
  .post_list2 .title_area { height:131px; padding:15px 20px; }
  .post_list2 .title { font-weight:600; line-height:1.8; height:auto; max-height:7.2em; margin:0; }
  .post_list2 .title span { -webkit-line-clamp:4; }
  .post_list2 .post_meta { top:148px; padding:0 15px; padding: 0 10px; }
  .post_list2 .post_meta li { font-size:10px; }
  .index_post_list2 .button { margin-top:40px; }
}




/* ----------------------------------------------------------------------
 トップページ　スライダー
---------------------------------------------------------------------- */
#index_slider { height:600px; }
#index_slider .item { height:600px; }
#index_video { height:600px; }
#index_slider_wrap { margin:0; }
@media screen and (max-width:550px) {
  #index_slider { height:calc(100vh - 60px); }
  #index_slider .item { height:calc(100vh - 60px); }
  #index_video { height:calc(100vh - 60px); }
}


/* キャプション */
#index_slider .caption { padding:0 40px; width:auto; }
@media screen and (max-width:950px) {
  #index_slider .caption { padding:0 30px; }
  #index_slider .button { font-size:14px; min-width:200px; height:50px; line-height:50px; padding:0 20px; }
}
@media screen and (max-width:750px) {
  #index_slider .caption.pc { display:none; }
  #index_slider .caption.mobile { display:block; }
  #index_slider .catch { line-height:1.6; }
  #index_slider .desc { margin-top:6px; line-height:2.0; }
  #index_slider .button { margin-top:17px; }
  #index_slider .item .image.mobile { display:block; }
  #index_slider .item .image.pc { display:none; }
}


/* アニメーション */
@media screen and (max-width:750px) {
  #index_slider .caption.mobile.animate .animate1 {
    -webkit-animation: slideUp 1.0s cubic-bezier(0.165, 0.84, 0.44, 1) forwards 2.0s;
    animation: slideUp 1.0s cubic-bezier(0.165, 0.84, 0.44, 1) forwards 2.0s;
  }
  #index_slider .caption.mobile.animate .animate2 {
    -webkit-animation: slideUp 1.0s cubic-bezier(0.165, 0.84, 0.44, 1) forwards 2.8s;
    animation: slideUp 1.0s cubic-bezier(0.165, 0.84, 0.44, 1) forwards 2.8s;
  }
  #index_slider .caption.mobile.animate .animate3 {
    -webkit-animation: slideUp 1.0s cubic-bezier(0.165, 0.84, 0.44, 1) forwards 3.6s;
    animation: slideUp 1.0s cubic-bezier(0.165, 0.84, 0.44, 1) forwards 3.6s;
  }
}




/* ----------------------------------------------------------------------
 ヘッダー
---------------------------------------------------------------------- */
#header { height:60px; position:relative; }
#header a { color:#000; }
.mobile .header_fix_mobile { padding-top:60px; }
.header_fix_mobile #header {
  position:fixed; 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;
}
.no_menu.header_fix_mobile #header { display:none; }
@-webkit-keyframes slide_down_menu {
  0% { top:-60px; }
  100% { top:0px; }
}
@keyframes slide_down_menu {
  0% { top:-60px; }
  100% { top:0px; }
}


/* ロゴ */
#header_logo { width:auto; height:60px; left:20px; }
#header_logo .pc_logo_image { display:none; }
#header_logo .pc_logo_text { display:none; }
#header_logo .mobile_logo_image { display:block; left:0; right:0; top:50%; -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); position:absolute; max-width: inherit; }
#header_logo .mobile_logo_text { display:block; line-height:60px; }


/* SNSボタン */
#header_social_link { display:none; }


/* メニューボタン */
#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 { text-indent:100%; white-space:nowrap; overflow:hidden; display:block; }
#menu_button:before {
  color:#000; font-family:'design_plus'; font-size:18px; display:block; position:absolute; top:2px; bottom:0; left:0px; right:0; margin:auto;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
#menu_button:before { content:'\f0c9'; }
#menu_button:hover, a.menu_button.active { }
#menu_button:hover:before, #menu_button.active:before { }


/* グローバルメニュー */
#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:18px 20px; line-height:1.6; overflow:hidden; text-decoration:none;
  color:#fff; font-size:13px;
  -webkit-box-sizing:border-box; box-sizing:border-box;
}
#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:55px; height:55px; 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; width:12px; height:12px; line-height:12px;
  position:absolute; right:22px; top:25px;
}
#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;
}


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


/* パンくずリンク */
#bread_crumb { height:43px; }
#bread_crumb ul { width:auto; padding:0 30px; }
#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 9px; }
#bread_crumb li.home a:before { font-size:12px; }
@media screen and (max-width:750px) {
  #bread_crumb ul { padding:0 20px; }
}




/* ----------------------------------------------------------------------
 記事ページ
---------------------------------------------------------------------- */
/* タイトル */
@media screen and (max-width:750px) {
  #post_title_area { margin:0 -20px 45px; height:240px; width:auto; }
  #post_title_area.no_image { height:auto; }
  #post_title_area .title { padding:55px 20px; }
  #post_title_area.no_image .title { color:#000 !important; padding:55px 20px; }
  #post_title_area .post_meta { left:20px; padding:0 15px; }
  #post_title_area .post_meta li { font-size:10px; }
  #post_title_area .update { position: relative; bottom: 1px; }
  #post_title_area .update:before { font-size:10px; top: 0px; }
  }


/* SNSボタン */
@media screen and (max-width:950px) {
  #single_share_bottom { margin:50px 0 0; }
}
@media screen and (max-width:750px) {
  #single_share_top { margin:0 0 30px 0; padding:10px 0 0 0; }
  #single_share_top .share-top { }
  #single_share_bottom { margin:40px 0 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:950px) {
  #single_copy_title_url_top { margin-bottom:35px; margin-top:40px; }
  #single_share_top + #single_copy_title_url_top { margin-top:40px; }
  #single_copy_title_url_bottom { margin-bottom:0; margin-top:32px; }
  #single_share_bottom + #single_copy_title_url_bottom { margin-top:40px; }
}
@media screen and (max-width:750px) {
  .single_copy_title_url_btn { border-width:2px; font-size:12px; line-height:46px; min-width:250px; }
}


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


/* 次の記事、前の記事 */
@media screen and (max-width:1100px) {
  #next_prev_post .item { height:50px; }
  #next_prev_post .title_area { font-size:12px; margin:0; text-align:center; width:100%; height:50px; }
  #next_prev_post .title { display:none; }
  #next_prev_post .nav { display:block; position:relative; height:50px; line-height:50px; }
  #next_prev_post .image_wrap { display:none; }
  #next_prev_post a:before { left:15px; }
  #next_prev_post .next_post a:before { left:auto; right:15px; }
  #next_prev_post .next_post .title_area { margin:0; }
  #next_prev_post .register_link:after { top:16px; right:20px; }
  #next_prev_post .next_post .register_link:after { right:auto; left:20px; }
}
@media screen and (max-width:750px) {
  #next_prev_post { margin-top:40px; }
}


/* ページ分割 */
@media screen and (max-width:750px) {
  #post_pagination { padding:5px 0 0 0; }
  #p_readmore { padding:5px 0 0 0; margin:0; }
}


/* プロフィール */
@media screen and (max-width:750px) {
  .author_profile { margin:40px 0 0; height:140px; padding:15px; -webkit-box-sizing:border-box; box-sizing:border-box; }
  .author_profile a.avatar { width:110px; height:110px; margin:0; }
  .author_profile .info { padding:10px 0px 10px 20px; -webkit-width:calc(100% - 110px); width:calc(100% - 110px); }
  .author_profile .name { font-size:14px; margin:0 0 13px 0; }
  .author_profile .desc { margin:0 0 10px 0; font-size:12px; line-height:1.6; max-height:3.2em; overflow:hidden; white-space:normal; text-overflow:clip; }
  .author_profile .desc span { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
}


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


/* 最近の記事 */
@media screen and (max-width:750px) {
  #recent_post { margin:0; padding:0; border:none; border-top:1px solid #ddd; }
  body.single-post #recent_post { margin:40px -21px 0 -20px; border-bottom:1px solid #ddd; }
  #recent_post .headline { height:60px; line-height:60px; padding:0 20px; }
  #recent_post .post_list { height:314px; }
  #recent_post .post_list .item { height:314px; border-bottom:none; }
  #recent_post .post_list .image_wrap { height:181px; }
  #recent_post .post_list .title_area { padding:18px 20px; height:133px; }
  #recent_post .post_list .title { max-height:7.2em; font-weight:600; }
  #recent_post .post_list .title span { -webkit-line-clamp:4; }
  #recent_post .carousel_arrow { display:none; }
  #recent_post .post_list:before { display:none; }
  #recent_post .post_list:after { display:none; }
}


/* 記事一覧　タブ記事 */
#single_tab_post_list .post_list { width:auto; }
@media screen and (max-width:750px) {
  #single_tab_post_list_header li { height:50px; line-height:50px; font-size:14px; }
  #single_tab_post_list { margin:40px -21px 0 -20px; }
  #single_tab_post_list .post_list_wrap { padding:40px 0; height:265px; }
  #single_tab_post_list .post_list { height:180px; }
  #single_tab_post_list .post_list .item { height:180px; }
  #single_tab_post_list .post_list .title { padding:0 20px; font-weight:600; }
  #single_tab_post_list .carousel_arrow { display:none; }
}




/* ----------------------------------------------------------------------
 その他のページ
---------------------------------------------------------------------- */
/* 404ページ*/
#page_404_header { height:calc(100vh - 60px); }

/* ----------------------------------------------------------------------
 ウィジェット
---------------------------------------------------------------------- */
#side_col { padding:50px 50px 0; }
@media screen and (max-width:750px) {
  #side_col { margin:40px 0 0 0; padding:0; display:block; border:none; }
  .widget_content { width:auto; margin:0 0 40px 0; }
}


/* 検索フォーム */
#widget_bottom_search { width:calc(100% + 102px); margin:0 -51px -1px; padding:25px 0; }
@media screen and (max-width:750px) {
  #widget_bottom_search .headline { display:block; margin:0 0 18px 0; font-size:16px; }
  #widget_bottom_search { width:calc(100% + 40px); margin:0 -20px -1px; padding:25px 20px; }
  #widget_bottom_search form { width:auto; }
}



/* ----------------------------------------------------------------------
 フッター
---------------------------------------------------------------------- */
@media screen and (max-width:750px) {
  #footer { padding:40px 0; }
}
@media screen and (max-width:550px) {
  .footer_bg_image.pc { display:none; }
  .footer_bg_image.mobile { display:block; }
}


/* バナーコンテンツ */
#footer_banner { width:auto; margin:50px 50px 0; }
@media screen and (max-width:750px) {
 #footer_banner { width:auto; margin:30px 20px 0; }
 #footer_banner .item { max-width:400px; width:100%; float:none; margin:0 auto; border-width:10px !important; }
 #footer_banner .item:nth-child(2n) { margin:16px auto 0; }
}

/* ロゴ */
#footer_logo .pc_logo_image { display:none; }
#footer_logo .pc_logo_text { display:none; }
#footer_logo .mobile_logo_image { display:block; }
#footer_logo .mobile_logo_text { display:block; }
#footer_logo .desc { font-size:12px; }
@media screen and (max-width:750px) {
  #footer_logo .mobile_logo_image { margin:0 auto; }
  #footer_logo .desc { margin:30px 0 0 0; }
}


/* SNSボタン */
#footer_social_link { margin:35px 0 0 0; }
@media screen and (max-width:750px) {
  #footer_social_link li { margin:0 6px; }
}


/* メニュー */
#footer_menu { line-height:2; }
#footer_menu li { font-size:12px; }
@media screen and (max-width:750px) {
  #footer_menu { margin:35px 0 0 0; }
  #footer_menu li { display:block; margin:10px 0; }
}


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


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

/* フッターバー */
#dp-footer-bar {
  position:fixed; right:0px; bottom:0px; z-index:999; width:100%;
}
.open_menu #dp-footer-bar { display:none; }
.dp-footer-bar-type1 #dp-footer-bar {
  opacity:0;
	-webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
  transition: opacity 0.35s, transform 0.35s;
  pointer-events: none;
}
.dp-footer-bar-type1 #dp-footer-bar.active {
  opacity:1;
  pointer-events: visible;
}
.dp-footer-bar-type2 #dp-footer-bar {
  -webkit-transform: translate3d(0,100%,0); transform: translate3d(0,100%,0);
  -webkit-transition: -webkit-transform 0.35s; transition: transform 0.35s;
}
.dp-footer-bar-type2 #dp-footer-bar.active {
  -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0);
}


/* 固定フッターが有効時、モバイルデバイス調整用 */
body.show_footer_bar { padding-bottom:0px; }
body.show_footer_bar #return_top.active { -webkit-transform: translate3d(0,-55px,0); transform: translate3d(0,-55px,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,-55px,0); transform: translate3d(0,-55px,0); }
}



/* ----------------------------------------------------------------------
 コメント
---------------------------------------------------------------------- */
/* 基本設定 */
@media screen and (max-width:750px) {
  #comments { margin:20px -20px 0; padding:0 20px 40px; border-bottom:1px solid #ddd; }
}

/* コメント・トラックバックのタブ */
#comment_tab li a, #comment_tab li p { padding:15px 15px; }




/* ----------------------------------------------------------------------
 その他
---------------------------------------------------------------------- */
/*  WordPress プリセットスタイル */
@media screen and (max-width:750px) {
  .post_content p { line-height:2.2; }
  .post_content li, .post_content dt, .post_content dd { line-height:2.2; }
  .post_content td, .post_content th { line-height:2.2; }
}


/* パスワード保護 */
.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 */
.cta_type1 { width:100%; height:350px; margin:80px 0 0; position:relative; }
@media screen and (max-width:950px) {
  .cta_type1 { width:100%; height:auto; margin:60px 0 0; }
  .cta_type1 .image { width:100%; height:150px; float:none; }
  .cta_type1 .catch_area { width:100%; height:auto; float:none; border:1px solid #ddd; border-top:none; padding:20px 22px; text-align:center; }
  .cta_type1 .catch {
    position:relative; font-size:16px !important; text-align: left;
    left:0; top: 0%; -webkit-transform: translateY(0%); transform: translateY(0%);
  }
  .cta_type1 .button {
    position:relative; width:220px; height:45px; line-height:45px; margin:20px 0 0 0; font-size:12px;
    left:0; top: 0%; -webkit-transform: translateY(0%); transform: translateY(0%);
  }
  .cta_type1 .button:after { right:7px; top:17px; }
}


/* type2 */
.cta_type2 { margin:80px 0 0; }
@media screen and (max-width:950px) {
  .cta_type2 { margin:60px 0 0; height:230px; }
  .cta_type2 .catch { font-size:16px !important; }
  .cta_type2 .button { width:220px; height:45px; line-height:45px; font-size:12px; }
  .cta_type2 .button:after { right:7px; top:17px; }
  .cta_type2 .catch_area { padding:0 25px; }
  .cta_type2 .catch { margin-bottom:22px; }
}


/* type3 */
.cta_type3 { width:100%; height:350px; margin:80px 0 0; position:relative; }
@media screen and (max-width:950px) {
  .cta_type3 { width:100%; height:auto; margin:60px 0 0; }
  .cta_type3 .image, .cta_type3.type2 .image { width:100%; height:150px; float:none; }
  .cta_type3 .catch_area, .cta_type3.type2 .catch_area { width:100%; height:auto; float:none; border:1px solid #ddd; border-top:none; }
  .cta_type3 .catch_area_inner {
    position:relative; padding:20px 22px; text-align:center;
    top: 0%; -webkit-transform: translateY(0%); transform: translateY(0%);
  }
  .cta_type3 .catch { font-size:16px !important; text-align: left; }
  .cta_type3 .desc { font-size:12px !important; line-height:1.6; text-align: left; margin-bottom:18px; }
  .cta_type3 .button { width:220px; height:45px; line-height:45px; font-size:12px; }
  .cta_type3 .button:after { right:7px; top:17px; }
}


/* footer cta */
@media only screen and (max-width: 1199px) {
  .p-footer-cta__catch { margin-bottom: 0; }
  .p-footer-cta__desc { display: none; }
  .p-footer-cta__btn { margin-left: 30px; }
}
@media only screen and (max-width: 991px) {
  .p-footer-cta__catch { font-size: 16px; }
}
@media only screen and (max-width: 767px) {
  .p-footer-cta__inner { height:60px; padding:0 20px; }
  .p-footer-cta__catch { font-size: 11px; line-height: 1.6; margin-bottom: 0; }
  .p-footer-cta__desc { display: none; }
  .p-footer-cta__btn { position:absolute; top:0px; right:20px; background:none !important; height:60px; line-height:60px; width:calc(100% - 20px); min-width:inherit; text-indent:-200%; overflow:hidden; padding:0; }
  .p-footer-cta__close { border-radius: 0; top: 0; right: 0; width: 35px; height: 100%; background: #444; text-align: center; }
  .p-footer-cta__close::before { height: 100%; line-height: 60px; }
}
