@charset "utf-8";

/* ============================================================
   コラム記事（single-column）本文スタイル（フロント専用）

   読み込み: header.php で is_singular('column') のときだけ読み込む。
   全セレクタを body.single-column でスコープ → mowa 等・他ページに無影響。
   カスタムブロック（目次・プロフィール等）の装飾は columnBlock.css
   （編集画面と共有）が担い、本ファイルは本文要素と、同時に読み込まれる
   single.css との調停（打ち消し）を担う。

   デザイン: リノベ秋田テーマ mutumi-w-renovation/css/column.css の実値を移植
   （font-family は移植しない）。!important は移植元由来（見出し直後の余白・
   iframe寸法）のみ。
   ============================================================ */


/* ===== 縦リズム（ブロック間の余白） ===== */
body.single-column .singleText > * + * {
	margin-top: 30px;
}
body.single-column .singleText > * + h2 {
	margin-top: 70px;
}
body.single-column .singleText > * + h3 {
	margin-top: 60px;
}
body.single-column .singleText > * + h4,
body.single-column .singleText > * + h5,
body.single-column .singleText > * + h6 {
	margin-top: 40px;
}
body.single-column .singleText h2 + *,
body.single-column .singleText h3 + * {
	margin-top: 15px !important;
}
body.single-column .singleText h4 + *,
body.single-column .singleText h5 + *,
body.single-column .singleText h6 + * {
	margin-top: 8px !important;
}
body.single-column .singleText p + p {
	margin-top: 1.75em;
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
	body.single-column .singleText h2 + *,
	body.single-column .singleText h3 + * {
		margin-top: 1.25vw !important;
	}
	body.single-column .singleText h4 + *,
	body.single-column .singleText h5 + *,
	body.single-column .singleText h6 + * {
		margin-top: 0.625vw !important;
	}
}
@media only screen and (max-width: 767px) {
	body.single-column .singleText > * + * {
		margin-top: 7.8125vw;
	}
	body.single-column .singleText > * + h2 {
		margin-top: 18.2291666667vw;
	}
	body.single-column .singleText > * + h3 {
		margin-top: 10.4166666667vw;
	}
	body.single-column .singleText > * + h4,
	body.single-column .singleText > * + h5,
	body.single-column .singleText > * + h6 {
		margin-top: 7.8125vw;
	}
	body.single-column .singleText h2 + *,
	body.single-column .singleText h3 + * {
		margin-top: 3.90625vw !important;
	}
	body.single-column .singleText h4 + *,
	body.single-column .singleText h5 + *,
	body.single-column .singleText h6 + * {
		margin-top: 2.6041666667vw !important;
	}
}


/* ===== 見出し =====
   single.css の h2(4.2rem/500/字間.1em)・h3(赤字＋赤短線)・h4(右横線＋余白) を
   リノベ値で上書き・打ち消す */
body.single-column .singleText h2 {
	line-height: 1.6;
	font-size: 22px;
	font-weight: bold;
	letter-spacing: normal;
	box-sizing: border-box;
}
body.single-column .singleText h3 {
	line-height: 1.6;
	padding: 0 0 0 0.8125em;
	border-left: 5px solid #e23535; /* バー色はコーポレート色（リノベ紺から変更） */
	font-size: 16px;
	font-weight: bold;
	color: #000;
	box-sizing: border-box;
}
body.single-column .singleText h3::before {
	content: none;
}
body.single-column .singleText h4,
body.single-column .singleText h5,
body.single-column .singleText h6 {
	line-height: 1.6;
	padding: 0;
	font-size: 16px;
	font-weight: bold;
	display: block;
	box-sizing: border-box;
}
body.single-column .singleText h4::before {
	content: none;
}
@media only screen and (max-width: 767px) {
	body.single-column .singleText h2 {
		font-size: 5.7291666667vw;
	}
	body.single-column .singleText h3 {
		font-size: 4.1666666667vw;
	}
	body.single-column .singleText h4,
	body.single-column .singleText h5,
	body.single-column .singleText h6 {
		font-size: 4.1666666667vw;
	}
}


/* ===== 本文テキスト ===== */
body.single-column .singleText p {
	line-height: 1.7;
	font-size: 16px;
}
body.single-column .singleText a {
	line-height: 2;
	letter-spacing: 0.02em;
	text-decoration: underline;
	font-size: 16px;
	color: #0cb4ce;
}
body.single-column .singleText a:visited,
body.single-column .singleText a:focus,
body.single-column .singleText a:active {
	color: #0cb4ce;
}
body.single-column .singleText a:hover {
	text-decoration: none;
}
/* single.css のアニメ下線（a::before）を全廃。
   ブロック内リンクや CVボタン矢印裏へのシアン線・矩形の漏れも同時に防ぐ */
body.single-column .singleText a::before {
	content: none;
}
body.single-column .singleText b,
body.single-column .singleText em,
body.single-column .singleText strong {
	font-weight: bold;
}
body.single-column .singleText em {
	font-style: italic;
}
body.single-column .singleText mark {
	background-color: rgba(255, 242, 0, 0.25);
}
@media only screen and (max-width: 767px) {
	body.single-column .singleText p {
		font-size: 4.1666666667vw;
	}
	body.single-column .singleText a {
		font-size: 4.1666666667vw;
	}
}


/* ===== 引用（single.css の #f8f8f8・大アイコンをリノベ値で上書き） ===== */
body.single-column .singleText blockquote {
	width: 100%;
	line-height: 2;
	padding: 40px;
	font-size: 16px;
	letter-spacing: 0.02em;
	color: #6a6a6a;
	background-color: #eee;
	display: block;
	position: relative;
	box-sizing: border-box;
}
body.single-column .singleText blockquote * {
	color: inherit;
}
body.single-column .singleText blockquote::before,
body.single-column .singleText blockquote::after {
	width: 21px;
	height: 16px;
	content: "";
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
	display: block;
	position: absolute;
	z-index: 1;
}
body.single-column .singleText blockquote::before {
	background-image: url("../images/icon/quate_top_2x.png");
	top: 13px;
	left: 13px;
}
body.single-column .singleText blockquote::after {
	background-image: url("../images/icon/quate_bottom_2x.png");
	right: 20px;
	bottom: 20px;
}
body.single-column .singleText blockquote > * {
	margin-top: 16px;
}
body.single-column .singleText blockquote > *:first-child {
	margin-top: 0;
}
body.single-column .singleText blockquote p {
	line-height: 2;
	position: relative;
	z-index: 2;
}
body.single-column .singleText blockquote cite,
body.single-column .singleText blockquote .wp-block-quote__citation {
	width: 100%;
	line-height: 2;
	font-size: 14px;
	letter-spacing: 0.02em;
	text-align: right;
	display: block;
	box-sizing: border-box;
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
	body.single-column .singleText blockquote {
		padding: 4vw;
		font-size: 1.8vw;
	}
	body.single-column .singleText blockquote::before,
	body.single-column .singleText blockquote::after {
		width: 2vw;
		height: 1.6vw;
	}
	body.single-column .singleText blockquote::before {
		top: 1.6vw;
		left: 1.6vw;
	}
	body.single-column .singleText blockquote::after {
		right: 1.6vw;
		bottom: 1.6vw;
	}
	body.single-column .singleText blockquote > * {
		margin-top: 2vw;
	}
	body.single-column .singleText blockquote cite,
	body.single-column .singleText blockquote .wp-block-quote__citation {
		line-height: 1.8;
		font-size: 1.6vw;
	}
}
@media only screen and (max-width: 767px) {
	body.single-column .singleText blockquote {
		padding: 11vw;
		font-size: 4.1666666667vw;
	}
	body.single-column .singleText blockquote::before,
	body.single-column .singleText blockquote::after {
		width: 6vw;
		height: 4.6vw;
	}
	body.single-column .singleText blockquote::before {
		top: 4vw;
		left: 4vw;
	}
	body.single-column .singleText blockquote::after {
		right: 4vw;
		bottom: 4vw;
	}
	body.single-column .singleText blockquote > * {
		margin-top: 4vw;
	}
	body.single-column .singleText blockquote cite,
	body.single-column .singleText blockquote .wp-block-quote__citation {
		line-height: 1.8;
		font-size: 3.6vw;
	}
}


/* ===== リスト ===== */
body.single-column .singleText ul {
	line-height: 2;
	padding-left: 1.2em;
	list-style: disc;
	font-size: 16px;
	letter-spacing: 0.02em;
}
body.single-column .singleText ul li {
	list-style: disc;
}
body.single-column .singleText ol {
	line-height: 2;
	padding-left: 1.2em;
	list-style: decimal;
	font-size: 16px;
	letter-spacing: 0.02em;
}
body.single-column .singleText ol li {
	list-style: decimal;
}
body.single-column .singleText li {
	line-height: 2;
	margin-top: 8px;
	font-size: 16px;
	letter-spacing: 0.02em;
}
body.single-column .singleText li:first-child {
	margin-top: 0;
}
body.single-column .singleText li li {
	margin-top: 0;
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
	body.single-column .singleText ul,
	body.single-column .singleText ol {
		font-size: 1.8vw;
	}
	body.single-column .singleText li {
		margin-top: 1vw;
		font-size: 1.8vw;
	}
}
@media only screen and (max-width: 767px) {
	body.single-column .singleText ul,
	body.single-column .singleText ol {
		font-size: 4.1666666667vw;
	}
	body.single-column .singleText li {
		margin-top: 2vw;
		font-size: 4.1666666667vw;
	}
}


/* ===== テーブル =====
   single.css の th/td padding 2rem と「先頭ヘッダセルの枠・背景なし（角欠け）」を
   リノベ仕様（全セル1px #ccc・ヘッダ行 #eee）に置き換える */
body.single-column .singleText .wp-block-table {
	width: 100%;
	margin-right: auto;
	margin-left: auto;
	border-bottom: none;
	display: block;
	overflow: auto;
	clear: both;
	box-sizing: border-box;
}
body.single-column .singleText table {
	letter-spacing: 0.02em;
	border-collapse: collapse;
	border-spacing: 0;
	border: 1px solid #ccc;
}
body.single-column .singleText table th,
body.single-column .singleText table td {
	line-height: 1.8;
	padding: 1em;
	font-size: 16px;
	letter-spacing: 0.02em;
	border: 1px solid #ccc;
	box-sizing: border-box;
}
body.single-column .singleText table thead th,
body.single-column .singleText table thead td,
body.single-column .singleText table tfoot th,
body.single-column .singleText table tfoot td {
	background-color: #eee;
}
body.single-column .singleText table thead th:first-child,
body.single-column .singleText table thead td:first-child {
	border: 1px solid #ccc;
	background-color: #eee;
}
body.single-column .singleText .wp-block-table figcaption {
	width: 100%;
	line-height: 1.8;
	font-size: 14px;
	text-align: right;
	color: #666;
	letter-spacing: 0.02em;
	display: block;
	box-sizing: border-box;
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
	body.single-column .singleText table {
		font-size: 1.8vw;
	}
	body.single-column .singleText table th,
	body.single-column .singleText table td {
		line-height: 1.6;
		font-size: 1.8vw;
	}
	body.single-column .singleText .wp-block-table figcaption {
		font-size: 1.6vw;
	}
}
@media only screen and (max-width: 767px) {
	body.single-column .singleText table {
		font-size: 4.1666666667vw;
	}
	body.single-column .singleText table th,
	body.single-column .singleText table td {
		line-height: 1.6;
		font-size: 4.1666666667vw;
	}
	body.single-column .singleText .wp-block-table figcaption {
		font-size: 3.6vw;
	}
}


/* ===== 区切り線（single.css の赤線をリノベ仕様に置き換え） ===== */
body.single-column .singleText hr {
	width: 100%;
	height: 2px;
	border: none;
	background-color: #ccc;
	display: block;
}
body.single-column .singleText hr.wp-block-separator {
	width: 100%;
	height: 2px;
	margin-right: auto;
	margin-left: auto;
	border: 0;
	display: block;
	background-color: #ccc;
	box-sizing: border-box;
}
body.single-column .singleText hr.wp-block-separator:not(.is-style-wide):not(.is-style-dots) {
	max-width: 100px;
}
body.single-column .singleText hr.wp-block-separator.is-style-dots {
	width: 100%;
	max-width: none;
	height: 40px;
	background-color: transparent;
}
body.single-column .singleText hr.wp-block-separator.is-style-dots::before {
	content: "···";
	color: #ccc;
	font-size: 40px;
	letter-spacing: 1em;
	padding-left: 1em;
}


/* ===== 画像・動画 ===== */
body.single-column .singleText .wp-block-image {
	width: 100%;
	padding: 0;
	margin-top: 30px;
	margin-right: auto;
	margin-bottom: 0;
	margin-left: auto;
	clear: both;
	box-sizing: border-box;
}
body.single-column .singleText .wp-block-image .alignleft {
	margin-top: 0;
	margin-bottom: 0;
	margin-right: auto;
	float: none;
}
body.single-column .singleText .wp-block-image .aligncenter {
	margin: 0 auto;
	float: none;
}
body.single-column .singleText .wp-block-image .alignright {
	margin-top: 0;
	margin-bottom: 0;
	margin-left: auto;
	float: none;
}
body.single-column .singleText .wp-block-image > img {
	max-width: 100%;
}
body.single-column .singleText .wp-block-image figcaption,
body.single-column .singleText .wp-block-video figcaption {
	width: 100%;
	line-height: 1.8;
	padding: 0;
	margin: 0;
	margin-top: 6px;
	text-align: center;
	font-size: 14px;
	color: #666;
	letter-spacing: 0.02em;
	display: block;
	box-sizing: border-box;
}
body.single-column .singleText .wp-block-image figcaption:first-child,
body.single-column .singleText .wp-block-video figcaption:first-child {
	margin-top: 0;
}
body.single-column .singleText iframe,
body.single-column .singleText video {
	max-width: 100% !important;
}
@media only screen and (min-width: 768px) and (max-width: 1079px) {
	body.single-column .singleText .wp-block-image figcaption,
	body.single-column .singleText .wp-block-video figcaption {
		line-height: 1.8;
		margin-top: 2vw;
		font-size: 1.6vw;
	}
}
@media only screen and (max-width: 767px) {
	body.single-column .singleText .wp-block-image figcaption,
	body.single-column .singleText .wp-block-video figcaption {
		line-height: 1.8;
		margin-top: 4vw;
		font-size: 3.6vw;
	}
	body.single-column .singleText iframe,
	body.single-column .singleText video {
		width: 100% !important;
		height: 56.25vw !important;
	}
}
