@charset "utf-8";
/* CSS Document */

/* ----------- ブログ/2カラムレイアウト ----------- */

#content-2column{
	background: #eff2f3;
	padding: 15px 0 50px;
}

#content-2column .breadcrumb-2column{
	background: #fff;
	padding: 10px;
	font-size: 10px;
	box-sizing: border-box;
}

#content-2column #main{
	background: #fff;
	width: 75%;
	float: left;
	margin-top: 15px;
	padding: 30px;
	box-sizing: border-box;
}

#content-2column aside{
	width: 23%;
	float: right;
	margin-top: 15px;
}

/* ----------- ブログ記事一覧CSS ----------- */

#content-2column #main ul#list li{
	width: 100%;
	border-bottom: 1px dotted #ccc;
	padding: 30px 0;
}

#content-2column #main ul#list li:first-child{
	padding: 0 0 30px;
}

#content-2column #main ul#list li .img_box{
	width: 30%;
	float: left;
}

#content-2column #main ul#list li .img_box img{
	width: 100%;
	height: auto;
	object-fit: cover;
	aspect-ratio: 4 / 2.5;
}

#content-2column #main ul#list li .text_box{
	width: 60%;
	float: right;
}

#content-2column #main ul#list li .text_box p.category,
#content-2column #main ul#list li .text_box p.date{
	float: left;
	margin-right: 20px;
	font-size: 12px;
	color: var(--main-color);
	font-weight: bold;
}

#content-2column #main ul#list li .text_box h3{
	line-height: 2;
}

#content-2column #main ul#list li .text_box p.text{
	font-size: 90%;
	line-height: 2;
}


/* ----------- ブログ個別記事CSS ----------- */

#content-2column #main .single p.category{
    float: left;
}

#content-2column #main .single p.category a{
    font-size: 12px;
    color: #333;
}

#content-2column #main .single p.date{
	color: #ccc;
	font-size: 10px;
	float: right;
}

#content-2column #main .single h1{
	font-size: 24px;
	line-height: 2.2;
	margin: 20px 0 0;
}

#content-2column #main .single .single-body{
	font-size: 16px;
    line-height: 2.3;
    letter-spacing: .05rem;
}

#content-2column #main .single .single-body p{
	margin: 10px 0;
	font-size: 16px;
    line-height: 2.3;
    letter-spacing: .05rem;
}

#content-2column #main .single .single-body a{
	color: #0400ff;
}

#content-2column #main .single .single-body h2{
    margin: 50px 0 15px;
    padding: 20px;
    font-size: 22px;
    line-height: 2.3;
    letter-spacing: .05rem;
    background: var(--main-color);
    color: var(--text-color);
}

#content-2column #main .single .single-body h3{
	position: relative;
    padding: 20px 0 10px;
    border-bottom: 6px solid #ccc;
    font-size: 18px;
    line-height: 1.8;
}

#content-2column #main .single .single-body h3:before {
  position: absolute;
  bottom: -6px;
  left: 0;
  width: 20%;
  height: 6px;
  content: '';
  background: var(--main-color);
}

#content-2column #main .single .single-body img{
    max-width: 100%;
    height: auto;
	margin: 10px 0;
}

/* ----------- ブログ/サイドバーCSS ----------- */

aside h3 {
	text-align: center;
    font-size: 14px;
    font-weight: bold;
    padding: 15px 5px;
    box-sizing: border-box;
    background: var(--main-color);
    color: var(--text-color);
    margin: 0;
	letter-spacing: 2px;
}

aside .side-box{
	background: #fff;
	margin-bottom: 50px;
}

aside .menu-side-container{
	padding: 0 15px;
}

aside #menu-side li{
	border-bottom: 1px dotted #ccc;
	padding: 15px 0;
    width: 100%;
}

aside #menu-side li:last-child{
	border-bottom: 0;
}

aside #menu-side li a{
	text-decoration: none;
	display: block;
}

aside ul.category{
	padding: 0 15px;
	box-sizing: border-box;
}

aside ul.category li{
	border-bottom: 1px dotted #ccc;
	padding: 15px 0;
    width: 100%;
}

aside ul.category li:last-child{
	border-bottom: 0;
}

aside ul.category li a{
	text-decoration: none;
	font-size: 12px;
	display: block;
}

aside ul.category li span {
    padding: 3px 7px;
    border-radius: 10px;
    background: #ececec;
    margin-left: 5px;
}

aside ul.category li ul.children{
	padding-top: 15px;
}

aside ul.category li ul.children li{
	width: 100%;
    padding: 15px 0px;
    border-top: 1px dotted #dedede;
	border-bottom: 0;
}

aside ul.category li ul.children li:last-child{
	padding-bottom: 0;
}

aside ul.category li ul.children li a:before{
    content: "▶";
    color: #ccc;
    margin-right: 5px;
    font-size: 10px;
}

aside #new_entry{
	padding: 15px;
}

aside #new_entry li{
	border-bottom: 1px dotted #ccc;
	padding: 15px 0;
    width: 100%;
}

aside #new_entry li:last-child{
	border-bottom: 0;
}

aside #new_entry li a{
	text-decoration: none;
	display: block;
	line-height: 2;
}

aside #new_entry li p.info{
	text-align: right;
	color: var(--main-color);
	font-size: 12px;
}


@media (max-width: 599px) {
/* small devices */

/* ----------- ブログ/2カラムレイアウト ----------- */

#content-2column .wrap{
	width: 100%;
}

#content-2column {
    padding: 0 0 15px;
    border-top: 1px solid #f5f4f2;
}

#content-2column #main{
	background: #fff;
	width: 100%;
	float: left;
	margin-top: 0px;
	border-top: 1px solid #f5f4f2;
	padding: 30px;
	box-sizing: border-box;
}

#content-2column aside{
	width: 100%;
	margin-top: 0px;
}

/* ----------- ブログ記事一覧CSS ----------- */

#content-2column #main ul#list li:first-child{
	padding: 0 0 30px;
}

#content-2column #main ul#list li .img_box{
	width: 48%;
}

#content-2column #main ul#list li .text_box{
	width: 48%;
}

#content-2column #main ul#list li .text_box p.category,
#content-2column #main ul#list li .text_box p.date{
	margin-right: 10px;
	font-size: 80%;
}

#content-2column #main ul#list li .text_box h3{
	font-size: 12px;
	margin: 10px 0 0;
	line-height: 1.8;
}

#content-2column #main ul#list li .text_box p.text{
	display: none;
}

/* ----------- ブログ個別記事CSS ----------- */

#content-2column #main .single h1{
	font-size: 18px;
	line-height: 1.8;
}

#content-2column #main .single .single-body{
	font-size: 14px;
    line-height: 2.2;
}

#content-2column #main .single .single-body p{
	font-size: 14px;
    line-height: 2.2;
}

#content-2column #main .single .single-body h2{
    margin: 30px 0 15px;
    padding: 10px 15px;
    font-size: 18px;
    line-height: 1.8;
    letter-spacing: .05rem;
}

#content-2column #main .single .single-body h3 {
    margin: 20px 0 15px;
    padding: 5px 0;
    font-size: 16px;
    border-bottom: 2px solid #181818;
    line-height: 1.8;
    letter-spacing: .05rem;
}


}

@media (min-width: 600px) and (max-width: 959px) {
/* tablets */

/* ----------- ブログ/2カラムレイアウト ----------- */

#content-2column .wrap{
	width: 100%;
}

#content-2column {
    padding: 0 0 15px;
    border-top: 1px solid #f5f4f2;
}

#content-2column #main{
	background: #fff;
	width: 100%;
	float: left;
	margin-top: 0px;
	border-top: 1px solid #f5f4f2;
	padding: 30px;
	box-sizing: border-box;
}

#content-2column aside{
	width: 100%;
	margin-top: 0px;
}

}