@charset "utf-8";

body { min-width:0; }

/* レイアウト */
#global_menu_wrap {
  height:auto; min-width:0; width:100%; background:none; border-bottom:none;
}
#header { height:55px; padding:0; min-width:0; width:100%; background:#fff; position:relative; left:0px; top:0px; z-index:1; border-bottom:1px solid #ccc; box-shadow:0 1px 4px 0 rgba(0,0,0,0.2); margin:0; }

#main_contents { width:auto; margin:0 auto; padding:0; }
#main_col { width:auto; float:none; margin:0; padding:0 15px; }
#side_col { width:auto; float:none; padding:25px 15px; }
#side_col2 { width:auto; float:none; padding:25px 15px; }

.page-template-page-noside #main_col, .error404 #main_col { width:auto; float:none; margin:0 auto; }




/* ----------------------------------------------------------------------
 固定ページ
---------------------------------------------------------------------- */
#page_title { background:#222; color:#fff; padding:18px 15px; margin:0 -15px 15px; }
.page #article { padding-bottom:0; }
.page_content { padding-top:30px; }
.page_image img { max-width:100%; height:auto; display:block; margin:0 auto; }
.page_image2 { margin-top:0px; position:relative; }
.page_image2 img { max-width:100%; height:auto; display:block; margin:0 auto; }
.page_image_box { margin:0 0; padding:0px 0 0 0; }
.page_image_box .page_image { width:100%; float:none; }
.page_image_box .page_image.right { float:none; margin-top:15px; }
.page_image_box2 { margin-top:15px; }

/* ユーザープロフィール */
#profile_page_top { margin:0 0 10px; padding:15px 0 0; }
#profile_page_top .user_avatar img { display:block; border-radius:100%; margin:0 auto 45px; }
#profile_page_top .user_name { font-size:20px; text-align:center; margin:0 0 25px 0; }




/* ----------------------------------------------------------------------
 ヘッダー
---------------------------------------------------------------------- */

/* メニューボタン */
a.menu_button {
   position:relative; float:right; z-index:9; border-left:1px solid #ddd;
   display:inline-block; font-size:11px; color:#333; width:56px; height:56px; line-height:56px; text-decoration:none;
}
a.menu_button span { text-indent:100%; white-space:nowrap; overflow:hidden; display:block; }
a.menu_button:before {
  font-family:'design_plus'; color:#888; display:block; position:absolute; top:17px; left:16px;
  font-size:24px; width:24px; height:24px; line-height:24px;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
a.menu_button:before { content:'\f0c9'; }
a.menu_button:hover, a.menu_button.active { background:#333; }
a.menu_button:hover:before, a.menu_button.active:before { color:#fff; }


/* グローバルメニュー */
#global_menu { display:none; clear:both; width:100%; margin:0; top:56px; position:absolute; z-index:9; box-shadow: 1px 2px 1.5px rgba(0, 0, 0, 0.1); -moz-box-shadow: 1px 2px 1.5px rgba(0, 0, 0, 0.1); -webkit-box-shadow: 1px 2px 1.5px rgba(0, 0, 0, 0.1); }
#global_menu ul { margin:0; }
#global_menu ul ul { display:none; }
#global_menu a {
  position:relative; display:block;  margin:0; padding:0px 15px; height:50px; line-height:50px; overflow:hidden; text-decoration:none;
  color:#fff; background:#333; font-size:13px;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
}
#global_menu a:hover { color:#fff; }
#global_menu ul ul a { padding-left:28px; background:#222; }
#global_menu ul ul ul a { padding-left:42px; background:#111; }
#global_menu ul ul ul ul a { padding-left:55px; background:#000; }
#global_menu li.menu-item-has-children { position:relative; }
#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;  }
#global_menu .child_menu_button .icon:before {
  content:'+'; font-size:13px; color:#aaa; text-align:center;
  display:block; width:20px; height:20px; line-height:20px; border:1px solid #555; border-radius:100%;
  position:absolute; left:20px; top:15px;
}
#global_menu .child_menu_button.active .icon:before, #global_menu .child_menu_button:hover .icon:before { color:#fff; border-color:#fff; }
#global_menu li.menu-item-has-children.open > .child_menu_button .icon:before { content:'-'; }
#global_menu li.menu-item-has-children.open > ul { display:block; }


/* ロゴ */
#logo_text { margin:19px 0 0 15px; z-index:10; float:left; text-align:left; width:-webkit-calc(100% - 90px); width:-moz-calc(100% - 90px); width:calc(100% - 90px); overflow:hidden; }
#logo_text h1 { font-size:18px; font-weight:normal; }
#logo_text a, #logo_image h1 a { color:#333; text-decoration:none; display:block; -webkit-transition-property:none; -moz-transition-property:none; -o-transition-property:none; transition-property:none; }
#logo_text a:hover, #logo_image h1 a:hover { text-decoration:underline; }
#logo_image { margin:19px 0 0 15px; z-index:10; float:left; text-align:left; width:-webkit-calc(100% - 90px); width:-moz-calc(100% - 90px); width:calc(100% - 90px); overflow:hidden; }
#logo_image h1 { top:0px !important; left:0px !important; font-weight:normal; margin:0; padding:0; line-height:100%; font-size:18px; }
#logo_image h1 img { display:none; }
#logo_image h1 a:before { content:attr(data-label); }
#logo_image_mobile { float:left; margin:0 0 0 15px; font-size:18px; font-weight:normal; }
#logo_image_mobile a { display:block; height:20px; margin:19px 0 0 0; }
#logo_image_mobile img { height:100%; width:auto; }

#site_description { display:none; }



/* パンくずリンク */
#bread_crumb { padding:0; margin:15px 15px; width:auto; }




/* ----------------------------------------------------------------------
 トップページ
---------------------------------------------------------------------- */
/* 記事一覧 */
.post_list { padding:15px 0 0 0; }
.post_list li { padding:0; margin:0 0 30px 0; border:none; }
.post_list .image { }
.post_list .type1 .desc { padding:30px 0 0; }
.post_list .type2 .image { width:180px; height:auto; margin:0 15px 15px 0; }
.post_list .type2 .image.image_type2 { width:180px; height:auto; }
.post_list .type2 .desc { float:none; width:auto; padding:0 0 0 15px; }
@media screen and (max-width:500px) {
  .post_list .type2 .image { float:none; width:100% !important; height:auto; margin:0 0 30px 0; }
  .post_list .type2 .desc { float:none; width:auto; padding:0; }
}

.page_navi { margin:30px 0 0 0; padding:20px 0 20px 0; }
.page_navi a, .page_navi a:hover, .page_navi span
 { padding:15px 17px; }

/* アーカイブページの見出し、カテゴリーの説明文 */
.archive_headline { padding:18px 20px; margin:0 -15px 15px; }
#category_desc { padding:15px 0px 30px; margin:0; }




/* ----------------------------------------------------------------------
 記事
---------------------------------------------------------------------- */
/* アイキャッチ画像 */
#post_image { margin:0 0 30px; padding:15px 0 0 0; }


/* カテゴリー */
#post_meta_top .category a { top:15px; }
#post_meta_top .date { margin:0; }
#post_meta_top.no_image { margin:0 0 -20px; padding:15px 0 0 0; }


/* 記事タイトル */
#post_title { margin:25px 0 30px; }


/*  記事本文*/
.post_content { margin:0; }


/* SNSボタン */
#single_share { margin:0 0 0px; }


/* メタ情報 */
#post_meta_bottom { margin:0 0 20px 0; background:#fafafa; padding:15px; }
#post_meta_bottom li { display:block; margin:0 0 10px 0; border:none; font-size:12px; line-height:160%; }
#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; }


/* 次の記事、前の記事 */
#previous_next_post { margin:0 0 30px 0; height:auto; }
#previous_next_post a { width:100%; height:120px; }
#previous_next_post .prev_post { float:left; border:none; padding:0 15px 0 40px; }
#previous_next_post .next_post { float:right; border-top:1px solid #eee; padding:0 40px 0 15px; }
#previous_next_post p { display:block; height:90px; overflow:hidden; font-size:12px; margin:15px 0 0 0; }
#previous_next_post img { width:90px; height:90px; float:left; margin:0 20px 0 0; }
#previous_next_post .next_post img { float:right; margin:0 0 0 20px;}
#previous_next_post .title { display:block; font-size:11px;  margin:15px 0 0 0; height:60px; overflow:hidden; }
#previous_next_post .prev_post:before { top:52px; left:5px; }
#previous_next_post .next_post:before { top:52px; right:5px; }


/* 広告 */
#single_banner_area { margin:0 0 15px 0; text-align:center; }
#single_banner_area .single_banner_left { float:none; padding:0 0 15px 0; }
#single_banner_area .single_banner_right { float:none; padding:0 0 15px 0; }
#single_banner_area img { max-width:100%; height:auto; display:inline; }

/* 広告2 */
#single_banner_area_bottom { margin: -20px 0 0; text-align:center; }
#single_banner_area_bottom .single_banner_left { float:none; padding:0 0 15px 0; }
#single_banner_area_bottom .single_banner_right { float:none; padding:0; }
#single_banner_area_bottom img { max-width:100%; height:auto; display:inline; }

/* 広告（ショートコードver） */
#single_banner_area2 { margin:0 0 15px 0; text-align:center; }
#single_banner_area2 .single_banner_left { float:none; padding:0 0 15px 0; }
#single_banner_area2 .single_banner_right { float:none; padding:0 0 5px 0; }
#single_banner_area2 img { max-width:100%; height:auto; display:inline; }


/* ピックアップ記事 */
#pickup_post .headline { padding:0 15px; }
#pickup_post ol { margin:0 0 20px; }
#pickup_post ol li .title { font-size:13px; margin:0; line-height:160%; }
#pickup_post ol li a { padding:10px 0 10px 15px; background:url(img/common/arrow2.gif) no-repeat left 15px; }


/* 関連記事 */
#related_post { margin:0; }
#related_post .headline { padding:0 15px; margin:0 0 15px 0; }
#related_post ol { margin:0 0 30px 0; position:relative; }
#related_post li { margin:0 0 15px 0; padding:0; border:none; }
#related_post li .image { margin:0 15px 0 0; display:block; width:100px; height:100px; float:left; }
#related_post li .desc { width:auto; float:none; }
#related_post li .title { font-size:13px; margin:0; line-height:160%; font-weight:normal; }
#related_post li .title a { display:block; max-height:60px; overflow:hidden; }
#related_post .category a { padding:6px 10px; margin:0 0 10px 0; }
#related_post .excerpt { display:none; }




/* ----------------------------------------------------------------------
 コメント
---------------------------------------------------------------------- */
#comment_headline { padding:0 15px; margin:0 0 15px 0; }
#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 { float:none; text-align:center; margin:0; width:100%; }
#comment_header ul li.comment_switch_active a:after, #comment_header #comment_closed p:after { display:none; }

/*  コメントの基本部分 */
.comment { padding:10px 10px 0; }

/* コメントの情報部分 */
.comment-meta-left { float:left; width:100%; }

/* フォーム部分 */
.comment_form_wrapper { border:1px solid #ccc; margin:0 0 0px; padding:15px; background:#fff; }





/* ----------------------------------------------------------------------
 フッター
---------------------------------------------------------------------- */

/* フッター記事一覧 */
#footer_post_list { min-width:0; margin:0 15px; }
#footer_post_list li { float:left; position:relative; width:50%; height:auto; overflow:hidden; margin:0 0 15px 0; }
#footer_post_list .category a { -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0); }
#footer_post_list .title { -webkit-transform: translate3d(0,-100%,0); transform: translate3d(0,-100%,0); }
@media screen and (max-width:500px) {
  #footer_post_list li { float:none; width:100%; }
}

/* フッター上部 */
#footer { width:auto; min-width:0; background:#fff; }
#footer_inner { width:auto; margin:0 auto; padding:15px 15px 0; }

/* ウィジェット */
.footer_headline { font-size:16px; line-height:160%; margin:0 0 15px 0; padding:12px 15px; background:#222; color:#fff; }
#footer_widget_left { float:none; width:auto; margin:0 0 30px 0; }
#footer_widget_right { float:none; width:auto; margin:0 0 30px 0; }

/* メニュー */
#footer_menu_area { width:auto; float:none; margin:0; }
#footer_menu_area li { font-size:13px; line-height:160%; margin:0; border-bottom:1px dotted #ddd; }
#footer_menu_area li:last-child { border:none; }
#footer_menu_area li a {  display:block; padding:12px 15px;}
#footer_menu_left { width:auto; float:none; margin:0; }
#footer_menu_right { width:auto; float:none; }
#footer_menu_area h3 { font-size:16px; line-height:160%; margin:0 0 15px 0; padding:12px 15px; background:#eee; }




/* ----------------------------------------------------------------------
 サイドコンテンツ
---------------------------------------------------------------------- */
/* 基本設定 */
.side_widget { margin:0 0 25px 0; font-size:12px; position:relative; }
.side_widget:last-child, .side_widget:only-child  { margin:0; }
.side_headline { font-size:16px; margin:0 0 15px 0; padding:12px 15px; }


/* デザインされた記事一覧２ */
.styled_post_list2 a { display:block; padding:10px 0 10px 14px; background:url(img/common/arrow2.gif) no-repeat left 15px; }


/* search */
.widget_search #search-box, .widget_search #s, .side_widget.google_search #s { width:75%; height:40px; margin:0 0 5px 0; }
.widget_search #search-btn input, .widget_search #searchsubmit, .side_widget.google_search #searchsubmit { width:25%; }


/* ユーザープロフィール */
.user_sns li { line-height:180%; }
