@charset "UTF-8";

/* - - - - - Single Post, Recommendations - - - - - */

.wrap-in {
	margin:0 auto;
}

.post-content {
	margin:0 auto 20px auto;
	background-color:#ffffff;
	overflow:auto;
	max-width:1200px;
	width:100%;
}

.post-content .thumbnail {
	margin:0 0 30px 0;
}

.post-content .thumbnail img {
	display:block;
	width:100%;
	height:auto;
}
	
.post-content .information {
	margin:0 30px;
}

.post-content ul.post-categories {
	display:block;
	margin:0 0 20px 0;
	float:left;
}

.post-content ul.post-categories li {
	display:inline-block;
	margin:0 10px 0 0;
	list-style:none;
	float:left;
}

.post-content ul.post-categories li a {
	font-size:16px;
	line-height:1;
	color:#888888;
	text-decoration:none;
}

.post-content ul.post-categories li a:before {
	content:'＃';
	margin:0 0px 0 0;
	font-weight:bold;
}

.post-content .tag {
	float:right;
}

.post-content .tag a {
	display:block;
	float:right;
	font-size:16px;
	line-height:1;
	color:#888888;
	text-decoration:none;
}

.post-content .tag a:before {
	content:'@';
	font-weight:bold;
}

.post-content .title {
	margin:0 auto 20px auto;
	line-height:1;
	font-size:36px;
	clear:both;
}

.post-content .detail{
	margin:0 auto 30px auto;
	color:#888888;
	text-align:right;
	float:right;
}

.post-content .detail .time {
	display:inline-block;
}

.post-content .detail .author {
	display:inline-block;
}

.post-content .share {
	float:left;
	overflow:auto;
}

.post-content .share a	{
	display:block;
	text-decoration:none;
	font-size:24px;
	line-height:1;
	float:left;
	margin:0 12px 0 0;
}

.post-content .share a:hover {
		text-shadow:
		1px -0px 0 #00A1D2,
		-1px 0px 0 #FC2792;
}

.post-content .share a.tw {
	color:#1da1f2;
	color:#000000;
}

.post-content .share a.fb {
	color:#3b5998;
	color:#000000;
}

.post-content .share a.line {
	color:#00c300;
	color:#000000;
}

.post-content .share a.hateb {
	color:#008fde;
}

.post-content .article {
	margin: 0 30px 20px 30px;
}


.post-content .article .wp-block-embed.is-type-video {
	margin:0 auto 20px auto;
	overflow:hidden;
	border-radius:10px;
	box-shadow:0px 1px 2px 0px rgba(60,64,67,.3), 0px 1px 3px 1px rgba(60,64,67,.15);
}


.post-content .article .wp-block-embed__wrapper {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
}

.post-content .article .wp-block-embed iframe {
	width: 100%;
	height: 100%;
}

.post-content .article p {
	font-size:18px;
	line-height:30px;
	margin:0 auto 20px auto;
	max-width:700px;
}
	
.post-content .article p a:hover {
	color:#000000;
	text-shadow:
	1px 0px 0 #00A1D2,
	-1px -0px 0 #FC2792;
}

.post-content .article p.caution {
	padding:15px;
	border:solid 1px #ff7070;
	font-size:16px;
}


.post-content .article p.attention {
	padding:15px;
	border:solid 1px #888888;
	font-size:16px;
	color:#444444;
}

.post-content .article h2 {
	border-left: 6px solid #e70314;
	color: #111111;
	margin: 40px auto 20px auto;
	padding: 10px 20px;
	font-size: 30px; /* 24pxから拡大 */
	line-height: 1.4;
	text-align: left;
    max-width: 700px;
}

.post-content .article h3 {
	font-size:26px;
	line-height:1;
	margin:30px auto;
	max-width:700px;
}
	
.post-content .article h3.poetic {
		margin: 0px 30px 20px -30px;
		padding: 18px 33px 20px 30px;
		background-color: #000000;
		color: #ffffff;
		font-weight: normal;
		float: left;
		font-style: italic;
}

.post-content .article .wp-block-image {
	background-color:#eeeeee;
	overflow:auto;
	margin:0 auto 20px auto;
}

.post-content .article .wp-block-gallery {
	background-color:#eeeeee;
	overflow:auto;
	margin:0 auto 20px auto;
}

.post-content .article .wp-block-image img {
	display:block;
	max-width:100%;
	min-width:50%;
	height:auto;
	margin:0 auto;
	
}

.post-content .article blockquote {
	background-color: #f9f9f9;
	border-left: 5px solid #e70314;
	font-style: italic;
	margin: 30px auto;
	padding: 25px 30px;
	max-width: 700px;
	color: #555;
	border-right: none;
}

.post-content .article blockquote p {
	margin-bottom: 1em;
}

.post-content .article blockquote p:last-of-type {
	margin-bottom: 0;
}

.post-content .article blockquote cite {
	display: block;
	text-align: right;
	color: #666;
	font-style: normal;
	font-weight: bold;
	margin-top: 1em;
}

/* Pullquote Styles */
.post-content .article .wp-block-pullquote {
    border-top: 3px solid #e70314;
    border-bottom: 3px solid #e70314;
    color: #333;
    padding: 30px 0;
    margin: 30px auto;
    max-width: 700px;
    text-align: center;
}

.post-content .article .wp-block-pullquote blockquote {
    border: none;
    padding: 0;
    margin: 0;
    font-style: normal;
    background: none;
    max-width: 100%;
}

.post-content .article .wp-block-pullquote p {
    font-size: 24px;
    line-height: 1.6;
    font-weight: bold;
    margin-bottom: 0.5em;
}

.post-content .article .wp-block-pullquote cite {
    font-size: 14px;
    text-transform: uppercase;
    color: #666;
    font-style: normal;
    font-weight: normal;
}

/* Code Blocks */
.post-content .article pre {
    background-color: #2d2d2d; /* Dark background */
    color: #f1f1f1; /* Light text */
    border: none; /* Remove old border */
    border-radius: 6px;
    padding: 20px;
    margin: 30px auto;
    max-width: 700px;
    overflow-x: auto; /* Allow horizontal scrolling */
    line-height: 1.5;
    font-size: 14px;
    white-space: pre; /* Keep preformatting */
}

.post-content .article code {
    font-family: "Courier New", Courier, monospace;
}

/* Inline Code */
.post-content .article p > code,
.post-content .article li > code {
    background-color: #f0f0f0;
    color: #c7254e; /* Dark pink/red for contrast */
    padding: 2px 4px;
    border-radius: 4px;
    font-size: 90%;
}

.post-content .article h4,
.post-content .article h5,
.post-content .article h6,
.post-content .article .wp-block-verse {
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 20px;
}

/* Details/Accordion Styles */
.post-content .article .wp-block-details {
    background-color: #f9f9f9;
    border: 1px solid #ddd;
    border-radius: 6px;
    margin: 30px auto;
    max-width: 700px;
}

.post-content .article details > summary {
    padding: 15px 20px 15px 40px; /* Add left padding for marker */
    font-weight: bold;
    cursor: pointer;
    position: relative;
    list-style: none; /* Remove default marker */
}

.post-content .article details > summary::-webkit-details-marker {
    display: none; /* Remove default marker for Chrome */
}

.post-content .article details > summary::before {
    content: '▶';
    position: absolute;
    left: 20px;
    top: 50%;
    transform: translateY(-50%) rotate(0deg);
    transition: transform 0.2s;
    font-size: 10px;
    color: #e70314; /* Accent color */
}

.post-content .article details[open] > summary {
    border-bottom: 1px solid #ddd;
}

.post-content .article details[open] > summary::before {
    transform: translateY(-50%) rotate(90deg);
}

.post-content .article details p {
	margin:0;
	padding:20px;
}

.post-content .article .wp-block-details > div { /* WP uses a div inside for content */
    padding: 20px;
}

/* Table Styles */
.post-content .article .wp-block-table {
    margin-top: 30px;
    margin-bottom: 30px;
}

.post-content .article table {
    width: 100%;
    border-collapse: collapse;
    font-size: 16px;
}

.post-content .article th, 
.post-content .article td {
    border: 1px solid #ddd;
    padding: 12px 15px;
    text-align: left;
}

.post-content .article th {
    background-color: #f2f2f2;
    font-weight: bold;
}

.post-content .article tr:nth-child(even) {
    background-color: #f9f9f9;
}

.post-content .article tr:hover {
    background-color: #f1f1f1;
}

.post-content .article ul, .post-content .article ol {
	margin:0 auto 20px auto;
	max-width:700px;
}

.post-content .article li {
	margin-left:30px;
	font-size:18px;
	line-height:30px;
}
	
.next h2 {
	display:block;
	font-size:24px;
	line-height:1;
	padding:20px;
	background-color:#000000;
	color:#ffffff;
}

.next h2 i {
	padding:0 12px 0 0;
}

.next-post {
	border-top:solid 1px #888888;
}

.next-post h3 {
	display:block;
}

.next-post h3 a {
	display:block;
	padding:20px;
	font-size:18px;
	line-height:1;
	color:#000000;
	text-decoration:none;
}

.next-post h3 a:hover {
	text-shadow:
		0.5px 0px 0 #00A1D2,
		-0.5px 0px 0 #FC2792;
}
	
.recommend-height {
	clear:both;
	max-width: 1200px;
	margin: 0 auto 20px auto;
}

.recommend {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
}

.recommend-post {
	position:relative;
	flex: 0 0 calc(25% - 15px); /* 4 columns with 20px gap */
	max-width: calc(25% - 15px);
	height:255px;
}


.recommend-post thumbnail {
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:0;
}

.recommend-post .thumbnail img {
	display:block;
	width:100%;
	height:auto;
}

.recommend-post .title {
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:0;
	background-color:rgba(0,0,0,0.1);
}

.recommend-post .title h3 {
	display:block;
	bottom:20px;
	right:20px;
	left:20px;
	position:absolute;
}

.recommend-post h3 a {
	text-decoration:none;
	color:#ffffff;
	font-size:25px;
	line-height:30px;
	text-shadow:0px 1px 2px rgba(60,64,67,.3), 0px 1px 3px rgba(60,64,67,.15);
}

.recommend-post:hover h3 a {
	text-decoration:underline;
}

/* SP */
@media screen and (max-width: 639px) {
	.post-content {
		margin:0 auto 15px auto;
		background-color:#ffffff;
		width: auto;
		max-width: 100%;
	}
	
	.post-content .thumbnail {
		margin:0 0 15px 0;
	}
	
	.post-content .thumbnail img {
		display:block;
		width:100%;
		height:auto;
	}
		
	.post-content .information {
		margin:0 15px 0 15px;
	}
	
	.post-content ul.post-categories {
		display:block;
		margin:0 0 15px 0;
		float:left;
	}
	
	.post-content ul.post-categories li {
		display:inline-block;
		margin:0 5px 0 0;
		list-style:none;
		display:block;
		float:left;
	}
	
	.post-content ul.post-categories li a {
		font-size:12px;
		line-height:1;
		color:#888888;
		text-decoration:none;
	}
	
	.post-content ul.post-categories li a:before {
		content:'＃';
		margin:0 0px 0 0;
		font-weight:bold;
	}
	
	.post-content .tag {
		float:right;
	}
	
	.post-content .tag a {
		display:block;
		float:right;
		color:#888888;
		text-decoration:none;
		font-size:12px;
		line-height:1;
		
	}
	
	.post-content .tag a:before {
		content:'@';
		font-weight:bold;
	}
	
	.post-content .title {
		margin:0 0 15px 0;
		line-height:1;
		font-size:26px;
		clear:both;
	}
	
	.post-content .detail{
		margin:0 auto 20px auto;
		color:#888888;
		text-align:right;
		float:right;
		font-size:12px;
		line-height:20px;
	}
	
	.post-content .detail .time {
		display:inline-block;
	}
	
	.post-content .detail .author {
		display:inline-block;
	}
	
	.post-content .share {
		float:left;
		overflow:auto;
	}
	
	.post-content .share a	{
		display:block;
		text-decoration:none;
		font-size:20px;
		line-height:1;
		float:left;
		margin:0 10px 0 0;
	}
	
	.post-content .share a:hover {
			text-shadow:
			1.5px 0px 0 #00A1D2,
			-1.5px -0px 0 #FC2792;
	}
	
	.post-content .share a.tw {
		color:#1da1f2;
		color:#000000;
	}
	
	.post-content .share a.fb {
		color:#3b5998;
		color:#000000;
	}
	
	.post-content .share a.line {
		color:#00c300;
		color:#000000;
	}
	
	.post-content .share a.hateb {
		color:#008fde;
	}
	
	.post-content .article {
		padding: 0 15px 15px 15px;
	}

    .post-content .article p,
    .post-content .article h3,
    .post-content .article h4,
    .post-content .article h5,
    .post-content .article h6,
    .post-content .article ul,
    .post-content .article ol,
    .post-content .article blockquote,
    .post-content .article pre,
    .post-content .article .wp-block-details,
    .post-content .article .wp-block-verse,
    .post-content .article .wp-block-table {
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
    }
	
	.post-content .article p {
		font-size:16px;
		line-height:30px;
		margin:0 0 15px  0;
	}
		
	.post-content .article p.caution {
		padding:10px;
		font-size:14px;
		border:solid 1px #ff7070;
	}
	
	.post-content .article p.attention {
		padding:10px;
		border:solid 1px #888888;
		font-size:14px;
		color:#444444;
	}
	
	.post-content .article p a:hover {
		color:#000000;
		text-shadow:
		1px 0px 0 #00A1D2,
		-1px -0px 0 #FC2792;
	}
	
	.post-content .article h2 {
		font-size: 24px;
		line-height: 1.4;
		margin: 30px auto 15px auto;
		padding: 8px 15px;
	}
	
	.post-content .article h3 {
		font-size:20px;
		line-height:1;
		margin:15px 0;
		}
		
	.post-content .article h3.poetic {
		max-width:65%;
		float:left;
		margin:0 30px 15px -15px;
		color:#FFFFFF;
		background-color:#000000;
		padding:20px;
	}
		
	post-content .article figure.wp-block-embed {
		max-width:100%;
		height:auto;
	}
	
	.post-content .article .wp-block-image {
		background-color:#eeeeee;
		overflow:auto;
	}
	
	.post-content .article .wp-image-block img {
		display:block;
		max-width:100%;
		min-width:50%;
		height:auto;
		margin:0 auto;
	}
	
	.post-content .article blockquote {
		border:solid 1px #000000;
		border-right:solid 3px #000000;
		font-style:italic;
		margin:0 0 15px 0;
		padding:15px;
	}
	
	.post-content .article blockquote cite {
		display:block;
		text-align:right;
		color:#888888;
	}
	
	.post-content .article pre {
		border:solid 1px #888888;
		margin:0 0 15px 0;
		padding:15px;
		line-height:1;
		font-size:14px;
	}
	
	.post-content .article ul, .page-content .article ol {
		margin:0 0 15px 0;
	}
	
	.post-content .article li {
		margin-left:30px;
		font-size:18px;
		line-height:32px;
	}
		
	.next h2 {
		display:block;
		font-size:26px;
		line-height:1;
		padding:15px;
		background-color:#000000;
		color:#ffffff;
	}
	
	.next h2 i {
		padding:0 12px 0 0;
	}
	
	.next-post {
		border-top:solid 1px #888888;
	}
	
	.next-post h3 {
		display:block;
	}
	
	.next-post h3 a {
		display:block;
		padding:15px;
		font-size:18px;
		line-height:1;
		color:#000000;
	}
	
	.next-post h3 a:hover {
		text-decoration:none;
	}
	
	.recommend-height {
		clear:both;
	}
	
	.recommend-height {
		max-width: 100%;
		margin: 0 auto 15px auto;
	}

	.recommend {
		margin:0;
		gap: 15px;
	}
	
	.recommend-post {
		position:relative;
		flex: 0 0 calc(50% - 7.5px);
		max-width: calc(50% - 7.5px);
	}
	
	.recommend-post thumbnail {
		position:absolute;
		top:0;
		right:0;
		bottom:0;
		left:0;
	}
	
	.recommend-post .thumbnail img {
		display:block;
		width:100%;
		height:auto;
	}
	
	.recommend-post .title {
		position:absolute;
		top:0;
		right:0;
		bottom:0;
		left:0;
		background-color:rgba(0,0,0,0.1);
	}
	
	.recommend-post .title h3 {
		display:block;
		bottom:10px;
		right:10px;
		left:10px;
		position:absolute;
	}
	
	.recommend-post h3 a {
		text-decoration:none;
		color:#ffffff;
		font-size:16px;
		line-height:24px;
		text-shadow:0px 1px 2px rgba(60,64,67,.3), 0px 1px 3px rgba(60,64,67,.15);
	}
	
	.recommend-post:hover h3 a {
		text-decoration:underline;
	}
}

/* Common */
