@charset "utf-8";



/* レイアウト */

@media only screen and (max-width:1199px){

#header { height:56px; width:100%; min-width:0; position:relative; left:0px; top:0px; z-index:100; margin:0; }

#header_inner { height:auto; width:100%; height:56px; margin:0 auto; position:relative; }

.mobile .mobile_header_fix #header { position:fixed; }

.home #header { position:relative; background:#262e31; }

}

@media only screen and (max-width:767px) {

#header_inner { width:100%; }	

}



@media only screen and (max-width:991px){

#left_col { width:auto; float:none; padding:0 0 40px 0; }

#side_col { width:auto; float:none; padding:0 0 10px 0; }

}



@media only screen and (max-width:767px){

#main_contents { width:auto; margin:0 auto; padding:0; }

.mobile_header_fix #main_contents { padding-top:56px; }

.home.mobile_header_fix #main_contents { padding-top:0px; }

#main_col { width:auto; margin:20px auto 20px; 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; }

.index_blog_list_inner,
.smilenet_link {
    width: 100%;
    float: none;
}
}



@media only screen and (max-width:767px){

.page-template-page-noside #main_col, .page-template-page-noside-notitle #main_col, .error404 #main_col { width:auto; float:none; margin:0 auto; }

.page #main_col { margin-top:15px; padding-top:15px; }

}






/* ----------------------------------------------------------------------

トップページ

---------------------------------------------------------------------- */
@media only screen and (max-width:1199px){
	#logo_image img.mobile_logo_image {
		width: 105px;
	}
}
/* ----------------------------------------------------------------------

トップページ

---------------------------------------------------------------------- */

@media only screen and (max-width:1199px){

.mobile_header_fix.home #top { padding-top:56px; }

}

@media only screen and (max-width:767px){

.home #top { min-width:0; margin:0 0 50px 0; }

}



/* スライダー */

@media only screen and (max-width:767px){

#header_slider { height:auto; min-width:0; }

#header_slider .item { height:auto; }

/* #header_slider .item img { display:none; } */

}



/* スライダーのキャッチコピー */

@media only screen and (max-width:767px){

#header_slider .caption, #header_video .caption, #header_youtube .caption {

  width:100%; padding:0 50px;

  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;

}

#header_slider .caption .title, #header_video .caption .title, #header_youtube .caption .title { font-size:24px !important; }

#header_video .caption .desc, #header_youtube .caption .desc { font-size:16px !important; }

#header_slider .slick-dots { bottom:100px; }

#header_slider.no_slider_nav .slick-dots { bottom:20px; }

}



@media screen and (max-width:600px) {

  #header_slider .caption { padding:0 20px; }

  #header_slider_nav .slick-current, #header_slider_nav .item:hover { background:#fff; }

}





/* スライダーナビゲーションリンク */

@media only screen and (max-width:991px){

#header_slider_nav .item { padding:10px 20px; }

#header_slider_nav .catch { font-size:14px; line-height:2; }

}





/* 動画 */

@media only screen and (max-width: 767px) {

	#header_slider_nav { position:static; }

	#header_video { min-width:0; }

}





/* Youtube 動画 */

@media only screen and (max-width: 767px) {

	#header_youtube { min-width:0; }

}





/* ３点ボックスコンテンツ */

@media only screen and (max-width:991px){

	#index_3box_list { display:block; width:100%; }

	#index_3box_list .box { width:100%; }

}

@media only screen and (max-width:767px){

#index_3box { width:auto; margin:0 auto; }

#index_3box_header { padding:0 20px;}

#index_3box_header .headline { font-size:26px !important; }

#index_3box_header .desc { text-align:left; font-size:14px!important; }

#index_3box_list .box { position:relative; padding:40px; }

#index_3box_list .icon { margin:0 auto 31px; }

#index_3box_list .catch { text-align:left; margin-bottom:22px; }

#index_3box_list .desc { height:auto; overflow:none; margin:0 0 31px 0; }

}



@media screen and (max-width:550px) {

  #index_3box { width:100%; margin:0 auto; }

  #index_3box_list .box { margin:0 auto; position:relative; padding:40px 20px; }

  #index_3box_list .icon { float:none; width:128px; height:128px; border-radius:128px; position:relative; }

  #index_3box_list .icon span:before { top:46px; left:144px; }

  #index_3box_list .catch { text-align:center; }

  #index_3box_list .link { position:relative; right:0; left:0; bottom:0px; text-align:center; }

}



/* ３点ボックスコンテンツの下の画像 */

@media only screen and (max-width:767px){

#index_center_image { margin:0 0 25px 0; }

}





/* ４点ボックスコンテンツ */

@media only screen and (max-width:767px){

#index_4box_list { flex-direction:column; }

#index_4box {

  width:auto; margin:0 auto 50px; 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;

}

#index_4box_list .box { width:auto; margin:0 0 -1px 0; }

#index_4box_list .box.num1, #index_4box_list .box.num3 { border-right:1px solid #ddd; }

#index_4box_list .box.num3 { margin-bottom:-1px; }

#index_4box_list .box.num4 { margin-bottom:1px; }

#index_4box_list .box.num3 .image { float:left; margin:0 35px 0 0; }

#index_4box_list .box.num2 .image, #index_4box_list .box.num4 .image { float:right; margin:0 0 0 35px; }

}



@media screen and (max-width:550px) {

  #index_4box_list .box { height:auto; float:none; }

  #index_4box_list .box.num1, #index_4box .box.num3 { border-right:1px solid #ddd; }

  #index_4box_list .box a.link { padding:30px 20px; }

  #index_4box_list .box .image { float:none; margin:0 auto 35px; }

  #index_4box_list .box.num2 .image, #index_4box_list .box.num3 .image, #index_4box_list .box.num4 .image { float:none; margin:0 auto 35px; }

  #index_4box_list .box .catch { text-align:center; }

  #index_4box_list .box .desc { height:auto; overflow:none; }

}





/* 一覧の見出し */

@media only screen and (max-width:767px){

.index_list_header {

  width:auto; margin:0 auto 40px; 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;

}

.index_list_header .headline { float:none; text-align:center; font-size:26px !important; }

.index_archive_link { display:none; }

.mobile_archive_link .index_archive_link { display:inline-block; float:none; }

.mobile_archive_link { text-align:center; margin:0 0 40px; }

}



/* お知らせ一覧 */

@media only screen and (max-width:767px){

#index_news_list { width:auto; margin:0 auto 50px; padding:0 20px; }

#index_news_list .mobile_archive_link { margin-top:20px;}

.news_list li { padding:0 18px; }

.news_list .date { display:inline-block; float:none; margin:17px 10px 0 0; line-height:30px; }

.news_list .category { display:inline-block; float:none; margin:17px 20px 0 0; line-height:30px; }

.news_list .title { float:none; clear:both; display:block; line-height:1.6; width:auto; }

.news_list .title a { display:block; padding:0; }

.use_animation #index_news_list .mobile_archive_link .index_archive_link { opacity:0; }

.use_animation #index_news_list.animated .mobile_archive_link .index_archive_link {

  -webkit-animation: opacityAnimation 1.0s ease forwards 1.0s;

  animation: opacityAnimation 1.0s ease forwards 1.0s;

}

}





/* ブログ一覧 */

@media only screen and (max-width:991px) {

	.blog_list {

	  display: -webkit-box;

  	display: -webkit-flex;

  	display: -ms-flexbox;

  	display: flex;

		-webkit-flex-wrap: wrap;

  	-ms-flex-wrap: wrap;

  	flex-wrap: wrap;

		-webkit-box-pack: justify;

  	-ms-flex-pack: justify;

  	justify-content: space-between;

	}

	.blog_list .box {

		margin-right: 0;

		width: calc((100% - 20px) / 2); 

	}

}

@media only screen and (max-width:767px){

#index_blog_list { margin:0 auto 20px; width:calc(100% - 40px); }

#index_blog_list .blog_list { display:block; }

.blog_list .box {

  float:none; display:inline-block; vertical-align:top; height:auto; margin:0 0 20px 0;

	width:100%;

}

.blog_list .box .date { margin-left:10px; font-size:10px; }

.blog_list .box:nth-child(3n) { margin-right:20px; }

.blog_list .box:nth-child(2n) { margin-right:0px; }

.blog_list .box .image { height:auto; }

.blog_list .box .title a { height:auto; overflow:none; }

.use_animation #index_blog_list .mobile_archive_link .index_archive_link { opacity:0; }

.use_animation #index_blog_list.animated .mobile_archive_link .index_archive_link {

  -webkit-animation: opacityAnimation 1.0s ease forwards 1.0s;

  animation: opacityAnimation 1.0s ease forwards 1.0s;

}

}



@media screen and (max-width:550px) {

  .blog_list { margin:0; }

  .blog_list .box { float:none; display:block; width:100%; height:auto; margin:0 0 20px 0; }

  .blog_list .box:nth-child(3n) { margin-right:0px; }

  .blog_list .box:nth-child(2n) { margin-right:0px; }

}





/* 料金システム表/機能比較表 */

@media only screen and (max-width:767px){

#index_price_function { width:initial; margin:0 0 40px 0; padding:0 20px; }

.index_price_function + .index_price_function { margin-top:20px; }

}



/* フリースペース */

@media only screen and (max-width:1149px){

.index_free_content { width:initial; margin:0 0 40px 0 !important; padding:0 20px; }

}



/* ----------------------------------------------------------------------

 大きな画像　トップページの中央画像、フッター画像、アーカイブページ上部など

---------------------------------------------------------------------- */

@media only screen and (max-width:767px){

.wide_image { /*height:400px;*/ width:100%; min-width:0; position:relative; }

.wide_image .caption { width:auto; padding:20px; }

.wide_image .caption .title { font-size:24px!important; }

.wide_image .caption .desc { text-align:left; }

.wide_image .caption .desc { font-size:14px!important;}

}







/* ----------------------------------------------------------------------

 制作実績一覧

---------------------------------------------------------------------- */

@media only screen and (max-width:767px){

#index_work_list { width:calc(100% - 40px); margin:0 20px; }

#index_work_list #work_list_wrap { padding:0; margin-bottom:0; }

#work_list_wrap { box-sizing:border-box; padding:0 20px; width:100%; }

.work_list { -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }

.work_list .box {

  width:100%; margin:0 0 20px 0;

}

.work_list .box .date { margin-bottom:0; }

.use_animation #index_work_list .mobile_archive_link .index_archive_link { opacity:0; }

.use_animation #index_work_list.animated .mobile_archive_link .index_archive_link {

  -webkit-animation: opacityAnimation 1.0s ease forwards 1.0s;

  animation: opacityAnimation 1.0s ease forwards 1.0s;

}

}



@media screen and (max-width:600px) {

  .work_list .box { float:none; width:100%; height:auto; margin:0 0 20px 0; padding-bottom:20px; }

  .work_list .box:nth-child(3n) { margin-right:0px; }

  .work_list .box:nth-child(2n) { margin-right:0px; }

  .work_list .box .title { height:auto; line-height:1.8; }

  .work_list .box .title a { padding:15px 20px; }

	.work_list .box .image { margin:75px auto 20px; }

	.work_list .box .catch { margin-left:20px; margin-right:20px; }

	.work_list .box .date { margin-left:20px; margin-right:20px; font-size:10px; }

}





/* カテゴリ―ボタン */

@media only screen and (max-width:767px){

#work_category_list { width:auto; margin:0 20px 40px; }

#work_category_list li { float:left; width:50%; height:80px; margin:0 -1px -1px 0; }

}

@media screen and (max-width:550px) {

  #work_category_list li { float:none; width:100%; margin:0 0 -1px 0; }

}









/* ----------------------------------------------------------------------

 製作実績ページ

---------------------------------------------------------------------- */

/* 見出し */

@media only screen and (max-width:767px){

#work_header { min-width:0; height:auto; }

#work_header_inner { width:auto; margin:0 auto; padding:15px 20px; }

#work_header .category { margin:0 0 10px 0; float:none; }

#work_header .title { margin:0; float:none; height:auto; line-height:1.8; }

}





/* 詳細ページ　下部 */

@media only screen and (max-width:767px){

#work_footer_data { padding:20px 20px 0; margin:0 0 40px 0; }

#work_footer_data .image {

  position:relative; top:0; left:0px; margin:0 auto 30px;

  -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0);

}

#work_footer_data .data { margin:0; }

#work_footer_data .title { text-align:center; }

#work_footer_data .link { text-align:center; }

}





/* ボタン */

@media only screen and (max-width:767px){

#work_footer_data .link_button { margin:0 0 20px 0; text-align:center; }

}



/* 詳細ページ　ナビゲーション */

@media only screen and (max-width:767px){

#work_navigation a { padding:0 45px; }

#work_navigation a.prev { margin:0 4px 10px; }

#work_navigation a.next { margin:0 4px; }

}









/* ----------------------------------------------------------------------

 アーカイブページ

---------------------------------------------------------------------- */

@media only screen and (max-width:767px){

#page_header { margin:0 0 30px 0; }

#page_header .headline { font-size:24px !important; line-height:1.4; }

}





/* ページング */

@media only screen and (max-width:767px){

.page_navi { margin:0 0 30px 0; }

}









/* ----------------------------------------------------------------------

 お知らせ

---------------------------------------------------------------------- */

@media only screen and (max-width:767px){

#archive_news_list  .news_list { margin:0 0 50px 0; }

#single_news { background:#f7f7f7; padding:20px 20px 0px; margin:0 0 30px 0; }

#single_news_list { margin:30px 0 30px 0; }

}







/* ----------------------------------------------------------------------

 ヘッダー

---------------------------------------------------------------------- */

/* PCのスタイルをリセット　iPadの回転対策 */

@media only screen and (max-width:1199px){

	.pc #header_logo #logo_text, .pc #header_logo #logo_image { width:auto; }

}





/* メニューボタン */

@media only screen and (max-width:1199px){

a.menu_button {

   position:absolute; right:0px; z-index:9;

   display:inline-block; font-size:11px; color:#333; width:56px; height:56px; line-height:56px; text-decoration:none; text-align:center;

}

a.menu_button span { text-indent:100%; white-space:nowrap; overflow:hidden; display:block; }

a.menu_button:before {

  font-family:'design_plus'; color:#fff; display:block; position:absolute; top:0; bottom:0; left:0; right:0; margin:auto;

  font-size:18px; width:24px; height:24px; line-height:24px;

  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;

}

a.menu_button:before { content:'\f0c9'; }

a.menu_button:hover, a.menu_button.active { background:#333; }

a.menu_button:hover:before, a.menu_button.active:before { color:#fff; }

}



/* グローバルメニュー */

@media only screen and (max-width:1199px){

#global_menu { display:none; clear:both; width:100%; margin:0; top:56px; position:absolute; z-index:9; box-shadow: 1px 2px 1.5px rgba(0, 0, 0, 0.1); -moz-box-shadow: 1px 2px 1.5px rgba(0, 0, 0, 0.1); -webkit-box-shadow: 1px 2px 1.5px rgba(0, 0, 0, 0.1); }

#global_menu ul { margin:0; }

#global_menu ul ul { display:none; }

#global_menu a {

  position:relative; display:block;  margin:0; padding:0px 15px; height:50px; line-height:50px; overflow:hidden; text-decoration:none;

  color:#fff; background:#333; font-size:13px;

  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;

}

#global_menu a:hover { color:#fff; }

#global_menu ul ul a { padding-left:28px; background:#222; }

#global_menu ul ul ul a { padding-left:42px; background:#111; }

#global_menu ul ul ul ul a { padding-left:55px; background:#000; }

#global_menu li.menu-item-has-children { position:relative; }

#global_menu .child_menu_button { display:block; position:absolute; text-align:center; width:60px; height:49px; right:0px; top:1px; z-index:9; cursor:pointer;  }

#global_menu .child_menu_button .icon:before {

  content:'+'; font-size:13px; color:#aaa; text-align:center;

  display:block; width:20px; height:20px; line-height:20px; border:1px solid #555; border-radius:100%;

  position:absolute; left:20px; top:15px;

}

#global_menu .child_menu_button.active .icon:before, #global_menu .child_menu_button:hover .icon:before { color:#fff; border-color:#fff; }

#global_menu li.menu-item-has-children.open > .child_menu_button .icon:before { content:'-'; }

#global_menu li.menu-item-has-children.open > ul { display:block; }

}



/* ロゴ */

@media only screen and (max-width:1199px){

#logo_text { margin:0 0 0 15px; z-index:10; float:left; text-align:left; width:-webkit-calc(100% - 90px); width:-moz-calc(100% - 90px); width:calc(100% - 90px); overflow:hidden; }

#logo_text h1 { font-weight:normal; height:56px; line-height:56px; }

#logo_text a { text-decoration:none; display:block; -webkit-transition-property:none; -moz-transition-property:none; -o-transition-property:none; transition-property:none; }

#logo_text a:hover { text-decoration:underline; }

#logo_image { position:absolute; top:50%; left:calc(100% * 65 / 1280); -webkit-transform:translateY(-50%); -ms-transform:translateY(-50%); transform:translateY(-50%); }

#logo_image img.pc_logo_image { display:none; }

#logo_image img.mobile_logo_image { display:block; }

#logo_text_fixed, #logo_image_fixed { display:none; }

}



/* パンくずリンク */

@media only screen and (max-width:767px){

#bread_crumb { margin:0 0 30px 0; height:auto; line-height:1.6; min-width:0px; padding:15px 20px; }

#bread_crumb ul { width:auto; margin:0 auto; }

#bread_crumb li.home a:before { top:5px; left:0px; }

#bread_crumb li:after { top:2px; }

}

#blog_header{ }








/* ----------------------------------------------------------------------

 記事ページ

---------------------------------------------------------------------- */

/* 記事タイトル */

@media only screen and (max-width:767px){

#post_meta_top {margin-top:0;}

#post_meta_top .date { line-height:30px; margin: 0 10px; font-size:10px; }

#post_title { font-size:24px !important; line-height:1.4; margin:0 0 20px; }

#post_image { margin-bottom:15px; }

}







/*  記事本文*/

@media only screen and (max-width:767px){

.post_content { margin:0; }

}





/* SNSボタン */

@media only screen and (max-width:767px){

#single_share_top { margin:-5px 0 10px; }

#single_share_top #share_top1 { padding-top:0; }

}





/* メタ情報 */

@media only screen and (max-width:767px){

#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; }

}





/* 次の記事、前の記事 */

@media only screen and (max-width:767px){

#previous_next_post { margin:0 0 30px 0; }

#previous_next_post .prev_post, #previous_next_post .next_post { width:50%; }

#previous_next_post .prev_post { margin-bottom:-1px; }

#previous_next_post a { height:auto; text-align:center; height:50px; line-height:50px; }

#previous_next_post .prev_post a::before { line-height:50px; height:50px; }

#previous_next_post .next_post a::before { line-height:50px; height:50px; }

#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 { margin-left:-35px; }

#previous_next_post .next_post span.nav { margin-right:-35px; }

}





/* 広告 */

@media only screen and (max-width:991px) {

#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; }

}





/* 広告2 */

@media only screen and (max-width:991px) {

#single_banner_area_bottom { margin: -20px 0 0; text-align:center; }

#single_banner_area_bottom .single_banner_left { float:none; padding:0 0 15px 0; 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） */

@media only screen and (max-width:991px) {

#single_banner_area2 { margin:0 0 15px 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; }

}





/* 関連記事 */

@media only screen and (max-width:767px){

#related_post .headline { height:45px; line-height:45px; margin-bottom:15px; }

#related_post { overflow:hidden; }

#related_post ol { margin-right:-15px; }

#related_post li, #related_post li:nth-child(4n) {

  width:33.33333%; width:-webkit-calc(100% / 3 - 15px); width:-moz-calc(100% / 3 - 15px); width:calc(100% / 3 - 15px);

  margin:0 15px 15px 0;

}

#related_post li:nth-child(3n) { margin-right:0; }

#related_post li .image { margin:0 0 15px 0; display:block; width:100%; height:auto; }

#related_post li .image img {

  /* スマホではhoverが効かないためアニメーションは無効にして、height:auto;が有効になるように以下を設定する */

  width:100% !important; height:auto !important;

  -webkit-transform:none !important; -webkit-transition-property:none !important; -webkit-transition:0 !important;

  -moz-transform:none !important; -moz-transition-property:none !important; -moz-transition:0 !important;

  -ms-transform:none !important; -ms-transition-property:none !important; -ms-transition:0 !important;

  -o-transform:none !important; -o-transition-property:none !important; -o-transition:0 !important;

  transform:none !important; transition-property:none !important; transition:0 !important;

}

}

@media screen and (max-width:550px) {

  #related_post ol { margin-right:-15px; }

  #related_post li, #related_post li:nth-child(4n) {

    width:50%; width:-webkit-calc(50% - 15px); width:-moz-calc(50% - 15px); width:calc(50% - 15px);

    margin:0 15px 15px 0;

  }

  #related_post li:nth-child(3n) { margin-right:15px; }  

}







/* ----------------------------------------------------------------------

 コメント

---------------------------------------------------------------------- */

@media only screen and (max-width:767px){

#comment_headline { margin:0 0 15px 0; }

#comment_area, #trackback_area { margin:15px 0px 0; }

}





/* コメント・トラックバックのタブ */

@media only screen and (max-width:767px){

#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%; }

}





/*  コメントの基本部分 */

@media only screen and (max-width:767px){

.comment { padding:10px 10px 0; }

}





/* コメントの情報部分 */

@media only screen and (max-width:767px){

.comment-meta-left { float:left; width:100%; }

}





/* フォーム部分 */

@media only screen and (max-width:767px){

.comment_form_wrapper { border:1px solid #ccc; margin:0 0 25px; padding:15px; background:#fff; }

}









/* ----------------------------------------------------------------------

 フッター

---------------------------------------------------------------------- */

/* フッター上部 */

@media only screen and (max-width:767px){

#footer_top { min-width:0; }

#footer_top_inner { width:auto; padding:35px 0 10px; }

}



/* widget */

@media only screen and (max-width:991px){

  #footer_widget { margin:50px 20px; width:auto; font-size:0; text-align:left; }

}



/* メニュー */

@media only screen and (max-width:991px){

	#footer_menu { margin:0 0 0 20px; width:auto; font-size:0; text-align:left; }

	#footer_menu ul, #footer_menu ul:last-child {

  	display:block; vertical-align:top; float:left; width:50%; text-align:left; margin:0 20px 40px 0;

  	width:-webkit-calc(50% - 20px); width:-moz-calc(50% - 20px); width:calc(50% - 20px);

	}

}





/* 住所 */

@media only screen and (max-width:767px){

#footer_address { margin:0 20px; text-align:center; border-top:1px dotted #ccc; padding-top:40px; }

#footer_address .info { font-size:12px; }

#footer_address li { display:block; margin:0; }

}





/* フッター下部 */

@media only screen and (max-width:767px){

#footer_bottom { width:auto; min-width:0; height:auto; background:none !important; }

#footer_bottom_inner { width:auto; height:auto; }

#footer_bottom a { }

}





/* SNSボタン */

@media only screen and (max-width:767px){

#footer_social_link { position:relative; left:0px; right:0; margin:auto; top:0px; background:#000; text-align:center; padding:0 0 40px 0; }

#footer_social_link li { float:none; display:inline-block; margin:0 2px; }

}





/* ページ上部へ戻るボタン */

@media only screen and (max-width:767px){

#return_top {

  position:fixed; right:0px; bottom:0px; z-index:999;

  -webkit-transform: translate3d(0,120%,0); transform: translate3d(0,120%,0);

  -webkit-transition: -webkit-transform 0.35s; transition: transform 0.35s;

}

#return_top.active { -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0); }

#return_top a { position:relative; display:block; height:60px; width:60px; text-decoration:none; border-radius:0; }

#return_top span { text-indent:100%; white-space:nowrap; overflow:hidden; display:block; }

#return_top a:before {

  font-family:'design_plus'; color:#fff; font-size:18px; display:block; position:absolute; width:23px; height:23px;

  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;

}

#return_top a:before { content:'\e911'; top:22px; left:21px; }

}





/* フッターナビ */

/*

@media only screen and (max-width:767px){

.dp-footer-bar { display:table; }

}

*/



/* 固定フッターが有効時、モバイルデバイス調整用 */

/*

@media only screen and (max-width:767px){

body.mobile_device { padding-bottom:65px; }

body.mobile_device #return_top.active { -webkit-transform: translate3d(0,-65px,0); transform: translate3d(0,-65px,0); }

}

*/







/* ----------------------------------------------------------------------

 サイドコンテンツ

---------------------------------------------------------------------- */

/* 基本設定 */

@media only screen and (max-width:767px){

.side_headline { text-align:center; }

.side_widget { margin:0 0 25px 0; font-size:12px; position:relative; }

.side_widget:last-child, .side_widget:only-child  { margin:0; }

}



/* search */

@media only screen and (max-width:767px){

.widget_search #search-box, .widget_search #s, .side_widget.google_search #s { width:75%; height:40px; margin:0 0 5px 0; }

.widget_search #search-btn input, .widget_search #searchsubmit, .side_widget.google_search #searchsubmit { width:25%; }

}





/* プロジェクト */

@media only screen and (max-width:767px){

.work_list_widget li, .footer_widget .work_list_widget li {

  margin:0 5px 5px 0 !important; width:auto; height:auto;

  width:-webkit-calc(100% / 3 - 5px); width:-moz-calc(100% / 3 - 5px); width:calc(100% / 3 - 5px);

}

.work_list_widget .image { width:100% !important; height:auto !important; }

.work_list_widget .image img {

  /* スマホではhoverが効かないためアニメーションは無効にして、height:auto;が有効になるように以下を設定する */

  width:100% !important; height:auto !important;

  -webkit-transform:none !important; -webkit-transition-property:none !important; -webkit-transition:0 !important;

  -moz-transform:none !important; -moz-transition-property:none !important; -moz-transition:0 !important;

  -ms-transform:none !important; -ms-transition-property:none !important; -ms-transition:0 !important;

  -o-transform:none !important; -o-transition-property:none !important; -o-transition:0 !important;

  transform:none !important; transition-property:none !important; transition:0 !important;

}

}







