@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/
.body {
	font-family: "Zen Old Mincho", serif;
  	font-weight: 400;
}
.main,
.sidebar {
	background-color: transparent;
}
.cat-label {
	border: none;
}
/* fv */
.header-in {
	justify-content: end;
}
.logo-text {
	padding-bottom: 10px;
}
.site-name-text {
	font-family: "Lora", serif;
	font-weight: 400;
	font-size: 60px;
	letter-spacing: 0.05em;
}
.tagline {
	margin: 0;
	font-size: 16px;
}
/* ヘッダーメニュー */
.item-label {
	font-family: "Lora", serif;
	letter-spacing: 0.05em;
}
.header-container-in.hlt-top-menu .site-name-text {
	display: none;
}
/* 固定ページ */
.wrap:has(.page) {
	max-width: 1060px;
	width: 100%;
}
.page .post-date,
.page .post-update{
	display: none;
}
.page .new-entry-card-link .post-date {
	display: block;
}
.article .page_ttl {
	background-color: transparent;
    color: #291b08;
    border-bottom: 1px solid #291b08;
    padding-left: 0;
    border-radius: 0;
	padding-bottom: 10px;
	margin-bottom: 20px;
	display: flex;
}
.article .page_ttl > span {
	display: flex;
}
.article .page_ttl__en {
	font-family: "Lora", serif;
    font-weight: 500;
    font-size: 30px;
	letter-spacing: 0.05em;
}
.article .page_ttl__jp {
	font-size: 16px;
	display: flex;
	align-items: center;
	margin-left: 30px;
}
.article .page_ttl__jp::before,
.article .page_ttl__jp::after {
	content: "";
	background-color: #291b08;
	width: 10px;
	height: 1px;
	display: inline-block;
}
.article .page_ttl__jp::before {
	margin-right: 10px;
}
.article .page_ttl__jp::after {
	margin-left: 10px;
}
.new-entry-cards {
	display: flex;
	gap: 5%;
	flex-wrap: wrap;
}
.widget-entry-cards .a-wrap {
	padding: 0;
	margin: 0;
}
.widget-entry-cards.card-large-image .a-wrap {
	max-width: 30%;
}
.wp-block-buttons .wp-block-button__link {
	background-color: #fff;
    color: #8b0000;
    border-radius: 50px;
    padding: 10px 50px;
    border: 1px solid #8b0000;
    font-family: "Lora", serif;
    font-weight: 400;
    font-size: 14px;
	transition: 0.5s;
	letter-spacing: 0.05em;
}
@media (hover: hover) {
		.wp-block-buttons .wp-block-button__link:hover {
			background-color: #8b0000;
			color: #fff;
			transition: 0.5s;
	}
}
/* 固定ページ > topページ */
.content:has(.post-1131) {
	margin-top: 0;
}
.post-1131 .entry-title {
	display: none;
}
.entry-content p.lead {
	margin-bottom: 70px;
}
.lead {
	text-align: center;
	font-size: 14px;
	position: relative;
}
.lead::before,
.lead::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 380px;
}
.lead::before {
	border-top: 2px dotted #291b08;
	top: -20px;
}
.lead::after {
	border-bottom: 2px dotted #291b08;
	bottom: -20px;
}
.entry-content .new-entry-card-thumb {
  position: relative;
}
.entry-content .new-entry-card-thumb .cat-label {
    position: absolute;
    top: inherit;
    bottom: -28px;
	letter-spacing: 0.1em;
    color: #8b0000;
    background-color: #f7f4f0;
    border: 0.5px solid #8b0000;
	font-size: 12px;
}
.entry-content .widget-entry-cards.card-large-image .card-content {
	padding: 0 0 13px;	
}
.entry-content .new-entry-card-content {
	display: flex;
	flex-direction: column;
	border-bottom: 0.5px solid #291b08;
}
.entry-content .new-entry-card-title {
	border-top: 0.5px solid #291b08;
	padding-top: 10px;
	margin-top: 8px;
	letter-spacing: 0.05em;
}
.entry-content .new-entry-card-snippet {
	letter-spacing: 0.05em;
}
.entry-content .new-entry-card-meta {
	order: -1;
	margin-left: auto;
    display: flex;
    gap: 12px;
}
/* フッター */
.footer-title {
	font-family: "Lora", serif;
    font-weight: 400;
	border-bottom: 1px solid #291b08;
	padding-bottom: 5px;
	margin-bottom: 10px;
	letter-spacing: 0.05em;
}
.footer .new-entry-cards {
	display: block;
}
.footer .cat-label {
	display: none;
}
.footer .widget-entry-card-title {
	font-size: 14px;
}
.a-wrap:hover{
    opacity: 0.7;
	background-color: transparent;
}
.author-box {
	border-style: none;
}
.nwa .author-box .author-content {
	padding: 0;
}
.nwa .author-box .author-thumb {
	width: 150px;
}
.author-box .author-name {
	margin-top: 15px;
	margin-bottom: 15px;
}
.author-name a {
	text-decoration: none;
	color: #291b08;
}
.author-box p {
	line-height: 1.5;
    font-size: 14px;
    letter-spacing: 0.05em;
}
.sns-follow-buttons {
	display: none;
}
.footer .site-name-text {
	color: #8b0000;
}
/* サイドバー */
.sidebar h3 {
	background-color: transparent;
	color: #8b0000;
	font-family: "Lora", serif;
	font-weight: 400;
	letter-spacing: 0.05em;
	text-align: center;
	position: relative;
}
.sidebar h3::before,
.sidebar h3::after {
	content: '';
    position: absolute;
    top: 50%;
    width: 25%;
    border-top: 2px solid #8b0000;
}
.sidebar h3::before {
	left: 0;
}
.sidebar h3::after {
	right: 0;
}
select {
	color: #291b08;
	opacity: 0.8;
	font-family: "Zen Old Mincho", serif;
	border: none;
}
/* アーカイブページ */
.breadcrumb {
	color: #8b0000;
}
.breadcrumb a {
	color: #8b0000;
}
h1.archive-title {
	font-size: 24px;
	font-family: "Lora", serif;
	font-weight: 400;
	letter-spacing: 0.05em;
}
.type-post .cat-label {
	position: absolute;
    top: inherit;
    bottom: -25px;
    letter-spacing: 0.1em;
    color: #8b0000;
    background-color: #f7f4f0;
    border: 0.5px solid #8b0000;
    font-size: 12px;
	line-height: 1.3;
}
.type-post .entry-card-content .entry-card-meta {
	order: -1;
    margin-left: auto;
    display: flex;
    gap: 12px;
	margin-top: 0;
	padding-top: 0;
}
.type-post .entry-card-content {
	border-bottom: 0.5px solid #291b08;
	padding: 0 0 13px;
}
.type-post .entry-card-title {
	border-top: 0.5px solid #291b08;
    padding-top: 10px;
    margin-top: 8px;
}
.type-post .entry-card-snippet {
	margin-bottom: 15px;
}
.pagination-next-link {
  display: none;
}
.page-numbers{
	border-radius: 50%;
	background-color: #ffffff;
    border-color: #8b0000;
	color: #8b0000;
}
.page-numbers.dots {
	background-color: #ffffff;
    border-color: #8b0000;
	color: #8b0000;
	opacity: 1;
}
.pagination .current {
    background-color: #F2CECE;
    border-color: #8b0000;
}
@media (hover: hover) {
	.pagination a:hover {
		background-color: #8b0000;
		color: #fff;
		transition: 0.5s;
	}
}
/* 個別記事 */
/* .entry-categories-tags {
	margin-top: -35px;
}
.entry-categories-tags .cat-link {
	border: solid 0.5px #8b0000;
    background-color: transparent;
    color: #8b0000;
} */
.toc {
	padding: 2em 3em 2em;
    border: none;
	--main-sub-color: #8b0000;
	--main-light-color: #F3EDEA; 
    border-top: 4px double var(--main-sub-color);
    border-bottom: 4px double var(--main-sub-color);
    background: linear-gradient(-45deg, transparent 25%, var(--main-light-color) 25%, var(--main-light-color) 50%, transparent 50%, transparent 75%, var(--main-light-color) 75%, var(--main-light-color));
    background-size: 4px 4px;
    background-clip: padding-box;
}
.toc-list li {
	padding-bottom: 5px;
	padding-left: 2em;
	position: relative;
}
.toc .toc-content ul li:before {
    font-family: "Font Awesome 5 Free";
    content: "\f138";
    position: absolute;
    left: .5em;
    color: #8b0000;
    font-weight: 900;
}
.toc .toc-content ul li>ul>li {
	position: relative;
}
.toc .toc-content ul li>ul>li:before {
    font-family: "Font Awesome 5 Free";
    content: "\f105";
    position: absolute;
    left: .5em;
    color: #8b0000;
    font-weight: 900;
}
.toc .toc-content ul li>ul {
	position: relative;
}
.toc .toc-content ul li>ul:before {
    content: "";
    height: 100%;
    width: 1px;
    left: -1em;
    position: absolute;
    background-color: #8b0000;
    opacity: .5;
}
.single .entry-content h2 {
	background-color: transparent;
	color: #8b0000;
    border-bottom: solid 3px #F2CECE;
    position: relative;
	padding-left: 0;
}
.single .entry-content h2 :after {
	position: absolute;
	content: " ";
	display: block;
	border-bottom: solid 3px #8b0000;
	bottom: -3px;
	width: 20%;
}
.single .entry-content h3 {
	border: none;
	padding: 0.15em 0.5em;
	background: transparent;
	border-left: solid 5px #8b0000;
	margin-bottom: 20px;
}
.pager-post-navi {
	flex-direction: row;
	border-top: solid 0.5px #8b0000;
    border-bottom: solid 0.5px #8b0000;
}
.pager-post-navi .a-wrap {
	width: 50%;
}
.pager-post-navi a .iconfont {
    font-size: 0.8em;
    color: #8b0000;
}
.related-entries .cat-label {
	display: none;
}
.comment-btn {
	font-family: "Zen Old Mincho", serif;
	color: #8b0000;
	border-color: #8b0000;
	background-color: #ffffff;
}
@media (hover: hover) {
	.comment-btn:hover {
		background-color: #8b0000;
		color: #fff;
		transition: 0.5s;
	}
}

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
}

/*834px以下*/
@media screen and (max-width: 834px){
  /*必要ならばここにコードを書く*/
	#header .site-name-text {
        font-size: 40px;
    }
	.lead::before,
	.lead::after {
	 	width: 300px;
	}
	.mobile-menu-buttons .menu-caption {
		font-family: "Lora", serif;
		letter-spacing: 0.1em;
	}
}

/*750px以下*/
@media screen and (max-width: 750px){
	.body .block-box {
		margin-bottom: 10px;
	}
	main.main {
		padding-bottom: 0;
	}
	.article .page_ttl {
		max-width: 400px;
		margin-inline: auto;
	}
	.widget-entry-cards.card-large-image .a-wrap {
		max-width: 400px; 
		margin: 0 auto;
	}
	.article .page_ttl__en {
		font-size: 24px;
	}
	.article .page_ttl__jp {
		font-size: 13px;
	}
	.widget-entry-cards.card-large-image .card-content {
		margin-bottom: 20px;
	}
	.body .wp-block-buttons {
		margin-bottom: 60px;
	}
	.footer {
		margin: 0;
		padding: 0;
	}
	h1.archive-title {
		font-size: 18px;
	}
}

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
	.logo-header img {
		padding: 0 30px;
	}
	.pager-post-navi a figure {
		display: none;
	}
	.entry-title {
		padding-left: 0;
	}
}