@charset "utf-8";

/*************************************************************
*
* 汎用パーツ
*
*************************************************************/
.eyecatch {
	border-radius: 2px;
}


/*************************************************************
* ロードイメージ
*************************************************************/
.loading {
	margin-top: 1.5em;
	margin-bottom: 1.5em;
	height: 10px;
	
	font-size: 1.4rem;
	color: #777;
}
.loading .icon {
	position: relative;
	display: inline-block;
	width: 55px;
	height: 10px;
}
.loading .icon span {
	width: 10px;
	height: 10px;
	position: absolute;
	display: inline-block;
	
	border-radius: 50%;
	background-color: #36bef4;
}
.loading .icon .two {
	left: 18px;
	-webkit-animation-delay: 200ms;
	-o-animation-delay: 200ms;
	animation-delay: 200ms;
}
.loading .icon .three {
	left: 36px;
	-webkit-animation-delay: 400ms;
	-o-animation-delay: 400ms;
	animation-delay: 400ms;
}
.loading .icon span {
	-webkit-animation: scale-load 1000ms infinite cubic-bezier(0.445, 0.05, 0.55, 0.95);
	-o-animation: scale-loadr 1000ms infinite cubic-bezier(0.445, 0.05, 0.55, 0.95);
	animation: scale-load 1000ms infinite cubic-bezier(0.445, 0.05, 0.55, 0.95);
}
@-webkit-keyframes scale-load {
  0% {
    transform: scale(1);
  }
	45% {
    transform: scale(1.6);
  }
  90% {
    transform: scale(1);
  }
}
@-o-keyframes rotate-load {
  0% {
    transform: scale(1);
  }
	45% {
    transform: scale(1.6);
  }
  90% {
    transform: scale(1);
  }
}
@keyframes rotate-load {
  0% {
    transform: scale(1);
  }
	45% {
    transform: scale(1.6);
  }
  90% {
    transform: scale(1);
  }
}

/*************************************************************
*
* サイドバー
*
*************************************************************/
.block_side {
	background-repeat: repeat;
	
	border-radius: 2px;
	
	padding: 12px 15px;
	padding-top: 16px;
	margin-bottom: 20px;
}
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
	.block_side {
		background-size: 50%;
	}
}
@media screen and (max-width: 768px) {
	.block_side * {
		font-size: 1.6rem;
	}
}
/************************************
* サイド用ボタン
************************************/

@media screen and (max-width: 479px) {
}
/************************************
* サイド用見出し
************************************/
.column_side .headline {
  color:#231711;
	text-align: center;
	font-size: 1.6rem;
  font-weight: normal;
  
	border-top: #231711 1px solid;
	border-bottom: #231711 1px solid;
	
	/*background-color: #40474e;*/
	
  padding: 0.8em 0.2em;
  margin-bottom: 15px;
}

/************************************
* サイド用リスト
************************************/
.column_side ul {
  font-size: 1.4rem;
}
.column_side ul li {
	
	margin-bottom: 0.5em;
}
.column_side ul li a {
	border-left: #231711 3px solid;

	padding-left: 0.5em;
	
	text-decoration: underline;
}
.hover .column_side ul li a:hover,
.column_side ul li a.hover {
	text-decoration: none;
}
.column_side ul .children {
	margin-top: 0.3em;
}
.column_side ul .children li {
	list-style-type: square;
	
	
	margin-left: 1.5em;
	
}
.column_side ul .children li a {
	border-left: none;
	
	padding-left: 0;
  
}
@media screen and (max-width: 768px) {
  .column_side ul li {
    margin-bottom: 10px;
  }
}

/************************************
* プロフィール(profile)
************************************/
.column_side .profile img {
	border-radius: 2px;
}
.column_side .profile .name {
	text-align: center;
	font-size: 1.8rem;
	
	padding: 0.3em;
	margin-bottom: 0.8em;
	
	border-bottom: #231711 1px dotted
}
.column_side .profile .name small {
	display: block;
	
	font-size: 0.666em;
}
.column_side .profile p:not(.name) {
	font-size: 1.4rem;
}
.column_side .profile .hover_text {
	text-align: right;
	
	margin-bottom: 0;
}
.column_side .profile .hover_text a {
	text-decoration: underline;
	color: #663300;
}
.hover .column_side .profile .hover_text a:hover,
.column_side .profile .hover_text a.hover {
	text-decoration: none;
}
@media screen and (max-width: 768px) {
	.column_side .profile .name {
		text-align: left;
	}
}
/************************************
* 新着(newest)
************************************/
.column_side .newest {
  margin-bottom: 25px;
}
.column_side .newest a {
	display: block;
	
	margin-bottom: 0.6em;
	
	border-bottom: #231711 1px dotted;
}
.column_side .newest .row {
	margin-bottom: 12px;
}
.column_side .newest .col_5 {
	display: none;
}
.column_side .newest .col_7 {
	float: none;
	width: 100%;
	
	padding-bottom: 0.6em;
	
	color: #231711;
	text-decoration: underline;
	font-size: 1.5rem;
}

.hover .column_side .newest a:hover .col_7,
.column_side .newest a:hover .col_5 {
  text-decoration: none;
}
.column_side .newest p {
  color: #40474e;
  font-weight: bold;
  padding-left: 5px;
  font-size: 1.4rem;
}
.column_side .newest time {
	font-size: 1.4rem;
	margin-bottom: 0.6em;
}

@media screen and (max-width: 768px) {
	.column_side .newest .col_5 {
		display: block;
	}
	.column_side .newest .row {
		margin-bottom: 1em;
	}
  .column_side .newest .col_5 {
    width: 25%;
    float: left;
    padding-left: 1.020408163265306%;
    padding-right: 1.020408163265306%;
  }
  .column_side .newest .col_7 {
    width: 75%;
    float: left;
    padding-left: 1.020408163265306%;
    padding-right: 1.020408163265306%;
  }
  .column_side .newest p {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 479px) {
  .column_side .newest .col_5,
  .column_side .newest .col_7 {
    width: 100%;
    float: none;
  }
  .column_side .newest p {
    font-size: 1.4rem;
    width: 100%;
    position: relative;
    top:auto;
    right: auto;
    margin-top: 10px;
  }
}
/************************************
* カテゴリ(category)
************************************/
@media screen and (max-width: 768px) {
	.column_side .category {
		/*display: none;*/
	}
}
/************************************
* タグ(tag)
************************************/
@media screen and (max-width: 768px) {
	.column_side .tag {
		/*display: none;*/
	}
}
/************************************
* 人気記事(popular)
************************************/

/* ===========================================================================================================================
headline
=========================================================================================================================== */

.blog_post_headline {
  font-size: 2rem;
  color:#FFF;
  font-weight: bold;
  padding: 15px 20px;
  position: relative;	

  background-color: rgba(90,193,198,0.8);
}
.blog_post_headline::after {
  content: "";
  width:95%;
  height: 85%;
  position: absolute;
  top:0;
  bottom:0;
  left:0;
  right:0;
  margin: auto;
  border: 1px solid #FFF;
}
.content_sub_header .content_headline {
  font-size:2.8rem;
  font-weight:normal;
  padding-left:15px;
  margin-bottom:20px;
}

.popular_posts .content_headline {
  font-size:2.8rem;
  font-weight:normal;
  padding-left:15px;
  margin-bottom:5px;
}

.popular_posts .content_headline {
  color:#444444;
  font-size:2rem;
}

.popular_posts .content_headline {
  font-size:2rem;
  color:#372D2B;
  text-indent: -2.5rem;
  margin-left: 2.5rem;
}

.popular_posts .content_headline::before {
  content:"";
  width: 0;
  height: 0;
  margin-right:10px;
  display:inline-block;
  border-style: solid;
  border-width: 0 0 14px 14px;
  border-color: transparent transparent #f00e21 transparent;
}

.popular_posts {
  margin-top: 40px;
  border-bottom: 1px solid #cac6cc;
}

.blog_detail_post_headline {
  font-size: 2rem;
  color:#FFF;
  font-weight: bold;
  padding: 20px 25px;
  margin-bottom: 25px;
  width: 100%;
  background-color: rgba(90,193,198,0.8);
  position: relative;
}
.blog_detail_post_headline::after {
  content: "";
  position: absolute;
  top:0;
  bottom:0;
  right: 0;
  left: 0;
  margin: auto;
  width: 98%;
  height: 80%;
  border: 1px solid #FFF;
}
@media screen and (max-width: 768px) {

}

@media screen and (max-width: 479px) {
  .content_headline {
    padding-left:0px;
    font-size:2.2rem;
  }
  .content_headline.english {
    padding-left:10px;
  }
}

/*******************************************************
/*
/*blog一覧
/*
/******************************************************/
.list article {
	/*font-size: 1rem;*/
}
.list .column_main article:not(:last-child) {
	margin-bottom: 5em;
}
/******************************
/* アイキャッチ＆抜粋文の箱部分
/*****************************/
.list .box_bloglist {
	position: relative;
}
/******************************
/* アイキャッチ＆抜粋文の箱部分ここまで
/*****************************/

/******************************
/* カテゴリ部分
/*****************************/
.list article .category li {
	float: left;
	margin-right: 1em;
	margin-bottom: 1em;
}
.list article .category a {
	display: block;
	
	border-radius: 2px;
	
	padding: 0.3em 1.5em 0.1em;
	
	background-color: #231711;
	
	color: #fff;
	text-align: center;
	font-size: 1.3em;
	letter-spacing: 0.05rem;
	
	-webkit-transition: background-color 500ms cubic-bezier(0.215, 0.61, 0.355, 1);
	-o-transition: background-color 500ms cubic-bezier(0.215, 0.61, 0.355, 1);
	transition: background-color 500ms cubic-bezier(0.215, 0.61, 0.355, 1);
}
.hover.list article .category a:hover,
.list article .category a.hover {
	background-color: #422c22;
}
/******************************
/* カテゴリ部分ここまで
/*****************************/
/******************************
/* 見出し部分
/*****************************/
.list .box_headline {
	vertical-align: bottom;
	
	padding-bottom: 1em;
	margin-bottom: 2em;
	
	border-bottom: #231711 1px dotted;
}
.list .box_headline .headline {
	font-size: 2em;
	text-align: left;
	color: #333333;
	
	float: left;
}
.list .box_headline time {
	float: right;
	display: block;
	
	font-size: 1.3em;
	text-align: right;
}
@media screen and (max-width: 768px) {
	.list .box_headline .headline {
		float: none;
	}
	.list .box_headline time {
		float: none;
		text-align: left;
		
		margin-bottom: 0.2em;
	}
}
/******************************
/* 見出し部分ここまで
/*****************************/
/******************************
/* アイキャッチ部分
/*****************************/

@media screen and (max-width: 768px) {
	.list .box_bloglist .eyecatch {
		max-width: 400px;
		width: 100%;
	}
}
/******************************
/* アイキャッチ部分ここまで
/*****************************/

/******************************
/* 抜粋分
/*****************************/
.list .box_bloglist .text {
	display: block;
	
	font-size: 1.6em;
}
.list .box_bloglist .text .more {
	position: absolute;
	bottom: 0;
	right: 0;
	
	margin-bottom: 0;
	
	text-align: right;
	color: #7c5432;
	font-size: 0.875em;
	text-decoration: underline;
}
.hover.list .box_bloglist .text:hover .more,
.list .box_bloglist .text.hover .more {
	text-decoration: none;
}
@media screen and (max-width: 768px) {
	.list .box_bloglist .text p {
		margin-bottom: 10px;
	}
	
	.list .box_bloglist .text .more {
		position: static;
		
		text-align: left;
		font-size: 1em;
	}
}
/******************************
/* 抜粋分ここまで
/*****************************/
.date {
  font-size: 1.4rem;
  color: #FFF;
  background-color: #40474e;
  padding: 5px 10px;
}
.post_box {
  border: 1px solid #cac6cc;
}
.post_box_inner {
  padding: 10px;
}
.post_box_txt {
  position: relative;
  min-height: 235px;
}
.post_attr {
  margin-top: 20px;
}
.post_attr p {
  margin-bottom: 5px;
}
.post_attr .more {
  color:#5ac1c6;
  text-decoration: underline;
}
.post_attr .more:hover {
  text-decoration: none;
}
.post_attr * {
  font-size: 1.4rem;
}
.post_attr .tag {
  margin-top: 10px;
}
.post_attr .tag li {
  float:left;
  margin-right: 10px;
}
.post_attr .tag a {
  color:#5ac1c6;
  text-decoration: underline;
}
.post_attr .tag .element a:hover {
  text-decoration: none;
}
/*******************************************************
/*
/*blog_detail（記事ページ）
/*
/******************************************************/
.detail .headline_blog {
	padding-bottom: 0.8em;
	margin-bottom: 1.5em;
	
	border-bottom: #b5b5b5 1px solid;
}

.detail .headline_blog .headline {
	float: left;
	
	font-size: 3rem;
}
.detail .headline_blog time {
	font-size: 1.6rem;
	vertical-align: text-bottom;
	
	float: right;
}
@media screen and (max-width: 599px) {
	.detail .headline_blog .headline {
		font-size: 2rem;
		
		float: none;
	}
	.detail .headline_blog time {
		float: none;
	}
}


.blog_detail .post_box_inner {
  padding: 13px;
}
.blog_detail .post_txt p,
.blog_detail .post_txt img,
.blog_detail .eyecatch {
  margin-bottom: 20px;
}
.blog_detail .post_txt h3 {
  font-size:1.8rem;
  font-weight:bold;
  color:#FFF;
  padding:9px 14px 7px 14px;
  margin-bottom:20px;
  position: relative;
  background-color: #5AC1C6;
}
.blog_detail .post_txt h3::after {
  content: "";
  position: absolute;
  width:5px;
  height:100%;
  left:0;
  top:0;
  background-color: #c3e8ea;
}
.blog_detail .post_txt h4 {
  border-bottom:4px solid #5AC1C6;
  font-size:1.6rem;
  font-weight:bold;
  color:#333;
  padding:3px 0;
  margin-bottom:20px;
}
.blog_detail .post_txt p {
  font-size: 1.4rem;
}
/*******************************************************
/* タグ(tag）
/******************************************************/
.detail main .tag {
  padding: 5px;
	
	border: #231711 1px solid;
	border-radius: 2px;
}
.detail main .tag p {
	margin-bottom: 3px;
}

.detail main .tag li {
	float: left;
	
	font-weight: bold;
	
	margin-right: 1.3em;
}
.detail main .tag li i {
	margin-right: 0.3em;
	
	color: #094;
}
/*******************************************************
/* タグ(tag）ここまで
/******************************************************/
.blog_detail .post_box_inner li {
  float:left;
  font-size: 1.4rem;
  margin-right: 10px;
}
.blog_detail .element a {
  text-decoration: underline;
}
.blog_detail .element a:hover {
  text-decoration: none;
}
/*******************************************************
/* シェアボタン（sns）
/******************************************************/
.detail .sns_container {
  /*border-top: 1px solid #989898;
  border-bottom: 1px solid #989898;*/
  margin-top: 20px;
  margin-bottom: 20px;
}
.detail .sns {
  width:100%;
	
	margin-left: auto;
  margin-right: 0;
  margin-bottom: 10px;
	padding: 8px;
	
	border-radius: 2px;
	background-color: #e3e7e7;
}
.detail .sns_txt {
  font-size: 1.4rem;
  text-align: center;
  margin-bottom: 5px;
  margin-top: 5px;
  color:#989898;
}
.detail .sns .item {
	display: inline-block;
	width: 50px;
}
.detail .sns .item a {
	font-size: 0;
	
	display: inline-block;
	
	width: inherit;
}
/*******************************************************
/* シェアボタン（sns）ここまで
/******************************************************/
.blog_detail .post_txt a {
  text-decoration: underline;
	
}
.blog_detail .post_txt a:hover {
  text-decoration: none;
}
.blog_detail .post_txt .alignleft {
  float: left;
  width: 50%;
  padding: 5px;
  margin-bottom: 20px;
}
.blog_detail .post_txt .alignright {
  float: right;
  width: 50%;
  padding: 5px;
  margin-bottom: 20px;
}
.blog_detail .post_txt .writer {
  border: 1px solid #989898;
  padding: 15px 8px;
  margin-bottom: 30px;
}
.blog_detail .post_txt .writer img {
  width:150px;
}
.blog_detail .post_txt .writer p {
  margin-bottom: 10px;
}
.blog_detail .post_txt .writer .col_8 {
  margin-top: 10px;
}
.blog_detail .post_txt .writer .name {
  font-weight: bold;
}


@media screen and (max-width: 768px) {
  .post_box_inner .col_5 {
    width: 41.6666666666%;
    float: left;
  }
  .post_box_inner .col_7 {
    width: 58.3333333333%;
    float: left;
  }
  .popular_posts_box {
    width: 100%;
    height: 200px;
    float: none;
    padding-left: 0px;
    border-bottom: 1px solid #cac6cc;
  }
  .popular_posts_box:nth-of-type(odd) {
    margin-left: 0px;
    border-right: 0px;
  }
  .popular_posts_box img {
    max-height: 180px;
  }
  .popular_posts_box p {
    font-size: 2rem;
  }
  .blog_detail .post_txt .writer {
    text-align: center;
  }
  .blog_detail .post_txt .writer p:last-child {
    text-align: left;
  }
}

@media screen and (max-width: 479px) {
  .post_box_inner .col_5,
  .post_box_inner .col_7 {
    width: 100%;
    float: none;
  }
  .blog_post_headline {
    position: relative;
    width: 100%;
    margin-top: 10px;
    top:auto;
    right: auto;
  }
  .post_attr {
    position: static;
    margin-top: 10px;
  }
  .popular_posts_box {
    height: auto;
  }
  .popular_posts_box img {
    max-height: none;
    width: auto;
    float: none;
  }
  .popular_posts_box p {
    font-size: 1.4rem;
    width: 100%;
    position: relative;
    top:auto;
    right: auto;
    margin-top: 10px;
  }
  .blog_detail .post_txt .alignleft {
    float: none;
    width: 100%;
  }
  .blog_detail .post_txt .alignright {
    float: none;
    width: 100%;
  }
}

/*******************************************************
/*
/* pager（ページャー）
/*
/******************************************************/
/*******************************************************
/* 一覧(.list)
/******************************************************/
.list .pager {
  text-align: center;
	
  margin: 60px auto 80px auto;
}
.list .pager > * {
  font-size: 1.8rem;
	text-align: center;
	font-weight: bold;
	color: #0068b7;
  
	border-radius: 2px;
	border: 2px solid #0068b7;
	border-radius: 50%;
	
	width: 2.5em;
	height: 2.5em;
	display: inline-block;
	
  padding: 0.6em 0.2em;
  margin-left: 1em;
  margin-right: 1em;
}
.list .pager a svg {
	width: 12px;
	
	-ms-transition: fill 0.2s;
  -webkit-transition: fill 0.2s;
  transition: fill 0.2s;
	
	fill: #0068b7;
}
.hover.list .pager a:hover svg,
.list .pager a.hover svg {
  fill:#FFF;
}
.hover.list .pager a:hover,
.list .pager a.hover,
.list .pager .current {
  color:#FFF;
  background-color: #0068b7;
}
@media screen and (max-width: 599px) {
	.list .pager > * {
		margin-left: 0.3em;
		margin-right: 0.3em;
	}
}
/*******************************************************
/* 記事ページ(.detail)
/******************************************************/
.detail .pager {
  width: 100%;
  margin: auto;
  margin-bottom: 20px;
	margin-top: 30px;
}
.detail .pager .item {
	display: inline-block;
	position: relative;
	
	width: 49.5%;
	
  -ms-transition: color 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);
  -webkit-transition: color 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: color 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);
	
	/*background-color: #422c22;*/
	
	padding: 3px 5px;
	
	color: #372d2b;
	font-size: 1.8rem;
	letter-spacing: 0.1rem;
}
.hover.detail .pager .item:hover,
.detail .pager .item.hover {
	color: #094;
}
.detail .pager .item i {
	color: #094;
	font-size: 2.2rem;
}
.detail .pager .item.center {
	text-align: center;
}
.detail .pager .item.prev {

}
.detail .pager .item.prev i {
	display: inline-block;
	
	-webkit-transform: scale(-1);
	-ms-transform: scale(-1);
	-o-transform: scale(-1);
	transform: scale(-1);
}
.detail .pager .item.next {
	text-align: right;
}
@media screen and (max-width: 768px) {
	.detail .pager {
		
		padding-top: 8px;
	}
	.detail .pager .item {
		width: 100%;
		
		background-color: #094;
		border-radius: 2px;
		
		color: #FFF;
		
		margin-bottom: 10px;
		padding-top: 5px;
		padding-bottom: 4px;
	}
	.hover.detail .pager .item:hover,
	.detail .pager .item.hover {
		color: #FFF;
	}
	.detail .pager .item i {
		color: #FFF;
		vertical-align: -0.2rem;
		
		margin-right: 0.3em;
	}
}
/*******************************************************
/*
/*popular_posts（人気の記事）
/*
/******************************************************/
.popular_posts_box {
  width: 50%;
  height: 140px;
  border-bottom: 1px solid #cac6cc;
  float: left;
  padding-top: 10px;
  padding-bottom: 10px;
  position: relative;
  padding-left: 10px;

}
.popular_posts_box:nth-of-type(5),
.popular_posts_box:nth-of-type(6) {
  border-bottom: none;
}
.popular_posts_box:nth-of-type(odd) {
  border-right: 1px solid #cac6cc;
  margin-left: -10px;
}
.popular_posts_box img {
  width: 50%;
}
.popular_posts_box p {
  background-color: rgba(90,193,198,0.8);
  color: #FFF;
  position: absolute;
  padding: 9px;
  top: 10px;
  right: 10px;
  width: 60%;
  font-size: 1.4rem;
  font-weight: bold;
}
.popular_posts_box p::after {
  content:"";
  border: 1px solid #FFF;
  width:97%;
  height:87%;
  top:0;
  bottom:0;
  right:0;
  left:0;
  margin: auto;
  position: absolute;
}
/*******************************************************
/*
/*404
/*
/******************************************************/
.error div {
  /*margin-top: 20px;
  font-size: 1.4rem;*/
}
.error main p {
	text-align: center;
}
.error .btn_type1 {
	margin: auto;
}

