@charset "UTF-8";

.contents_wrap{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 1256px;
  margin-top: 6px;
  margin-bottom: 180px;
  margin-left: auto;
  margin-right: auto;
}
.main {
  background-color: #fff;
  width: 860px;
  padding: 0 29px 36px;
  border: 1px solid transparent;
}

/* ブログトップ
------------------------------------------------------------------------------------*/
.entry_head{
  margin-bottom: 30px;
}
.entry_card_link{
  color: #333;
  display: block;
  padding: 1.5%;
  margin-bottom: 20px;
  text-decoration: none;
  transition: opacity 0.5s ease-in-out;
  visibility: visible;
  height: 100%;
  opacity: 1;
}
.entry_card_link.hidden{
  visibility: hidden;
  height: 0;
  opacity: 0;
  margin: 0;
  padding: 0;
}
.entry_card_link:hover{
  background-color: #f5f8fa;
}
.entry_card_wrap{
  align-items: center;
  display: flex;
  justify-content: space-between;
}
.entry_card_thumb{
  width: 320px;
}
.entry_card_content{
  max-width: 440px;
}
.entry_card_title {
  font-size: 1.8rem;
  margin: 0 0 5px 0;
  line-height: 2.6rem;
  font-weight: bold;
  overflow: hidden;
}
.entry_card_snippet{
  font-size: 1.4rem;
  line-height: 2.4rem;
  line-clamp: 3;
  -webkit-line-clamp: 3;
  display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* ブログコンテンツ
------------------------------------------------------------------------------------*/
.blog_entry{
  margin-bottom: 18px;
}
.blog_entry a{
  background-color: #9e9e9e;
  background-image: url(/images/pc/content/free/blogpage_cmn/icon_category.png);
  background-position: center left 6px;
  background-repeat: no-repeat;
  background-size: 14px;
  border-color: #9e9e9e;
  border-radius: 2px;
  color: #fff;
  font-weight: 400;
  display: inline-block;
  margin-right: 5px;
  padding: 2px 6px 2px 26px;
  font-size: 1.2rem;
  line-height: 1.8rem;
  text-decoration: none;
  word-break: break-all;
}
.blog_entry_icon{
  margin-right: 5px;
  display: inline-block;
}
.blog_header_title{
  font-weight: 500;
  line-height: 3rem;
  background-color: #9e9e9e;
  border-left: solid 4px #767676;
  padding: 20px;
  margin-bottom: 38px;
  color: #fff;
  font-size: 2.4rem;
}
.blog_header_date{
  font-size: 1.4rem;
  text-align: right;
  margin-bottom: 20px;
  margin-right: 8px;
}
.blog_header_icon{
  background-image: url(/images/pc/content/free/blogpage_cmn/icon_clock.png);
  background-position: center left;
  background-repeat: no-repeat;
  background-size: 16px;
  padding-left: 20px;
}
.blog_header_thumbnail{
  margin-bottom: 30px;
}
.blog_content_text{
  font-weight: 400;
  font-size: 1.8rem;
  line-height: 3rem;
  margin-bottom: 25px;
}
.blog_content_toc{
  border-color: rgba(158, 158, 158, .5);
  border: 1px solid #ccc;
  font-size: 0.9rem;
  padding: 16px 25px;
  display: table;
  margin:0 auto 22px;
  width: 540px;
}
.blog_content_toc_header{
  cursor: pointer;
  font-size: 1.8rem;
  text-align: center;
}
.blog_content_toc_list{
  margin: 20px 0 0 0;
  padding: 0;
}
.blog_content_toc_item{
  list-style: none;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 2.8rem;
  margin: 3px;
}
.blog_content_toc_item a{
  color: #333;
  text-decoration: none;
}
.blog_content_toc_item a:hover{
  text-decoration: underline;
}
.blog_section{
  margin-bottom: 80px;
}
.blog_content_line{
  background: linear-gradient(transparent 60%, #ffd0d1 60%);
  font-weight: bold;
}
.blog_content_line_blue{
  background: linear-gradient(transparent 60%, #a8dafb 60%);
  font-weight: bold;
}
.blog_content_caution{
  color: #e60033;
  font-weight: bold;
}
.blog_content_emphasis{
  font-weight: bold;
}
.blog_content_image{
  margin-bottom: 25px;
}
.blog_content_heading{
  background-color: #9e9e9e;
  border-top: 2px solid #767676;
  border-bottom: 2px solid #767676;
  border-radius: 2px;
  color: #fff;
  font-weight: 500;
  line-height: 3rem;
  margin-bottom: 27px;
  padding: 20px;
  font-size: 2.2rem;
}
.blog_content_heading_sub{
  border: solid 3px #9e9e9e;
  background: #fffdf6;
  font-size: 2rem;
  font-weight: normal;
  padding: 10px 16px;
  line-height: 2.8rem;
  margin-top: 10px;
  margin-bottom: 20px;
}
.blog_content_heading_sub_second{
  font-weight: normal;
  font-size: 1.8rem;
  color: #242735;
  line-height: 2.6rem;
  border-left: 6px solid #9e9e9e;
  padding: 9px 10px;
  margin-bottom: 25px;
}

/*table2列*/
.blog_content_table{
  max-width: 100%;
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  line-height: 1.8rem;
  margin-bottom: 25px;
}
.blog_content_table th,
.blog_content_table td{
  font-size: 1.8rem;
  line-height: 3rem;
  position: relative;
  padding: 9px;
  width: 50%;
}
.blog_content_table tr:nth-of-type(2n+1){
  background-color: rgba(158, 158, 158, .05);
}
.blog_content_table:not(.has-border-color) th,
.blog_content_table:not(.has-border-color) td{
  border-color: rgba(158, 158, 158, .5);
}
.blog_content_table:not(.has-border-color) :where(th, td) {
  border: 1px solid #eee;
}
/*table3列*/
.blog_content_table_threeRows{
  max-width: 100%;
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  line-height: 1.8rem;
  margin-bottom: 25px;
}
.blog_content_table_threeRows th{
  background-color: rgba(158, 158, 158, .1);
}
.blog_content_table_threeRows th,
.blog_content_table_threeRows td{
  font-size: 1.8rem;
  line-height: 3rem;
  position: relative;
  padding: 9px;
  width: 33.33%;
}
.blog_content_table_threeRows tr:nth-of-type(2n+1){
  background-color: rgba(158, 158, 158, .05);
}
.blog_content_table_threeRows:not(.has-border-color) th,
.blog_content_table_threeRows:not(.has-border-color) td{
  border-color: rgba(158, 158, 158, .5);
}
.blog_content_table_threeRows:not(.has-border-color) :where(th, td) {
  border: 1px solid #eee;
}
.blog_content_table_threeRows.last_cell_l th,
.blog_content_table_threeRows.last_cell_l td{
  width: auto;
}
/*table4列*/
.blog_content_table_fiveRows{
  max-width: 100%;
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  line-height: 1.8rem;
  margin-bottom: 25px;
}
.blog_content_table_fiveRows th{
  background-color: rgba(158, 158, 158, .1);
}
.blog_content_table_fiveRows th,
.blog_content_table_fiveRows td{
  font-size: 1.8rem;
  line-height: 3rem;
  position: relative;
  padding: 9px;
  width: 20%;
}
.blog_content_table_fiveRows tr:nth-of-type(2n+1){
  background-color: rgba(158, 158, 158, .05);
}
.blog_content_table_fiveRows:not(.has-border-color) th,
.blog_content_table_fiveRows:not(.has-border-color) td{
  border-color: rgba(158, 158, 158, .5);
}
.blog_content_table_fiveRows:not(.has-border-color) :where(th, td) {
  border: 1px solid #eee;
}
.blog_content_table_fiveRows.last_cell_l th,
.blog_content_table_fiveRows.last_cell_l td{
  width: auto;
}
.blog_content_link{
  margin-bottom: 25px;
}
.blog_content_link a{
  background-color: #eb77a4;
  border-width: 2px;
  border-style: solid;
  border-radius: 4px;
  color: #fff;
  cursor: pointer;
  font-weight: bold;
  font-size: 1.6rem;
  width: 60%;
  line-height: 3rem;
  margin: 0 auto;
  display: block;
  padding: 8px 16px;
  text-align: center;
  text-decoration: none;
  position: relative;
  transition: all 0.3s ease-in-out;
}
.blog_content_link a:hover{
  opacity: 0.7;
}
.blog_content_info{
  background: #f3fafe;
  border: 1px solid #bde4fc;
  border-radius: 4px;
  font-weight: 400;
  font-size: 1.8rem;
  line-height: 3rem;
  padding: 20px 20px 20px 72px;
  margin-bottom: 25px;
  position: relative;
}
.blog_content_info::before{
  align-items: center;
  background-color: #87cefa;
  border-radius: 50%;
  content: "!";
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  display: flex;
  justify-content: center;
  width: 30px;
  height: 30px;
  text-align: center;
  position: absolute;
  top: 24px;
  left: 20px;
}
.blog_content_info_memo{
  background-color:#ebf8f4;
  background-image: url(/images/pc/content/free/blogpage_cmn/icon_memo.png);
  background-repeat: no-repeat;
  background-position: top 18px left 20px;
  background-size: 30px;
  border: 1px solid #8dd7c1;
  border-radius: 4px;
  font-weight: 400;
  font-size: 1.8rem;
  line-height: 3rem;
  padding: 20px 20px 20px 72px;
  margin-bottom: 25px;
  position: relative;
}
.blog_content_list,
.blog_content_list_num{
  padding-left: 40px;
  margin-bottom: 25px;
}
.blog_content_item{
  font-size: 1.8rem;
  line-height: 2;
}
.blog_content_wrap{
  display: flex;
  justify-content: space-between;
  margin-bottom: 30px;
}
.blog_content_wrap_image{
  width: 49%;
}
.blog_content_wrap_image img{
  border: #999 2px solid;
  margin-bottom: 10px;
}
.blog_content_wrap_image figcaption{
  font-size: 1.4rem;
  line-height: 2rem;
  text-align: center;
  opacity: 0.8;
}
.blog_card{
  margin: 0 auto 25px;
}
.blog_card a{
  background-color: #fff;
  border-width: 1px;
  border-style: solid;
  border-color: rgba(158, 158, 158, .5);
  border-radius: 4px;
  color: #333;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 90%;
  padding: 1.6% 2.2% 2%;
  margin: 0 auto;
  text-decoration: none;
  transition: all 0.3s ease-in-out;
}
.blog_card a:hover{
  background-color: rgba(158, 158, 158, .05);
}
.blog_card_image{
  width: 160px;
}
.blog_card_content{
  max-width: 515px;
  margin-bottom: 20px;
}
.blog_card_title{
  font-weight: bold;
  font-size: 1.8rem;
  line-height: 3rem;
  margin-bottom: 0.4em;
}
.blog_card_snippet{
  font-size: 1.4rem;
  line-height: 2.4rem;
  line-clamp: 3;
  -webkit-line-clamp: 3;
  display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.blog_card_domain{
  background-image: url(/images/pc/content/favicon.png);
  background-position: left center;
  background-repeat: no-repeat;
  padding-left: 24px;
  width: 100%;
}
.blog_content_quotation > blockquote{
  background-color: rgba(158, 158, 158, .05);
  border: 1px solid #ddd;
  font-size: 1.8rem;
  line-height: 2.8rem;
  padding: 25px 32px;
  margin-bottom: 30px;
}
.blog_content_source{
  font-size: 1.4rem;
  line-height: 2.4rem;
  margin-bottom: 60px;
}

/* サイドナビ
------------------------------------------------------------------------------------*/
.side{
  background-color: #fff;
  width: 376px;
  border: 1px solid transparent;
  border-radius: 4px;
  padding: 0 19px 19px;
}
.side_recent_title,
.side_category_title{
  background-color: #9e9e9e;
  border-radius: 2px;
  color: #fff;
  padding: 14px 20px;
  line-height: 1.8rem;
  margin: 16px 0;
  font-size: 1.6rem;
}
.side_recent_title {
  margin-top: 0;
}
.side_recent_list,
.side_category_list{
  margin: 0;
  padding: 0;
}
.side_recent_item,
.side_category_item{
  border-bottom: 1px dotted #ccc;
  font-size: 1.8rem;
  list-style: none;
}
.side_recent_item:last-child,
.side_category_item:last-child{
  border-bottom: none;
}
.side_recent_item a,
.side_category_item a{
  color: #333;
  text-decoration: none;
  padding: 10px 0;
  display: block;
  line-height: 3rem;
  padding-right: 4px;
  padding-left: 20px;
}
.side_recent_item a:hover,
.side_category_item a:hover{
  background-color: rgba(158, 158, 158, .05);
  color: #333;
  transition: all 0.3s ease-in-out;
}

.more_read{
  display: flex;
  justify-content: center;
}
.more_read_button{
  background-color: #eb77a4;
  border: 1px solid#eb77a4;
  border-radius: 16px;
  cursor: pointer;
  color:#fff;
  padding: 10px 0;
  text-align: center;
  width: 162px;
}

/*画像サイズ*/
.size_small{
  width: 40%;
  margin: 0 auto 25px;
}
.size_midlle{
  width: 60%;
  margin: 0 auto 25px;
}
.size_large{
  width: 90%;
  margin: 0 auto 25px;
}
/*仮設置用*/
.footer{
  background-color: #eee;
}
.footer > img{
  width: 1080px;
  margin: 0 auto;
}
/*仮設置用*/