@charset "utf-8";



body { position:absolute; top:0; left:0; right:0; bottom:0; }



/* レイアウト */

#header_top { display:none; }

#header { height:56px; width:100%; min-width:0; right:0px; top:0px; right:0; z-index:100; margin:0; }

#header_inner { height:56px; width:100%; min-width:0; margin:0; padding:0; }



#main_contents { width:auto; margin:0 auto; padding:0; }

#main_col { width:auto; min-width:0; margin:0 auto !important; padding:0 20px; }

#left_col { width:70%; width:-webkit-calc(100% - 330px); width:calc(100% - 330px); margin:0 0 40px 0; }

#side_col { width:30%; width:-webkit-calc(300px); width:calc(300px); margin:0 0 40px 0; }

.no_side_content #left_col { width:auto; float:none; }

.home.no_header_slider #main_contents { padding-top:0px; }

.home.no_index_3box #main_contents { padding-top:40px; }



@media screen and (max-width:950px) {

  #left_col { width:auto; float:none; }

  #side_col { width:auto; float:none; }

  #main_contents { width:auto; margin:0 auto; }

}





/* スライドメニュー */

#container {

  padding:56px 0 0 0; position:relative; right:0; top:0px; z-index:9999; width:100%; background:#fff; box-shadow:0 -55px 10px 7px rgba(0,0,0,0.3);

  -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;

}

.open_menu #container { right:90%; }

#mobile_menu { position:fixed; top:0px; right:0px; width:90%; height:100%; z-index:9; background:#333; overflow:auto; }

#mobile_menu:after  {

  display:block; content:''; position:fixed; width:100%; height:100%; top:0px; right:0px; background:#fff; z-index:10;

  -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;

}

.open_menu #mobile_menu:after { right:90%; }





/* 固定ヘッダー */

.mobile_header_fix #header {

  position:fixed; background:#fff;

  -webkit-transition:left 300ms cubic-bezier(0.190, 1.000, 0.220, 1.000); transition:left 300ms cubic-bezier(0.190, 1.000, 0.220, 1.000);

  -webkit-backface-visibility: hidden; backface-visibility: hidden;

}

.mobile_header_fix.open_menu #header { left:-90%; }

.mobile_header_fix.mobile_header_fix_active #header { border-bottom:1px solid #ddd; }









/* ----------------------------------------------------------------------

 ヘッダースライダー

---------------------------------------------------------------------- */

#header_slider { min-width:inherit; height:450px; }

#header_slider .item { height:450px; }

#header_slider .caption { width:auto; height:450px; margin:0 auto; position:relative; }

#header_slider .caption_inner { padding:0 35px; }

#header_slider .caption .desc { font-size:14px; line-height:2.0; margin:10px 0 0 0; }

#header_slider .caption .button { font-size:12px; min-width:180px; height:45px; line-height:45px; padding:0 67px 0 50px; }

#header_slider .caption .button span:after { top:-14px; }

#header_slider .slick-dots { bottom:15px; }

@media screen and (max-width:730px) {

  #header_slider { height:380px; }

  #header_slider .item { height:380px; }

  #header_slider .caption { height:380px; }

  #header_slider .caption_inner { padding:0 20px; }

  #header_slider .caption .title { font-size:24px; }

  #header_slider .caption .desc { font-size:12px; }

}









/* ----------------------------------------------------------------------

 トップページ

---------------------------------------------------------------------- */

/* コンテンツビルダー共通パーツ */

.index_content { margin:0 0 40px 0; }

.index_content:last-of-type { margin:0; }

.index_archive_button { text-align:center; margin:40px 0 0 0; }

.index_archive_button a { font-size:12px; height:45px; line-height:45px; min-width:180px; padding:0 50px; }

.index_archive_button a:after { margin:1px 0 0 10px; }





/* ３点ボックス */

#index_3box { width:100%; min-width:inherit; }

#index_3box_inner { width:auto; margin:0 auto 40px; }

#index_3box .box { padding:35px; }

#index_3box .title { font-size:14px; }

#index_3box .button { font-size:12px; padding:0 70px 0 50px; min-width:180px; height:45px; line-height:45px; }

#index_3box .button div { height:45px; }

#index_3box .button div:nth-child(2) { width:130%; }

#index_3box .button span:after { right:-25px; top:-13px; }

@media screen and (max-width:850px) {

  #index_3box .box { padding:20px 35px; }

}

@media screen and (max-width:730px) {

  #index_3box_inner { height:auto; }

  #index_3box .box { padding:20px 20px 60px; float:none; width:100%; height:auto; }

}





/* お知らせ */

#index_news { }

#index_news.two_list { display:block; }

#index_news .box { padding:0px; border:none; }

#index_news.two_list .box { width:100%; float:none; position:relative; }

#index_news .box:last-of-type { margin:40px 0 0 0; }

#index_news .box.show_link { padding-bottom:0px; }

#index_news .headline { font-size:16px; height:45px; line-height:45px; padding:0 20px; }

#index_news .image { float:left; width:100px; height:100px; display:block; margin:0 17px 0 0; position:relative; z-index:2; overflow:hidden; }

#index_news .title { font-size:14px; }

#index_news .type1 .item:last-of-type { border-bottom:1px solid #ddd; margin:0 0 17px 0; }

#index_news .type2 .item:last-of-type { border-bottom:1px solid #ddd; padding:0 0 17px 0; }

#index_news .button { position:relative; width:auto; margin:0; border:none; padding:0 20px 0 0; height:auto; line-height:1; float:right; }

#index_news .button:after { right:0px; top:2px; }





/* プロフィールバナー */

#index_prof_banner { height:auto; background:none !important; }

#index_prof_banner .image { display:block; width:100%; height:auto; margin:0 0 20px 0; }

#index_prof_banner .headline_area {

  position:relative; padding:0; text-align:center;

  top:0%; -webkit-transform: translateY(0%); transform: translateY(0%);

}

#index_prof_banner .headline { text-align:left; }

#index_prof_banner .desc { text-align:left; font-size:14px; line-height:2.0; margin:5px 0 0 0; }

#index_prof_banner .button { font-size:12px; height:45px; line-height:45px; padding:0 50px; margin:15px auto 0; min-width:180px; }





/* 活動報告 */

#report_list { }

#report_list .headline { font-size:16px !important; height:45px; line-height:45px; padding:0 20px; margin:0 0 20px 0; }

#report_list .post_list { margin-top:-20px; }

#report_list .item { -webkit-width:calc(50% - 10px); width:calc(50% - 10px); height:auto; margin:20px 20px 0 0; background:#fff; }

#report_list .item:nth-child(3n) { margin-right:20px; }

#report_list .item:nth-child(2n) { margin-right:0; }

#report_list .category a { font-size:11px; padding:0 1em; height:30px; line-height:30px; min-width:80px; }

#report_list .title_area { padding:10px 0 0; }

#report_list .title { font-size:14px; line-height:1.6; }

#report_list .date { margin:5px 0 0 0; }

#report_list .index_archive_button { margin:40px 0 0 0; }





/* 活動実績 */

#achv_list { }

#achv_list .headline { font-size:16px !important; height:45px; line-height:45px; padding:0 20px; margin:0 0 20px 0; }

#achv_list .post_list { margin-top:-20px; }

#achv_list .item { -webkit-width:calc(50% - 10px); width:calc(50% - 10px); height:auto; margin:20px 20px 0 0; background:#fff; }

#achv_list .item:nth-child(3n) { margin-right:20px; }

#achv_list .item:nth-child(2n) { margin-right:0; }

#achv_list .category a { font-size:11px; padding:0 19px; height:30px; line-height:30px; min-width:80px; }

#achv_list .title_area { padding:10px 0 0; }

#achv_list .title { font-size:14px; line-height:1.6; }

#achv_list .date { margin:5px 0 0 0; }

#achv_list .index_archive_button { margin:40px 0 0 0; }





/* ブログ */

#blog_list { }

#blog_list .headline { font-size:16px !important; height:45px; line-height:45px; padding:0 20px; margin:0 0 20px 0; }

#blog_list .post_list { margin-top:-20px; }

#blog_list .item { -webkit-width:calc(50% - 10px); width:calc(50% - 10px); height:auto; margin:20px 20px 0 0; background:#fff; }

#blog_list .item:nth-child(3n) { margin-right:20px; }

#blog_list .item:nth-child(2n) { margin-right:0; }

#blog_list .category a { font-size:11px; padding:0 19px; height:30px; line-height:30px; min-width:80px; }

#blog_list .title_area { padding:10px 0 0; }

#blog_list .title { font-size:14px; line-height:1.6; }

#blog_list .date { margin:5px 0 0 0; }

#blog_list .index_archive_button { margin:40px 0 0 0; }







/* ----------------------------------------------------------------------

 活動報告

---------------------------------------------------------------------- */

/* アーカイブページ */

#report_category_list { margin:0 0 20px 0; }

#report_category_list li { -webkit-width:calc(100% / 3); width:calc(100% / 3); }

#report_category_list li a { height:45px; line-height:45px; }

@media screen and (max-width:730px) {

  #report_category_list li { width:50%; }

}





/* 詳細ページ */

#article.report { margin:0 0 40px; padding:0 20px 20px; }

#report_post_meta_top { margin:0 0 22px 0; padding:0 0 15px 0; }

@media screen and (max-width:1260px) {

  #article.report #post_title.no_image { padding:40px 0 0 0; }

}

@media screen and (max-width:950px) {

  #article.report { margin:-21px -20px 40px; padding:0 20px 1px; }

  #report_category { font-size:11px; height:29px; line-height:29px; min-width:80px; }

  #report_category.no_image { top:0; }

  #article.report #post_title { margin-bottom:5px; }

  #article.report #post_title.no_image { margin-top:0px; padding:45px 0 0 0; }

}









/* ----------------------------------------------------------------------

 活動実績

---------------------------------------------------------------------- */

/* 詳細ページ */

#achv_sub_title { font-size:14px; }

#article.achv #post_image { margin-right:-20px; margin-left:-20px; }

@media screen and (max-width:950px) {

  #article.achv { border:none; }

}









/* ----------------------------------------------------------------------

 お知らせ

---------------------------------------------------------------------- */

/* アーカイブページ */
#news_list .item { padding: 1em; }
/*#news_list .item a { border:none; border-bottom:1px solid #ddd; padding:20px 0; margin:0; height:auto; }*/

#news_list .item:last-of-type, #news_list .item:only-of-type { border-bottom:1px solid #ddd; }

/*#news_list .item:last-of-type a, #news_list .item:only-of-type a { margin:0; }*/

#news_list .image { width:150px; height:auto; float:left; }

#news_list .title_area {

  float:left; -webkit-width:calc(100% - 170px); width:calc(100% - 170px); margin:0 0 0 20px;

  position:relative; left:0px; top:0; -webkit-transform: translateY(0); transform: translateY(0);

}

#news_list .no_image .title_area { float:none; left:0px; width:auto; margin:0; }

#news_list .title { font-size:16px;}

@media screen and (max-width:950px) {

  #news_list { margin-top:0px; }

/*  #news_list .item a { padding:20px 20px 20px; margin:0 -20px 0px; }*/

/*  #news_list .item:last-of-type a, #news_list .item:only-of-type a { margin:0 -20px 0; }*/

}





/* 記事ページ */

#news_list_single .headline { font-size:16px !important; height:45px; line-height:47px; padding:0 20px; margin:0; }

#news_list_single .archive_link { top:17px; right:15px; font-size:12px; }

@media screen and (max-width:950px) {

  #news_list_single .headline { border-bottom:1px solid #ddd; }

  #news_list_single .item a { background:#fff; height:auto; line-height:1; border:none; border-bottom:1px solid #ddd; padding:12px 0 10px; }

  #news_list_single .date { float:none; margin:0 0 6px 0; }

  #news_list_single .title { float:none; width:100%; line-height:1.5; }

}





/* 固定ページ用 */

#page_header_no_title { height:auto; border-bottom:1px solid #ddd; }









/* ----------------------------------------------------------------------

 アーカイブ・固定ページの見出し　共通パーツ

---------------------------------------------------------------------- */

#page_header { min-width:inherit; height:350px; }

@media screen and (max-width:730px) {

  #page_header { height:250px; }

}



#page_header_catch {

  min-width:inherit; padding:14px 20px; width:100%;

  -webkit-box-sizing:border-box; box-sizing:border-box;

}

#page_header_catch span { margin:0 auto; width:auto; }



#page_header_overlay { min-width:inherit; }



#page_header_title {

  min-width:inherit; padding:23px 20px;

  -webkit-box-sizing:border-box; box-sizing:border-box;

}

#page_header_title span { width:auto; }



#page_header_catch.animate {

  -webkit-animation: opacityAnimation 1.0s ease forwards 1.5s;

  animation: opacityAnimation 1.0s ease forwards 1.5s;

}

#page_header_catch.animate2 {

  -webkit-animation: opacityAnimation 1.0s ease forwards 2.0s;

  animation: opacityAnimation 1.0s ease forwards 2.0s;

}





/* 画像が無い場合 */

#page_header_no_image { min-width:inherit; height:150px; }

#page_header_no_image #page_header_title {

  opacity:0; position:absolute; margin-top:0px; height:auto; line-height:1; background:none;

  top:50%; -webkit-transform: translateY(-50%); transform: translateY(-50%);

}

#page_header_no_image #page_header_title.animate {

  -webkit-animation: opacityAnimation 1.0s ease forwards 1.5s;

  animation: opacityAnimation 1.0s ease forwards 1.5s;

}

#page_header_no_image #page_header_title.animate2 {

  -webkit-animation: opacityAnimation 1.0s ease forwards 2.0s;

  animation: opacityAnimation 1.0s ease forwards 2.0s;

}









/* ----------------------------------------------------------------------

 アーカイブページ

---------------------------------------------------------------------- */

/* ページング */

.page_navi { margin:40px 0 0 0; }









/* ----------------------------------------------------------------------

 ヘッダー

---------------------------------------------------------------------- */



/* メニューボタン */

#menu_button {

  position:absolute; z-index:9; top:0px; right:0;

  display:inline-block; font-size:11px; width:56px; height:56px; line-height:56px; text-decoration:none; text-align:center;

}

#menu_button span { text-indent:100%; white-space:nowrap; overflow:hidden; display:block; }

#menu_button:before {

  font-family:'design_plus'; display:block; position:absolute; top:19px; left:19px; margin:auto;

  font-size:18px; width:18px; height:18px; line-height:18px;

  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;

}

#menu_button:before { content:'\f0c9'; }

#menu_button:hover, a.menu_button.active { background:#333; }

#menu_button:hover:before, #menu_button.active:before { color:#fff; }





/* グローバルメニュー */

#header #global_menu { display:none; }

#mobile_menu #global_menu { width:100%; margin:0; z-index:9; }

#mobile_menu #global_menu ul { margin:0; }

#mobile_menu #global_menu ul ul { }

#global_menu li ul { display:none; }

#mobile_menu #global_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; border-bottom:1px solid rgba(255,255,255,0.2);

  -webkit-box-sizing:border-box; box-sizing:border-box;

}

#mobile_menu #global_menu a:hover { color:#fff; }

#mobile_menu #global_menu ul ul a { padding-left:32px; }

#mobile_menu #global_menu ul ul ul a { padding-left:47px; }

#mobile_menu #global_menu ul ul ul ul a { padding-left:60px; }





/* グローバルメニュー（子メニュー） */

#mobile_menu #global_menu li { position:relative; }

#mobile_menu #global_menu .child_menu_button { display:block; position:absolute; text-align:center; width:60px; height:49px; right:0px; top:1px; z-index:9; cursor:pointer;  }

#mobile_menu #global_menu .child_menu_button .icon:before {

  content:'+'; font-size:20px; color:#fff; text-align:center;

  display:block; width:20px; height:20px; line-height:20px; border:1px solid #fff; border-radius:100%;

  position:absolute; left:20px; top:15px;

}

#mobile_menu #global_menu .child_menu_button.active .icon:before, #mobile_menu #global_menu .child_menu_button:hover .icon:before { color:#fff; border-color:#fff; }

#mobile_menu #global_menu li.open > .child_menu_button .icon:before { content:'-'; }

#mobile_menu #global_menu li.open > ul { display:block; }







/* 閉じるボタン */

#mobile_menu .close_button { display:block; width:100%; height:56px; position:relative; cursor:pointer; border-bottom:1px solid rgba(255,255,255,0.2); }

#mobile_menu .close_button:before {

  font-family:'design_plus'; color:#fff; font-size:24px; display:block; 

  content:'\e91a'; position:absolute; top:18px; right:18px;

  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;

}





/* ロゴ */

#logo_text { z-index:8; }

#logo_text h2 { font-weight:normal; height:56px; line-height:56px; margin:0 0 0 20px  }

#logo_text a { display:block; -webkit-transition-property:none; transition-property:none; }

#logo_image {

  position:absolute; top:50%; left:20px; margin:auto;

  -webkit-transform: translate(0%, -50%); transform: translate(0%, -50%);

}

#logo_image img.pc_logo_image { display:none; }

#logo_image img.mobile_logo_image { display:block; margin:0 auto; }

#logo_text_fixed, #logo_image_fixed { display:none; }



.logo a.mobile_logo_text:after{ content: attr(title); display:inline-block; font-size: 18px; }





/* その他 */

#header_button { display:none; }





/* パンくずリンク */

#bread_crumb { min-width:inherit; padding:15px 0; border-bottom:1px solid #ddd; margin:0 0 20px 0; }

body.page #bread_crumb { border:none; margin:0; }

#bread_crumb ul { width:auto; max-height:inherit; padding:0; overflow:hidden; margin:0 20px; }

#bread_crumb li { font-size:12px; }

#bread_crumb li.category a { display:none; }

#bread_crumb li.category a:first-of-type, #bread_crumb li.category a:only-of-type { display:inline-block; }

#bread_crumb li.category a:after { display:none; }

#no_breadcrumb { height:20px; }









/* ----------------------------------------------------------------------

 記事ページ

---------------------------------------------------------------------- */

#article { padding:20px; margin:0 0 40px 0; }

#article.page { border:none; padding:0; margin:0; }

@media screen and (max-width:950px) {

  #article { border:none; padding:0px;  }

  #article.page { border:none; padding:0; margin:0; }

}





/* 記事タイトル */

#post_title { margin:0 0 20px 0; }

body.page #post_title { margin:0 0 20px 0; }

.pc .no_side_content #post_title { text-align:center; }





/* カテゴリ― */

#post_meta_top { margin:-20px 0 18px 0; }

@media screen and (max-width:950px) {

  #post_meta_top { margin:0 0 18px 0; padding:7px 20px; }

}





/* アイキャッチ画像*/

#post_image { margin:0 -20px 20px; }





/* SNSボタン */

#single_share_top { margin:20px 0 0; }

#single_share_bottom .mb45 { margin-bottom:20px !important; }





/* ページ分割（続きを読むver） */

#p_readmore { padding:0; margin:0 0 -10px 0; }

#p_readmore .button { height:45px; line-height:45px; min-width:180px; }





/* メタ情報 */

#post_meta_bottom { margin:0 0 20px 0; background:#fff; padding:0; }

#post_meta_bottom li { display:block; margin:0 0 10px 0; border:none; font-size:12px; line-height:1.6; }

#post_meta_bottom li:last-child { border:none; margin:0; }

#post_meta_bottom li.post_category:before { top:0px; left:0px; }

#post_meta_bottom li.post_tag:before { top:2px; left:0px; }

#post_meta_bottom li.post_author:before { top:0px; left:0px; }

#post_meta_bottom li.post_comment:before { top:0px; left:0px; }





/* 次の記事、前の記事 */

@media screen and (max-width:950px) {

  #previous_next_post { margin:0 0 35px 0; border-top:none; }

}

#previous_next_post .prev_post, #previous_next_post .next_post { width:50%; }

#previous_next_post a { border:1px solid #ddd; height:auto; text-align:center; height:50px; line-height:50px; font-size:12px; padding:0 !important; }

#previous_next_post .next_post a { position:relative; }

#previous_next_post .prev_post a::before { line-height:50px; height:50px; }

#previous_next_post .next_post a::before { line-height:50px; height:50px; }

#previous_next_post a span { height:auto; }

#previous_next_post span.nav { display:block; }

#previous_next_post span.title { display:none; }

#previous_next_post .prev_post span.nav { }

#previous_next_post .next_post span.nav { }

#previous_next_post .prev_post a:before { top:3px; }

#previous_next_post .next_post a:before { top:3px; }

@media screen and (max-width:450px) {

  #previous_next_post .prev_post a:before { left:10px; }

  #previous_next_post .next_post a:before { right:10px; }  

}





/* 広告 */

#single_banner_top { margin:10px 0 30px 0; border:none; padding:0; }

#single_banner_bottom { margin:0 0 45px; border:none; padding:0; }

#single_banner_shortcode { margin:0 0 20px 0; border:none; padding:0; }

#mobile_banner_top { margin:10px 0 30px; }

#mobile_banner_bottom { margin:0 0 45px 0; }



.single_banner_area { margin:0 0 15px 0; text-align:center; }

.single_banner_area .single_banner_left { width:auto; float:none; padding:0 0 15px 0; margin:0 auto; }

.single_banner_area .single_banner_right { width:auto; float:none; padding:0; margin:0 auto; }

.single_banner_area img { max-width:100%; height:auto; display:inline; }

#single_banner_area.one_banner { width:100%; margin:0 0 30px 0; text-align:center; }









/* ----------------------------------------------------------------------

 固定ページ

---------------------------------------------------------------------- */



/* 404ページ */

#header_image_for_404 { margin:0 auto; }





/* 広告 */

#page_banner { margin:30px 0; }

#page_banner .page_banner { display:block; padding:20px; width:100%; width:-webkit-calc(1-0%); width:calc(100%); }

#page_banner .banner_left { margin:0 0 20px 0; }

#page_banner .banner_right { margin:0; }

@media screen and (max-width:550px) {

  #page_banner .page_banner { display:block; padding:0; border:none; }

}





/* ページナビゲーション */

#previous_next_page { margin:0 0 40px 0; }

#previous_next_page a {

  font-size:12px; height:45px; line-height:45px; min-width:inherit; margin:0 3px;

  width:-webkit-calc(50% - 6px); width:calc(50% - 6px);

}





/* 関連記事 */

#related_post { margin:40px 0 0 0; }

#related_post .headline { font-size:16px !important; height:45px; line-height:47px; padding:0 20px; margin:0 0 20px 0; border:1px solid #ddd; }

#related_post ol { width:100%; }

#related_post li { height:auto; margin:0 0 20px 0; border:none; border-bottom:1px solid #ddd; padding:0 0 20px 0; float:none; width:100%; }

#related_post li .image { float:left; width:100px; margin:0 20px 0 0; }







/* ----------------------------------------------------------------------

 プロフィールページ

---------------------------------------------------------------------- */

#profile_top .data { padding:0 20px 0 0; }

#profile_top { margin:0 0 40px 0; }

#profile_top .name { font-size:20px; margin:0 0 15px 0; }

@media screen and (max-width:950px) {

  #profile_top { border:1px solid #ddd; display:block; width:100%; padding:25px; }

  #profile_top .image { -webkit-flex:0 0 initial; flex:0 0 initial; }

  #profile_top .image img { width:auto; max-width:100%; height:auto; margin:0 auto; }

  #profile_top .data { -webkit-flex:0 0 initial; flex:0 0 initial; padding:0; margin:0 0 20px 0; }

}

@media screen and (max-width:730px) {

  #profile_top .name span { display:block; font-size:20px; }

}





/* 見出し（共通） */

.profile_headline { height:45px; line-height:47px; padding:0 20px; margin:0; }





/* メッセージ */

#profile_message { margin:0 0 40px 0; }

#profile_message .post_content { padding:20px 20px 1px; }





/* 経歴・職歴 */

.profile_list { margin:0 0 40px 0; }

.profile_list:last-of-type { margin:0; }

.profile_list ol li { padding:12px 20px;  }









/* ----------------------------------------------------------------------

 政策ページ

---------------------------------------------------------------------- */

#policy_list { margin:0 0 35px 0; }

#policy_list .item { border:5px solid #eee; margin:0 0 20px 0; padding:20px 23px 0px; }

#policy_list .item .link { margin:-20px -23px 0px; padding:20px 23px 0px; }

#policy_list .item:last-of-type { margin-bottom:35px;}

#policy_list .headline { font-size:20px; margin:0 0 10px 0; }

#policy_list .post_content { font-size:14px; }



#policy_headline { font-size:20px; margin:0 0 10px 0; }



#policy_top_desc { margin:0; font-size:14px; }



#policy_image { margin:0 0 40px 0; }



#policy_bottom_desc .post_content { width:100%; float:none; font-size:14px; margin-bottom:25px; }

#policy_bottom_desc .post_content:last-of-type { float:none; margin:0; }

#policy_bottom_desc .post_content p:last-of-type { margin:0; }









/* ----------------------------------------------------------------------

 コメント

---------------------------------------------------------------------- */

#comment_headline { margin:40px 0 20px 0; font-size:16px; }

#comment_area, #trackback_area { margin:15px 0px 0; }





/* コメント・トラックバックのタブ */

#comment_header { position:relative; margin:0 0 15px; }

#comment_header ul { margin:0; }

#comment_header ul li.comment_switch_active a:after, #comment_header #comment_closed p:after { display:none; }

@media screen and (max-width:500px) {

  #comment_header ul li { float:none; text-align:center; margin:0; width:100%; }

  #comment_header ul li:first-child { margin-bottom:-1px; }

  #comment_header ul li:first-child a, #comment_header ul li:first-child p { border-radius:5px 5px 0 0; }

  #comment_header ul li:last-child a, #comment_header ul li:last-child p { border-radius:0 0 5px 5px; }

}

@media screen and (max-width:550px) {

  #comment_headline { text-align:center; }

}





/*  コメントの基本部分 */

.comment { padding:10px 10px 0; }





/* コメントの情報部分 */

.comment-meta-left { float:left; width:100%; }





/* フォーム部分 */

.comment_form_wrapper { border:1px solid #ccc; margin:0 0 25px; padding:15px; background:#fff; }









/* ----------------------------------------------------------------------

 フッター

---------------------------------------------------------------------- */



/* ３連バナー */

#footer_banner { min-width:inherit; }

#footer_banner_inner { width:auto; padding:40px 20px; }

#footer_banner .item { margin:0; height:auto; -webkit-width:calc(100% / 3 - 20px); width:calc(100% / 3 - 20px); margin:0 20px 0 0; }

#footer_banner a .title { font-size:14px; }

#footer_banner .image { width:100%; height:auto; }

@media screen and (max-width:850px) {

  #footer_banner a .title { font-size:16px; }

  #footer_banner .item { width:360px; max-width:100%; float:none; margin:0 auto 20px; }

  #footer_banner .item:last-of-type { margin:0 auto; }

}





/* フッターウィジェットエリア */

#footer_bottom { width:auto; padding:40px 20px; display:block; }





/* サイト情報 */

#footer_bottom .footer_logo { margin:0 0 5px 0; }

#footer_info { -webkit-flex:0 0 auto; flex:0 0 auto; border:none; padding:0; margin:0; text-align:center; max-width: none; }

#footer_info .info p { line-height:2; font-size:14px; }





/* SNSボタン */

#footer_social_link { margin:2px auto 0; text-align:center; }

#footer_social_link li { display:inline-block; float:none; margin:0; position:relative; }





/* メニュー */

.footer_menu { -webkit-flex:0 0 auto; flex:0 0 auto; width:100%; padding:40px 0 0 0; margin:32px 0 0 0; border:none; border-top:1px solid #ddd; max-width: none; }

.footer_menu.two_menu { -webkit-flex:0 0 auto; flex:0 0 auto; float:left; width:50%; max-width: none; }





/* ウィジェット */

#footer_widget:before { display:block; content:''; height:40px; margin:0 0 40px 0; clear:both; border-bottom:1px solid #ddd; width:100%; }

#footer_widget { -webkit-flex:0 0 auto; flex:0 0 auto; padding:40px 0 0 0; max-width: none; }





/* コピーライト */

#copyright { text-align:center; width:100%; height:50px; line-height:50px; }

#copyright a { height:50px; line-height:50px; }





/* ページ上部へ戻るボタン */

#return_top a { height:50px; width:50px; line-height:50px; }

#return_top a:before { left:19px; }

.open_menu #return_top { display:none; }





/* フッターバー */

#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;

}

.dp-footer-bar-type1 #dp-footer-bar.active {

  opacity:1;

}

.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 #container { padding-bottom:55px; }

body.show_footer_bar #return_top.active { -webkit-transform: translate3d(0,-55px,0); transform: translate3d(0,-55px,0); }





/* 固定コンテンツ */

@media screen and (max-width:1170px) {

  #fixed_footer_content .content_left { width:-webkit-calc(100% - 400px); width:calc(100% - 400px); }

  #fixed_footer_content .button { min-width:200px; padding:0 20px; font-size:14px; }

  #fixed_footer_content .button:after { display:none; }

  #fixed_footer_content .has_image .content_left { width:40px; text-align:center; left:0; }

  #fixed_footer_content .has_image .catch { display:none; }

  #fixed_footer_content .has_image .desc { display:none; }

  #fixed_footer_content .has_image .image { max-width:100%; display:block; right:40px; left:40px; width:-webkit-calc(100% - 80px); width:calc(100% - 80px); }

  #fixed_footer_content .has_image .image img { width:auto; max-width:100%; height:auto; margin:0 auto; }

  #fixed_footer_content .has_image .pr2 { display:none; }

  #fixed_footer_content .has_image .pr1 { display:block; background:none; color:#fff; float:none; padding:0; margin:0; width:40px; text-align:center; position:absolute; left:0; top:50px; }

}

@media screen and (max-width:870px) {

  #fixed_footer_content .content_left { width:-webkit-calc(100% - 80px); width:calc(100% - 80px); left:20px; }

  #fixed_footer_content .catch { font-size:18px; }

  #fixed_footer_content .desc { font-size:13px; } 

  #fixed_footer_content .button { display:none; }

  #fixed_footer_content .close { right:0px; top:0; -webkit-transform: translateY(0%); -ms-transform: translateY(0%); transform: translateY(0%); width:40px; height:120px; border-radius:0; }

  #fixed_footer_content .close:before { top:50px; }

  #fixed_footer_content .image { max-width:100%; display:block; right:40px; left:40px; width:-webkit-calc(100% - 80px); width:calc(100% - 80px); }

  #fixed_footer_content .image img { width:auto; max-width:100%; height:auto; margin:0 auto; }

  #fixed_footer_content .pr2 { display:none; }

  #fixed_footer_content .pr1 { display:block; background:none; color:#fff; float:none; padding:0; margin:0; width:40px; text-align:center; position:absolute; left:0; top:50px; }

  #fixed_footer_content .has_pr .content_left { left:40px; }  

}

@media screen and (max-width:550px) {

  #fixed_footer_content { height:80px; }

  #fixed_footer_content .content_left { padding:0 20px 0 0; }

  #fixed_footer_content .catch { font-size:14px; }

  #fixed_footer_content .desc { display:none; }

  #fixed_footer_content .close { height:80px; }

  #fixed_footer_content .close:before { top:30px; }

  #fixed_footer_content .free { padding:0 85px 0 5px; }

  #fixed_footer_content .pr1 { top:30px !important; }

}









/* ----------------------------------------------------------------------

 サイドコンテンツ

---------------------------------------------------------------------- */

/* 基本設定 */

.side_widget { margin:0 0 40px 0; font-size:12px; position:relative; }

.side_widget:last-child, .side_widget:only-child  { margin:0; }

.side_headline { font-size:14px; padding:0 20px; height:45px; line-height:45px; }





/* バナー */

.tcd_banner_widget { margin:0 0 40px 0; }

.tcd_banner_widget a { margin:0 auto 20px; width:300px; max-width:100%; }

.tcd_banner_widget a:last-of-type { margin:0 auto; }

.tcd_banner_widget a .title { font-size:16px; padding:0 30px; }

.tcd_banner_widget a:hover .title { padding:0 30px 0 45px; }





/* タブ記事 */

.widget_tab_post_list .title { line-height:1.6; }





/* ----------------------------------------------------------------------

 WordPress プリセットスタイル

---------------------------------------------------------------------- */

/* text and headline */

.post_content p { line-height:2; }





/* list */

.post_content li, .post_content dt, .post_content dd { line-height:2; }





/* table */

.post_content td, .post_content th { line-height:2; }





/* パスワード保護 */

.c-pw__desc, .c-pw__desc p { line-height:2; }









/* ----------------------------------------------------------------------

 LP

---------------------------------------------------------------------- */

@media screen and (max-width:770px) {

  .lpb_content { margin:0 0 40px; line-height:2.5; }

  .lpb_content .lpb_content_headline { line-height:40px; font-size:16px; }

  .lpb_content .post_row { line-height:2.5 !important; }

  .lpb_content table.lbp_table th, .lpb_content table.lbp_table td { padding:5px 15px; line-height:2; }

  .lpb_content table.lbp_table th { vertical-align:middle; }

  .lpb_content table.lbp_table th { padding:5px 10px; text-align:center; font-weight:normal; white-space:nowrap; }



  .lpb_content-catch_and_desc { margin-bottom:28px; }

  .lpb_content-catch_and_desc h2 { font-size:24px !important; }

  .lpb_content-catch_and_desc p { font-size:14px !important; }

  .lpb_content-link_button .lpb_link_button { padding:10px; min-width:200px; max-width:100%; color:#fff; font-size:16px; }

  .lpb_content-wysiwyg { margin-bottom:28px; }

  .lpb_content-border_box { padding:18px 20px; }

  .lpb_content-border_box .lpb_content_headline { margin:-19px -21px 18px; }

  .lpb_content-border_box .post_col-2 + .post_col-2 { margin-top:2.5em !important; }

  .lpb_content-voice .lpb_content_headline { margin:0 0 18px; }

  .lpb_content-voice ul { }

  .lpb_content-voice ul li { display:block; width:initial; margin:0 20px 2.5em; padding:0; font-size:14px; line-height:2.5; }

  .lpb_content-voice ul li:after { content:" "; display:table; clear:both; }

  .lpb_content-voice ul li:last-child { margin-bottom:1.25em; }

  .lpb_content-voice .voice_user { margin:0; width:33%; float:left; }

  .lpb_content-voice .voice_comment { margin:0 0 0 36% !important; }

}

@media screen and (max-width:500px) {

  .lpb_content-voice .voice_user { width:100%; }

  .lpb_content-voice .voice_comment { margin:0 !important; }

}







/* パスワード保護 */

@media only screen and (max-width:991px) {

  .c-pw__box { width: 100%; padding: 20px; display:block; text-align: center; }

  .c-pw__box-label { display:block; margin-bottom: 1em; margin-right:0; }

  .c-pw__box-input { display:block; width:100%; margin-bottom:1em; margin-right: 0;}

}



@media only screen and (max-width:767px) {

	.pb-widget-headline h3 { font-size:20px!important; }

}



/* pagebuilder */

@media screen and (max-width:500px) {

  .pb-widget-googlemap .p-access__map { height:auto; padding-bottom:100%; }

}

.pdfemb-fs { display: none; }