/*
Theme Name: Zukan
Theme URI:
Description: Zukan WordPress Theme
Template: fukasawa
Author:
Author URI:
Version: 1.0
*/


/* ==========================================================================
	 common
========================================================================== */
body {
	background: #ece8de;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 16px;
	color: #333;
}

body a, .widget_fukasawa_recent_posts a:hover .title, .widget_fukasawa_recent_comments a:hover .title {
	transition: all 0.4s ease-in-out;
}

::selection {
	background: rgba(140,139,63,.3);
	color: #333;
}
::-moz-selection {
	background: rgba(140,139,63,.3);
	color: #333;
}

.pc {
	display: none;
}
.sp {
	display: block;
}

@media screen and (min-width: 768px) {
	.pc {
		display: block;
	}
	.sp {
		display: none;
	}
}


.main-menu a {
	font-size: 14px;
	color: #333;
}
.main-menu:before, .widgets:before, .widget + .widget:before, .credits:before {
	background: none;
	height: 0;
}


/* SPメニュー */
.mobile-menu {
	padding: 5% 5% 6.5% 5%;
}
.mobile-navigation {
	background: #898567;
}
.mobile-menu a {
	color: #fff;
}
span.menu {
	display:none;
}
.mobile-index {
	margin-bottom: 20px;
	padding-bottom: 8px;
	border-bottom: 1px solid #fff;
	font-size: 16px;
	font-weight: 700;
	color: #fff;
}
.mobile-index::before {
	content: '';
	display: inline-block;
	width: 20px;
	height: 20px;
	margin-right: .3em;
	vertical-align: -4px;
	background-image: url(/_config/wp/wp-content/themes/zukan/assets/img/icon_book_white.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}
.mobile-description {
	margin-bottom: 30px;
	font-size: 11px;
	color: #fff;
	line-height: 2;
	letter-spacing: .05em;
}

@media ( max-width: 500px ) {
	.mobile-menu li {
		margin-top: 15px;
	}
	.mobile-menu li.menu-item-48,
	.mobile-menu li.menu-item-1468,
	.mobile-menu li.menu-item-1469 {
		margin-top: 10px;
		font-size: 12px;
	}
	.mobile-menu li.menu-item-48 {
		margin-top: 18px;
		padding-top: 20px;
		border-top: 1px solid #fff;
	}
}


/* ハンバーガーメニュー */
.nav-toggle .bars {
	height: 15px;
	width: 20px;
}
.nav-toggle .bar {
	width: 20px;
}
.nav-toggle.active {
	background-color: #323232 !important;
}
.nav-toggle .bar:nth-child(2) {
	top: 6px;
}
.nav-toggle .bar:nth-child(3) {
	top: 12px;
}


/* PC もくじ */
@media screen and (min-width: 768px) {
	.blog-index {
		margin-top: 50px;
		margin-bottom: 20px;
		padding-bottom: 8px;
		border-bottom: 1px solid #333;
		font-size: 16px;
		font-weight: 700;
	}
	.blog-index::before {
		content: '';
		display: inline-block;
		width: 22px;
		height: 22px;
		margin-right: .2em;
		vertical-align: -5px;
		background-image: url(/_config/wp/wp-content/themes/zukan/assets/img/icon_book_black.svg);
		background-position: center;
		background-repeat: no-repeat;
		background-size: contain;
	}
	.blog-description {
		padding-top: 10px;
		font-size: 11px;
		line-height: 2;
		letter-spacing: .05em;
	}
	.main-menu li.menu-item-48,
	.main-menu li.menu-item-1468,
	.main-menu li.menu-item-1469 {
		margin-top: 10px;
	}
	.main-menu li.menu-item-48 {
		margin-top: 18px;
		padding-top: 20px;
		border-top: 1px solid #333;
	}
	.main-menu li.menu-item-48 a,
	.main-menu li.menu-item-1468 a,
	.main-menu li.menu-item-1469 a {
		font-size: 13px;
	}
}

@media (max-width: 1000px) {
	/* サイドバー */
	.sidebar {
		padding: 10px 5% 12px;
	}

	/* SPロゴ */
	.blog-logo img {
		max-height: 35px;
	}
}


/* コピーライト */
.credits p {
	font-size: 11px;
}
.credits p:nth-child(n+2) {
	display: none;
}


/* ==========================================================================
	 キービジュアル
========================================================================== */
.keyvisual {
	margin-bottom: 50px;
}

@media screen and (min-width: 768px) {
	.keyvisual {
		margin-bottom: 60px;
	}
}


/* ==========================================================================
	 投稿ページ
========================================================================== */

/* 記事本文 */
.post-inner {
	position: relative;
	padding: 10% 0 10%;
}

@media (max-width: 600px) {
	.post.single .post-inner {
		padding-top: 80px;
	}
}

/* 記事見出し */
.posts .post-title {
	font-size: 1.15em;
	line-height: 120%;
	color: #333;
	word-break: break-word;
	-ms-word-break: break-word;
}

.post.single .post-title {
	margin-bottom: 15px;
	font-size: 1.8em;
	line-height: 1.6;
}
@media (max-width: 600px) {
	.post.single .post-title {
		font-size: 1.6em;
	}
}

.post-content h1, .post-content h2, .post-content h3, .post-content h4, .post-content h5, .post-content h6 {
	margin: 2.5em 0 .75em 0;
}

.post-content h1 {
	font-size: 1.8em;
}
.post-content h2 {
	padding-top: .6em;
	padding-right: .7em;
	padding-bottom: .7em;
	padding-left: .7em;
	background-color: #f7f7f7;
	border-left: 3px solid #898567;
	font-size: 1.4em;
}
.post-content h3 {
	padding-bottom: .5em;
	border-bottom: 1px solid #333;
	font-size: 1.4em;
}
.post-content h4 {
	padding-bottom: .1em;
	padding-left: .5em;
	border-left: 4px solid #898567;
	font-size: 1.3em;
}
.post-content h5 {
	font-size: 1.2em;
}
.post-content h5::before {
	content: '■';
	padding-right: .2em;
	color: #898567;
}
.post-content h6 {
	font-size: 1.1em;
}
.post-content h6::before {
	content: '●';
	padding-right: .1em;
	color: #898567;
}

.post-content p, .post-content blockquote, .post-content address, .post-content dl, .post-content .wp-caption, .post-content pre {
	margin-bottom: 1em;
	line-height: 180%;
}

.post-content a {
	text-decoration: underline;
}
.post-content a:hover {
	text-decoration: none;
}

.post-content li a {
	text-decoration: none;
}

.post-navigation a:hover {
	background: #898567;
}


/* ==========================================================================
	 アーカイブページ
========================================================================== */
.page-title {
	color: #333;
	padding: 0 0 15px;
}

@media (max-width: 600px) {
	.page-title {
		padding-bottom: 25px;
	}
}

.archive-title {
	padding-bottom: 10px;
	border-bottom: 1px solid #333;
	font-size: 18px;
}


/* ==========================================================================
	 パーツ
========================================================================== */

/* 画像 */
.wp-block-image {
	margin-top: 30px;
	margin-bottom: 30px;
}

/* 表組み */
.wp-block-table {
	margin-bottom: 30px;
}
.wp-block-table td, .wp-block-table th {
	border: none;
}
.post-content table {
	margin: 1em 0;
	border-top: 1px solid #ddd;
}
.post-content th, .post-content td {
	border-bottom: 1px solid #ddd;
}
.post-content table tbody > tr:nth-child(odd) > td {
	background: #f9f9f9;
}
.post-content th, .post-content td:first-of-type {
	width: 30%;
	padding-left: 1em;
	text-align: center;
}
.post-content th, .post-content td:last-of-type {
	width: 70%;
}

@media screen and (min-width: 768px) {
	.post-content th, .post-content td:first-of-type {
		width: 18%;
	}
	.post-content th, .post-content td:last-of-type {
		width: 82%;
	}
}

/* カテゴリーに戻るボタン */
.category-link {
	margin-bottom: 40px;
	padding-top: 30px;
	text-align: center;
}
.category-link-button {
	padding-top: 1em;
	padding-right: 2em;
	padding-bottom: 1em;
	padding-left: 2em;
	display: inline-block;
	border: 1px solid #333;
	font-size: 14px;
	text-align: center;
	color: #333;
	transition: .4s;
}
.category-link-button::before {
	content: '';
	display: inline-block;
	width: 12px;
	height: 12px;
	margin-right: .6em;
	background-image: url(/_config/wp/wp-content/themes/zukan/assets/img/icon_list_black.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}

@media screen and (min-width: 768px) {
	.category-link {
		margin-bottom: 0;
		padding-top: 40px;
	}
}


/* ==========================================================================
	 関連記事
========================================================================== */
.yarpp-related {
	margin-top: 5em !important;
	margin-bottom: 4em !important;
}
.yarpp-related h3 {
	margin-bottom: 25px !important;
	padding-bottom: 12px !important;
  font-size: 16px !important;
}
.yarpp-related h3::before {
	content: '';
	display: inline-block;
	width: 19px;
	height: 20px;
	margin-right: .4em;
	vertical-align: -4px;
	background-image: url(/_config/wp/wp-content/themes/zukan/assets/img/icon_bookmark_black.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}
.yarpp-thumbnails-horizontal {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.yarpp-thumbnails-horizontal .yarpp-thumbnail {
	width: 46.5%;
	height: auto;
	margin: 0;
	margin-bottom: 12px;
	margin-left: 0px;
	border: 0;
	color: #333;
}
.yarpp-thumbnail {
	transition: .4s;
}
.yarpp-thumbnail:hover {
	opacity: .8;
}
.yarpp-thumbnail > img {
	width: 100%;
	height: auto;
	margin: 0;
}
.yarpp-related .yarpp-thumbnail-title {
	margin: 0;
	padding-top: 5px;
	font-size: 13px !important;
	width: 100%;
	overflow: visible;
}

@media screen and (min-width: 768px) {
	.yarpp-related {
		margin-top: 6em !important;
		margin-bottom: 8em !important;
	}
	.yarpp-related h3 {
		margin-bottom: 22px !important;
		font-size: 18px !important;
	}
	.yarpp-related h3::before {
		width: 22px;
		height: 22px;
		vertical-align: -5px;
	}
	.yarpp-thumbnails-horizontal::before {
		content: '';
		display: block;
		width: 23%;
		order: 1;
	}
	.yarpp-thumbnails-horizontal::after {
		content: '';
		display: block;
		width: 23%;
	}
	.yarpp-thumbnails-horizontal .yarpp-thumbnail {
		width: 23%;
		margin-bottom: 0;
	}
	.yarpp-related .yarpp-thumbnail-title {
		font-size: 15px !important;
	}
}


/* ==========================================================================
	 コメント
========================================================================== */
.comment-respond {
	padding: 0;
	width: 100%;
	max-width: 100%;
}
.comments-inner {
	padding-top: 0;
	padding-right: 0;
	padding-bottom: 0;
	padding-left: 0;
	width: 100%;
	max-width: 100%;
}
.comments-inner p {
	font-size: 14px;
	line-height: 1.7;
}
.comment-header-inner {
	padding: 0;
}
.comment-header h4 {
	margin-top: 0 !important;
	margin-right: 0 !important;
	margin-bottom: 10px !important;
	margin-left: 0 !important;
	padding-top: 0 !important;
	padding-right: 0 !important;
	padding-bottom: 0 !important;
	padding-left: 0 !important;
	border-left: none !important;
	font-size: 15px !important;
	font-weight: 700 !important;
}
.comment-header h4::before {
	content: '●';
	padding-right: .1em;
	color: #898567;
}
.comments-title {
	margin-top: 0 !important;
	margin-right: 0 !important;
	margin-bottom: 25px !important;
	margin-left: 0 !important;
	padding-top: 0 !important;
	padding-right: 0 !important;
	padding-bottom: 10px !important;
	padding-left: 0 !important;
	border-bottom: 1px solid #333 !important;
  font-size: 16px !important;
	background-color: transparent !important;
  border-left: none !important;
}
.comments-title::before {
	content: '';
	display: inline-block;
	width: 24px;
	height: 22px;
	margin-right: .1em;
	vertical-align: -6px;
	background-image: url(/_config/wp/wp-content/themes/zukan/assets/img/icon_comment_black.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}
.comment-reply-title {
	padding-top: 0.4em !important;
	padding-right: 0.6em !important;
	padding-bottom: 0.6em !important;
	padding-left: 0.6em !important;
	font-size: 15px !important;
	background-color: #898567;
	color: #fff;
	text-align: center;
}
.comments-title:after, .comment-reply-title:after {
	display: none;
}
.comment-notes {
	display: none;
}
.comment-form {
	margin-top: 25px;
}
.comment-form label {
	margin-bottom: 10px;
}
.comment-form textarea {
	height: 150px;
}
.comment-form .required {
	display: none;
}
p.comment-form-author {
	float: none;
}
.form-submit #submit {
	margin-top: 5px;
	padding: 12px 18px 14px 18px;
	font-size: 0.8em;
}
.comment-form input[type="text"], .comment-form input[type="email"], .comment-form textarea {
	font-size: 12px;
}
.comments-container + .respond-container, .post-inner + .respond-container {
	border-top: none;
}

@media screen and (min-width: 768px) {
	.comment-form {
		margin-top: 30px;
	}
	.comments-title {
		font-size: 18px !important;
	}
	.comments-title::before {
		width: 26px;
		height: 24px;
	}
	.comment-reply-title {
		font-size: 17px !important;
	}
}



/* ==========================================================================
	 このサイトについて
========================================================================== */
.page-id-38 .post-content h6 {
	margin: 0em 0 .75em 0;
}
.page-id-38 .post-content .aligncenter {
	margin: 0 auto;
}
.page-id-38 .wp-block-image {
	margin-top: 0;
	margin-bottom: 0;
}
.page-id-38 .wp-block-columns {
	margin-top: 50px;
}

@media (max-width: 600px) {
	.page-id-38 .post.single .post-inner {
		padding-top: 40px;
	}
}


/* ==========================================================================
	 お問い合わせ
========================================================================== */
.post-content input[type="email"] {
	width: 100%;
	padding: 14px 16px;
	font-size: 0.9em;
	border: none;
	color: #333;
	background: #f2f2f2;
	border-radius: 3px;
	-moz-appearance: none;
	 	-webkit-appearance: none;
}
.post-content input[type="submit"] {
	margin-top: 20px;
	margin-right: 0;
	margin-bottom: 0;
	margin-left: 0;
}
.contact__notes {
	font-size: 75%;
}

/* reCAPTCHAバッジ非表示 */
.grecaptcha-badge {
	visibility: hidden;
}

/* Contact Form */
.wpcf7 .screen-reader-response {
	position: absolute;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	width: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
	word-wrap: normal !important;
}

.wpcf7 form .wpcf7-response-output {
	margin: 2em 0.5em 1em;
	padding: 1.2em 1.5em 1.5em 1.5em !important;
	border: 2px solid #d70b23 !important; /* Blue */
	color: #d70b23 !important;
	text-align: center !important;
}

.wpcf7 form.init .wpcf7-response-output,
.wpcf7 form.resetting .wpcf7-response-output,
.wpcf7 form.submitting .wpcf7-response-output {
	display: none;
}

.wpcf7 form.sent .wpcf7-response-output {
	border-color: #d70b23 !important; /* Green */
}

.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
	border-color: #d70b23 !important; /* Red */
}

.wpcf7 form.spam .wpcf7-response-output {
	border-color: #d70b23 !important; /* Orange */
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
	border-color: #d70b23 !important; /* Yellow */
}

.wpcf7-form-control-wrap {
	position: relative;
}

.wpcf7-not-valid-tip {
	margin-top: .5em;
	color: #d70b23 !important; /* Red */
	font-size: .85em !important;
	font-weight: normal;
	display: block;
}

.use-floating-validation-tip .wpcf7-not-valid-tip {
	position: relative;
	top: -2ex;
	left: 1em;
	z-index: 100;
	border: 1px solid #d70b23 !important;
	background: #fff;
	padding: .2em .8em;
	width: 24em;
}

.wpcf7-list-item {
	display: inline-block;
	margin: 0 0 0 1em;
}

.wpcf7-list-item-label::before,
.wpcf7-list-item-label::after {
	content: " ";
}

.wpcf7-spinner {
	visibility: hidden;
	display: inline-block;
	background-color: #23282d; /* Dark Gray 800 */
	opacity: 0.75;
	width: 24px;
	height: 24px;
	border: none;
	border-radius: 100%;
	padding: 0;
	margin: 0 24px;
	position: relative;
}

form.submitting .wpcf7-spinner {
	visibility: visible;
}

.wpcf7-spinner::before {
	content: '';
	position: absolute;
	background-color: #fbfbfc; /* Light Gray 100 */
	top: 4px;
	left: 4px;
	width: 6px;
	height: 6px;
	border: none;
	border-radius: 100%;
	transform-origin: 8px 8px;
	animation-name: spin;
	animation-duration: 1000ms;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
}

@media (prefers-reduced-motion: reduce) {
	.wpcf7-spinner::before {
		animation-name: blink;
		animation-duration: 2000ms;
	}
}

@keyframes spin {
	from {
		transform: rotate(0deg);
	}

	to {
		transform: rotate(360deg);
	}
}

@keyframes blink {
	from {
		opacity: 0;
	}

	50% {
		opacity: 1;
	}

	to {
		opacity: 0;
	}
}

.wpcf7 [inert] {
	opacity: 0.5;
}

.wpcf7 input[type="file"] {
	cursor: pointer;
}

.wpcf7 input[type="file"]:disabled {
	cursor: default;
}

.wpcf7 .wpcf7-submit:disabled {
	cursor: not-allowed;
}

.wpcf7 input[type="url"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"] {
	direction: ltr;
}

.wpcf7-reflection > output {
	display: list-item;
	list-style: none;
}

.wpcf7-reflection > output[hidden] {
	display: none;
}


/* ==========================================================================
	 プラグイン設定
========================================================================== */
.wpulike {
	position: absolute;
	top: 25px;
	right: -15px;
	padding: 0;
}
.wpulike-animated-heart .count-box {
	color: #000;
}
.wpulike-animated-heart button.wp_ulike_btn {
	box-shadow: 0 3px 20px rgb(124 122 122 / 40%);
	width: 45px;
	height: 45px;
}