@charset "utf-8";

/* ----------------------------------------------------------------------
 レイアウト
---------------------------------------------------------------------- */
html { max-width:100vw; }

@media only screen and (max-width:1329px) {
  body { min-width:300px; }
  #left_col { width:-webkit-calc(100% - 3.3333% - 300px); width:-moz-calc(100% - 3.3333% - 300px); width:calc(100% - 3.3333% - 300px); }
  #side_col { width:300px; }
  #main_col, .inner { width:90.22556%; /* 1200/1330 */ }
}

@media only screen and (max-width:1024px) {
  body { font-size:12px; }
  #left_col, #side_col { width:initial; width:auto; }
  #left_col, #side_col { float:none !important; }
  #main_col, .inner { width:initial; width:auto; padding:0 20px; }
  #main_col { /*margin:30px 0 33px;*/ margin:16px 0 33px; }
  #side_col { margin:30px 0 0 0; }
}

/* ----------------------------------------------------------------------
 基本設定
---------------------------------------------------------------------- */
@media only screen and (max-width:1024px) {
  body { font-size:12px; }
}

/* ----------------------------------------------------------------------
 ヘッダー
---------------------------------------------------------------------- */
@media only screen and (max-width:1329px) {
  .fix_top.header_fix #header_top { width:100%; min-width:initial; min-width: auto; }
}

@media only screen and (max-width:1024px) {
  #header { position:relative; border-top:0!important; }
  #header_top { overflow:initial; }
  #header_top .inner { height:60px; min-height:initial; min-width: auto; }

  /* ロゴ */
  #header_logo, #header_logo_fix { max-height:60px; }
  #header_logo .logo, #header_logo_fix .logo { line-height:60px; }
  #header_logo #logo_text .logo, #header_logo_fix #logo_text_fixed .logo { font-size:26px; }
  #header_logo img, #header_logo_fix img { max-height:50px; }
  #header_logo .desc { display:none; }

  /* メニューボタン */
  a.menu_button {
    position:absolute; right:0px; z-index:9; text-align: center;
    display:inline-block; color:#000; width:60px; height:60px; line-height:60px; text-decoration:none;
  }
  a.menu_button span { text-indent:100%; white-space:nowrap; overflow:hidden; display:block; }
  a.menu_button:before {
    content:'\f0c9'; font-family:'design_plus'; color:#fff; display:block; position:absolute; top:17px; left:19px;
    font-size:18px; width:24px; height:24px; line-height:24px;
    -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
  }

  /* グローバルメニュー */
  #global_menu { display:none; clear:both; width:100%; margin:0; top:60px; left:0; position:absolute; z-index:9; background:#b69e84; max-height:-webkit-calc(100vh - 60px); max-height:calc(100vh - 60px); overflow-y:auto; }
  #global_menu ul { margin:0; width:100%; text-align:left; }
  #global_menuli, #global_menu > ul > li { display:block; width:100%; }
  #global_menu ul li:last-child { border-bottom:none; }
  #global_menu ul ul { display:none; }
  #global_menu a, #global_menu > ul > li > a {
    position:relative; display:block; margin:0; padding:9.5px 14px; height:auto; min-height:40px; line-height:1.6; overflow:hidden; text-decoration:none; font-size:13px; border-bottom:1px solid rgba(255,255,255,.3);
    -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 { background:#92785f; }
  #global_menu ul ul a { padding-left:28px; background:rgba(255,255,255,.1); }
  #global_menu ul ul ul a { padding-left:42px; background:rgba(255,255,255,.2); }
  #global_menu ul ul ul ul a { padding-left:55px; background:rgba(255,255,255,.3); }
  #global_menu li.menu-item-has-children { position:relative; }
  #global_menu .child_menu_button { display:block; position:absolute; text-align:center; width:60px; height:39px; right:0px; top:1px; z-index:5; cursor:pointer; }
  #global_menu .child_menu_button .icon:before {
    content:'\e90e'; font-family:'design_plus'; font-size:13px; color:#eee; text-align:center;
    display:block; width:20px; height:20px; line-height:20px;
    position:absolute; left:20px; top:10px;
    -webkit-transition:transform 0.5s ease; -moz-transition:transform 0.5s ease; -ms-transition:transform 0.5s ease; -o-transition:transform 0.5s ease; transition:transform 0.5s ease;
  }
  #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 {
    -webkit-transform:rotateX(180deg); -moz-transform:rotateX(180deg); -ms-transform:rotateX(180deg); -o-transform:rotateX(180deg); transform:rotateX(180deg);
  }

  /* ヘッダー固定 */
  .mobile_fix_top.header_fix #header {
    position:fixed; width:100%; top:0; left:0; z-index:999;
    -webkit-transform:translateY(0%); -moz-transform:translateY(0%); -ms-transform:translateY(0%); -o-transform:translateY(0%); transform:translateY(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;
    animation:slideDown 0.5s ease; -ms-animation:slideDown 0.5s ease; -webkit-animation:slideDown 0.5s ease; -moz-animation:slideDown 0.5s ease; 
  }
  .mobile_fix_top.header_fix #header_top { background:rgba(0,0,0,1); }
  .mobile_fix_top.header_fix #header.active #header_top { background:rgba(0,0,0,1); }

  .mobile_fix_top.header_fix #logo_image_fixed, .mobile_fix_top.header_fix #logo_text_fixed { display:block; }
  .mobile_fix_top.header_fix #logo_image, .mobile_fix_top.header_fix #logo_text { display:none; }

  /* ヘッダー検索 */
  #header_top a.search_button {
    position:absolute; right:45px; z-index:99; text-align: center;
    display:inline-block; color:#fff; width:60px; height:60px; line-height:60px; text-decoration:none;
  }
  #header_top a.search_button span { text-indent:100%; white-space:nowrap; overflow:hidden; display:block; }
  #header_top a.search_button:before {
    content:'\e915'; font-family:'design_plus'; color:#fff; display:block; position:absolute; top:17px; left:19px;
    font-size:18px; width:24px; height:24px; line-height:24px;
    -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
  }

  #header_search, #index_header_search { width:100%; padding:25px 0; }
  #header_search { display:none; position:absolute; top:60px; left:0; z-index:9; }
  #header_search form, #index_header_search form { display:block; }
  .header_search_inputs, form.columns-5 .header_search_inputs { width:100%; margin:0 0 12px 0; }
  .header_search_button, form.columns-5 .header_search_button { width:100%; margin:25px 0 0 0; text-align:center; }
  .header_search_inputs input { height:40px; padding:14px 16px; font-size:14px; }

  .header_search_inputs select { height:40px; padding:0 16px; font-size:14px; opacity:1; -webkit-appearance:none; -moz-appearance:none; background: white url(../fonts/angle-down.svg) no-repeat right 16px center / 12px }
  .header_search_button input { height:45px; font-size:14px; }
  #header_search_submit { width:220px; background:#000; }
  .header_search_keywords { position:relative; }
  .header_search_keywords #header_search_keywords { padding-right:56px; }
  .header_search_keywords ul.search_keywords_operator { width:42px; height:50px;  }
  .header_search_keywords ul.search_keywords_operator li { height:20px; line-height:20px; font-size:12px; }
  .header_search_inputs .chosen-container-single .chosen-single { padding-left:16px; height:50px; line-height:50px; }
  .header_search_inputs .chosen-container-single .chosen-single div b:before { line-height:50px; }

  /* パンくずリンク */
  #breadcrumb { padding:13px 0; height:initial; height: auto; font-size:12px; line-height:1.7; }
  #breadcrumb ul { white-space:initial; }
  #breadcrumb li.home a:before { font-size:12px; color:#999; }
  #breadcrumb li { font-size:12px; }
  #breadcrumb li:after { font-size:9px; bottom:0; }
}

/* ----------------------------------------------------------------------
 サイドコンテンツ
---------------------------------------------------------------------- */
@media only screen and (max-width:1024px) {
  .side_widget { margin:0 0 28px 0; font-size:12px; }
  .side_headline,.widget_block .wp-block-heading { margin:0 0 12px 0; font-size:20px; line-height:1.4; }
  .side_widget + .side_widget .side_headline { margin-top:-4px; }
  .side_widget ul { margin:0 0 0 14px; }
  .side_widget li ul { margin: 0 0 0 10px; }

  /* バナーリスト */
  ul.banner_list li, .widget ul.banner_list li { margin:0 0 8px 0; }
  ul.banner_list li .caption { font-size:20px; }

  /* ランキング */
  .tcdw_ranking_list_widget .image { width:120px; height:120px; }
  .tcdw_ranking_list_widget .info { margin:0 0 0 138px; height:120px; }
	.tcdw_ranking_list_widget .rank {
		width: 44px; padding: 0 10px; line-height: 21px; height: 21px; 
	}
	.tcdw_ranking_list_widget .title { max-height:none; font-size:14px; }

  /* アイコンメニュー */
  .tcdw_icon_menu_list_widget li { font-size:14px; }

	/* デザインされた記事一覧 */
	.styled_post_list1_widget { font-size:14px; }
	.styled_post_list1 .title { max-height:none; }
	.styled_post_list1 .info { height:auto; }
	.styled_post_list1 .date { position:static; font-size:10px; }
}

/* ----------------------------------------------------------------------
 フッター
---------------------------------------------------------------------- */
@media only screen and (max-width:1024px) {
  #footer_contents { padding:40px 0 0 0; }
  #footer_info { padding:18px 0 0 0; }

  /* logo */
  #footer_logo .logo { font-size:26px; line-height:1.2; }

  /* footer bottom menu */
  #footer_bottom_menu { display:block; margin:16px 0 0 0; }
  #footer_bottom_menu ul { display:inline; font-size:0; }
  #footer_bottom_menu li { display:inline-block; font-size:12px; line-height:2; }
  #footer_bottom_menu li:after { content:"|"; display:inline-block; padding:0 0.5em; }
  #footer_bottom_menu li:last-child:after { content:""; }

  /* SNSボタン */
  #footer_social_link { display:block; margin:12px 0 0 0; width:initial; width:auto; text-align:center; position:static;
    -webkit-transform:none; -moz-transform:none; -ms-transform:none; -o-transform:none; transform:none;
  }
  #footer_social_link li { margin:0 8px; }

  /* コピーライト */
  #copyright { margin:32px -20px 0 -20px; padding:17px 20px; width:initial; width:auto; font-size:10px; line-height:1.6; text-align:center; background:#000; position:static;
    -webkit-transform:none; -moz-transform:none; -ms-transform:none; -o-transform:none; transform:none;
  }
  #copyright span { display:none; }

  /* ページ上部へ戻るボタン */
  #return_top { display:none; position:fixed; bottom:0; right:0; }
  #return_top a { display:block; width:50px; height:50px; border-radius:0; }
  #return_top a:before {
    font-family:'design_plus'; color:#fff; font-size:16px; display:block; position:absolute; top:50%; left:50%; margin:-0.4em 0 0 -0.5em;
    -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
  }

  /* フッターウィジェット */
  #footer_widget { margin:0 0 10px 0; padding:10px 0; text-align:left;   grid-template-columns: 1fr 1fr 1fr; }
  .footer_headline { margin:0 0 14px 0; font-size:20px; line-height:1.4; }

  /* エリア・カテゴリーメニュー */
  #footer_nav { padding:30px 0 24px 0; }
  #footer_nav .footer_nav_cols .footer_nav_1 { width:initial; width:auto; float:none; }
  #footer_nav .footer_nav_cols .footer_nav_2 { width:initial; width:auto; float:none; margin-top:22px; }
  #footer_nav .headline { margin:0 0 12px 0; padding:0 12px; min-width:46px; line-height:21px; border-radius:10.5px; }
  #footer_nav li { font-size:12px; line-height:2; }
  #footer_nav .footer_nav_type1 li { min-width:25% !important; }
}

@media only screen and (max-width:767px) {
  #footer_info { padding:10px 0 0 0; }

  /* フッターウィジェット */
  #footer_widget { display:block; padding:0 ; border-bottom:none; }
  .footer_widget { width:100% !important;}
  .footer_widget +   .footer_widget{ margin-top: 30px; }
  .footer_widget.widget_nav_menu { width:49% !important; }
  .footer_widget ul.banner_list li { margin:0 0 9px 0; }

  /* エリア・カテゴリーメニュー */
  #footer_nav .footer_nav_type1 li { min-width:33% !important; }
}

@media only screen and (max-width:480px) {
  /* エリア・カテゴリーメニュー */
  #footer_nav .footer_nav_type1 li { min-width:50% !important; }
}

/* ----------------------------------------------------------------------
 トップページ
---------------------------------------------------------------------- */
@media only screen and (max-width:1024px) {
  /* お知らせ・ニュースティッカー */
  #index_news { display:none; }
  #index_news_mobile { display:block; margin:0; height:65px; line-height:65px; overflow:hidden; position:relative; border-bottom:1px solid #ddd; position:relative; padding: 5px;}
  #index_news_mobile ol { margin:0; padding:0; position:absolute;width: 100%; }
  #index_news_mobile ol li { height:65px; font-size:15px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; display: flex; flex-wrap: wrap; align-items: center;}
  #index_news_mobile ol li a { line-height: 1em; text-decoration:none; overflow:hidden; text-overflow:ellipsis; width: calc(100% - 40px);}
  #index_news_mobile .entry-date { font-size:14px; color:#b69e84; text-decoration:none !important; }
  #index_news_mobile .mobile_title { margin-top: 10px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
  .news-mobile_archive_link { display: block; margin:30px 0 0 0; text-align:center; }
  .news-mobile_archive_link a { display:inline-block; padding:0 30px; line-height:45px; font-size:14px; text-decoration:none; color:#fff !important; background:#aaa; position:relative; border-radius: 25px;min-width: 220px;box-sizing: border-box;  min-height: 45px; }
  /*#index_news_mobile .archive_link a:after { content:'\e910'; font-family:'design_plus'; display:inline-block; line-height:1; margin-top:-0.5em; position:absolute; top:50%; right:8px; }*/
  .news-mobile_archive_link a:hover { background:#b69e84; }

  /* カテゴリーリスト */
  .cb_content-category_list { margin-bottom:80px; }
  .cb_content-category_list ul li { margin:0 0 12px 0; padding:0; width:49.333%; float:left; }
  .cb_content-category_list ul li:nth-child(even) { float:right; }
}

@media only screen and (max-width:767px) {
  .home-default #main_col { margin-top:30px; }

  /* スライダー */
  #header_slider  { margin-bottom:-1px; }
  #header_slider .caption { padding:30px 20px; }
  #header_slider .slick-arrow { display:none !important; }
  #header_slider .item:before { content:''; display:block; padding-top:125%; }
  #header_slider .item img { width:100%; height:100%; position:absolute; top:0; bottom:0; left:0;right:0;margin: auto; max-width: inherit; object-fit: cover; }
  /*#header_slider .item img { width:100%;  height: calc( 100vh - 60px - 200px ); object-fit: cover }*/
  #header_slider .caption .headline { font-size:28px; line-height:1.4; }
  #header_slider .caption .catchphrase { margin:8px 0 0 0; font-size:12px; line-height:2; text-align:left; }
  #header_slider .caption .button { margin:12px 0 0 0; padding:0 40px; min-width:220px; height:43px; line-height:43px; font-size:14px; border-radius:22px; }

  #header_slider.slider_video, .slider_video_wrapper .slider_video_container{ height:calc(100vh - 60px); }
  .slider_video_wrapper:before{ padding-top:calc(100vh - 60px); }
  .slider_video_mobile{ height:100% !important; }

  /* コンテンツビルダー */
  .cb_content { margin:0 0 30px 0; }
  .cb_content .cb_headline { margin:2em 0 7px 0; font-size:20px; line-height:1.4; }
  .cb_content .cb_desc { line-height:2; text-align:left; }

  /* 紹介コンテンツ */
  .cb_content-introduce { margin-bottom:30px; }

  /* カルーセルスライダー */
  .cb_content-carousel { padding:26px 0 30px 0; }
  .cb_content-carousel .cb_headline { text-align:center; }
  .cb_content-carousel .carousel { margin:20px -10px 0; padding:0; }
  .cb_content-carousel .item { margin:0 10px; width:initial; width:auto; }
  .cb_content-carousel .slick-list { -webkit-clip-path:inset(0 10px 0 10px); clip-path:inset(0 10px 0 10px); }
  .cb_content-carousel .slick-arrow { display:none !important; }
  .cb_content-carousel .image .title { padding:10px 18px; line-height:1.5; font-size:14px; font-weight:300; }
  .cb_content-carousel .excerpt { display:none; }

  /* カテゴリーリスト */
  .cb_content-category_list { margin-bottom:30px; }
  .cb_content-category_list ul { margin:26px 0 0 0; padding:0; }
  .cb_content-category_list ul li { margin:0 0 6px 0; padding:0; width:initial; width:auto; float:none !important; }
  .cb_content-category_list ul li:last-child { margin-bottom:0; }
  .cb_content-category_list ul li a { height:120px; }
  .cb_content-category_list ul li .info h3 { margin:0 0 4px 0; font-size:116.666%; font-weight:700; font-size:14px; }
  .cb_content-category_list ul li.has_image .image { width:120px; height:120px; }
  .cb_content-category_list ul li.has_image .info { font-size:12px; left:120px; width:50%; width:-webkit-calc(100% - 115px); width:calc(100% - 115px); }

  /* ブログ記事一覧 */
  .cb_content-blog_list #post_list { margin:26px 0 0 0; }
  .cb_content-blog_list .archive_link { margin:16px 0 0 0; text-align:center; }
  /*.cb_content-blog_list .archive_link a { display:inline-block; padding:0 30px; min-width:100px; line-height:40px; text-decoration:none; color:#fff; background:#aaa; position:relative; }*/
  .cb_content-blog_list .archive_link a { 
  display: inline-block;
  padding: 0 30px;
  line-height: 45px;
  font-size: 14px;
  border-radius: 25px;
  min-width: 220px;
  box-sizing: border-box;
  min-height: 45px;
  }
}

/* ----------------------------------------------------------------------
 固定ページ
---------------------------------------------------------------------- */
@media only screen and (max-width:767px) {
  /* ヘッダー画像 */
  #header_image:before { content:''; display:block; padding-top:72%; }
  #header_image img { width:auto; min-width:100%; height:100%; position:absolute; top:0; bottom:0; left:50%; max-width: inherit;
    -webkit-transform:translateX(-50%); -mox-transform:translateX(-50%); -ms-transform:translateX(-50%); -o-transform:translateX(-50%); transform:translateX(-50%);
  }
  #header_image .caption { font-size:20px !important; z-index:2; }
  #header_image .caption_bar { font-size:18px; line-height:1.4; padding:11px 20px 10px; }

  .page #post_title { margin:0 0 16px; font-size:20px; line-height:1.5; }
}

/* ----------------------------------------------------------------------
 アーカイブページ
---------------------------------------------------------------------- */
@media only screen and (max-width:1024px) {
  #archive_headline { font-size:20px; line-height:1.4; }
  #archive_desc { margin:10px 0 0 0; }

  /* 共通カテゴリー・日付 */
  ul.meta li { margin:0 3px 0 0; font-size:12px; }
	ul.meta li.cat a, ul.meta li.cat span { margin:0 4px 4px 0; padding:0 8px; min-width:44px; line-height:21px; border-radius:10.5px; }
}

@media only screen and (min-width:768px) and (max-width:1024px) {
  /* 一覧 3列 */
  #post_list { margin:40px 0 0 0; }
  #post_list .article .title { margin:8px 0 0 0; font-size:14px; height:3.4em; }
  #post_list .article { width:30%; width:-webkit-calc((100% - 40px) / 3); width:-moz-calc((100% - 40px) / 3); width:calc((100% - 40px) / 3); margin:0 20px 28px 0 !important; }
  #post_list .article:nth-child(3n) { margin-right:0 !important; }
  ul.meta li.date { margin:6px 0 0 0; }

  /* ページング */
  .page_navi { margin:10px 0 30px 0; }
}

@media only screen and (max-width:767px) {
  /* 一覧 2列 */
  #post_list { margin:30px 0 0 0; }
  #post_list .article { width:45%; width:-webkit-calc(50% - 10px); width:-moz-calc(50% - 10px); width:calc(50% - 10px); margin:0 10px 20px 0; }
  #post_list .article:nth-child(2n) { margin-left:10px; margin-right:0; }
  #post_list .article .title { margin:8px 0 0 0; font-size:14px; line-height:1.5; height:4.5em; -webkit-line-clamp:3; }
  #post_list .article .meta { margin:8px 0 0 0; }
  ul.meta li.date { margin:6px 0 0 0; }

  /* ページング */
  /*.page_navi { display:none; }*/
  .page_navi2 { display:block; }
  .page_navi2 ul.page-numbers li { display:none; }
  .page_navi2 ul.page-numbers li.prev, .page_navi2 ul.page-numbers li.next { display:inline-block; margin-bottom:0; }
  .page_navi2 ul.page-numbers li.disable { opacity:0.5; }
  
  .page_navi p.back a{
    display: inline-block;
    padding: 0 30px;
    line-height: 45px;
    font-size: 14px;
    text-decoration: none;
    color: #fff;
    background: #aaa;
    position: relative;
    border-radius: 25px;
    min-width: 220px;
    box-sizing: border-box;
    min-height: 45px;
  }
  
  .page_navi ul.page-numbers .prev, .page_navi ul.page-numbers .next{
    display: none;
  }
  .page_navi + .page_navi2 ul.page-numbers .prev,  .page_navi + .page_navi2 ul.page-numbers .next{
    display: none;
  }
}



/* ----------------------------------------------------------------------
 カテゴリーアーカイブ・検索結果
---------------------------------------------------------------------- */
@media only screen and (max-width:1024px) {
  .archive_header { padding:15px 0 13px 0; border-bottom:1px solid #ddd; }
  .archive_header .inner { display:block; }
  .archive_header .headline { margin:0; padding:0; font-size:20px; line-height:1.4; font-weight:700; }
  .archive_header .desc { margin:0.5em 0 0 0; line-height:2; }

  .archive_filter { margin:-12px -20px 11px -20px; padding:0 20px; background:transparent; border:none; }
  .archive_filter_headline { margin:26px 0 11px 0; font-size:16px; line-height:1.4; font-family:inherit !important; font-weight:300 !important; }
  .archive_filter.is-open .archive_filter_headline:after { margin-left: 8px; vertical-align: -1px; }
  .archive_filter.is-close .archive_filter_headline:after { margin-left: 8px; vertical-align: -0.5px; }
  .archive_filter_headline2 { margin:0 0 12px 0; }
  .archive_filter_headline2 span { padding:0 12px; min-width:46px; line-height:21px; border-radius:10.5px; }
  .archive_filter label { padding:0 10px 9px 0; min-width:25%; }
  .archive_filter label input { margin:0 4px 0 0; }
  .archive_filter .button { margin:6px auto 0; width:200px; }
  .archive_filter .button input { height:40px; color:#fff; border-radius:20px; }

  .archive_sort { margin:0 0 20px 0; }
  .archive_sort dt { float:none; width:100%; margin:0 0 9px 0; font-size:16px; line-height:1.4; text-align:left; color:#b69e84; background:transparent !important; }
  .archive_sort dd { width:33.3333%; }
  .archive_sort dd a { line-height:40px; }
  .archive_sort dd:first-of-type a { border-left:1px solid #ddd; }

  .custom_search_results .page_navi2 { display:block; margin:20px 0 15px 0; }

  /* 一覧 */
  #post_list2 { margin:20px -20px; }
  #post_list2 .article { border:none; border-bottom:1px solid #ddd; }
  #post_list2 .article:first-child { border-top:1px solid #ddd; }
  #post_list2 .article a { display:block; padding:17px 20px; text-decoration:none; }
  #post_list2 .article .image { float:left; width:45.625%; overflow:hidden; position:relative; padding-bottom:29%; }
  #post_list2 .article .image:before { content:''; display:block; /*padding-top:64.285%;*/ padding-top:0;  }
  #post_list2 .article .image img { display:block; width:100%; height:auto; position:absolute; top:0; left:0; }
  #post_list2 .article .info { float:right; width:48.125%; color:#000; }
  #post_list2 .article .meta { margin:0 0 4px 0; }
  #post_list2 .article .title { margin:0; font-size:14px; line-height:1.5; font-weight:400; }
  #post_list2 .article .excerpt { display:none; }
}

@media only screen and (max-width:480px) {
  .archive_filter label { min-width:33.333%; }
  #post_list2 .article .meta li span:nth-child(n+2) { display:none; }
}

/* ----------------------------------------------------------------------
 記事
---------------------------------------------------------------------- */
@media only screen and (max-width:1024px) {
  .single-post #main_col, .single-introduce #main_col { margin-top:0; }
  #article_header { margin:0 -20px; padding:20px; border-width:0 0 1px 0; }

  /* カテゴリー */
  #post_meta_top { margin:0 0 4px 0; }
  .single-introduce #post_meta_top{
    margin-top: 10px;
  }

  /* アイキャッチ画像 */
  #post_image { margin:-1px -20px 24px; }

  /* 記事タイトル */
  #post_title { margin:0 0 24px; font-size:16px; line-height:1.5; font-weight:700; }
  /* 日付 */
  #post_date { margin:8px 0 0 0; color:#999; line-height:1; font-size:12px; }

  /* 記事本文 */
  .post_content { font-size: 14px; line-height:2.2; }

  /* SNSボタン */
  #single_share_top { margin:24px 0; }
  #single_share_bottom { margin:24px 0; }

  /* ページ分割 */
  #post_pagination { margin:24px 0 0 0; }

  /* メタ情報 */
  #post_meta_bottom { margin:28px 0; padding:0; background:transparent; }
  #post_meta_bottom li { display:block; margin:0 0 4px 0; padding:0 0 0 26px; border-right:none; font-size:12px; }
  #post_meta_bottom li:before { font-size:13px; }

  /* 次の記事、前の記事 */
  #previous_next_post_image { margin:28px 0; }

  /* 広告 */
  #single_banner_area { margin:20px 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; }

  /* 広告2 */
  #single_banner_area_bottom { margin:20px 0; text-align:center; }
  #single_banner_area_bottom .single_banner_left { float:none; padding:0 0 15px 0; margin:0 auto; }
  #single_banner_area_bottom .single_banner_right { float:none; padding:0; margin:0 auto; }
  #single_banner_area_bottom img { max-width:100%; height:auto; display:inline; }

  /* 広告（ショートコードver） */
  #single_banner_area2 { margin:0 0 20px 0; text-align:center; }
  #single_banner_area2 .single_banner_left { float:none; padding:0 0 15px 0; margin:0 auto; }
  #single_banner_area2 .single_banner_right { float:none; padding:0 0 5px 0; margin:0 auto; }
  #single_banner_area2 img { max-width:100%; height:auto; display:inline; }

  /* 関連記事 */
  #related_post .headline { margin:0 0 11px 0; font-size:16px; font-weight:300; line-height:1.6; }
}

@media only screen and (min-width:768px) and (max-width:1024px) {
  /* 関連記事 */
  #related_post ol { border:none; }
  #related_post li { width:33.3333%; border:none; }
  #related_post li a { padding:0 7px 18px; }
  #related_post li:nth-child(3n+1) a { padding:0 14px 18px 0; }
  #related_post li:nth-child(3n+3) a { padding:0 0 18px 14px; }
  #related_post li:nth-last-child(-n+3) a { padding-bottom:0; }
  #related_post li .image { margin:0 0 10px 0; }
  #related_post li .title { font-size:14px; line-height:1.5; font-weight:300; height:initial; height: auto; max-height:4.5em; }
}

@media only screen and (max-width:767px) {
  /* 次の記事、前の記事 */
  #previous_next_post_image { margin:28px 0; }
  #previous_next_post_image a { display:block; height:46px; line-height:46px; text-align:center; overflow:hidden; }
  #previous_next_post_image .title { display:none; }
  #previous_next_post_image .image { display:none; }
  #previous_next_post_image .prev_post a { padding:0 0 0 32px; }
  #previous_next_post_image .next_post a { padding:0 32px 0 0; }
  #previous_next_post_image a:before { font-size:16px; width:16px; }
  #previous_next_post_image .prev_post a:before { left:16px !important; }
  #previous_next_post_image .next_post a:before { right:16px !important; }
  #previous_next_post_image .prev_post a:after { content:attr(data-mobile-title); font-size:12px; }
  #previous_next_post_image .next_post a:after { content:attr(data-mobile-title); font-size:12px; }

  /* 関連記事 */
  #related_post { margin:30px 0 0 0; }
  #related_post ol { border:none; }
  #related_post li { width:50%; border:none !important; }
  #related_post li a { padding:0 10px 18px 0; }
  #related_post li:nth-child(even) a { padding:0 0 18px 10px; }
  #related_post li:nth-last-child(-n+2) a { padding-bottom:0; }
  #related_post li .image { margin:0 0 10px 0; }
  #related_post li .title { font-size:14px; line-height:1.5; font-weight:300; height:initial; height: auto; min-height:3em; max-height:4.5em; }
}

/* ----------------------------------------------------------------------
 紹介
---------------------------------------------------------------------- */
@media only screen and (max-width:1024px) {
  /* 紹介詳細 */
  .introduce_shoulder_copy, #introduce_slider, .single-introduce #article #post_image { margin-left:-20px; margin-right:-20px; }
}

@media only screen and (max-width:767px) {
  /* 紹介ヘッダー */
  #introduce_header { margin:30px 0 10px 0; }
  #introduce_header .headline { /*margin:0 0 2px 0;*/ margin:0 0 7px 0; font-size:16px; line-height:1.4; }
  #introduce_header p { margin:0; line-height:2.2; }
  #introduce_header .post_col { margin-bottom:20px; font-size:14px; }

  /* 紹介一覧 */
  #introduce_list { margin:30px 0 0 0; }
  #introduce_header + #introduce_list { margin-top:0; }
  .introduce_list_row { margin:0; }
  .introduce_list_col { width:initial; width:auto; margin:0 0 18px 0; padding:0 0 18px 0; float:none; font-size:14px; border-bottom:1px solid #ddd;
  -webkit-transition:none; -moz-transition:none; -ms-transition:none; -o-transition:none; transition:none;
  }
	.introduce_list_row:last-child .introduce_list_col { margin-bottom:18px; }
  .introduce_list_col a { height:initial; height: auto; }
  .introduce_list_col .image, .introduce_list_col.show_info .image { width:41%; padding-top:41%; height:initial; height: auto; float:left; }
  .introduce_list_col .info, .introduce_list_col.show_info .info { display:block; width:55%; width:-webkit-calc(59% - 18px); width:-moz-calc(59% - 18px); width:calc(59% - 18px); height:initial; height: auto; float:right; position:static; }
  .introduce_list_col .info .meta { margin-bottom:6px; }
  .introduce_list_col .info .title { margin:0; font-size:14px; font-weight:400; line-height:1.5; max-height:none!important; }
  .introduce_list_col .info .excerpt { display:none; }
  .introduce_list_col .info .more { display:none; }
  .introduce_list_col.show_info { width:initial; width:auto; }
  /*
	.introduce_list_row:nth-of-type(odd) .introduce_list_col:nth-of-type(even) .image { float:right !important; }
  .introduce_list_row:nth-of-type(odd) .introduce_list_col:nth-of-type(even) .info { float:left !important; }
  .introduce_list_row:nth-of-type(even) .introduce_list_col:nth-of-type(odd) .image { float:right !important; }
  .introduce_list_row:nth-of-type(even) .introduce_list_col:nth-of-type(odd) .info { float:left !important; }
	*/
  .introduce_list_row:last-of-type .introduce_list_col:last-of-type { margin-bottom:0; padding-bottom:0; border-bottom:none; }

  #infscr-loading { margin:30px 0 0 0; }
  #load_post { margin:30px 0 0 0; }
  #load_post a { padding:0 20px; min-width:150px; line-height:40px; }

  /* 紹介詳細 */
  .introduce_shoulder_copy { margin:-1px -20px 20px; padding:12px 20px; font-size:14px; line-height:1.4; }
  #introduce_slider { /*margin:0 -20px 30px;*/ margin:0 -20px 20px; position:relative; }
  #introduce_slider .item .caption { margin:0; padding:12px 20px; font-size:12px; line-height:1.6; border-top:0; }
  #introduce_slider .slick-dots { text-align:center; position:absolute; bottom:16px; left:0; right:0; }
  #introduce_slider .slick-dots li { display:inline-block; margin:0 3px; }
  .single-introduce #article #post_image { margin:0 -20px 30px; }
  .introduce_shoulder_copy + #introduce_slider, .single-introduce #article .introduce_shoulder_copy + #post_image { margin-top:-20px; }
  .single-introduce #article #post_title { margin:0 0 30px 0; }
  .single-introduce #article #post_date { /*margin:-25px 0 30px 0;*/ margin:-25px 0 11px 0; }
  .introduce_archive_banner_link .catch { margin:0; padding:20px; font-size:20px; line-height:1.4; font-weight:400; }
  .introduce_archive_banner_link-2col a { display:block; height:initial; height: auto; min-height:100px; position:relative; }
  .introduce_archive_banner_link-2col a span { width:100%; }
  .introduce_archive_banner_link-2col .catch { padding:0 20px; text-align:center; position:absolute; top:50%; left:0; z-index:2;
    text-shadow: 4px 4px 5px rgba(0,0,0,0.8), -4px 4px 5px rgba(0,0,0,0.8), 4px -4px 5px rgba(0,0,0,0.8), -4px -4px 5px rgba(0,0,0,0.8);
    -webkit-transform:translateY(-50%); -moz-transform:translateY(-50%); -ms-transform:translateY(-50%); -o-transform:translateY(-50%); transform:translateY(-50%);
  }
  .introduce_archive_banner_link-2col .image { width:100%; height:initial; height: auto; overflow:hidden; position:static; }
  .introduce_archive_banner_link-2col .image img { width:100%; height:auto; position:static;
    -webkit-transform:none; -moz-transform:none; -ms-transform:none; -o-transform:none; transform:none;
  }
}

/* ----------------------------------------------------------------------
 お知らせ
---------------------------------------------------------------------- */
@media only screen and (max-width:1024px) {
  .article_inner { padding:0; border:none; }
  #recent_news li .title { font-size: 14px;}
}

@media only screen and (max-width:767px) {
  /* お知らせ一覧 */
  #recent_news li a { padding: 15px 0; }
	#recent_news .show_date li .title { margin-bottom:5px;}
  #recent_news .show_date li .date { font-size:12px; line-height:1.6;/*position:absolute; top:50%; right:18px;*/ position:static; margin:0; }
  #recent_news .show_date li a{
    flex-flow: column;
    align-items: baseline;
  }
  #recent_news .show_date li .title { margin-bottom: 0; margin-top: 5px; }
  /*.post-type-archive-news #recent_news ol { margin:0; padding:0; border:none; }*/
  /*.post-type-archive-news #recent_news li { border-bottom:1px solid #ddd; }
  .post-type-archive-news #recent_news li:last-child { border-bottom:none; }*/
  /*.post-type-archive-news #recent_news li a { padding:11px 0 !important; line-height:1.6; }*/
  /*.post-type-archive-news #recent_news .show_date li .date { margin:0 0 6px 0; color:#999; font-size:83.33%; line-height:1.6; color:#b69e84; position:static; }*/
  .post-type-archive-news .page_navi { display:block; }

  /* お知らせ詳細 */
  .single-news #article #post_title { margin:0 0 24px 0; font-weight:700; }
  .single-news #article #post_date { margin:-12px 0 24px 0; font-size:12px; }
  .single-news #recent_news { margin-top:30px; }
  .single-news #recent_news .headline { margin:0 0 10px 0; font-size:16px; line-height: 1.6; }
  .single-news #recent_news .archive_link { margin-top:16px; }

  /* 次の記事、前の記事 */
  #previous_next_post { margin:28px 0; }
  #previous_next_post a { display:block; height:50px; line-height:50px; text-align:center; overflow:hidden; }
  #previous_next_post .title { display:none; }
  #previous_next_post .prev_post a { padding:0 0 0 32px; }
  #previous_next_post .next_post a { padding:0 32px 0 0; }
  #previous_next_post a:before { font-size:16px; width:16px; }
  #previous_next_post .prev_post a:before { left:16px; }
  #previous_next_post .next_post a:before { right:16px; }
  #previous_next_post .prev_post a:after { content:attr(data-mobile-title); font-size:12px; }
  #previous_next_post .next_post a:after { content:attr(data-mobile-title); font-size:12px; }
}

/* ----------------------------------------------------------------------
 コメント
---------------------------------------------------------------------- */
@media only screen and (max-width:1024px) {
  #comment_headline { margin:0 0 10px 0; font-size:16px; font-weight:300; line-height:1.6; }
	#submit_comment { height:48px; }
}

@media only screen and (max-width:767px) {
  #comment_area, #trackback_area { margin:0; }

  /* コメント・トラックバックのタブ */
  #comment_header { position:relative; margin:30px 0 15px; }
  #comment_header ul { margin:0; }
  #comment_header ul li { float:none; text-align:center; margin:0; width:100%; }
  #comment_header ul li a, #comment_header ul li p { padding:7px; }
  #comment_header ul li.comment_switch_active a:after, #comment_header #comment_closed p:after { display:none; }

  /* コメントの基本部分 */
  .comment { padding:10px 10px 0; }

  /* フォーム部分 */
  .comment_form_wrapper { border:1px solid #ccc; margin:0 0 25px; padding:15px; background:#fff; }
}

/* ----------------------------------------------------------------------
 WordPress プリセットスタイル
---------------------------------------------------------------------- */
@media only screen and (max-width:767px) {
  .post_content p { line-height:2.2; margin:0 0 2.2em 0; }

  /* パスワード保護 */
  .c-pw__btn { padding:10px 12px; }
  .c-pw__box { padding:18px 20px; margin-bottom:30px; }
  .c-pw__box-input { width:180px; margin-bottom:6px; }
}


/* ----------------------------------------------------------------------
 pagebuilder
---------------------------------------------------------------------- */
@media only screen and (max-width:767px) {
  .post_content .pb_catchcopy { font-size:20px; line-height:1.5; }
  .post_content .pb_headline { font-size:20px; line-height:1.5; }
}

