/*
Theme Name: kpop-blog
Theme URI: http://example.com/your-theme
Description: k-popをレビューするサイトのためのテーマです
Author: kenichi
Version: 1.0
*/

/* 初期化 */
html, body, header, footer, div, article, p, a, ul, li{
    margin: 0px;
    padding: 0px;
}
img{ object-fit: cover; }
article p{
	margin: 3% 0;

}
ul li{
    list-style: none;
}
a{
    word-break: break-word;
    text-decoration: none;
}
a:hover{
   opacity: 0.33; 
}

/* body */
body{
    xbackground-color: #FaFaFe;
}

/* header */
header{
	border-bottom: solid 1px #ddd;
	background-color: #FaFaFe;
}
#header-inner{
    margin: 0 auto;
    width: 80%;
    padding: 2%;
    display: flex;
    background-color: #FaFaFe;
}

/* ------- headerlogo --------- */

#header-inner .block1{
    width: 55%;
}

#header-inner .block1 a{
    
  font-family:"Noto Sans JP", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-weight:800;
  font-size:clamp(24px,3.2vw,36px);
  line-height:1.1;
  margin:0;
  text-decoration:none;
  text-shadow: 0 2px 6px rgba(26, 115, 232, 0.4);
  background: linear-gradient(90deg,#8B5CF6,#EC4899,#06B6D4);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
/* ロゴ + タイトル + 説明文の横並び#dc3545 */
.block1{
  display:grid;
  grid-template-columns: auto 1fr; /* 左:ロゴ / 右:テキスト列 */
  align-items:center;
  column-gap:14px;
}

/* ロゴ */
.block1 .header-logo{
  width:48px; height:48px;
  border-radius:12px;
  object-fit:cover;
  grid-column:1;            /* 左カラムに固定 */
}

/* タイトルと説明文は右カラムに縦積み */
.block1 h1,
.block1 p{
  margin:0;
  grid-column:2;            /* 右カラムに配置（上下に自動で積まれる） */
}


/* 説明文 */
.block1 p{
    font-weight:500;
    text-shadow: 0 2px 6px rgba(26, 115, 232, 0.4);
    background: linear-gradient(90deg,#8B5CF6,#EC4899,#06B6D4);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* モバイル微調整 */
@media (max-width:600px){
  .block1{ column-gap:12px; }
  .block1 .header-logo{ width:40px; height:40px; }
}

#header-inner .block2{
    width: 60%;
}

#header-inner .block3{
    width: 20%;
}
#header-inner .block2 h1,#header-inner .block2 h1 a{
    font-size: 1.1em;
    font-weight: bold;
	text-align: center;
}

#header-inner .block2 p{
    font-size: 0.8em;
}

/*------- header logo -------*/




/* header-menu */
#main-menu{
    xborder-bottom: solid 1px #ddd;
}
.nav-menu ul{
    margin: 0 auto;
    width: 90%;
    padding: 1% 2%;
    
}
.nav-menu ul li{
    list-style: none;
    display: inline-block;
    margin-right: 2%;
}
.nav-menu ul li a{
    xcolor: #FFF;
}

/*/////////////////////////////////////////////////////////////////////////
// 3column
////////////////////////////////////////////////////////////////////////*/

/* main */
#wrapper{
    margin: 0 auto;
    width: 80%;
    display: flex;
    padding: 3% 1% 1% 1%;
}

#left-wrapper{
	display: flex;
}
#left-sidebar{
	width: 18%;
}

main{
    width: 80%;
    padding: 0 1% 1% 1%;
	overflow: hidden;
}

/* sidebar */
#sidebar{
    width: 18%;
	padding: 1% 0;
}
#sidebar .box, #left-sidebar .box{
    padding: 1% 3% 3% 3%;
    margin-bottom: 9%;
}
#sidebar h2, #left-sidebar h2{
    border-bottom: solid 1px #ddd;
    padding: 1% 3%;
	font-size: 0.9em;
}
#sidebar ul, #left-sidebar ul{
    padding: 0 6%;
}
#sidebar ul li, #left-sidebar ul li{
    font-size: 0.9em;
    margin: 2% 0;
}
#sidebar #searchform #s{
    width: 80%;
}

/* footer */
footer{
    padding: 1%;
    text-align: center;
    background-color: #383C45;
}
footer a{
    color: #FFF;
}


/****  ページネーション  ****/
.pagination{
	clear:both;
	line-height: 35px;
	text-align: center;
	margin: 5em 0;
}
.pagination span,
.pagination a {
	display:inline-block;
	line-height: 40px;
	text-align: center;
	padding-left: 4px;
	padding-right: 4px;
	margin-left: 8px;
	text-decoration: none;
	border-width: 1px;
	border-style: solid;
	min-width: 34px;
}
.pagination a:first-child{
	margin: 0;
}

.pagination .current, .pagination a:hover {
    color: #FFFFFF;
    background: #1c294d;
    opacity: 1;
}


/****  パンくず  ****/
.bread-wrap{
	min-height: 8px;
	padding: 0% 2%;
	color: #FFFFFF;
    background: #FF8000;
}
.bread{
	font-size: 0.84em;
	padding: 6px;
}
.bread i{
	margin-right: 2px;
}
.bread a{
	color: #FFFFFF;
	text-decoration: none;
}


/****  TOP&HOME戻るボタン  ****/
.ui_buttons{
	position: fixed;
	bottom: 15px;
	right: 20px;
	z-index: 10;
	
}
.ui_button{
	width: 36px;
	height: 30px;
	float: right;
	line-height: 20px;
	font-size: 24px;
	text-align: center;
	border-radius: 50%;
	margin-left: 8px;
	cursor: pointer;
	background: grey;
    color: #FFFFFF;
    padding-top: 8px;
}

/* //////////////////////////////////////////////////////////////////////////////
// homeページ
///////////////////////////////////////////////////////////////////////////// */

#home-page{
	padding: 0 3%;

}
#home-page article{
	margin-bottom: 5%;
	padding-bottom: 12%;
	border-bottom: 1px solid #ddd;
}

#home-page article h1{
	font-size: 1.5em;
	color: #64748B;
	color: red;
}
#home-page article img{
    width: 100%;
	max-height: 300px;
	object-fit: cover;
	margin: 2% 0 4% 0;
}

/* //////////////////////////////////////////////////////////////////////////////
// 一覧ページ
///////////////////////////////////////////////////////////////////////////// */

#loop-page{
    padding: 1% 0 3% 0;
}
#loop-page article{
	display: inline-block;
	width: 46%;
	margin: 0 3px 3% 3px;
    padding: 0 1% 2% 1%;
    background-color: #FFF;
    border: solid 1px #ddd;
    border-radius: 6px 6px;
}

#loop-page article img{
    width: 100%;
	height: 140px;
}

#loop-page article p{
    margin: 1% 2%;
}

#loop-page article h2{
    font-size: 0.8em;
    font-weight: bold;
    color: black;
    max-height: 74px;
	overflow: hidden;
}
#loop-page .loop-tags{
    margin-left: 6%;
}
#loop-page .loop-tags a{
    font-size: 13px;
    font-weight: bold;
    color: #FFF;
    background-color: black;
    border-radius: 6px 6px;
    padding: 1% 2%;
}

#loop-page article p img, #loop-page .twi-video video{
    width: 100%;
}
#loop-page .twi-video{
    text-align: center;
}


/*/////////////////////////////////////////////////////////////////////////////
// 投稿固定ページ
////////////////////////////////////////////////////////////////////////////*/

#contents-page {
    background-color: #FFF;
    padding: 0 3%;
	margin-bottom: 2%;
}
#contents-page article{
    overflow: hidden;
	padding-bottom: 3%;
}
#contents-page article p{
    line-height: 2.25rem;
}
#contents-page article h2, h3, h4, h5 {
    margin-top: 2em;
}

#contents-page article h1{
	font-size: 1.5em;
    max-height: 4.2em;
    overflow: hidden;
}
#contents-page article img, #contents-page article video{
	display: block;
	margin: 0 auto;
	margin-top: 2%;
	margin-bottom: 4%;
	width: 100%;
	max-height: 300px;
	
}
#contents-page article .jhcaption{
	margin: 5em 0 1em 0;
}
#contents-page article .widget{
    margin-bottom: 3%;
}

#contents-page .time-category, #contents-page .tags{
    margin: 2% 0;
}
#contents-page .time-category i:first-child{
    margin: 0 1px 0 0;
}
#contents-page .time-category i:nth-child(2){
    margin: 0 1px 0 2%;
}

#contents-page article .artcile-footer{
	margin: 4em 0 1em 0;
}

#contents-page iframe{
	display: block;
	width: 100%;
	margin: 0 auto;
	margin-top: 1%;
	margin-bottom: 2em;
	padding: 4% 0;

}


/****  前の記事&次の記事  ****/
.prev_next{
	margin: 6% 0 12% 0;
}
.prev,
.next{
	width: 46%;
}
.prev{
	float: left;
}
.next{
	text-align: right;
	float: right;
}
.prev_next_header{
	color: #666;
}


/**** 関連記事 ****/
.quarter_posts{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 2%;
}
.quarter_post{
	width: 24%;
}
.quarter_post h3{
	font-size: 0.9em;
}
.quarter_post .no_thumbnail{
	font-size: 0.8em;
}

.category_desc{
	width: 94%;
	max-width: 780px;
	color: #666;
	margin: 0 auto;
}


/* //////////////////////////////////////////////////////////////////////////
// その他・カラーリング
///////////////////////////////////////////////////////////////////////////*/

/* 上端にアクセントの細いグラデバー */
.site-topbar,
.site-bottombar{
  height: 14px; width: 100%;
  background: linear-gradient(90deg,#8B5CF6,#EC4899,#06B6D4);
}

/*広告注意書き*/
#ad-caution{
    background: #4E5561;
    color: #FFF;
    padding: 0.6em;
    font-size: 0.6em;
    font-weight: bold;
    text-align: center;
}
.blue {
  color: #007bff; /* Bootstrapの青色 */
}

/* 赤 (赤) */
.red {
  color: #dc3545; /* Bootstrapの赤色 */
}


main .widget{ margin: 3% 0;}

#contents-page article h1{ color: #dc3545; }
#loop-page article h2{
    font-weight:500;
    background: linear-gradient(90deg,#8B5CF6,#EC4899,#06B6D4);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
#sidebar a, #left-sidebar a{ color: inherit; }
#sidebar h2, #left-sidebar h2, #left-sidebar h4{ color: #dc3545; }

#contents-page .link, #contents-page .video-link, #contents-page .video-click{
	background: #FF8000;
}
.bread-wrap{ background: #64748B; }

#contents-page article h1, #home-page article h1, #sidebar h2, #left-sidebar h2, #left-sidebar h4{ 
    text-shadow: 0 2px 6px rgba(26, 115, 232, 0.4);
    background: linear-gradient(90deg,#8B5CF6,#EC4899,#06B6D4);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;    
}

/* //////////////////////////////////////////////////////////////////////////
// tablet&sp
///////////////////////////////////////////////////////////////////////////*/


/*  tablet  */

@media screen and (max-width: 800px){
	
	#header-inner .block1{
		width: 50%;
	}
	
	#wrapper{
		display: block;
		width: 100%;
    }
	#left-wrapper{
        width: 100%;
    }
	
	#loop-page article{
		width: 43%;
    }
	.prev_next{
		height: 300px;
		margin: 6% 0 3% 0;
    }
    .prev_next div{
		max-height: 300px;
		overflow: hidden;
    }
	#sidebar{
		width: auto;
	}
	
}

/* sp */
@media screen and (max-width: 500px){
	
    #header-inner{
        display: block;
    }
    #header-inner .block1{
        width: auto;
		text-align: center;
    }
    #left-wrapper{
        display: block;
        width: auto;
    }
	#left-sidebar{
        width: auto;
    }
	#loop-page{
		display: block;
    }
	main{
        width: auto;
    }

}

