@charset "UTF-8";


article{
	background-color:#fff;
	padding:20px 0;
}

article p{
	margin-top: 1.0em;
	margin-bottom: 2.0em;
}



/*-----------------------------------------------------------
	個別ページ（single.php）
-----------------------------------------------------------*/
/*--記事ヘッダー--*/
main .tag li{
	display: inline-block;
}
main .tag li a {
	font-size: 100%;
	line-height: 1;
	position: relative;
	margin: .5rem;
	padding: .2rem .5rem;
	text-decoration: none;
	background-color: #f5f5f5;
	border-radius: 5px;
}

main .articleHeader{
	width:100%;
	display:flex;
	align-items: center;
	flex-wrap: wrap;
	margin-bottom:10px;
	background-color: #f5f5f5;
	padding:30px;
}
@media only screen and (max-width: 640px) {
main .articleHeader{
	display:block;
}
}
main .articleContent{
	width:100%;
	padding:30px;
}

@media only screen and (max-width: 640px) {
main .articleContent{
	padding:20px;
	width:100%;
	
}
}


body:not(#home) main h1{
	font-size:32px;
	margin-bottom:30px;
}

main .articleHeader h1{
	font-size:210%;
	line-height:1.5;
}

main .articleHeader h1:after{
	content: "";
	margin: 0;
	display: block;
	width: 10%;
	height: 1px;
	border-radius: 2px;
	margin-top:15px;
	margin-bottom:15px;
	background:#ccc;
}

@media screen and (max-width: 1480px){
main .articleHeader h1{
	font-size:120%;
}
}

@media only screen and (max-width: 1024px) {
main .articleHeader h1{
	font-size:100%;
}
}

main .articleHeader span{
	font-size:80%;
	display:block;
	margin-top:10px;
	color:#999;
}

main .articleImage{
	width:40%;
}
@media only screen and (max-width: 640px) {
main .articleImage{
	width:100%;
}
}

/*--カテゴリー--*/
main .articleHeader .articleDetail{
	display:flex;
	align-items: baseline;
}

main .articleHeader .post-categories{
	display:flex;
	padding-right:1em;
}

main .articleHeader .post-categories li a{
	font-size:70%;
	margin-right:5px;
	transition:.2s all;
	text-decoration:underline;
	color: #319dd0;
}

/*--更新日、作成日--*/
main .articleHeader p.date{
	margin-bottom:0;
}

main .articleHeader time.updatedDate,
main .articleHeader time.createdDate{
	font-size:70%;
}
main .articleHeader time.updatedDate{
	padding-right:1em;
}
main .articleHeader time.createdDate{
	padding-right:2em;
}

main .articleHeader time.createdDate::before{
	content:"作成日：";
}
main .articleHeader time.updatedDate::before{
	content:"更新日：";
}









/*--イメージ画像--*/
main article img{
	vertical-align:baseline;
	margin:20px 0;
	border:1px solid #CCC;
	/*box-shadow:3px 3px 6px 0px #ccc;*/
	/*max-width:90%;*/
}
main article img.pic{
	width:240px;
	height:auto;
	margin:60px auto;
	display:block;
	border:none;
}

/*--テーブル--*/
main article table{
	width:100%;
	border-collapse:collapse;
	margin:50px 0 40px;
}
main article table tr,
main article table th,
main article table td{
	text-align: left;
	background-color: #fff;
	padding: .5em 1.5em;
	border: 1px solid #ccc;
	vertical-align:middle;
	font-size:90%;
}
main article table th{
	background-color:#f0f0f0;
	font-weight:bold;
	text-align:center;
}
@media only screen and (max-width: 640px) {
main article table th{
	font-size:80%;
}
main article table td{
	font-size:80%;
}
}




/*--記事内見出し--*/
/*main article h2:first-of-type{
	margin-top: 0;
}
*/
main article h2:first-child{
	margin-top: 0;
}

main article h2{
	font-size: 130%;
	font-weight: bold;
	line-height: 26px;
	border-left: solid 8px #7dcce6;
	background-color: #e5f8ff;
	border-bottom:solid 1px #7dcce6;
	margin: 120px 0 30px;
	padding: 1.5em 1.0em;
	color:#319dd0;
}
@media only screen and (max-width: 640px) {
main article h2{
	font-size: 110%;
	margin: 40px 0 10px;
	padding: 1.0em 1.0em;
}
}
body{
	counter-reset: section;
}
main article h2::before{
	counter-increment: section;
	content: counter(section) ": ";
}

main article h3{
	margin-top: 54px;
	margin-bottom: 24px;
	border-left: 4px solid #7dcce6;
	padding: 0.6em 1.2em;
	font-size:110%;
	background-color: #f9f9f9;
}
@media only screen and (max-width: 640px) {
main article h3{
	margin-top: 36px;
	font-size:90%;
}
}
main article h4{
	margin-top: 16px;
	margin-bottom: 8px;
	position: relative;
	font-size:100%;
	font-weight:bold;
	border-bottom:solid 1px #7dcce6;
	padding: .5em 1.0em .5em 2.1em;
}

main article h4::before {
	font-weight: 900;
	position: absolute;
	top: 50%;
	left: .6em;
	content: '●';
	transform: translateY(-50%);
	color:#319dd0;
}


h5{

}
h6{

}


main article p{
	margin-bottom:30px;
}
main article span.red,
main article span.c-red{
	color: #F00;
}



/*-----------------------------------------------------------
	記事リストスタイル
-----------------------------------------------------------*/
/*main article ul{
	border:3px solid #f0f0f0;
	padding:2.0em;
}
@media screen and (max-width: 1024px){
main article ul{
	padding:1.0em;
	font-size:80%;
}
}*/

main article li{
	position: relative;
	padding: .2em 1.0em .2em 1.5em;
}
main article ul li::before {
	font-weight: 900;
	position: absolute;
	top: 50%;
	left: 0;
	content: '●';
	transform: translateY(-50%);
	color:#319dd0;
}

main article dt:not(:first-of-type){
	margin-top:20px;
}

main article dt{
	color:#319dd0;
	font-weight:bold;
	font-size:110%;
	position: relative;
	padding: 0 1.0em 0 1.5em;
}
main article dt::before {
	font-weight: 900;
	position: absolute;
	top: 50%;
	left: 0;
	content: '●';
	transform: translateY(-50%);
	color:#319dd0;
}


/*前の記事、次の記事*/
main article .post-box{
    display: flex;
	align-items: stretch;
    justify-content: space-between;
	margin-bottom:25px;
}
main article .prev-post,
main article .next-post{
    width: 49%;
	position: relative;
	padding:0;
}

main article .prev-post::before,
main article .next-post::before{
	content: "";
    display: block;
    height: 0.5em;
    width: 0.5em;
    pointer-events: none;
    position: absolute;
    top: 50%;
    z-index: 1;
	color:#FFF;
}
main article .prev-post::before{
	border-bottom: 1px solid;
    border-left: 1px solid;
    left: 0.15em;
    transform: rotate(45deg) translateY(-50%);
}

main article .next-post::before{
	border-bottom: 1px solid;
    border-right: 1px solid;
    right: 0.15em;
    transform: rotate(-45deg) translateY(-50%);
}
main article .prev-post a,
main article .next-post a{
	align-items: center;
    height: 100%;
    line-height: 1.4;
    min-height: 4em;
    padding: 0.6em 1em 0.5em;
    text-decoration: none;
    transition: box-shadow .25s;
    width: 100%;
	font-size:13px;
	display:flex;
	position: relative;
}
main article .prev-post a{ border-left: 1.25em solid #319dd0; }
main article .next-post a{ border-right: 1.25em solid #319dd0; }
main article .prev-post:hover,
main article .next-post:hover{
	box-shadow: 1px 1px 3px 1px rgb(0 0 0 / 10%);

}
/*main article .post-box{
	display:flex;
	justify-content: space-between;	
	align-items: stretch;
}
main article .prev-post{
	margin-right:10px;
	position:relative;
	width:100%;
	flex-grow:1;
}
main article .next-post{
	margin-left:10px;
	position:relative;
	width:100%;
	flex-grow:1;
}
main article .prev-post a,
main article .next-post a{
	display:inline-block;
	text-decoration:none;
	border-radius: 6px;
	box-shadow: 1px 1px 2px 1px rgba(0,0,0,0.1);
	transform:translate(0,0);
	transition:.3s all;
	overflow:hidden;
	width:100%;
	font-size:80%;
	padding:10px 20px;
}
main article .prev-post a{
	padding-left:50px;
}
main article .next-post a{
	padding-right:50px;
}
main article .prev-post a:hover,
main article .next-post a:hover{
	transform:translate(0,-5px);
	box-shadow: 1px 1px 3px 1px rgba(0,0,0,0.4);
}

main article .prev-post a::before,
main article .next-post a::after{
	color:#FFF;
	padding: 10px 10px;
	font-size:90%;
	display:inline-block;
	height:100%;
	background:#319dd0;
}

main article .prev-post a::before{
	content:"<";
	margin-right:1.6em;
	position:absolute;
	left:0;
	top:0;
}
main article .prev-post a::after{
	content:"";
}
main article .next-post a::before{
	content:"";
}
main article .next-post a::after{
	content:">";
	margin-left:1.6em;
	position:absolute;
	right:0;
	top:0;
}*/


/*アイコン*/
main article .icon{
	display:inline-block;
}
main article .icon::before{
	color:#FFF;
	margin-right:1.2em;
	padding:5px 1.2em;
	font-size:90%;
	display:inline-block;
	height:100%;
}
main article .file-e{
	border:solid 1px #319dd0;
	padding-right:1.2em;
}
main article .file-e::before{
	font-family: 'Font Awesome 5 Free';
	content: '編集するファイル';
	background:#319dd0;
}
main article .file-c{
	border:solid 1px #319dd0;
	padding-right:1.2em;
}
main article .file-c::before{
	font-family: 'Font Awesome 5 Free';
	content: '作成するファイル';
	background:#319dd0;
}

/*--コード--*/
.hljs{
	background-color:transparent !important;
	padding:0 !important;
}

/*ボックス*/
main article .box{
	padding:34px 35px 30px;
	margin:40px 0 60px;
	font-weight:normal;
	font-size:16px;
	position:relative;
	border:solid 1px #CCC;
}
main article .box::before{
	font-size: 14px;
	top: -14px;
	padding: 14px 14px;
	border-radius:20px;
		position: absolute;
		font-weight: bold;
		background: #7dcce6;
		color: #FFF;
		line-height: 0;
		letter-spacing: 0;
}
main article .text{
	border:3px solid #f0f0f0;
}
main article .format{
	border:solid 1px #CCC;
}
main article .format::before{
	content: "コードの書き方";
		background: #666;
		color: #FFF;
}
main article .format.ok{
	border:solid 1px #36F;
}
main article .format.ok::before{
	content: "OK";
		background: #36F;
		color: #FFF;
}
main article .format.ng{
	border:solid 1px #F30;
}
main article .format.ng::before{
	content: "NG";
		background: #F30;
		color: #FFF;
}
main article .format code,
main article .format div{
	background-image:
	linear-gradient(90deg, rgba(237, 119, 128, 0) 0%, rgba(237, 119, 128, 0) 50%, #FFF 0%, #FFF 100%), linear-gradient(180deg, rgba(237, 119, 128, 0) 0%, rgba(237, 119, 128, 0) 95%, #e0e0e0 100%);
	background-size: 8px 100%,100% 2em;
	line-height: 2;
	overflow-x:auto;
}

main article span.add-code{
	color:#319dd0;
}
main article span.add-code::after{
	content:"追加";
	color:#FFF;
	font-size:90%;
	padding:4px 6px;
	margin-left:5px;
	background-color:#319dd0;
	border-radius:12px;
}
main article span.cng-code span{
	/*border-bottom:solid 1px #3C9;*/
	color:#3C9 !important;
}
main article span.cng-code::after{
	content:"変更";
	color:#FFF;
	font-size:90%;
	padding:4px 6px;
	margin-left:5px;
	background-color:#3C9;
	border-radius:12px;
}

main article span.del-code{
	/*border-bottom:solid 1px #3C9;*/
	color:red !important;
}
main article span.del-code::after{
	content:"削除";
	color:#FFF;
	font-size:90%;
	padding:4px 6px;
	margin-left:5px;
	background-color:red;
	border-radius:12px;
}




main article .memo{
	border:dashed 1px #7dcce6;
}
main article .memo::before{
	content: "メモ";
		background: #7dcce6;
		color: #FFF;
}
main article .point{
	border:double 3px #F30;
	background-color:#FFC;
}
main article .point::before{
	content: "ポイント";
		background: #F30;
		color: #FFF;
}
main article .summary{
	border:double 3px #319dd0;
}
main article .summary::before{
	content: "要点まとめ";
		background: #319dd0;
		color: #FFF;
}
main article .keyword{
	border:solid 2px #3C9;
}
main article .keyword::before{
	content: "専門用語";
		background: #3C9;
		color: #FFF;
}
main article dt::before {
	color:#3C9;
}

main article .keyword dt{
	color:#3C9;
}

main article .note{
	border:dashed 1px #7dcce6;
}
main article .note::before{
	content: "Note";
		background: #7dcce6;
		color: #FFF;
}
main article .copy{
	border:solid 1px #319dd0;
	/*border:solid 2px rgba(255,255,255,0);*/
	cursor:pointer;
	font-weight:normal;
	background-color:#f1fbff;
	border-radius:8px;
}
main article .copy:hover{
	/*border:solid 2px #319dd0;*/
	/*box-shadow:2px 2px 5px 0px #7dcce6 inset;*/
	box-shadow:0 0 5px 3px #7dcce6 inset;
}
main article .copy::before{
	content: "サンプルコード";
		background: #319dd0;
		color: #FFF;
}
main article .copy::after{
	content:"クリックでコピー";
	background-color:#319dd0;
	color:#fff;
	padding:3px 12px;
	position:absolute;
	right:10px;
	bottom:10px;
	font-size:10px;
	border-radius:15px;
}
main article .copy code{
	background-image:
	linear-gradient(90deg, rgba(237, 119, 128, 0) 0%, rgba(237, 119, 128, 0) 50%, #f1fbff 0%, #f1fbff 100%), linear-gradient(180deg, rgba(237, 119, 128, 0) 0%, rgba(237, 119, 128, 0) 95%, #7dcce6 100%);
	background-size: 8px 100%,100% 2em;
	line-height: 2;
}

/*コピーアラート*/
main article #copy-alert{
	display: none;
	background-color:#06F;
	color:#fff;
	padding:10px 20px;
	position:fixed;
	left:50%;
	top:50%;
	z-index:9999;
	transform:translate(-50%,-50%);
	border-radius: 10px;
	font-size:24px;
}


