@charset "UTF-8";


/* ------------------------------
    clearfix
------------------------------ */
.cf:after{
	content: ".";
	display: block;
	height: 0;
	font-size:0;
	clear: both;
	visibility:hidden;
}

.cf {display: inline-block;}

/* Hides from IE Mac */
* html .cf {height: 1%;}
.cf {display:block;}
/* End Hack */

/* ------------------------------
   float
------------------------------ */
.aligncenter{
	display:block;
	margin:10px auto;
}
.alignright{
	float:right;
	margin: 0 0 0 1.5em;
}
.alignleft{
	float:left;
	margin: 0 1.5em 0 0;
}
@media screen and (max-width: 767px) {
	.aligncenter{
		text-align: center;
	}
	.alignright,.alignleft{
		float:none;
		display:block;
		margin: 0 auto;
	}
}

blockquote{
	background-color: #f2f2f2;
	padding: 10px;
}

.post-cnts ol li{
	list-style-type: decimal;
}
.post-cnts ul li{
	list-style-type: disc;
}
.post-cnts img{
	height: auto;
}
.post_list .post .img img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/*  post_list -------------------------------------------*/

.page_ttl{ margin-bottom: 85px;}
.post_list .post{
    border-bottom: 1px solid #646464;
    padding-bottom: 40px;
    box-sizing: border-box;
}
.post_list .post+.post{ margin-top: 40px;}
.post_list .post a{
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
}
.post_list .post a:hover{ text-decoration: none;}
.post_list .post .img{
    position: relative;
    width: 30%;
    max-width: 250px;
    height: 180px;
}
.post_list .post .img .new{
    position: absolute;
    left: 0;
    top: 0;
    display: inline-block;
    vertical-align: middle;
    text-align: center;
    color: #FFF;
    font-size: 2.0rem;
    line-height: 1;
    background: #893b3b;
    z-index: 3;
    padding: 5px 20px;
    box-sizing: border-box;
}

.post_list .post .txt{
    width: 70%;
    padding-left: 4%;
    box-sizing: border-box;
}
.post_list .post .txt .post-date{
    font-size: 1.4rem;
    margin-bottom: 15px;
}
.post_list .post .txt .post-ttl{
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.7;
    margin-bottom: 20px;
	transition: .4s;
}
.post_list .post .txt .post-ttl:hover{ opacity: .7;}

.post_list .post .txt .post-text{
    font-size: 1.4rem;
    line-height: 2.1;
}

.post_list .post a:hover img{ opacity: 1;}

nav.navigation{ margin-top: 60px;}



@media screen and (max-width: 767px) {
    .colum-2.wrap{width: 86%; margin-bottom: 14%;}

    .page_ttl{ margin-bottom: 16%;}
    .post_list .post{
        padding-bottom: 4%;
    }
    .post_list .post+.post{ margin-top: 6%;}

    .post_list .post .img{
        position: relative;
        width: 36%;
        max-width: 250px;
        height: 22vw;
    }
    .post_list .post .img .new{
        font-size: 4.2vw;
        padding: 5px 7%;
    }

    .post_list .post .txt{
        width: 64%;
        padding-left: 4%;
        box-sizing: border-box;
    }
    .post_list .post .txt .post-date{
        font-size: 3.6vw;
        margin-bottom: 5px;
    }
    .post_list .post .txt .post-ttl{
        font-size: 3.9vw;
        margin-bottom: 0;
    }
    .post_list .post .txt .post-text{
        display: none;
    }


    nav.navigation{
        margin-top: 12%;
        padding-bottom: 0;
    }
}



/*  ブログ・詳細 -------------------------------------------*/
.post-head{
    padding-bottom: 10px;
    box-sizing: border-box;
    border-bottom: 1px solid #646464;
    margin-bottom: 22px;
}
.post-head .post-info{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin-bottom: 10px;
}
.post-head .post-info .date{ font-size: 1.4rem; margin-right: 25px;}
.post-head .post-info .cat{
    font-size: 1.8rem;
    font-weight: 700;
}
.post-head .post-info .new{
    display: inline-block;
    vertical-align: middle;
    text-align: center;
    color: #FFF;
    font-size: 2.0rem;
    line-height: 1;
    background: #893b3b;
    padding: 4px 20px 6px 20px;
    margin-left: 25px;
    box-sizing: border-box;
}
.post-head h2{
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1.72;
}

.post-cnts p{
    font-size: 1.4rem;
    line-height: 2.1;
}
.post-cnts p+p{ margin-top: 30px;}
.post-cnts .subTtl{
    font-size: 1.8rem;
    line-height: 2.1;
    font-weight: 700;
    margin-bottom: 20px;
}

.post-cnts .blogBox{margin-top: 50px;}

nav.blog_detail_nav{
	margin: 120px 0 60px 0;
    background: #f5f5f5;
    padding: 5px 0 4px 0;
    box-sizing: border-box;
}
nav.blog_detail_nav ul{
	width: 100%;
	margin: 0 auto;
	display: grid;
    display: -ms-grid;
	grid-template-columns: 33% 33% 33%;
    -ms-grid-columns: 33% 33% 33%;
}
nav.blog_detail_nav ul li{
	text-align: center;
}
nav.blog_detail_nav ul li a{
	font-size: 1.4rem;
	display: block;
	padding: 10px 0;
	width: 180px;
	text-align: center;
	margin: 0 auto;
	transition: .3s;
}
.ie nav.blog_detail_nav ul li a{ padding: 12px 0 8px 0;}


nav.blog_detail_nav ul li a span.en{
	font-size: 2.5rem;
	display: block;
	line-height: 1;
}
nav.blog_detail_nav ul li a:hover{
	text-decoration: none;
	opacity: .7;
}
nav.blog_detail_nav ul li.blog_preview{
	grid-row: 1;
	grid-column: 1;
    -ms-grid-column: 1;
    -ms-grid-row: 1;
}
nav.blog_detail_nav ul li.blog_back{
	grid-row: 1;
	grid-column: 2;
    -ms-grid-column: 2;
    -ms-grid-row: 1;
}
nav.blog_detail_nav ul li.blog_next{
	grid-row: 1;
	grid-column: 3;
    -ms-grid-column: 3;
    -ms-grid-row: 1;
}
@media screen and (max-width: 767px) {
    .post-head{
        padding-bottom: 2%;
        margin-bottom: 5%;
    }
    .post-head .post-info{
        margin-bottom: 2%;
    }
    .post-head .post-info .date{ font-size: 3.7vw; margin-right: 4%;}
    .post-head .post-info .cat{
        font-size: 3.9vw;
    }
    .post-head .post-info .new{
        font-size: 4.2vw;
        padding: 5px 7%;
        margin-left: 4%;
    }
    .post-head h2{
        font-size:5.2vw;
    }

    .post-cnts p{
        font-size: 3.7vw;
        line-height: 2;
    }
    .post-cnts p+p{ margin-top: 5%;}
    .post-cnts .subTtl{
        font-size: 4.6vw;
        line-height: 2;
        margin-bottom: 4%;
    }
    .post-cnts .blogBox{ margin-top: 10%;}

    nav.blog_detail_nav{
        margin: 14% 0 10% 0;
        padding: 0;
    }
	nav.blog_detail_nav ul li {
		margin: 0 4%;
	}
	nav.blog_detail_nav ul li a{
		width: 100%;
		padding: 1.5em 0;
	}
	nav.blog_detail_nav ul li a{
		font-size: 2.8vw;
	}
	nav.blog_detail_nav ul li a span.en{
		font-size: 5vw;
	}
}