@charset "utf-8";

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

/* レイアウト */
#header { height:57px; /* border 1px分 */ width:100%; min-width:inherit; right:0px; top:0px; right:0; z-index:100; margin:0; }
#header_inner { height:56px; width:100%; min-width:inherit; margin:0; padding:0; background:#fff; border-bottom:1px solid #ddd; }

#main_contents { width:auto; margin:0 auto; padding:0; }
#main_col { width:auto; min-width:inherit; margin:20px auto 50px; padding:0 20px; }
#left_col { width:70%; width:-webkit-calc(100% - 330px); width:-moz-calc(100% - 330px); width:calc(100% - 330px); }
#side_col { width:30%; width:-webkit-calc(300px); width:-moz-calc(300px); width:calc(300px); }

@media screen and (max-width:770px) {
  #left_col { width:100%; float:none; padding:0; margin:0 0 30px 0; }
  #side_col { width:100%; float:none; padding:0; }
  #main_contents { width:auto; margin:0 auto; }
}


/* スライドメニュー */
#container {
  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); -moz-transition:right 300ms cubic-bezier(0.190, 1.000, 0.220, 1.000); -o-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; -moz-backface-visibility: hidden; -ms-backface-visibility: hidden; -o-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;
  -webkit-transition:right 300ms cubic-bezier(0.190, 1.000, 0.220, 1.000); -moz-transition:right 300ms cubic-bezier(0.190, 1.000, 0.220, 1.000); -o-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; -moz-backface-visibility: hidden; -ms-backface-visibility: hidden; -o-backface-visibility: hidden; backface-visibility: hidden;
}
.open_menu #mobile_menu:after { right:90%; }

#mobile_menu{ background:#333; }
#mobile_menu #global_menu{ padding-bottom:60px; }


/* 固定ヘッダー */
.mobile_header_fix #header { position:fixed; }
.mobile_header_fix { padding-top:57px; }
.mobile_header_fix #header {
  -webkit-transition:right 300ms cubic-bezier(0.190, 1.000, 0.220, 1.000); -moz-transition:right 300ms cubic-bezier(0.190, 1.000, 0.220, 1.000); -o-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; -moz-backface-visibility: hidden; -ms-backface-visibility: hidden; -o-backface-visibility: hidden; backface-visibility: hidden;
}
.mobile_header_fix.open_menu #header { right:90%; }




/* ----------------------------------------------------------------------
トップページ
---------------------------------------------------------------------- */

/* スライダー */
#header_slider { height:350px; min-width:inherit; }
.slider_main { height:350px; }
.slider_main .swiper-slide { height:350px; }
.slider_main .caption_area { height:auto; }
.slider_main .caption {
  width:100%; /*height:auto; */ padding:0 20px; margin:0;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
}
.slider_main .caption .title { font-size:20px !important; /* line-height:1.5; margin:8px 0 0 0;*/ position:static; /* For safari */ }
.slider_main .caption .title a { display:block; color:#fff; }
@media screen and (max-width: 767px) {
  .slider_main .caption { padding: 10px 20px; height: auto; }
  .slider_main .caption .title { font-size:14px!important; line-height:1.5; }
  .slider_main .caption .title a:after { display:none; }
  .header_slider_button_prev, .header_slider_button_next { display:none; }
}

/* 動画 */
#header_video.mobile { height:350px; }
#header_video .caption .title { font-size:28px !important; line-height:1.5; }
#header_video .caption .desc { font-size:16px !important; line-height:1.5; }
#header_video .caption .button { font-size:12px !important; height:40px; line-height:40px; padding:0 30px; }

/* 検索フォーム */
#header_search h3 { font-size:28px !important; }

@media screen and (max-width:770px) {
  /* 検索フォーム */
  #header_search {
    background:#fff; padding:10px;
    position:absolute; top:0; right:0; left:0; margin:0 auto; z-index:2;
    top:0; margin-top:0; -webkit-transform: translateY(0%); -ms-transform: translateY(0%); transform: translateY(0%);
  }
  #header_search h3 { display:none; }
  #header_search_form { background:none; padding:0; width:100%; border-radius:0px; }
  #header_search form { width:auto; }
  #header_search .header_search_input {
    background:#f5f5f5; border:1px solid #ddd; width:100%;
    width:-webkit-calc(100% - 50px); width:-moz-calc(100% - 50px); width:calc(100% - 50px);
  }
  body.has_header_search #header_slider { height:420px; }
  body.has_header_search .slider_main { margin-top:70px; }
  body.has_header_search .slider_main .swiper-slide { height:350px; }
}

@media screen and (max-width:550px) {
  /* スライダー */
  #header_slider { height:300px; min-width:inherit; }
  .slider_main { height:300px; }
  .slider_main .swiper-slide { height:300px; }
  /* 動画 */
  #header_video.mobile { height:300px; }
  #header_video .caption .title { font-size:20px !important; line-height:1.5; }
  #header_video .caption .desc { font-size:12px !important; line-height:1.5; }
  #header_video .caption .button { font-size:12px !important; height:35px; line-height:35px; padding:0 20px; }
  /* 検索フォーム */
  body.has_header_search #header_slider { height:370px; }
  body.has_header_search .slider_main .swiper-slide { height:300px; }  
}


/* ニュースティッカー */
#news_ticker_wrap { width:100%; min-width:inherit; height:auto; }
#news_ticker { width:100%; height:auto; margin:0 auto; position:relative; overflow:hidden; display:flex; display: -webkit-flex; }
#news_list { float:left; width:-webkit-calc(100% - 80px); width:-moz-calc(100% - 80px); width:calc(100% - 80px); }
#news_list .item {
  height:auto; padding:14px 20px 10px;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
}
#news_list .date { float:none; margin:0 0 5px 0; line-height:1; }
#news_list .title { font-size:12px;  float:none; line-height:1.6; width:100%; max-height:40px; overflow:hidden; }
#news_ticker .button a {
  font-size:12px; border-left:1px solid #ddd; text-align:center; position:relative; width:80px; right:auto; top:auto;
  padding:0; display:block; height:100%; line-height:1.6;
  float:right;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
}
#news_ticker .button a:after { display:none; }
#news_ticker .button a span {
  width:100%; padding:0 10px; display:inline-block; position:absolute;
  left:0px; top:50%; -webkit-transform:translateY(-50%); -moz-transform:translateY(-50%); -ms-transform:translateY(-50%); -o-transform:translateY(-50%); transform:translateY(-50%);
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
}


/* カスタム投稿一覧（アーカイブページでも利用） */
#cpt_list_wrap { min-width:inherit; padding:20px 0 100px; }
#cpt_list { width:100%; padding:0 20px; }
#cpt_list .item { margin:0 20px 20px 0; width:33.33333%; width:-webkit-calc(100% / 3 - 14px); width:-moz-calc(100% / 3 - 14px); width:calc(100% / 3 - 14px); }
#cpt_list .item:nth-child(4n) { margin-right:20px; }
#cpt_list .item:nth-child(3n) { margin-right:0px; }
#cpt_list .title { font-size:14px; }
#cpt_list .data_inner { font-size:12px; }
#cpt_list .link_button li { font-size:12px; }
@media screen and (max-width:970px) {
  #cpt_list .item { width:50%; width:-webkit-calc(50% - 10px); width:-moz-calc(50% - 10px); width:calc(50% - 10px); }
  #cpt_list .item:nth-child(3n) { margin-right:20px; }
  #cpt_list .item:nth-child(2n) { margin-right:0px; }
}
@media screen and (max-width:670px) {
  #cpt_list .item { width:100%; margin:0 0 20px 0; width:-webkit-calc(100%); width:-moz-calc(100%); width:calc(100%); }
  #cpt_list .item:nth-child(3n), #cpt_list .item:nth-child(4n) { margin-right:0px; }
}




/* ----------------------------------------------------------------------
 アーカイブページ
---------------------------------------------------------------------- */
/* 見出し */
#page_header { margin:0 0 30px 0; padding:10px 0 0 0; }
.archive_headline { font-size:18px !important; }
#page_header .desc { font-size:14px !important; line-height:1.6 !important; }


/* 記事一覧 */
#blog_list { margin:0 0 20px 0; }
#blog_list .image { margin-bottom:9px; }
#blog_list .item { width:50%; width:-webkit-calc(50% - 15px); width:-moz-calc(50% - 15px); width:calc(50% - 15px); margin:0 30px 30px 0; }
#blog_list .item:last-child { margin-bottom:7px; }
#blog_list .title { font-size:14px; line-height:1.8; }
#blog_list .meta { margin-top:5px; }
#blog_list .meta li { line-height:1.5; }
@media screen and (max-width:550px) {
  #blog_list .item { width:100%; margin:0 0 30px 0; }
}




/* ----------------------------------------------------------------------
 カスタム投稿アーカイブページ
---------------------------------------------------------------------- */
#cpt_archive_bread_crumb { height:50px; }
#cpt_archive_bread_crumb .taxonomy_name { height:51px; line-height:52px; padding:0 25px; }
#cpt_archive_bread_crumb .post_count { height:51px; line-height:52px; padding:0 20px; font-size:12px; }
#cpt_archive_bread_crumb .term_name { height:51px; line-height:52px; padding:0 20px; font-size:14px; }

@media screen and (max-width:550px) {
  #cpt_archive_bread_crumb { height:auto; }
  #cpt_archive_bread_crumb .taxonomy_name {
    float:none; width:100%; height:50px; line-height:51px; padding:0 20px;
    -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
  }
  #cpt_archive_bread_crumb .post_count { float:right; height:41px; line-height:42px; padding:0 17px; margin:5px 3px 0 0; }
  #cpt_archive_bread_crumb .term_name { height:50px; line-height:51px; padding:0 20px; }
}




/* ----------------------------------------------------------------------
 カスタム投稿詳細ページ
---------------------------------------------------------------------- */
/* タイトル */
#cpt_single_title_area { margin:0 0 24.5px 0; position:relative; }
#cpt_single_title_area #post_title { width:-webkit-calc(100% - 60px); width:-moz-calc(100% - 60px); width:calc(100% - 60px); margin:0; }
#cpt_single_url_button a { width:40px; height:40px; line-height:40px; padding:0; margin:auto; border-radius:100%; border:none; position:absolute; top:0; bottom:0; right:-20px; }
#cpt_single_title_area #cpt_single_url_button a:hover { background-color:transparent!important; /* 詳細度対策 */ }
#cpt_single_url_button a:hover::after { color: #333; }
#cpt_single_url_button a:after { position:static; }
#cpt_single_url_button a span { display:none; }


/* スライダー */
#cpt_slider_wrap { margin:0 0 30px 0; }
#cpt_slider { height:550px; width:-webkit-calc(100% - 10px); width:-moz-calc(100% - 10px); width:calc(100% - 10px); margin:0; position:relative; overflow:hidden; }
#cpt_slider .item { width:100%; height:550px; }
#cpt_slider_nav { width:-webkit-calc(100% - 10px); width:-moz-calc(100% - 10px); width:calc(100% - 10px); margin:10px 0 0 0; }
#cpt_slider_nav .item { width:100px; height:75px; }
#cpt_slider_nav .item:before { width:100px; height:75px; }
@media screen and (max-width:1100px) {
  #cpt_slider { height:450px; }
  #cpt_slider .item { height:450px; }
}
@media screen and (max-width:980px) {
  #cpt_slider { height:300px; }
  #cpt_slider .item { height:300px; }
}
@media screen and (max-width:770px) {
  #cpt_slider_wrap { margin:0 -20px 30px; }
  #cpt_slider { height:370px; }
  #cpt_slider .item { height:370px; }
}
@media screen and (max-width:550px) {
  #cpt_slider { height:300px; }
  #cpt_slider .item { height:300px; }
  #cpt_slider_nav .item { width:85px; height:64px; }
  #cpt_slider_nav .item:before { width:85px; height:64px; }
}
@media screen and (max-width:450px) {
  #cpt_slider { height:250px; }
  #cpt_slider .item { height:250px; }
}
@media screen and (max-width:350px) {
  #cpt_slider { height:200px; }
  #cpt_slider .item { height:200px; }
}

/* キャッチフレーズ */
.cpt_single_catch { margin:0 0 15px 0; font-size:20px; }
#cpt_single_url_button a:hover { background-color:transparent!important; }


/* シェアボタン */
.cpt #single_share_bottom { margin-top:30px; }
.cpt #single_share_bottom .mb45 { margin-bottom:0!important; }


/* データリスト */
#cpt_data dl { margin:0; }
#cpt_data dt { width:100px; font-size:11px; display:flex; align-items:center; justify-content:center; }
#cpt_data dd { font-size:11px; width:-webkit-calc(100% - 100px); width:-moz-calc(100% - 100px); width:calc(100% - 100px); overflow-wrap: break-word; }




/* ----------------------------------------------------------------------
 お知らせのアーカイブページ
---------------------------------------------------------------------- */
#news_archive_list { margin:0 0 20px 0; }
#news_archive_list .link_inner { padding:20px; }
#news_archive_list .date { margin-top:9px; }
#news_archive_list .title { font-size:14px; max-height:67px; overflow:hidden; }
@media screen and (max-width:550px) {
  #news_archive_list .image { width:130px; height:130px; }
  #news_archive_list .link { height:130px; width:-webkit-calc(100% - 130px); width:-moz-calc(100% - 130px); width:calc(100% - 130px); }
  #news_archive_list .link_inner { padding:15px; }
}




/* ----------------------------------------------------------------------
 お知らせの詳細ページ
---------------------------------------------------------------------- */
/* お知らせ一覧 */
#single_news_list .item a { padding:15px 20px; }
#single_news_list .date { font-size:11px; }
#single_news_list .title { font-size:12px; width:-webkit-calc(100% - 80px); width:-moz-calc(100% - 80px); width:calc(100% - 80px); }




/* ----------------------------------------------------------------------
 ヘッダー
---------------------------------------------------------------------- */

/* メニューボタン */
#menu_button {
  position:absolute; z-index:9; top:0px; right:0;
  display:inline-block; font-size:11px; color:#333; 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'; color:#333; 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; }

/* extra link btns */
#link_menu_button{
  position:absolute; z-index:9; top:0px; left:0;
  display:inline-block; font-size:11px; color:#333; width:56px; height:56px; line-height:56px; text-decoration:none; text-align:center;
}
#link_menu_button span { text-indent:100%; white-space:nowrap; overflow:hidden; display:block; }
#link_menu_button:before {
  font-family:'design_plus'; color:#333; display:block; position:absolute; top:18px; left:19px; margin:auto;
  font-size:22px; width:18px; height:18px; line-height:18px;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
#link_menu_button:before { content:'\e92b'; }
#link_menu_button:hover, #link_menu_button.active { background:#333; }
#link_menu_button:hover:before, #link_menu_button.active:before { color:#fff; }

/* グローバルメニュー */
#global_menu_wrap { 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; background:#333; font-size:13px; border-bottom:1px solid #444;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-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 .close_button { display:block; width:100%; height:56px; position:relative; cursor:pointer; border-bottom:1px solid #444; }
#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;
}


/* カスタム投稿カテゴリーメニュー */
#slide_menu { display:none; }
#mobile_menu a span.count { display:none; }


/* グローバルメニュー（子メニュー） */
#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; }


/* ロゴ */
#logo_text { z-index:8; }
#logo_text h1 { font-weight:normal; height:56px; line-height:56px; margin:0 auto; text-align:center; }
#logo_text a { display:block; -webkit-transition-property:none; -moz-transition-property:none; -o-transition-property:none; transition-property:none; }
#logo_image {
  position:absolute; top:50%; left:0; right:0; margin:auto;
  -webkit-transform: translate(0%, -50%); -moz-transform: translate(0%, -50%); -o-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; }
#tagline { display:none; }


/* 右上のメニュー */
#header_menu { display:none; }


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


/* パンくずリンク */
#bread_crumb { min-width:inherit; height:auto; }
#bread_crumb ul { width:auto; padding:10.5px 20px; }


/* translated sites */
/*#mobile_menu #translated_sites{}
#global_menu + #translated_sites{ margin-top: -60px; }
#mobile_menu #translated_sites li{}
#mobile_menu #translated_sites li a, #mobile_menu #translated_sites li div.stay{
  position:relative; display:block;  margin:0; padding:18px 20px; line-height:1.6; overflow:hidden; text-decoration:none;
  color:#fff; background:#333; font-size:13px; border-bottom:1px solid #444;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
}
#mobile_menu #translated_sites a:hover { color:#fff; }
#mobile_menu #translated_sites li .stay{ background: none !important; color: #999 !important; }
#mobile_menu #translated_sites li .stay:hover{ background: none !important; color: #999 !important; }
#mobile_menu #translated_sites li a span, #mobile_menu #translated_sites li div.stay span{
  position: relative;
  width: 18px;
  height: 18px;
  overflow: hidden;
  border-radius: 100%;
  display: inline-block;
  vertical-align: middle;
  margin-right: 4px;
  margin-top: -2px;
}
#mobile_menu #translated_sites li a span img, #mobile_menu #translated_sites li div.stay span img{
  width: 100%;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}*/
#mobile_link_menu{ display: none; }
.mobile_header_fix #mobile_link_menu{ top:57px; position: relative; }
#mobile_link_menu #translated_sites li{}
#mobile_link_menu #translated_sites li a, #mobile_link_menu #translated_sites li div.stay{
  position:relative; display:block;  margin:0; padding:14px 20px; line-height:1.6; overflow:hidden; text-decoration:none;
  color:#333; background:#F4F4F4 !important; font-size:13px; border-bottom:1px solid #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;
}
#mobile_link_menu #translated_sites a:hover, #mobile_link_menu #translated_sites li div.stay { color:#999 !important; }
#mobile_link_menu #translated_sites li .stay{  }
#mobile_link_menu #translated_sites li .stay:hover{  }
#mobile_link_menu #translated_sites li a span, #mobile_link_menu #translated_sites li div.stay span{
  position: relative;
  width: 22px;
  height: 22px;
  overflow: hidden;
  border-radius: 100%;
  display: inline-block;
  vertical-align: middle;
  margin-right: 4px;
  margin-top: -2px;
}
#mobile_link_menu #translated_sites li a span img, #mobile_link_menu #translated_sites li div.stay span img{
  width: 100%;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
#mobile_link_menu #translated_sites li a:after{
  display: block;
  font-family: 'design_plus';
  content: '\e910';
  position: absolute;
  top: 16px;
  right: 18px;
  color: #333;
  font-size: 14px;
}

/* ----------------------------------------------------------------------
 記事ページ
---------------------------------------------------------------------- */
.post_content p { line-height:2; }
#article { margin:0; }


/* カテゴリー */
#post_meta_top { margin:-20px -20px 24px; border-bottom:1px solid #ddd; }
#post_meta_top .category a { font-size:11px; padding:0 17px; }
#post_meta_top .date { font-size:11px; border:none; padding:0 17px; }


/* 記事タイトル */
#post_title { margin-bottom:30px; line-height:1.6; }
.page #post_title { padding-top:15px; }


/* アイキャッチ画像*/
@media screen and (max-width:770px) {
  #post_image { margin:0 -20px 50px; }
}

/* SNSボタン */
#single_share_top { margin:20px 0 0; }
#single_share_bottom .mb45 { margin-bottom:25px !important; }


/* メタ情報 */
#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; }


/* 次の記事、前の記事 */
#previous_next_post { margin:10px 0 -20px!important; border-top:none; }
.single-post #previous_next_post { margin-bottom: 30px!important; }
#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:45px; line-height:45px; font-size:12px; padding:0 !important; }
#previous_next_post .next_post a { border:1px solid #ddd; margin-left:-1px; position:relative; }
#previous_next_post .prev_post a::before { line-height:45px; height:45px; }
#previous_next_post .next_post a::before { line-height:45px; height:45px; }
#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; }


/* 広告 */
#single_banner_top { margin:0 0 10px 0; }
#single_banner_bottom { margin:0 0 20px 0; }
#single_banner_shortcode { margin:0 0 20px 0; }

.single_banner_area { margin:0 0 15px 0; text-align:center; }
.single_banner_area .single_banner_left { float:none; padding:0 0 15px 0; margin:0 auto; }
.single_banner_area .single_banner_right { float:none; padding:0 0 15px 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; }


/* 関連記事 */
#related_post .headline { font-size:14px; margin:0 0 15px 0; }
#related_post ol { margin:0 -15px 0 0; }
#related_post li { margin:0 15px 20px 0; width:-webkit-calc(100% / 3 - 15px); width:-moz-calc(100% / 3 - 15px); width:calc(100% / 3 - 15px); }
#related_post li:nth-child(3n) { margin-right:0; }
#related_post .image { width:100%; height:auto; margin-bottom:9px; }
#related_post .title { font-size:12px; }
@media screen and (max-width:550px) {
  #related_post li { margin:0 15px 20px 0; width:-webkit-calc(100% / 2 -15px); width:-moz-calc(100% / 2 - 15px); width:calc(100% / 2 - 15px); }
  #related_post li:nth-child(3n) { margin-right:15px; }
  #related_post li:nth-child(even) { margin-right:0; }
}




/* ----------------------------------------------------------------------
 固定ページ
---------------------------------------------------------------------- */
/* プロフィールページ */
#profile_page_top { margin-top:20px; }


/* 404ページ */
#header_image_for_404 { margin:-30px auto 20px; }


/* 広告 */
#page_banner { margin:30px 0; border:0; }
#page_banner .page_banner { display:block; padding:30px; width:100%; width:-webkit-calc(100%); width:-moz-calc(100%); width:calc(100%); }
@media screen and (max-width:550px) {
  #page_banner .page_banner { display:block; padding:20px; border:none; }
}


/* 記事一覧 */
@media screen and (max-width:950px) {
  .page_post_list li { width:50%; width:-webkit-calc(50% - 20px); width:-moz-calc(50% - 20px); width:calc(50% - 20px); }
  .page_post_list li:nth-child(4n) { margin-right:20px; }
  .page_post_list li:nth-child(2n) { margin-right:0px; }
}
@media screen and (max-width:770px) {
  .page_post_list .headline { text-align:center; }
  .page_post_list li { width:25%; width:-webkit-calc(25% - 20px); width:-moz-calc(25% - 20px); width:calc(25% - 20px); }
  .page_post_list li:nth-child(4n) { margin-right:0px; }
  .page_post_list li:nth-child(2n) { margin-right:20px; }
}
@media screen and (max-width:550px) {
  .page_post_list li { width:50%; width:-webkit-calc(50% - 20px); width:-moz-calc(50% - 20px); width:calc(50% - 20px); }
  .page_post_list li:nth-child(4n) { margin-right:20px; }
  .page_post_list li:nth-child(2n) { margin-right:0px; }
}




/* ----------------------------------------------------------------------
 コメント
---------------------------------------------------------------------- */
#comment_headline { margin:20px 0 20px 0; font-size:14px; }
#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; }
}
@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_blog_button { font-size:12px; height:45px; line-height:45px; padding:0 45px 0 30px; }
.footer_blog_button:after { font-size:12px; top:1px; right:25px; }
.home .footer_blog_button, .cpt .footer_blog_button { margin-top:-45px; }


/* スライダー */
#footer_slider_wrap { min-width:inherit; padding:20px 0; }
#footer_slider { width:auto; margin:0 0 0 45px; }
#footer_slider .slick-arrow { display:block !important; opacity:1; }
#footer_slider .slick-arrow:before { font-size:18px; font-weight:normal; }
#footer_slider .slick-prev { top:44px; left:-30px; z-index:9; }
#footer_slider .slick-next { top:44px; right:0px; z-index:9; }

@media screen and (max-width:650px) {
  #footer_slider_wrap { height:460px; padding:40px 0; }
  #footer_slider { margin:0; height:465px; overflow:hidden; }
  #footer_slider .item { margin:0 20px 20px; width:100%; }
  #footer_slider .title { width:-webkit-calc(100% - 100px); width:-moz-calc(100% - 100px); width:calc(100% - 100px); }
  #footer_slider .slick-prev { display:none !important; }
  #footer_slider .slick-next { display:none !important; }
  #footer_slider .title span { padding-right:0; }
}


/* フッター上部（ウィジェット表示エリア） */
#footer_top { width:auto; min-width:inherit; padding:0; }
#footer_top .tcdw_menu_widget { margin-bottom:32px; }
#footer_top_inner { width:auto; padding:40px 20px 40px; margin:0 auto; overflow:hidden; position:relative; }
#footer_center_widget, #footer_right_widget {
  width:50%; padding:0; 
  width:-webkit-calc(50% - 25px); width:-moz-calc(50% - 25px); width:calc(50% - 25px);
}
#footer_right_widget { margin:0 0 30px 0; }
#footer_center_widget { margin:0 0 30px 0; }
.footer_headline { display:block; }
@media screen and (max-width:770px) {
  #footer_center_widget, #footer_right_widget { width:100%; float:none; padding:0; margin:0 0 50px 0; }
  .footer_headline { text-align:center; font-size:18px; }
}

/* 紹介文 */
#footer_info { width:100%; float:none; text-align:center; margin:0 0 30px 0; }
#footer_info .info { margin-bottom:0; }
#footer_info .info p { font-size:12px; }
#footer_social_link { bottom:30px; left:0; right:0; position:absolute; }
#footer_social_link li { float:none; display:inline-block; vertical-align:top; }


/* フッター下部 */
#footer_bottom { width:100%; min-width:inherit; height:49px; line-height:49px; }


/* コピーライト */
#copyright { line-height:49px; }


/* ページ上部へ戻るボタン */
#return_top a { height:50px; width:50px; line-height:50px; }
#return_top a:before { left:17px; }


/* フッターバー */
#dp-footer-bar {
  position:fixed; right:0px; bottom:0px; z-index:999; width:100%;
}
.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:-moz-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:-moz-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:-moz-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:-moz-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; }
.tcd_user_profile_widget .user_sns { margin-bottom:19px; }
.tab_post_list_widget .styled_post_list1 li { padding:15px 20px; }
@media screen and (max-width:770px) {
  .side_widget.tcdw_menu_widget li { line-height:2.5; padding:0; margin:0; }
  .side_headline { text-align:center; font-size:14px; }
  .tab_post_list_widget .title { font-size:12px; }
}


/* デザインされた記事一覧３ */
.styled_post_list3 .image { height:auto; }
@media screen and (max-width:770px) {
  .styled_post_list3_widget { overflow:hidden; }
  .styled_post_list3 { margin:0 -30px 0 0; font-size:0; }
  .styled_post_list3 li { margin:0 30px 20px 0; display:inline-block; vertical-align:top; width:50%; width:-webkit-calc(50% - 30px); width:-moz-calc(50% - 30px); width:calc(50% - 30px); }
}
@media screen and (max-width:500px) {
  .styled_post_list3 { margin:0; }
  .styled_post_list3 li { margin:0 0 20px 0; display:block; width:100%; }
}


/* ランキング */
.ranking_list_widget .rank_list_number { font-size:15px; width:40px; height:40px; }
.ranking_list_widget .rank_list_number:before {
  width:15px; height:10px; margin:7px auto 3px;
  background:url(../img/common/icon_crown2.png) no-repeat left top;
  -moz-background-size:15px; -webkit-background-size:15px; -o-background-size:15px; -ms-background-size:15px; background-size:15px;
}


/* プロフィール */
.tcd_user_profile_widget { border:none; border-top:1px solid #ddd;  border-bottom:1px solid #ddd; padding:30px 0; }




/* ----------------------------------------------------------------------
 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; }
}



