/*
Theme Name: virtualcast-blog
Author: Virtual Cast, Inc.
Author URI: https://virtualcast.jp/
*/

/* ==============
common
============== */

body { padding-left: 68px; }

main ul{ padding: 0; margin: 0;}

ul.children {position: relative; padding-left: 20px;}

main h1{
    position: relative;
    padding: .5em 0;
    font-size: 30px;
    color: #2d2d2d;
    line-height: 1.3;
    border-top: solid 3px #1da1f2;
    z-index: -2;
    border-bottom: solid 3px #1da1f2;
}

#blog_contents{
	width:1000px;
	margin: 0 auto 50px;
	display: flex;
	justify-content: space-between;
	padding-top: 20px;
}

/* main */
#blog_main { flex-basis: 720px; max-width: 720px; }

#blog_main p,
#blog_main h2{ margin: 0;}

#blog_main > ul{ border-top: 1px solid #282828;}

#blog_main > ul > li{
	display: flex;
	justify-content: space-between;
	border-bottom: 1px solid #282828;
	padding: 40px 0;
	list-style: none;
}

#blog_main li .img_area { flex-basis: 350px; width: 350px;}
#blog_main li .img_area a img{ width: 100%; height: auto; }

#blog_main li .text_area { flex-basis: 350px; }

#blog_main li .text_area h2{
	font-size: 1rem;
	margin-bottom: 10px;
	line-height: 1.5em;
}

#blog_main li .text_area h2 a{ color: #000;}

#blog_main li .text_area h2 a:hover{
	text-decoration: none;
	color: #07becd;
}

#blog_main li .text_area > p{
	font-size: 0.9rem;
	padding-bottom: 10px;
	margin-bottom: 10px;
	border-bottom: 1px solid #CCC;
}

#blog_main li .text_area .date_area{
	font-weight: bold;
	font-size: 0.8rem;
}

#blog_main li .text_area .cat_area{	display: flex;}

#blog_main li .text_area .cat_area p{ line-height: 1.3em; font-weight: bold;}
#blog_main li .text_area .cat_area ul{
	display: flex;
	line-height: 1em;
	margin-left: 1em;
	align-items: center;
	flex-wrap: wrap;
}
#blog_main li .text_area .cat_area li{
	line-height: 1.3em;
	padding: 0 0.5em 5px 0;
	list-style: none;
}
#blog_main li .text_area .cat_area li a:hover{
	text-decoration: none;
}

/* side */
.blog_side{ flex-basis: 240px; }

.blog_side h3{
	border-top: 1px solid #000;
	border-bottom: 1px dotted #000;
	padding: 15px 0 15px 40px;
	margin: 0;
	font-size: 1rem;
}

.blog_side h3.side_title01{
	background: url(./img/icon01.png) no-repeat left center;
}
.blog_side h3.side_title02{
	background: url(./img/icon02.png) no-repeat left center;
	margin-top: 10px;
}
.blog_side h3.side_title03{
	background: url(./img/twittericon.png) no-repeat left center;
}

.blog_side .side_cat_list li { margin-top:5px; list-style: none; }

.blog_side .side_cat_list li a{
	/*width: 96%;*/
	color: #07becd;
	font-size: 0.9rem;
	display: inline-block;
	padding-right:10px;
	box-sizing: border-box;
}


.blog_side .wp-tag-cloud {
	display: flex;
	flex-wrap: wrap;
}
.blog_side .wp-tag-cloud li{
	margin:1em 1em 0 0;
	list-style: none;
}

.blog_side .wp-tag-cloud li a{
	background: #aaaaaa;
	color: #FFF;
	text-decoration: none;
	padding: 5px;
	border-radius: 5px;
	display: inline-block;
	font-size: 1rem;
}

.blog_side h4{
	background:#282828;
	padding: 10px;
	color: #FFF;
	font-size: 1rem;
	margin:40px 0 0;
}

select.side_archive_list{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	height: 2rem;
	font-size: 1rem;
	border:1px solid #CCC;
	width: 240px;
	padding: 5px;
	background: url(./img/icon03.png) no-repeat 215px 50%;
}
select::-ms-expand { display: none;}


/*pager*/
.blog_pager ul{
	/*width: 60%;*/
	margin: 0 auto;
	text-align: center;
	margin-top: 40px;
}

.blog_pager li { display: inline-block;list-style: none;}
.blog_pager li a{
	font-size: 1.2rem;
	text-align: center;
	line-height: 45px;
	display: inline-block;
	width: 45px;
	height: 45px;
	border-radius:50%;
	background: #dddddd;
	text-decoration: none;
	color: #666;
}
.blog_pager li a:hover{
	background: #0fa7d0;
	color: #FFF;
}
.blog_pager li a.next,
.blog_pager li a.prev{
	background: none;
}
.blog_pager li span.current{
	font-size: 1.2rem;
	text-align: center;
	line-height: 45px;
	display: inline-block;
	width: 45px;
	height: 45px;
	border-radius:50%;
	background: #0fa7d0;
	text-decoration: none;
	color: #FFF;
}


/* sp */
@media screen and (max-width: 812px) {
	#blog_contents{
		}
}
/*
@media screen and (min-width: 767px) {
	header .globalmenu_wrap.js-sp_globalmenu_wrap {
		display: block!important;
	}
}
*/
@media screen and (max-width: 768px) {

	/* gnav */
	.bnr { padding:30px 0 20px; }
	/* OPEN */
	header.globalmenu_btn_open { background:#FFF; }
	header.globalmenu_btn_open .header_wrap .vi { padding: 12px 0 25px; }
	header.globalmenu_btn_open .globalmenu_btn span { background:#07becd; }
	/**/

	#blog_contents{
		width: 96%;
		padding:0 2%;
		margin: 0 auto 50px;
		flex-direction: column;
	}
	#blog_main { flex-basis: 100%; }

	#blog_main li .img_area { flex-basis:48%; }

	#blog_main li .img_area a,
	#blog_main li .img_area img	{ width: 100%; height: auto; }

	#blog_main li .text_area { flex-basis:48%; }

	/*side*/
	.blog_side{ flex-basis: 100%; margin-top: 40px; }
	select.side_archive_list{
		display: block;
		margin: 20px auto 0;
	}

	/*pager*/
	.blog_pager ul{
		width: 100%;
	}
	.blog_pager li a{
		font-size: 1rem;
		line-height: 30px;
		width: 30px;
		height: 30px;
	}


}


/* sp */
@media screen and (max-width: 480px) {
	#blog_main > ul > li{
		flex-direction: column;
		padding: 20px 0;
	}
	#blog_main li .img_area { flex-basis:100%; width: 100%; margin-bottom: 20px; }
	#blog_main li .text_area { flex-basis:100%; }

	.twitter_wrap {
	  width: 100%;
	}
	.twitter_wrap iframe {
		width: 740px !important; /*iOS bug fix*/
	}
}




/* ==============
single
============== */

#blog_main article .article_date{
	text-align: left;
	font-weight: bold;
	margin-bottom: 8px;
	font-size: 1rem;
	background: #1da1f2;
	display: block;
	color: #fff;
	padding: 0 4px;
}

#blog_main article h2{
  color: #364e96;/*文字色*/
  padding: 0.5em 0;/*上下の余白*/
  border-top: solid 3px #364e96;/*上線*/
  border-bottom: solid 3px #364e96;/*下線*/
	font-size: 1.5rem;
	margin-bottom: 20px;
}

#blog_main article p{
	margin: 0 0 1.2em;
   line-height: 1.8;
}

#blog_main article ul{
	margin: 0 0 1.2em;
}

#blog_main article p + h2{
  margin-top: 1em;
}

#blog_main article .cat_list,
#blog_main article .tag_list {
	display: flex;
	justify-content: flex-end;
	flex-wrap: wrap;
	font-size: 0.8rem;
}
#blog_main article .tag_list{ margin-top: 10px;}

#blog_main article .cat_list li{ margin-left: 0.5em; list-style: none;}
#blog_main article .tag_list li{ list-style: none;}
#blog_main article .tag_list li:before{
	content: "/";
	color: #0fa7d0;
	padding: 0 0.3em;
}

#blog_main article .tag_list li:nth-child(1):before,
#blog_main article .tag_list li:nth-child(2):before{
	content: "";
}

#blog_main article .article_main{
	margin: 40px 0;
	font-size: 1rem;
}

#blog_main article .thumbnail_area {
	display: none !important;
	margin-bottom: 40px;
	text-align: center;
}
#blog_main article .article_main h3{
  padding: 0.5em;/*文字周りの余白*/
  color: #494949;/*文字色*/
  background: #fffaf4;/*背景色*/
  border-left: solid 5px #ffaf58;/*左線（実線 太さ 色）*/
}

#blog_main article .article_main h4{
	border-bottom: solid 3px black;
}

#blog_main article .article_main h3.seed{
  background: #f6f8fb;/*背景色*/
  border-left: solid 5px #0ebbf8;/*左線（実線 太さ 色）*/
}

#blog_main p img {
max-width: 100%;
height: auto;
/*
	width: 100%;
    max-width: max-content;
*/
}

#blog_main article .article_main a{ color:#07becd;
    word-break: break-all;
}

#blog_main article .article_main blockquote{
    position:relative;
    background:#FBDFDF;
    border-radius:10px;
    padding:20px;
}
#blog_main article .article_main blockquote p:nth-last-of-type(1){
	margin-bottom: 0;
}

#blog_main article .article_main ul,
#blog_main article .article_main ol{
	padding-left: 40px;
}

#blog_main article .article_main table{
	border-collapse: collapse;
	margin: 10px 0;
}
#blog_main article .article_main th,
#blog_main article .article_main td{
	border: 1px solid #CCC;
	padding: 10px;
}
#blog_main article .article_main th{ background: #eaeaea;}

#blog_main .sns_area{
	padding: 15px 0;
	background: #eee;
	clear: both;
	margin-bottom: 20px;
}
#blog_main article .article_main > .video {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  margin-left: auto;
  margin-right: auto;
}

#blog_main .sns_area ul{ text-align: center; }
#blog_main .sns_area li{
	display: inline-block;
	padding:0 2px;
	vertical-align: middle;
	list-style: none;
}
#blog_main .sns_area li:nth-of-type(2){
	padding-bottom: 3px;
}

#blog_main .single_pager ul{
	display: flex;
	justify-content: space-between;
	font-size: 0.9rem;
	padding-top: 20px;
	border-top:2px solid #eee;
}

#blog_main .single_pager .pager_left,
#blog_main .single_pager .pager_right{
	flex-basis: 7em;
}

#blog_main .single_pager ul a{
	color: #000;
	text-decoration: none;
	font-weight: bold;
}
#blog_main .single_pager li{ list-style: none; }
#blog_main .single_pager .pager_left a:before{
	content: "<";
	margin-right: 0.5em;
	color: #0fa7d0;
}
#blog_main .single_pager .pager_right a:after{
	content: ">";
	margin-left: 0.5em;
	color: #0fa7d0;
}

@media screen and (max-width: 768px) {
	#blog_main article .thumbnail_area img{
		width: 100%;
		height: auto;
	}

}

@media screen and (max-width: 480px) {
	#blog_main article .cat_list,
	#blog_main article .tag_list {
		display: flex;
		justify-content: flex-start;
		flex-wrap: wrap;
		font-size: 0.8rem;
	}
}


/* ==============
archive
============== */
#blog_main > h2 {
	background: #CCC;
	padding: 10px 20px;
	margin-bottom: 40px;
	font-size: 1rem;
}

@media screen and (max-width: 768px) {

	#blog_main > h2 { text-align: center;}
}

/* ==============
search
============== */


/* ==============
page
============== */

/* 2020.1.8 add */
#blog_main article .article_main code {
	background: #EFEFEF;
	border: 1px solid #D4D4D4;
	border-radius: 2px;
	color: #E0245E;
	display: inline-block;
	font-family: Monaco,Menlo,Consolas,Courier New,"ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, Meiryo,sans-serif,monospace!important;
	padding: .1em .2em;
	margin: 0 .1em;
    line-height: 1;
}
#blog_main article p.text-center {
	text-align: center;
}
#blog_main article .article_main .column {
    border: 1px solid #ccc;
    padding: 0rem 1rem;
    background: #fdfdfd;
    margin: 0 auto 2rem;
    font-size: 0.85em;
}
#blog_main article .article_main .column h3 {
    background: #f2f2f2;
    border-left: solid 5px #aaa;
}

/* ==============
EDIT
============== */
.customize-support header { top:35px; }


/* ==============
Hamburger menu
============== */
.globalmenu_btn { cursor:pointer; }

/* SEED CARD */
.seed_card {
    border: 1px solid #31A9EE;
    padding: 1em;
    border-radius: .5em;
    display: flex;
    margin: 0 0 1em;
}
.seed_card > div:nth-of-type(1) {
    flex-grow: 1;
}
.seed_card a.item_name {
    display: block;
    margin: 0 0 .25em;
}
.seed_card .platform > img,
.seed_card .platform > strong {
    vertical-align: middle;
}

/* ==============
youtube
============== */
.youtube {
position: relative;
width: 100%;
padding-top: 56.25%;
}
.youtube iframe{
position: absolute;
top: 0;
right: 0;
width: 100% ;
height: 100% ;
}

/* ==============
header code z-index problem
============== */
@media (max-width: 768px) {
	header {
		z-index: 5;
	}
}

/* ==============
latex
============== */
@media (max-width: 768px) {
	.MJX-TEX {
		overflow: auto;
	}
	mjx-mtable {
		background: #eeeeee;
		border-radius: 12px;
		padding: 20px;
	}
}

/*-------------------------------------------------
 Block Editor - youtube
-------------------------------------------------*/
.wp-block-embed-youtube {
    margin: 0;
}

.wp-block-embed-youtube > .wp-block-embed__wrapper {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px;
    height: 0;
    margin: 0;
    overflow: hidden;
}

.wp-block-embed-youtube iframe,
.wp-block-embed-youtube object,
.wp-block-embed-youtube embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/*-------------------------------------------------
 Block Editor - img
-------------------------------------------------*/
.wp-block-image img {
	height: auto;
}

/*-------------------------------------------------
 TOC
-------------------------------------------------*/
#blog_main div#toc_container ul li {
	font-size: 100%;
}
#blog_main article .article_main ul,
#blog_main article .article_main ol {
	padding-left: 10px;
	padding-right: 10px;
}

/*-------------------------------------------------
 吹き出し掛け合いスタイル
-------------------------------------------------*/
/* CSSコード */
/* 吹き出し 共通 */
.balloon-simple {
  width: 100%;
  margin: 20px 0;
  overflow: hidden;
}
.balloon-simple .icon-right img,
 .balloon-simple .icon-left img {
  margin-top: 20px;
  width: 100%;
  border-radius: 50%;
  background-size: cover;
 }
.icon-right p,
 .icon-left p {
  text-align: center;
  position: relative;
}
.balloon-simple .balloon {
  width: 100%;
}
.serif-right,
 .serif-left {
  position: relative;
  padding: 20px 30px 20px 15px;
  border-radius: 10px;
  border: 3px solid #b0b0b0;
}
.serif-right:after,
 .serif-left:after {
  content: "";
  position: absolute;
  top: 15px;
  border-top: 10px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 5px solid transparent;
}
.serif-right p,
 .serif-left p {
  margin: 0;
  padding: 0;
  color: #000000;
 }
 /* 吹き出し 共通 end */
  /* 画像（人物）を左に配置した吹き出し */
.balloon-simple .icon-left {
  float: left;
  width: 100px;
  margin-left: 10px;
}
.serif-left {
  display: inline-block;
  margin: 40px 0 0 45px;
  background: #ffffff;
}
.serif-left:after {
  left: -22px;
  border-right: 20px solid #ffffff;
}
 .serif-left:before{
  left: -22px;
  content: "";
  position: absolute;
  top: 13px;
  border-top: 12px solid transparent;
  border-bottom: 9px solid transparent;
  border-right: 22px solid #b0b0b0;
  border-left: 0px solid transparent;
}
 /* 画像（人物）を左に配置した吹き出し end */
/* 画像（人物）を右に配置した吹き出し */
.balloon-simple .icon-right {
  float: right;
  width: 100px;
  margin-right: 10px;
}
.serif-right {
  margin: 40px 40px 0 0px;
  background: #ffffff;
  float: right;
}
.serif-right:after {
  transform: scale(-1, 1);
  right: -22px;
  border-right: 20px solid #ffffff;
}
.serif-right:before {
  transform: scale(-1, 1);
  right: -22px;
  content: "";
  position: absolute;
  top: 13px;
  border-top: 12px solid transparent;
  border-bottom: 9px solid transparent;
  border-right: 22px solid #b0b0b0;
  border-left: 0px solid transparent;
}
 /* 画像（人物）を右に配置した吹き出し end */

