@charset "utf-8";

/* ----------------------------------------------------------------------
 基本設定
---------------------------------------------------------------------- */
/* レイアウト */
#main_contents { width:auto; margin:0; padding:0 50px 50px; }
#main_col { width:auto; overflow:visible; }
#page_contents { padding:90px 50px 140px; margin:0 auto; width:auto; }
@media screen and (max-width:750px) {
  #main_contents { padding:0 20px 40px; }
  #page_contents { padding:30px 20px 30px; }
}



/* ドロワーメニュー */
#drawer_menu {
  display:block; position:fixed; top:0px; right:-400px; width:400px; height:100%; background:#333; overflow:auto; z-index:9999;
  -webkit-transition:right 300ms cubic-bezier(0.190, 1.000, 0.220, 1.000); transition:right 300ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
  -webkit-backface-visibility: hidden; backface-visibility: hidden;
  -webkit-overflow-scrolling: touch;
}
.open_menu #drawer_menu { right:0; box-shadow:-5px 0 20px 0 rgba(0,0,0,0.4); }
@media screen and (max-width:500px) {
  #drawer_menu { right:-80%; width:80%; }
}


/* ドロワーメニュー展開時のオーバーレイ */
.open_menu #container:before {
  content:''; display:block; width:100%; height:100%; position:fixed; top:0px; left:0px; background:rgba(0,0,0,0.6); z-index:9999;
}
/* safariとedgeのみ背景をぼかす */
_::-webkit-full-page-media, _:future, :root .open_menu #container:before { background:rgba(0,0,0,0.6); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); }
@supports (-ms-ime-align: auto) {
  .open_menu #container:before { background:rgba(0,0,0,0.6); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); }
}
/* ぼかしはここまで */


/* ドロワーメニューのスクロールバー */
.simplebar-scrollbar:before { background:#fff !important; }


/* admin bar利用時 */
body.admin-bar { padding-top:32px; }
body.admin-bar.header_fix_mobile #header { margin-top:32px; }
body.admin-bar #drawer_menu { padding-top:32px; }
.mobile body.admin-bar.header_fix_mobile { padding-top:102px; }
@media screen and (max-width:781px) {
  body.admin-bar { padding-top:46px; }
  body.admin-bar.header_fix_mobile #header { margin-top:46px; }
  body.admin-bar #drawer_menu { padding-top:46px;}
  body.admin-bar.fixed_find_menu #find_menu_wrap { top:46px; }
  body.admin-bar.fixed_find_menu { padding-top:106px; }
  .mobile body.admin-bar.header_fix_mobile { padding-top:126px; }
}




/* ----------------------------------------------------------------------
 トップページ
---------------------------------------------------------------------- */
#header_slider { height:100vh; padding:0px; margin:0; }
#header_slider .item { height:100vh; }


/* ロゴコンテンツ */
@media screen and (max-width:750px) {
  #header_slider .logo_catch { margin:25px 0 0 0; }
}


/* 右下のボタン */
#header_slider_button { display:none; }


/* フルサイズコンテンツ */
.index_design_content1 { height:600px; }
.index_design_content1_inner { width:auto; height:600px; }
@media screen and (max-width:750px) {
  .index_design_content1 { height:600px; }
  .index_design_content1_inner { width:auto; height:600px; }
  .index_design_content1.no_desc { height:360px; }
  .index_design_content1.no_desc .index_design_content1_inner { height:360px; }
  .index_design_content1 .position_type1, .index_design_content1 .position_type2, .index_design_content1 .position_type3 {
    top:40px; right:0; left:50%; -ms-transform: translateX(-50%); -webkit-transform: translateX(-50%); transform: translateX(-50%);
  }
  .index_design_content1 .direction_type1 { width:100%; display:block; }
  .index_design_content1 .direction_type2 { width:100%; writing-mode:horizontal-tb; display:block; }
  .index_design_content1 .direction_type2 .catch { display:inline-block; writing-mode:vertical-rl; text-align:left; margin:0; }
  .index_design_content1.no_desc .direction_type2 .catch { max-height:290px; }
  .index_design_content1 .direction_type2 .desc { writing-mode:horizontal-tb; display:block; text-align:center; margin:27px 0 0 0; }
  .index_design_content1 .direction_type2 .desc p { line-height:2.4; }
  .index_design_content1 .direction_type1 .desc { margin:27px 0 0 0; }
  .index_design_content1 .position_type1 {text-align: left;padding-left: 50px;box-sizing: border-box;}
  .index_design_content1 .position_type2 {text-align: center;}
  .index_design_content1 .position_type3 {text-align: right;padding-right: 50px;box-sizing: border-box;}
  .index_design_content1 .position_type2.direction_type1{top: 30%;}
}
@media screen and (max-width:550px) {
  .index_design_content1 .image.pc { display:none; }
  .index_design_content1 .image.mobile { display:block; }
  .index_design_content1 .overlay.pc { display:none; }
  .index_design_content1 .overlay.mobile { display:block; }
}


/* ３点バナーコンテンツ */
.index_design_content2 { height:auto; display:block; }
.index_design_content2 .item { height:600px; }
.index_design_content2 .headline { width:110px; height:110px; font-size:14px; }
.index_design_content2 .desc { padding:25px 40px; }
@media screen and (max-width:750px) {
  .index_design_content2 { height:auto; }
  .index_design_content2 .item { width:100%; height:360px; float:none; }
  .index_design_content2 .item:hover .desc { animation: none; -webkit-animation: none; }
  .index_design_content2 .item .desc { opacity:1 !important; animation: none; -webkit-animation: none; }
  .index_design_content2 .item:hover:before { animation: none; -webkit-animation: none; }
  .index_design_content2 .item:before { opacity:1 !important; animation: none; -webkit-animation: none; }
}

/* レイヤー画像コンテンツ */
.index_design_content3 .content_inner { padding:0 50px; }
.index_design_content3 .image_area .item_image { width:20%; }
@media screen and (max-width:750px) {
  .index_design_content3 { height:auto; }
  .index_design_content3 .image_area { width:auto; height:360px; float:none; }
  .index_design_content3 .image_area .item_image { width:auto; max-height:260px; }
  .index_design_content3 .image_area .title, .index_design_content3 .image_area .item_title { padding:30px 20px; }
  .index_design_content3 .content { width:auto; height:auto; float:none; }
  .index_design_content3 .content_inner { position:relative; padding:80px 50px 75px; top:auto; -ms-transform: translateY(0%); -webkit-transform: translateY(0%); transform: translateY(0%); }
  .index_design_content3.type2 .image_area { float:none; }
  .index_design_content3.type2 .content { float:none; }
  .index_design_content3 .content .desc { margin-top:10px; }
  .index_design_content3.active .content_inner .catch {
    -webkit-animation: opacityAnimation 1.0s ease forwards 1.5s;
    animation: opacityAnimation 1.0s ease forwards 1.5s;
  }
  .index_design_content3.active .content_inner .desc {
    -webkit-animation: opacityAnimation 1.0s ease forwards 2.0s;
    animation: opacityAnimation 1.0s ease forwards 2.0s;
  }
  .index_design_content3.active .item_image {
    -webkit-animation: opacityAnimation 1.0s ease forwards 0.5s;
    animation: opacityAnimation 1.0s ease forwards 0.5s;
  }
  .index_design_content3.active .title {
    -webkit-animation: opacityAnimation 1.0s ease forwards 1.0s;
    animation: opacityAnimation 1.0s ease forwards 1.0s;
  }
}




/* ２ブロックカルーセル */
.index_post_list .headline { width:110px; height:110px; }
.index_post_list .post_list { margin:0 40px; }
.index_post_list .carousel_arrow { display:none; }
@media screen and (max-width:750px) {
  .index_post_list { width:100%; height:auto; position:relative; }
  .index_post_list .post_list_area { width:100%; height:360px; float:none; }
  .index_post_list .post_list_slider { bottom:25px; height:100px; }
  .index_post_list .post_list { margin:0 25px; }
  .index_post_list .post_list .item { height:100px; }
  .index_post_list .post_list .image_wrap { width:100px; height:100px; border:10px solid #fff; }
  .index_post_list .post_list .title_area { left:120px; }
  .index_post_list .post_list .title { font-weight:500; }
}


/* フリースペース */
.index_free_space { width:auto; margin:0 auto; padding:40px 0 !important; }
@media screen and (max-width:750px) {
  .index_free_space { padding:25px 0 !important; }
}
@media screen and (max-width:1000px) {
  .index_free_space .post_row{
    margin-right: 0px;
    margin-left: 0px;
  }
}


/* ----------------------------------------------------------------------
 デザインページ１
---------------------------------------------------------------------- */
/* コンテンツ１ */
.design1_content1 { height:450px; }
.design1_content1_inner { width:auto; height:450px; }
.design1_content1 .position_type3 { right:50px; }
.design1_content1 .position_type1 { left:50px; }
@media screen and (max-width:750px) {
  .design1_content1 { height:600px; }
  .design1_content1_inner { height:600px; }
  .design1_content1 .position_type1, .design1_content1 .position_type2, .design1_content1 .position_type3 {
    left:50%; top:50%; -ms-transform: translate(-50%, -50%); -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%);
  }
  .design1_content1 .direction_type1 { width:100%; text-align:center; display:block; }
  .design1_content1 .direction_type2 { width:100%; writing-mode:horizontal-tb; text-align:center; display:block; top:40px; -ms-transform: translate(-50%, 0%); -webkit-transform: translate(-50%, 0%); transform: translate(-50%, 0%); }
  .design1_content1 .direction_type2 .catch { display:inline-block; writing-mode:vertical-rl; text-align:left; margin:0; }
  .design1_content1 .direction_type2 .desc { writing-mode:horizontal-tb; display:block; text-align:center; margin:27px 0 0 0; }
  .design1_content1 .desc p { line-height:2.4 !important; }
}
@media screen and (max-width:550px) {
  .design1_content1 .image.pc { display:none; }
  .design1_content1 .image.mobile { display:block; }
  .design1_content1 .overlay.pc { display:none; }
  .design1_content1 .overlay.mobile { display:block; }
}


/* フリースペース */
.design1_content2 { width:auto; padding:50px 50px !important; }
@media screen and (max-width:550px) {
  .design1_content2 { padding:40px 20px !important; }
}




/* ----------------------------------------------------------------------
 デザインページ２
---------------------------------------------------------------------- */
#design2_page { padding:100px 0 0px; }


/* コンテンツ１ */
.design2_content1 { width:auto; margin:0 50px 90px; }
.design2_content1 .image_area { width:calc(50% - 25px); }
.design2_content1 .content { width:calc(50% - 25px); }
@media screen and (max-width:750px) {
   #design2_page { padding:40px 0 0px; }
  .design2_content1 { width:auto; margin:0 20px 40px; }
  .design2_content1 > .catch { margin:-5px 0 35px; }
  .design2_content1 .image_area { width:auto; float:none !important; margin:30px 0 0 0 !important; }
  .design2_content1 .image_area img { margin:0 auto 7px; }
  .design2_content1 .image_area img:last-of-type { margin:0 auto; }
  .design2_content1 .content { width:auto; float:none !important; }
  .design2_content1 .headline { width:110px; height:110px; margin:0 auto 35px; }
  .design2_content1 .content .catch { text-align:center; margin:0 0 27px; }
}


/* コンテンツ２ */
.design2_content2 { width:100%; height:450px; margin:0 auto 100px; }
.design2_content2_inner { width:auto; height:450px; }
.design2_content2:last-of-type { margin-bottom:0px; }
@media screen and (max-width:750px) {
  .design2_content2 { height:360px; margin:0 auto 40px; }
  .design2_content2:last-of-type { margin-bottom:0px; }
  .design2_content2 .position_type1 .catch { margin-left: 20px; }
  .design2_content2 .position_type3 .catch { margin-right: 20px; }
  .design2_content2_inner { height:360px; }
}
@media screen and (min-width: 751px) and (max-width:1001px) {
  .design2_content2 .position_type1 .catch { margin-left: 50px; }
  .design2_content2 .position_type3 .catch { margin-right: 50px; }
}


/* フリースペース */
.design2_content3 { width:auto; margin:-10px 50px 90px !important; }
@media screen and (max-width:750px) {
  .design2_content3 { width:auto; margin:-7px 20px 30px !important; }
}



/* ----------------------------------------------------------------------
 企業情報
---------------------------------------------------------------------- */
#company_content_wrap { padding:100px 50px 0; }
.company_content { width:auto; margin:0 auto 100px; }
@media screen and (max-width:750px) {
  #company_content_wrap { padding:40px 20px 0; }
  .company_content { width:auto; margin:0 auto 40px !important; }
  .company_content .headline { width:110px; height:110px; margin:0 auto 40px; }
  .company_content .link_button a { padding:0 15px; height:50px; line-height:50px; min-width:240px; }
  .company_content1 .catch { margin:-5px 0 35px; }
  .company_content1 .image_area { margin:0 0 35px; }
  .company_content1 .desc { margin:-5px 0 30px; }
  .company_content1 .data_list { margin:0 0 40px 0; }
  .company_content1 .data_list dt { width:100px; padding:10px 15px; line-height:1.8; }
  .company_content1 .data_list dd { width:calc(100% - 100px); padding:10px 15px; line-height:1.8; }
  .company_content .link_button a { padding:0 15px; height:50px; line-height:50px; min-width:240px; }
  .company_content2 .desc { margin:-10px 0 30px; }
  .company_content2 .access_desc { font-weight:500; line-height:2.4; text-align:center; margin:-10px 0 27px; }
  .access_google_map { height:320px; margin:0 0 40px 0; }
  .access_google_map .pb_googlemap_embed { height:320px; }
}


/* フリースペース */
.company_content3 { width:auto; margin:-10px 0px 90px !important; }
@media screen and (max-width:750px) {
  .company_content3 { width:auto; margin:-7px 0px 30px !important; }
}



/* ----------------------------------------------------------------------
 ページヘッダー
---------------------------------------------------------------------- */
#page_header { height:450px; }
#page_header_inner { width:auto; height:450px; }
#page_header .headline { left:0px; }
@media screen and (max-width:750px) {
  #page_header { height:340px; }
  #page_header_inner { height:340px; }
  #page_header .headline { width:140px; height:140px; }
}
@media screen and (max-width:550px) {
  #page_header .headline { width:110px; height:110px; }
}


/* カテゴリーボタン */
#category_button { width:auto; margin:0 auto 50px; }
#category_button a { width:calc(100% / 3 - 3px); }
#category_button.type2 a {  -ms-flex:none; -webkit-flex:none; flex:none; }
#category_button a:nth-child(3n) { margin-right:0; }
@media screen and (max-width:750px) {
  #category_button { width:auto; margin:0 auto 40px; }
  #category_button a { width:-webkit-calc(50% - 3px); width:calc(50% - 3px); margin:0 3px 3px 0; height:46px; line-height:46px; font-size:12px; }
  #category_button a:nth-child(3n) { margin-right:3px; }
  #category_button a:nth-child(2n) { margin-right:0; }
}



/* ----------------------------------------------------------------------
 ブログアーカイブページ
---------------------------------------------------------------------- */
#blog_archive { width:auto; margin:0 auto; padding:90px 50px 100px; overflow:hidden; }
@media screen and (max-width:750px) {
  #blog_archive { padding:40px 20px 40px; }
  #archive_desc_area { margin:-10px 0 30px; }
  #archive_desc_area p.pc { display:none; }
  #archive_desc_area p.mobile { display:block; }
}


#post_list1 .item { width:-webkit-calc(50% - 15px); width:calc(50% - 20px); margin:0 40px 40px 0; }
@media screen and (max-width:750px) {
  #post_list1 .item { width:-webkit-calc(50% - 7px); width:calc(50% - 7px); height:335px; margin:0 14px 14px 0; }
  #post_list1 .image_wrap { height:200px; margin:0 0 20px 0; }
  #post_list1 .title { font-weight:500; max-height:6em; }
  #post_list1 .title span { -webkit-line-clamp:3; }
  #post_list1 .category { top:165px; }
  #post_list1 .category a { height:35px; line-height:35px; min-width:100px; font-size:11px; }
}
@media screen and (max-width:550px) {
  #post_list1 .item { height:220px; }
  #post_list1 .image_wrap { height:110px; margin:0 0 12px 0; }
  #post_list1 .category { top:75px; }
  #post_list1 .date { margin-top:3px; font-size:12px; }
}


/* ページナビ */
@media screen and (max-width:750px) {
  .page_navi { margin:20px 0 0; }
  body.post-type-archive-news .page_navi { margin-top:40px; }
}




/* ----------------------------------------------------------------------
 商品カイブページ
---------------------------------------------------------------------- */
#product_archive { width:auto; padding:90px 50px 100px; }
.product_list .item { margin:0 0 50px 0; }
.product_list .image_wrap { width:50%; height:auto; }
.product_list .image_wrap:before { content:''; display:block; padding-top:100%; }
.product_list .image { display:block; width:100%; height:100%; position:absolute !important; top:0; left:0; }
.product_list .content { width:calc(50% - 50px); }
@media screen and (max-width:750px) {
  #product_archive { padding:40px 20px 40px; }
  .product_category_item .headline { margin:0 auto 40px; width:110px; height:110px; }
  .product_category_item .category_desc { margin:-10px 0 30px 0; }
  .product_list { padding:0 0 40px 0; }
  .product_list .image_wrap { width:320px; float:none; margin:0 auto 30px; }
  .product_list .content { width:auto; float:none; }
  .product_list .desc { margin:20px 0 0 0; }
  .product_list .data { margin:10px 0 0 0; }
  .product_list .link_button { margin:20px 0 0 0; text-align:center; }
  .product_list .link_button a { padding:0 15px; height:50px; line-height:50px; min-width:240px; }
}
@media screen and (max-width:550px) {
  .product_list .image_wrap { width:100%; }
}



/* ----------------------------------------------------------------------
 商品詳細ページ
---------------------------------------------------------------------- */
.product_content { margin:0 0 90px 0; }
.product_content:last-of-type { margin:0; }


.product_content1 .image_area, .product_content1 .content { width:-webkit-calc(50% - 25px); width:calc(50% - 25px); }
@media screen and (max-width:750px) {
  #product_image_area:before { content:''; display:block; padding-top:100%; }
  #product_image_area { height:auto; margin:0 -20px 37px; width:calc(100% + 40px); }
  #product_image_area .image { display:block; width:100%; height:100%; position:absolute; top:0; left:0; }
  #product_image_area .headline { width:110px; height:110px; z-index:100; }
  #product_title_area .desc { margin:20px 0 0 0; }
  #product_title_area { margin:0 0 30px 0; }
  .product_content1 .image_area { width:auto; float:none !important; margin:0 0 40px 0; }
  .product_content1 .image_area img { margin:0 auto 4px; }
  .product_content1 .content { width:auto; float:none !important; }
  .product_content1 .data_list { margin:0 0 30px 0; }
  .product_content1 .link_button { margin:30px 0 0 0; text-align:center; }
  .product_content1 .link_button a { padding:0 15px; height:50px; line-height:50px; min-width:240px; }
}


/* 関連商品 */
#related_product .item { width:calc(50% - 25px); margin:0 50px 50px 0; }
#related_product .image_wrap { height:auto; }
#related_product .image_wrap:before { content:''; display:block; padding-top:100%; }
#related_product .image { display:block; width:100%; height:100%; position:absolute; top:0; left:0; }
@media screen and (max-width:750px) {
  body.single-product #main_contents { padding-bottom:15px; }
  #related_product .post_list { margin-bottom:0px; }
  #related_product .headline { width:110px; height:110px; margin:40px auto; }
  #related_product .item { width:calc(50% - 11px); margin:0 22px 22px 0; }
  #related_product .image_wrap { margin-bottom:15px; }
}




/* ----------------------------------------------------------------------
 お知らせ
---------------------------------------------------------------------- */
/* アーカイブページ */
#news_archive { width:auto; margin:0 auto; padding:90px 50px 100px; overflow:hidden; }
#post_list2 .image_wrap { width:calc(100% - 400px); }
#post_list2 .title_area { width:400px; }
@media screen and (max-width:750px) {
  #news_archive { padding:40px 20px 40px; }
  #archive_desc_area { margin:-10px 0 30px; }
  #post_list2 .item { height:200px; }
  #post_list2 .image_wrap { height:200px; }
  #post_list2 .title_area { height:200px; }
}
@media screen and (max-width:650px) {
  #post_list2 .item { height:112px; }
  #post_list2 .image_wrap { height:112px; width:50%; }
  #post_list2 .title_area { height:112px; width:50%; }
  #post_list2 .title_area_inner { padding:0 20px; }
  #post_list2 .title { font-weight:500; line-height:1.8; max-height:5.4em; }
  #post_list2 .title span { -webkit-line-clamp:3; }
  #post_list2 .date { margin-top:5px; font-size:12px; }
  #post_list2 .category a { height:33px; line-height:33px; min-width:100px; padding:0 15px; }
}


/* 詳細ページ */
#news_post_title_area .image { height:450px; }
#news_post_title_area .category { bottom:410px; left:50px; }
@media screen and (max-width:750px) {
  #news_post_title_area { margin:0 -20px 30px; width:calc(100% + 40px); border:none; border-top:1px solid #ddd; }
  #news_post_title_area .image { margin:0; width:100%; height:230px; }
  #news_post_title_area .title { padding:16px 20px; }
  #news_post_title_area.no_image .title { padding:50px 20px 20px; }
  #news_post_title_area .date { margin:-12px 20px 20px; font-size:12px; }
  #news_post_title_area .category { bottom:195px; left:20px; }
  #news_post_title_area .category a { height:35px; line-height:35px; min-width:100px; padding:0 15px; font-size:11px; }
}


/* 最新のお知らせ */
#recent_news { margin:50px 0 1px 0; }
#recent_news .headline { margin:0 auto 50px; }
#recent_news .link_button { margin:50px 0 0 0; }
@media screen and (max-width:750px) {
  #recent_news { margin:40px 0 1px 0; }
  #recent_news .headline { margin:0 auto 40px; width:110px; height:110px; }
  #recent_news .link_button { margin:40px 0 0 0; }
  #recent_news .link_button a { padding:0 15px; height:50px; line-height:50px; min-width:240px; }
}




/* ----------------------------------------------------------------------
 ヘッダー
---------------------------------------------------------------------- */
#header { height:60px; position:relative; }
.no_menu.no_logo #header { display:none; }
#header a { color:#000; }
.mobile .header_fix_mobile { padding-top:60px; }
.mobile body.home.header_fix_mobile { padding-top:0px; }
.mobile .no_menu.no_logo.header_fix_mobile { padding:0; }
.header_fix_mobile #header {
  position:fixed !important; top:0px; left:0px; z-index:200; width:100%; box-shadow:0 0 15px 5px rgba(0,0,0,0.1); border:none;
  -webkit-animation: slide_down_menu 0.5s ease; animation: slide_down_menu 0.5s ease;
}
.no_menu.no_logo.header_fix_mobile #header { display:none; }
@-webkit-keyframes slide_down_menu {
  0% { top:-60px; }
  100% { top:0px; }
}
@keyframes slide_down_menu {
  0% { top:-60px; }
  100% { top:0px; }
}


/* ロゴ */
#header_logo { height:60px; left:0px; display: block !important; }
#header_logo .logo {
  line-height:1; margin:0; padding:0; font-weight:500; display:block; position:absolute;
  left:20px; top:50%; -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%);
}
#header_logo .pc_logo_image { display:none; }
#header_logo .pc_logo_text { display:none; }
#header_logo .mobile_logo_image { display:block; left:0; right:0; top:50%; -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); position:absolute; max-width: inherit; }
#header_logo .mobile_logo_text { display:block; line-height:60px; }
body.home #header_logo { display:block; }
.no_menu #header_logo .logo { left:0; right:0; margin:auto; text-align:center; }


/* 言語ボタン */
#lang_button { display:none; background:#000; position:absolute; right:0; top:60px; width:100%; z-index:9999; opacity:1; }
#lang_button li { float:none; margin:0; padding:0; }
#lang_button li a { display:block; font-weight:normal; height:50px; line-height:50px; padding:0 20px; }
#lang_button li:last-of-type a { border-bottom:none !important; }
#lang_mobile_button { width:60px; height:60px; position:absolute; right:40px; top:0px; display:block; z-index:100; }
#lang_mobile_button:before {
  font-family:'design_plus'; content:'\e942'; font-size:18px; display:block; position:absolute; top:23px; left:20px; color:#000;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
#lang_mobile_button:hover:before { color:#ccc; }
#top_logo { display:none; }
@media screen and (max-width: 1001px){
  body.no_header_slider_border #lang_button { top: 60px; right: 0; }
}


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


/* グローバルメニュー */
#header #global_menu { display:none; }
#mobile_menu { width:100%; margin:0; }
#mobile_menu ul { margin:0; }
#mobile_menu li ul { display:none; }
#mobile_menu a {
  position:relative; display:block;  margin:0; padding:18px 20px; line-height:1.6; overflow:hidden; text-decoration:none;
  color:#fff; font-size:13px;
  -webkit-box-sizing:border-box; box-sizing:border-box;
}
#mobile_menu a:hover { color:#fff; }
#mobile_menu ul ul a { padding-left:32px; }
#mobile_menu ul ul ul a { padding-left:47px; }
#mobile_menu ul ul ul ul a { padding-left:60px; }


/* グローバルメニュー（子メニュー） */
#mobile_menu li { position:relative; }
#mobile_menu .child_menu_button { display:block; position:absolute; text-align:center; width:55px; height:55px; right:0px; top:1px; z-index:9; cursor:pointer;  }
#mobile_menu .child_menu_button .icon:before {
  font-family:'design_plus'; content:'\e90e'; color:#fff; text-align:center;
  display:block; font-size:12px; width:12px; height:12px; line-height:12px;
  position:absolute; right:22px; top:25px;
}
#mobile_menu .child_menu_button.active .icon:before, #mobile_menu .child_menu_button:hover .icon:before { color:#fff; border-color:#fff; }
#mobile_menu li.open > .child_menu_button .icon:before { content:'\e911'; }
#mobile_menu li.open > ul {  }
#mobile_menu .child_menu_button:hover { background:rgba(0,0,0,0.2); }


/* ドロワーメニュー　閉じるボタン */
#drawer_menu .close_button { display:block; width:100%; height:60px; position:relative; cursor:pointer; border-bottom:1px solid rgba(255,255,255,0.2); }
#drawer_menu .close_button:before {
  font-family:'design_plus'; color:#fff; font-size:18px; display:block;
  content:'\e91a'; position:absolute; top:24px; right:17px;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}


/* バナー */
#mobile_banner { }
#mobile_banner img { display:block; margin:0 auto; max-width:100%; height:auto; }
#mobile_banner .banner { margin:20px 0; }


/* パンくずリンク */
#bread_crumb { height:auto; padding:3px 0; }
#bread_crumb ul { width:auto; }
#bread_crumb li { font-size:12px; }
#bread_crumb li a { height:43px; line-height:43px; }
#bread_crumb li:after { height:43px; line-height:43px; margin:0 5px; }
#bread_crumb li.home a:before { font-size:12px; }
@media screen and (max-width:750px) {
  #bread_crumb ul {  }
}




/* ----------------------------------------------------------------------
 ブログ詳細ページ
---------------------------------------------------------------------- */


/* タイトル */
#post_title_area { margin-bottom:50px; }
#post_title_area .image { width:calc(100% + 2px); height:450px; }
#post_title_area .category { top:409px; }
@media screen and (max-width:750px) {
  #post_title_area { border:none; border-bottom:1px solid #ddd; margin:0 -20px 30px; width:calc(100% + 40px); overflow:hidden; }
  #post_title_area .image { width:calc(100% + 1px); height:300px; }
  #post_title_area .category { top:259px; left:20px; }
  #post_title_area .title { padding:17px 20px; }
  #post_title_area .date { margin: -14px 0px 20px 20px; font-size:12px; }
  #post_title_area .update { margin: -15px 0px 20px 10px; font-size: 12px; }
  #post_title_area .update:before { padding: 0 5px 0 12px; font-size: 12px; }
}
@media screen and (max-width:550px) {
  #post_title_area .image { height:230px; }
  #post_title_area .category { top:189px; }
}


/* SNSボタン */
#single_share_top { margin:0 0 45px; }
#single_share_bottom { margin:50px 0 0; }
@media screen and (max-width:750px) {
  #single_share_top { margin:0 0 40px 0; padding:10px 0 0 0; }
  #single_share_top .share-top { }
  #single_share_bottom { margin:40px 0 0 0; }
  #single_share_bottom .share-btm { margin-bottom:0 !important; padding:0; }
  #single_share_top .mt10, #single_share_top .mt10 { margin:0 !important; }
  #single_share_bottom .mb45, #single_share_bottom .mb45 { margin:0 !important; }
  .share-type1 ul { text-align:center; margin-bottom:-5px !important; }
  .share-type3 ul { text-align:center; margin-bottom:-5px !important; }
  .share-type2 ul.type2 { text-align:center; margin-bottom:-5px !important; }
  .share-type4 ul.type4 { text-align:center; margin-bottom:-5px !important; }
  .sns_default_top  { text-align:center; margin-bottom:-5px !important; }
}


/* コピーボタン */
#single_copy_title_url_top { margin:0 0 40px; }
#single_copy_title_url_bottom { margin:45px 0 0; }
@media screen and (max-width:750px) {
  #single_copy_title_url_bottom { margin:40px 0 0; }
  #single_copy_title_url_top { margin:0 0 33px; }
  .single_copy_title_url_btn { border-width:2px; font-size:12px; line-height:46px; min-width:250px; }
}


/* メタ情報 */
#post_meta_bottom { padding:15px 20px 13px; margin:45px 30px 0; }
#post_meta_bottom li { display:block; margin:0 0 5px 0; padding:0 0 0 20px; border-right:none; }
#post_meta_bottom li:last-child { border:none; margin:0; }
@media screen and (max-width:750px) {
  #post_meta_bottom { margin:40px 20px 0; }
}


/* 次の記事、前の記事 */
@media screen and (max-width:1100px) {
  #next_prev_post { margin:50px 0 0; }
  #next_prev_post .item { height:50px; }
  #next_prev_post a { background:#fff; color:#000; border:1px solid #ddd; }
  #next_prev_post .title_area { font-size:12px; margin:0; text-align:center; width:100%; height:50px; }
  #next_prev_post .title { display:none; }
  #next_prev_post .nav { display:block; position:relative; height:50px; line-height:50px; text-align:center; }
  #next_prev_post .image_wrap { display:none; }
  #next_prev_post a:before {
    content:''; font-family:'design_plus'; color:#111; font-size:12px; display:block;
    -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
    content:'\e90f'; position:absolute; left:18px; margin-top:2px;
    top:50%; -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%);
  }
  #next_prev_post .next_post a:before { content:'\e910'; left:auto; right:15px; }
  #next_prev_post .next_post { float:right; margin:0; width:50%; position:relative; left:-1px; }
  #next_prev_post .next_post .title_area { margin:0; }
  #next_prev_post .register_link:after { top:16px; right:20px; }
  #next_prev_post .next_post .register_link:after { right:auto; left:20px; }
  body.single-news #next_prev_post .item:last-of-type a { border-left:1px solid #ddd; }
}
@media screen and (max-width:750px) {
  #next_prev_post { margin-top:40px; }
}


/* ページ分割 */
@media screen and (max-width:750px) {
  #post_pagination { padding:5px 0 0 0; }
  #p_readmore { padding:5px 0 0 0; margin:0; }
}


/* プロフィール */
@media screen and (max-width:750px) {
  .author_profile { margin:40px 0 0; height:140px; padding:15px; -webkit-box-sizing:border-box; box-sizing:border-box; }
  .author_profile a.avatar { width:110px; height:110px; margin:0; }
  .author_profile .info { padding:10px 0px 10px 20px; -webkit-width:calc(100% - 110px); width:calc(100% - 110px); }
  .author_profile .name { font-size:14px; margin:0 0 13px 0; }
  .author_profile .desc { margin:0 0 10px 0; font-size:12px; line-height:1.6; max-height:3.2em; overflow:hidden; white-space:normal; text-overflow:clip; }
  .author_profile .desc span { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
}


/* 広告 */
#single_banner_top { width:auto; padding-top:20px; }
#single_banner_bottom { width:auto; margin:50px auto; }
#single_banner_shortcode { width:auto; }
@media screen and (max-width:750px) {
  #single_banner_top { padding:10px 0 30px; width:auto; }
  #single_banner_bottom { margin:40px 0 0; width:auto; }
  #single_banner_shortcode { padding:0 0 20px; }
}


/* 関連記事 */
#related_post { margin:50px 0 1px 0; }
#related_post .headline { margin:0 auto 50px; }
@media screen and (max-width:750px) {
  #related_post { margin:40px 0 1px 0; }
  #related_post .headline { margin:0 auto 40px; width:110px; height:110px; line-height:110px; }
  #related_post .item { width:50%; height:339px; }
  #related_post .item:nth-child(3n) .title_area { border-right:none; }
  #related_post .item:nth-child(2n) .title_area, #related_post .item:last-child .title_area { border-right:1px solid #ddd; }
}
@media screen and (max-width:550px) {
  #related_post .item { height:210px; }
  #related_post .image_wrap { height:110px; }
  #related_post .title_area { padding:12px 15px; height:100px; }
  #related_post .title { font-weight:500; font-size:14px; }
}




/* ----------------------------------------------------------------------
 その他のページ
---------------------------------------------------------------------- */
/* 404ページ*/




/* ----------------------------------------------------------------------
 ウィジェット
---------------------------------------------------------------------- */
#side_col { padding:0; width:auto; }
@media screen and (max-width:750px) {
  #side_col { margin:40px 0 0 0; padding:0; display:block; border:none; }
  .widget_content { width:auto; margin:0 0 40px 0; }
  .widget_content:last-of-type { margin:0; }
}


/* 記事スライダー */
@media screen and (max-width:750px) {
  .post_slider_widget .title { font-size:14px; bottom:14px; padding:0 20px; }
  .post_slider_widget .slick-prev { top:15px; }
  .post_slider_widget .slick-next { top:15px; }
  .post_slider_widget:hover .slick-prev { left:18px; }
  .post_slider_widget:hover .slick-next { right:18px; }
}


/* 検索ボックス */
@media screen and (max-width:750px) {
  .tcdw_search_box_widget { padding:20px; }
  .tcdw_search_box_widget .p-dropdown { margin:0 0 20px 0; }
}


/* ----------------------------------------------------------------------
 フッター
---------------------------------------------------------------------- */
@media screen and (max-width:750px) {
  #footer { padding:40px 0; }
}
@media screen and (max-width:550px) {
  .footer_bg_image.pc { display:none; }
  .footer_bg_image.mobile { display:block; }
}


/* ロゴ */
@media screen and (max-width:750px) {
  #footer_logo .pc_logo_image { display:none; }
  #footer_logo .pc_logo_text { display:none; }
  #footer_logo .mobile_logo_image { display:block; }
  #footer_logo .mobile_logo_text { display:block; }
  #footer_logo .mobile_logo_image { margin:0 auto; }
}


/* SNSボタン */
@media screen and (max-width:750px) {
  #footer_social_link { margin:30px 0 0 0; }
  #footer_social_link li { margin:0 6px; }
}


/* ボタン */
@media screen and (max-width:750px) {
  #footer_button { margin-top:25px; }
  #footer_button a { font-size:12px; padding:0 20px; height:50px; line-height:50px; min-width:240px; }
}

/* メニュー */
@media screen and (max-width:750px) {
  #footer_menu { margin-top:30px; }
  #footer_menu_bottom { border-top:1px solid rgba(255,255,255,0.3); position:relative; height:auto; line-height:1; bottom:auto; margin:30px 0 -25px; padding:15px 0 0; }
  .footer_menu { margin:20px 0 0 0; }
  .footer_menu li { font-size:14px; line-height:2; display:block; margin:10px 0; }
  #footer_menu_bottom li { font-size:12px; }
}


/* コピーライト */
@media screen and (max-width:750px) {
  #copyright { line-height:50px; height:50px; }
}


/* ページ上部へ戻るボタン */
@media screen and (max-width:750px) {
  #return_top a { height:50px; line-height:50px; width:50px; }
}

/* フッターバー */
#dp-footer-bar {
  position:fixed; right:0px; bottom:0px; z-index:999; width:100%;
}
.open_menu #dp-footer-bar { display:none; }
.dp-footer-bar-type1 #dp-footer-bar {
  opacity:0;
	-webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
  transition: opacity 0.35s, transform 0.35s;
  pointer-events: none;
}
.dp-footer-bar-type1 #dp-footer-bar.active {
  opacity:1;
  pointer-events: visible;
}
.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 { padding-bottom:0px; }
body.show_footer_bar #return_top.active { -webkit-transform: translate3d(0,-55px,0); transform: translate3d(0,-55px,0); }
body.home.show_footer_bar #container { padding-bottom:0px; }
@media screen and (max-width:950px) {
  body.show_footer_bar #footer_button.active { -webkit-transform: translate3d(0,-55px,0); transform: translate3d(0,-55px,0); }
}



/* ----------------------------------------------------------------------
 コメント
---------------------------------------------------------------------- */
/* 基本設定 */
#comments { margin:50px 0 0 0; }
#comments .headline { margin:0 auto 50px; }
@media screen and (max-width:750px) {
  #comments { margin:40px 0 0 0; }
  #comments .headline { margin:0 auto 40px; width:110px; height:110px; line-height:110px; }
}

/* コメント・トラックバックのタブ */
#comment_tab li a, #comment_tab li p { padding:15px 15px; }




/* ----------------------------------------------------------------------
 その他
---------------------------------------------------------------------- */
@media screen and (max-width:750px) {
  /** フリースペース上でクイックタグの2cと3cを使うと、
スマホ時にレイアウトが崩れる不具合の修正 */
  .post_content .post_row { overflow: hidden;}
}


/* パスワード保護 */
.c-pw__box { padding:20px; margin:0 0 20px 0; }
.c-pw__box-label { display:block; margin:0 0 15px 0; text-align:center; }
.c-pw__box-input { width:calc(100% - 160px); margin:0 10px 0 0; -webkit-box-sizing:border-box; box-sizing:border-box; }
.c-pw__btn--submit { width:150px; min-width:inherit; -webkit-box-sizing:border-box; box-sizing:border-box; }
@media screen and (max-width:750px) {
  .c-pw__box { padding:15px; }
  .c-pw__box-input { width:calc(100% - 105px); margin-right:5px; }
  .c-pw__btn--submit { width:100px; }
}


/* Cardlink style - カードリンクのスタイル */
.cardlink { margin:30px 0 35px !important; padding:15px;  }
