@charset "utf-8";


body { min-width:0; }


/* レイアウト */
#global_menu_wrap {
  height:auto; min-width:0; width:100%; background:none; border-bottom:none;
}
#header { display: table; height:55px; padding:0; min-width:0; width:100%; background:#fff; position:relative; left:0px; top:0px; z-index:1; margin:0; }


#main_contents { width:auto; margin:0 auto; padding:0; }
#main_col { width:auto; float:none; margin:0; padding:0 20px; }
#side_col { width:auto; float:none; padding:25px 20px; }
#side_col2 { width:auto; float:none; padding:25px 20px; }


.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 -20px 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:-15px 0 0 -20px; position:relative; }
.page_image2 img { max-width:none; width: calc(100% + 20px); 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:absolute; right:0px; top:0px; z-index:9;
   display:inline-block; font-size:11px; color:#333; width:55px; height:55px; 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:15px; left:15px;
  font-size:18px; width:24px; height:24px; line-height:24px;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
a.menu_button:before { content:'\f0c9'; text-align: center; }
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 { display: table-cell; text-align: center; vertical-align: middle; float:none; margin:0; font-size:0; font-weight:normal; }
#logo_image_mobile a { display:inline-block; height:20px; margin: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:0 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 10px 0; }
  .post_list .type2 .desc { float:none; width:auto; padding:0; }
  .post_list .date{ margin: 0 0 10px; }
  .post_list .title a{ font-size: 16px; line-height: 160%; margin: 0 0 5px; }
}


#index_post_list li:first-child .image{ overflow: visible; margin-left: -20px; }
#index_post_list li:first-child .image img{ width: calc(100% + 20px);}
#index_post_list li:first-child .category a{ left: -20px; }


.page_navi { margin:30px 0 0 0; padding:20px 0 20px 0; text-align: center; }
.page_navi a, .page_navi a:hover, .page_navi span
 { padding:15px 17px; }
.page_navi ul{ font-size: 0; }
.page_navi li{ float: none; display: inline-block; }


/* アーカイブページの見出し、カテゴリーの説明文 */
.archive_headline { padding:13px 20px; margin:0 -20px 25px; text-align: center; font-size: 14px; }
#category_desc { padding:15px 0px 30px; margin:0; }








/* ----------------------------------------------------------------------
 記事
---------------------------------------------------------------------- */
/* アイキャッチ画像 */
#post_image { margin:0 0 30px -20px; padding:0; /*width: calc(100% + 40px)*/; }
#post_image img { width: calc(100% + 20px); }




/* カテゴリー */
#post_meta_top .category a { top:0; left: -20px; }
#post_meta_top .date { margin:0; font-size: 10px; color: #666; }
#post_meta_top.no_image { margin:0; padding:15px 0 0 0; }




/* 記事タイトル */
#post_title { margin:10px 0; font-size: 16px; }




/*  記事本文*/
.post_content { margin:0; }




/* SNSボタン */
#single_share { margin:0 0 0px; }




/* メタ情報 */
#post_meta_bottom { margin:0 0 20px 0; background:#fff; padding:15px 0; }
#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; }*/
/* 次の記事、前の記事リンク */
#previous_next_post { display: flex; margin: 0 auto 30px; border: none; height:60px; }
#previous_next_post .prev_post:before, #previous_next_post .next_post:before { content: none; }
#previous_next_post .prev_post { float:none; width:50%; margin:0 -1px 5px 0; line-height:100%; padding: 0; border-right: none; height: 50px; }
#previous_next_post .next_post { float:none; width:50%; margin:0; line-height:100%; padding: 0; height: 50px; }
#previous_next_post a {
  display:block; font-size:12px; width:100%; height:50px; position:relative; background:#fff; overflow:hidden; border: solid 1px #ddd;
 -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
}
#previous_next_post img {
  display: none;
  /*display:block; opacity:0.6; position:absolute; top:0px; left:0px; z-index:5;
  -webkit-transition: opacity 0.35s, -webkit-transform 0.35s; transition: opacity 0.35s, transform 0.35s;
  -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0);
  -webkit-backface-visibility: hidden; backface-visibility: hidden;*/
}
@media screen and (max-width:420px) {
  #previous_next_post img { width:375px; height:auto; }
}
#previous_next_post .title {
  font-size: 12px; margin: 0;
  display:block; width:100%; height:50px; line-height:50px; overflow:hidden; padding:0 10px; position:relative; top:0px; left:0px; text-align:center; z-index:10; color:#666;
 -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
}


#previous_next_post a:hover {text-decoration: none;}
#previous_next_post a:hover:before { color:#aaa; }
#previous_next_post a:before {
  font-family:'design_plus'; color:#aaa; font-size:14px; display:inline; position:absolute;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
#previous_next_post .prev_post a:before { content:'\e90f'; top:18px; left:10px; }
#previous_next_post .next_post a:before { content:'\e910'; top:18px; right:10px; }


#previous_next_post .prev_post .title:before{display: none;}
#previous_next_post .next_post .title:before{display: none;}








/* 広告 */
#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; font-weight:400; }
#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; font-weight:400; }
#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; font-weight:400; }
#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 20px; }
#footer_post_list li { float:left; position:relative; width:50%; height:auto; overflow:hidden; margin:0 0 2px 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:#f8f8f8; }
#footer_inner { width:auto; margin:0 auto; padding:15px 20px 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 0 30px; display: flex; flex-wrap: wrap; }
#footer_menu_area li { font-size:12px; line-height:200%; margin:0; border: none; }
#footer_menu_area li a {  display:block; padding:0; }
#footer_menu_left { width:50%; float:none; margin:0; }
#footer_menu_right { width:50%; float:none; }
#footer_menu_area h3 { font-size:14px; line-height:160%; margin:0 0 5px 0; padding:0; }


/* SNSボタン */
#footer_social_link { margin:0 auto 30px; text-align:center; }
#footer_social_link li { display:inline-block; margin:0; position:relative; }
#footer_social_link li a {
  display:block; text-indent:-200px; overflow:hidden; width:30px; height:30px; position:relative; 
  -webkit-transition-property:none; -moz-transition-property:none; -o-transition-property:none; 
}
#footer_social_link li:before {
  font-family:'design_plus'; color:#ccc; font-size:17px; display:block; position:absolute; top:10px; left:9px;
  width:17px; height:17px; line-height:17px;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
#footer_social_link li.twitter:before { content:'\e904'; }
#footer_social_link li.facebook:before { content:'\e902'; }
#footer_social_link li.insta:before { content:'\ea92'; top:11px; }
#footer_social_link li.pint:before { content:'\e905'; top:11px; }
#footer_social_link li.flickr:before { content:'\eaa4'; top:11px; }
#footer_social_link li.tumblr:before { content:'\eab9'; top:11px; }
#footer_social_link li.rss:before { content:'\e90b'; }
#footer_social_link li.twitter:hover:before { color:#16b9dc; }
#footer_social_link li.facebook:hover:before { color:#3B5998; }
#footer_social_link li.insta:hover:before { color:#8a3ab9; }
#footer_social_link li.rss:hover:before { color:#ffcc00; }
#footer_social_link li.pint:hover:before { color:#cb2027; }
#footer_social_link li.flickr:hover:before { color:#ff0084; }
#footer_social_link li.tumblr:hover:before { color:#34526f; }


/* mobile footer menu */
.mobile_menu_home{ position: relative; border-bottom: solid 1px #ccc; padding: 15px 20px; margin: 0; display: block; }
.mobile_menu_home span{
  display:block; text-indent:-200px; overflow:hidden; position:relative; font-size: 12px;
  -webkit-transition-property:none; -moz-transition-property:none; -o-transition-property:none; 
}
.mobile_menu_home:before{
  font-family:'design_plus'; color:#000; font-size:14px; display:block; position:absolute; top:15px; left:20px;
  width:17px; height:17px; line-height:17px;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
  content:'\e90c';
}
.mobile_menu_home:after{
  font-family:'design_plus'; color:#000; font-size:14px; display:block; position:absolute; top:13px; right:0;
  width:17px; height:17px; line-height:17px;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
  content:'\f105';
}


#mobile_footer_menu{
  border: solid 1px #ccc;
  background: #fff;
  margin: 30px 0;
}
#mobile_footer_menu ul{}
#mobile_footer_menu ul ul{ display: none; }
#mobile_footer_menu ul li{ border-bottom: solid 1px #ccc; font-size: 12px; }
#mobile_footer_menu ul li:last-child{ border: none; }
#mobile_footer_menu ul li a{ display: block; padding: 15px 20px; position: relative; }
#mobile_footer_menu ul li a:after, #mobile_footer_menu ul li.menu-item-has-children a:after{
  font-family:'design_plus'; color:#000; font-size:14px; display:block; position:absolute; top:13px; right:0;
  width:17px; height:17px; line-height:17px;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
  content:'\f105';
}
#mobile_footer_menu ul li>ul{ border-top: solid 1px #ccc;}
#mobile_footer_menu ul li>ul>li{}


#mobile_footer_menu ul ul a { padding-left:28px; background:#fff; }
#mobile_footer_menu ul ul ul a { padding-left:42px; background:#fff; }
#mobile_footer_menu ul ul ul ul a { padding-left:55px; background:#fff; }
#mobile_footer_menu li.menu-item-has-children { position:relative; }
#mobile_footer_menu li.menu-item-has-children a:after { content: none; }


#mobile_footer_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_footer_menu .child_menu_button .icon:before {
  content:'+'; font-size:13px; color:#000; text-align:center;
  display:block; width:20px; height:20px; line-height:20px; border:1px solid #000; border-radius:100%;
  position:absolute; left:33px; top:8px;
  background: #fff;
}
#mobile_footer_menu .child_menu_button.active .icon:before, #mobile_footer_menu .child_menu_button:hover .icon:before { color:#000; border-color:#000; }
#mobile_footer_menu li.menu-item-has-children.open > .child_menu_button .icon:before { content:'-'; }
#mobile_footer_menu li.menu-item-has-children.open > ul { display:block; }






/* ----------------------------------------------------------------------
 サイドコンテンツ
--------------------