@charset "UTF-8";

@import "base.css";


/*-------------------------------------------------------------------------
	全体
/*-----------------------------------------------------------------------*/

#wrapper {
	max-width: 1020px;
	padding: 0 20px 0 20px;
	margin: 0 auto 0 auto;
	background-color: #fff;
	clear: both;
}

#content {
	padding: 0 0 0 0;
	
}


/*-------------------------------------------------------------------------
	header
/*-----------------------------------------------------------------------*/

header #header-in {
	max-width: 1015px;
	margin: 0 auto;
	padding:20px 0 10px 10px;

}

/* ロゴ画像の最大サイズ */
.sitename img {
	max-width: 329px;
	margin: 0 auto;
}

/* スマートフォンは表示しない */
.smanone {
	display: none;
}

/*ブログタイトル*/

header .sitename {
	font-size: 22px;
	color: #fff;
	line-height: 30px;
	font-family:"游ゴシック",YuGothic,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	/*padding: 10px 0px 0px;*/
	font-weight: 500;
	float: left;
	margin: 0 2.5% 1% 0;
	
}

header .sitename a {
	color: #333;
	text-decoration: none;
	font-weight: bold;
}

header .sitename a:hover {
	-moz-opacity: 0.8;
	opacity: 0.8;
}

header .box_left {
	float: left;
	width: 100%;
}

header .header_category {
	background: #f25f5c;
	color: #fff;
	padding: 0px 0px 0px 10px;
	font-size: 12px;
}

header .header_category a {
	color: #fff;
}

header .header_category ul.post-categories li {
	float: left;
	margin: 0 0 0 0;
	}

header .descr {
	font-size: 12px;
	font-weight: normal;
	padding-top: 0;
	width: 100%;
	margin: -0.5% 0 0 0;
	clear: both;
	
}

header #header-in .header_right {
	float: right;
}

header #header-in ul.btn-contact {
	font-size: 14px;
	font-weight: bold;
	margin: 0 0 5px 0;
}

header #header-in ul.btn-contact::before {
	left: 4px;
	box-sizing: border-box;
	width: 4px;
	height: 4px;
	border: 4px solid transparent;
	border-left: 4px solid #f25f5c;
	
}

header #header-in ul.btn-contact li{
	display: inline;
	padding: 0 0 0 5px;
}

header #header-in ul.btn-contact li.head_search{
	font-weight: normal;
	margin: 5px 0 0 0;

}

/*ハンバーガーメニュー-------------------------------*/
.menu-drawer-nav {
	padding: 20px 20px 20px 20px;
}

.menu-drawer-nav li {
	border-bottom: 1px solid #ccc;
	padding: 5px 0 5px 0;
}


#nav-drawer {
  position: relative;
  float: right;
  padding: 0 10px 0 0;
}

/*チェックボックス等は非表示に*/
.nav-unshown {
  display:none;
}

/*アイコンのスペース*/
#nav-open {
  display: inline-block;
  width: 30px;
  height: 22px;
  vertical-align: middle;
}

/*ハンバーガーアイコンをCSSだけで表現*/
#nav-open span, #nav-open span:before, #nav-open span:after {
  position: absolute;
  height: 3px;/*線の太さ*/
  width: 25px;/*長さ*/
  border-radius: 3px;
  background: #555;
  display: block;
  content: '';
  cursor: pointer;
}
#nav-open span:before {
  bottom: -8px;
}
#nav-open span:after {
  bottom: -16px;
}

/*閉じる用の薄黒カバー*/
#nav-close {
  display: none;/*はじめは隠しておく*/
  position: fixed;
  z-index: 99;
  top: 0;/*全体に広がるように*/
  left: 0;
  width: 100%;
  height: 100%;
  background: black;
  opacity: 0;
  transition: .3s ease-in-out;
}

/*中身*/
#nav-content {
  overflow: auto;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;/*最前面に*/
  width: 90%;/*右側に隙間を作る（閉じるカバーを表示）*/
  max-width: 330px;/*最大幅（調整してください）*/
  height: 100%;
  background: #fff;/*背景色*/
  transition: .3s ease-in-out;/*滑らかに表示*/
  -webkit-transform: translateX(-105%);
  transform: translateX(-105%);/*左に隠しておく*/
}



/*チェックが入ったらもろもろ表示*/
#nav-input:checked ~ #nav-close {
  display: block;/*カバーを表示*/
  opacity: .5;
}

#nav-input:checked ~ #nav-content {
  -webkit-transform: translateX(0%);
  transform: translateX(0%);/*中身を表示（右へスライド）*/
  box-shadow: 6px 0 25px rgba(0,0,0,.15);
}

.search_sm_menu {
	padding: 0 3% 0 3%;
	margin: 20px 0 0 0;
}

/*ハンバーガーメニュー-------------------------------*/

ul.sp_navi {
display:none;

}

#produce {
	background:#e8e8e8;
}

	#produce p {
		max-width: 980px;
		padding:3px 0 3px 0;
		margin: 0 auto 0 auto;
		text-align:right;
	}
	


/*ブログ名の下のキャプション */

header h1 {
	font-size: 12px;
	font-weight: normal;
}

header a {
	color: #FFF;
	text-decoration: none;
}



/*-------------------------------------------------------------------------
	side
/*-----------------------------------------------------------------------*/

#side {
	margin: 0 0 0 0;
	font-size: 16px;
	float: right;

}



#side aside {
    z-index: 100;
}

#side p{
	font-size: 16px;
}

aside {
	margin: 0 0 20px 0;
}

#side aside #category_menu_box h4 {
	font-size: 14px;
	color: #fff;
	font-weight: bold;
	padding: 10px 10px 10px 10px;
	margin: 0 0 0 0;
	line-height: 16px;
	background: #f25f5c;
	background-repeat: no-repeat;
	background-position: 5px 3px;
}

#side aside .mybox h4,
#side aside .side_search h4 {
	font-size: 14px;
	color: #fff;
	font-weight: bold;
	padding: 8px 8px 8px 8px;
	margin: 0 0 20px 0;
	line-height: 16px;
	background: #f25f5c;
	background-repeat: no-repeat;
	background-position: 5px 3px;
}

#side aside #category_menu_box {
	margin: 0 0 20px 0;
	font-size: 14px;

}

#side aside #category_menu_box dl dt {
	color: #1c5cb3;
	text-decoration: underline;
	margin: 0 0 5px 0;
	font-weight: bold;
}



#side aside #category_menu_box ul li {
	list-style-type: none;
	margin: 0px;
	padding: 8px;
	border:solid 1px #ccc;
	border-top:none;
	
}


#side aside #category_menu_box ul li a{
	color: #1c5cb3;
	display: block;
}

#side aside #category_menu_box ul li a:hover{
	text-decoration:underline;
}

#side aside .mybox{
	margin: 0 0 0 0;
}

#side aside .mybox ul li ul li {
	font-size: 14px;
	line-height: 18px;
}

#side aside .mybox ul li {
}

#side aside .mybox ul li a {
	color: #1c5cb3;
}

#side aside .mybox ul {
	margin-bottom: 20px;
}

#side aside .mybox #search {
	margin-top: 20px;
}


#side aside .side_search {
	margin: 0 0 20px 0;
}

/*-------------------------------------------------------------------------
	関連記事表示部分
/*-----------------------------------------------------------------------*/

#side_kanren {
	padding-top: 10px;
}

/* タイトル名 */
#side_kanren dd h5 {
	font-size: 16px;
	padding: 0px;
	margin-bottom: 5px;
}

#side_kanren p.day {
	color:#2e94cf;
	font-size:14px;
	margin:0 0 0 0;
}

#side_kanren dt {
	float: left;
	width: 110px;
}

#side_kanren dt img {
	width: 120px;
}

#side_kanren dd {
	padding-left: 130px;
}

#side_kanren dl {
	margin-bottom: 10px;
	padding-bottom: 10px;
	border-bottom-width: 1px;
	border-bottom-style: dotted;
	border-bottom-color: #ccc;
}

#side_kanren dl:last-child {
	margin-bottom: 20px;
	padding-bottom: 20px;
	border-style: none;
}

/* 抜粋文字 */
#side_kanren .clearfix dd p {
	font-size: 13px;
	color: #666;
	line-height: 18px;
}

#side_kanren .clearfix dd h5 a {
	color: #666;
	text-decoration: none;
}

#side_kanren .clearfix dd h5 a:hover {
	#999;
}

/* RSS購読するボタン */
.rssbox {
	margin: 20px 0 20px 0;
}

.rssbox a {
	display: block;
	width: 100%;
	box-sizing: border-box;
	background-color: #1a1a1a;
	padding: 5px 10px;
	margin-bottom: 10px;
	font-size: 14px;
	color: #fff;
	box-sizing: border-box;
	text-decoration: none;
}

.rssbox a:hover {
	-moz-opacity: 0.8;
	opacity: 0.8;
}

#scrollad {
	padding-top: 10px;
	font-size: 14px;
}


/*-------------------------------------------------------------------------
	footer
/*-----------------------------------------------------------------------*/
footer {
	clear: both;
	padding: 20px 20px 20px 20px;
	margin: 60px 0 0 0;
	background: #fff;
	border-top:1px solid #ccc;
}

footer .content {
	max-width: 1060px;
	margin: 0 auto;
}

footer .content .left {
	float: left;
	margin: 0 10% 0 0;
}

footer .content .center {
	float: left;
	margin: 0 10% 0 0;
}

footer .content .right {
	float: left;
	margin: 0 0 0 0;
}

footer h4 a {
	color: #666;
	text-decoration: none;
}

footer ul#menu-footer-category  {

}

	footer ul#menu-footer-category li,
	footer ul#menu-footer-site li {
		margin: 5px 0 0 0;
		font-size: 16px;

	}

/* フッター文字 */
#footer h3 {
	
	font-size: 18px;
	color:#333;
	font-weight: bold;
}

#footer a {
	text-decoration: none;
	color: #333;
}

#footer p.copy {
	clear: both;
	font-size: 12px;
	color: #666;
	line-height: 15px;
	-moz-opacity: 0.5;
	text-align: center;
	padding: 20px 0 0 0;
	margin: 0 0 0 0;
	/*opacity: 0.5;*/
}


#sm-navi { 
	display: none;
}

	#sm-navi-in {
	}



/*-------------------------------------------------------------------------
	PC
/*-----------------------------------------------------------------------*/

/*media Queries PCサイズ PCだけに適用させたいのはここに書く
----------------------------------------------------*/
@media only screen and (min-width: 781px) {
	#wrapper {
		/*padding: 0 40px;*/
		clear: both;
	}

	

	.smanone {
		display: block;
	}

	.pcnone {
		display: none;
	}



	#contentInner {
		float: left;
		
		margin-right: -386px;
		width: 100%;
	}

	main {
		margin-right: 344px;
		margin-left: 0px;
		background-color: #fff;
		
	}

	article {

	}

	#side aside {
		float: right;
		width: 300px;
		padding: 0px;
	}

	}

/*-------------------------------------------------------------------------
	タブレット
/*-----------------------------------------------------------------------*/

/*media Queries タブレットサイズ以下に適用させたい
----------------------------------------------------*/
@media only screen and (max-width: 780px) {

#wrapper {
		/*padding: 0 20px;*/
		padding: 0 10px 0 10px;
	}



	
	#side aside {
		clear: both;
		float: none;
		width: auto;
		position: static !important;;
	}

header #header-in {
	max-width: 1015px;
	margin: 0 auto;
	padding:0px 0 10px 10px;

}

header .box_left {
	float: none;
	width: 100%;
}

header .sitename {
	margin: 0 10px 10px 0;
	float:left;
}

header {
	padding: 0 0 0 0;
}

header .descr {
width: 100%;

}

header .header_category {
	font-size: 12px;
	
}


header ul.btn-contact {
	display: none;
}



footer {
	padding: 20px 10px 10px 10px;
	}


footer .content .left {
	float: none;
	margin: 0 0 20px 0;
}

footer .content .center {
	float: none;
	margin: 0 0 20px 0;
}

footer .content .right {
	float: none;
	margin: 0 0 0 0;
}

footer p.copy {
	font-size: 12px;
	color: #fff;
	line-height: 15px;
	-moz-opacity: 0.5;
	text-align: center;
	margin: 0 0 0 0;
	/*opacity: 0.5;*/
}

	}
/*media Queries タブレットサイズ 
----------------------------------------------------*/
@media only screen and (min-width: 381px) {
	#wrapper {
		/*padding: 0 20px;*/
		clear: both;
	}
	
	header {
		text-align: left;
	}

	.sitename img {
		max-width: 329px;
		margin: 0;
	}

	main {
		background-color: #fff;
		/*padding: 20px 40px 20px 20px;*/
	}
}

/*-------------------------------------------------------------------------
	スマホ
/*-----------------------------------------------------------------------*/

/*media Queries スマホサイズ
----------------------------------------------------*/
@media only screen and (max-width: 381px) {
	#side_kanren dt {
	float: left;
	width: 100px;
	}

	#side_kanren dt img {
	width: 100px;
}

#side_kanren dd {
	padding-left: 120px;
	
}

	}
/*media Queries スマホだけに適用させたいのはここに書く
----------------------------------------------------*/
@media screen and (max-width: 480px) {

#content {
	padding: 0 0 0 0;
	
}

header #header-in {
	max-width: 1015px;
	margin: 0 auto;
	padding:10px 0 10px 10px;

}

.sitename img {
	max-width: 200px;
	margin: 0;
}

header .descr {
	padding:5px 0 0 0;

}

#sm-navi { 
    position: fixed;
    bottom: 0;
	background: #fff;
	z-index: 5;
	font-size: 12px;
	padding: 10px 0 10px 10px;
	display: block;
	border: 1px solid #ccc;
}

	#sm-navi-in {
	}

	#sm-navi-in ul {
		display: table;
   		padding: 0;
    	table-layout: fixed;
    	text-align: center;
    	width: 100%;
	}

	#sm-navi-in ul li.left {
		display: table-cell;
    	vertical-align: top;
    	width: 33%;
    	padding: 0 5% 0 0;
	}

	#sm-navi-in ul li.right {
		display: table-cell;
    	vertical-align: top;
    	width: 62%;
    	text-align: left;
	}

	#sm-navi-in ul li.right a {
	position: relative;
    display: inline-block;
    padding: 0 0 0 15px;
    color: #000;
    vertical-align: middle;
    text-decoration: none;
}

	#sm-navi-in ul li.right a:before {
	width: 12px;
    height: 12px;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    background: #f25f5c;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}

#sm-navi-in ul li.right a:after {
	left: 5px;
    box-sizing: border-box;
    width: 3px;
    height: 3px;
    border: 3px solid transparent;
    border-left: 3px solid #fff;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 10;
    margin: auto;
    content: "";
    vertical-align: middle;
}	

ul.sp_navi {
display:block;
width: 100%;
margin:10px 0 0 0;

}

ul.sp_navi li {
float:left;
background:#F25F5C;
font-size:14px;
margin:0 0 0 0;
list-style:none;
text-align:center;
width:50%;
line-height: 1.2;
}

ul.sp_navi li.top {
border-bottom:1px #ccc solid;
}

ul.sp_navi li.left {
}

ul.sp_navi li.right {
float:right;
}

ul.sp_navi li a {
display:block;
height:30px;
color:#FFF;
text-decoration: none;
}

ul.sp_navi li div {
	padding:14px 0 0 0;
}

ul.sp_navi li.left div {
border-right:1px #ccc solid;
}

ul.sp_navi li span {
display: table-cell;
width:40%;
height:30px;
text-align: center;
vertical-align: middle;
}

#footer p.copy {
	margin:  0 0 80px 0;
	/*opacity: 0.5;*/
}


	}