/*
 * 本文（.post_content の中）の見た目
 *
 * 記事 HTML は DB に保存されているため、ここで使うクラス名は変えない（docs/analysis/classes.md の「本文由来」）。
 * 出典: 旧 style.css の「WordPress プリセットスタイル」「TCD Advanced Style」、header.php の <style>、
 *       テーマ設定の css_code、管理画面の追加 CSS（orion_2206 用）。
 */

.post_content {
	line-height: 1.5;
}

/* 回り込み（画像の左寄せ・スライダー・段組）を本文の枠の中で解除する（旧テーマの .post_content.clearfix と同じ） */
.post_content::after {
	content: "";
	display: table;
	clear: both;
}

.post_content div {
	line-height: 1.5;
}

.post_content a {
	color: var(--color-accent);
}

/* ---------------------------------------------------------------- 文字・見出し */
.post_content p {
	margin: 0 0 2em;
	line-height: 2.5;
}

.post_content h1,
.post_content h2,
.post_content h3,
.post_content h4,
.post_content h5 {
	clear: both;
	margin: 0 0 10px;
	padding: 10px 0 0;
	font-weight: 600;
	line-height: 1.2;
}

.post_content h1 { font-size: 150%; }
.post_content h2 { font-size: 140%; }
.post_content h3 { font-size: 130%; }
.post_content h4 { font-size: 120%; }
.post_content h5 { font-size: 110%; }

/* h1 の中の span をオレンジの帯にする（テーマ設定 css_code） */
.post_content h1 {
	border-bottom: 3px solid var(--color-accent);
}

.post_content h1 span {
	position: relative;
	display: inline-block;
	padding: 10px;
	font-size: 16px;
	line-height: 20px;
	color: var(--color-white);
	background: var(--color-accent);
}

.post_content h1 span::after {
	content: " ";
	position: absolute;
	top: 0;
	left: 100%;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 10px 40px 0;
	border-color: transparent transparent var(--color-accent);
}

/* 「くらす」ページの見出しと表（旧 header.php の <style>） */
#kurasu_h2 {
	font-size: 180%;
}

#kurasu_h3 {
	font-size: 140%;
	border-bottom: 3px solid var(--color-accent);
}

#kurasu_h3 span {
	position: relative;
	display: inline-block;
	padding: 10px;
	line-height: 20px;
	color: var(--color-white);
	background: var(--color-accent);
}

#kurasu_h3 span::after {
	content: " ";
	position: absolute;
	top: 0;
	left: 100%;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 10px 40px 0;
	border-color: transparent transparent var(--color-accent);
}

.kurasu_t {
	table-layout: fixed;
	width: 100%;
}

td.t_w {
	width: 20%;
}

/* ---------------------------------------------------------------- 画像・配置 */
.post_content img {
	max-width: 100%;
	height: auto;
}

.post_content .alignleft {
	float: left;
}

.post_content .alignright {
	float: right;
}

.post_content .aligncenter {
	display: block;
	margin-right: auto;
	margin-bottom: 7px;
	margin-left: auto;
}

.post_content img.alignleft {
	margin: 7px 24px 7px 0;
}

.post_content img.alignright {
	margin: 7px 0 7px 24px;
}

.post_content img.aligncenter,
.post_content .wp-caption.aligncenter {
	margin-top: 7px;
	margin-bottom: 7px;
}

.post_content .wp-caption {
	max-width: 100%;
	margin-bottom: 24px;
	padding: 5px;
	background: var(--color-white);
	border: 1px solid var(--color-border);
	border-radius: 5px;
}

.post_content .wp-caption.alignleft {
	margin: 7px 14px 7px 0;
}

.post_content .wp-caption img[class*="wp-image-"] {
	display: block;
	margin: 0 auto;
}

.post_content .wp-caption-text {
	margin: 9px auto;
	font-size: var(--fs-s);
	font-style: italic;
	line-height: 1.5;
	text-align: center;
}

/* ギャラリー（[gallery]） */
.gallery {
	margin-bottom: 20px;
}

.gallery-item {
	position: relative;
	float: left;
	margin: 0 4px 4px 0;
	overflow: hidden;
}

.gallery-columns-3 .gallery-item {
	max-width: calc(33.3% - 4px);
}

.gallery-columns-3 .gallery-item:nth-of-type(3n) {
	margin-right: 0;
}

/* PC 用・SP 用の出し分け（追加 CSS / css_code） */
.img_pc { display: block !important; }
.img_sp { display: none !important; }

@media (max-width: 750px) {
	.img_pc { display: none !important; }

	.img_sp {
		display: block !important;
		width: 100% !important;
		height: unset !important;
	}

	.rp_head { height: unset !important; }
}

@media (max-width: 650px) {
	.PC_only { display: none; }
}

@media (min-width: 651px) {
	.Smartphone_only { display: none; }
}

.logo-svg svg {
	width: 100%;
}

/* ---------------------------------------------------------------- 埋め込み */
.video {
	position: relative;
	height: 0;
	padding: 0 0 56.25%;
	overflow: hidden;
}

.video iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.youtube__aspect-ratio {
	width: 100%;
	aspect-ratio: 16 / 9;
}

.youtube__aspect-ratio iframe {
	width: 100%;
	height: 100%;
}

/* Google カレンダー */
.cal_wrapper {
	min-width: 300px;
	max-width: 800px;
	margin: 2.0833% auto;
}

.googlecal {
	position: relative;
	height: 0;
	padding-bottom: 100%;
	overflow: hidden;
}

.googlecal iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
}

@media (min-width: 600px) {
	.googlecal {
		padding-bottom: 75%;
	}
}

/* ---------------------------------------------------------------- リスト・表・その他 */
.post_content ul,
.post_content ol {
	margin-bottom: 24px;
}

.post_content ul {
	margin-left: 1.3em;
	list-style: circle outside;
}

.post_content ol {
	margin-left: 1.5em;
	list-style: decimal outside;
}

.post_content li {
	line-height: 2.2;
}

.post_content li > ul {
	margin-bottom: 0;
}

.post_content table {
	margin: 0 0 24px;
}

.post_content td,
.post_content th {
	padding: 10px 15px 7px;
	line-height: 2.2;
	background: var(--color-white);
	border: 1px solid #bbb;
}

.post_content address {
	margin: 0 0 24px;
	line-height: 2.2;
}

/* TCD のボタン（本文中で 163 か所） */
.post_content .q_button {
	display: inline-block;
	min-width: 200px;
	max-width: 90%;
	margin: 0;
	padding: 0.6em 1.3em 0.5em;
	font-size: 100%;
	font-weight: 400;
	color: var(--color-white) !important;
	text-align: center;
	text-decoration: none;
	vertical-align: middle;
	background-color: #535353;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
	transition: all 0.3s ease-in-out;
}

.post_content .q_button:hover,
.post_content .q_button:focus {
	color: var(--color-white);
	text-decoration: none;
	background-color: #7d7d7d;
	box-shadow: 0 2px 2px rgba(0, 0, 0, 0.15) inset;
}

.post_content .bt_red {
	color: var(--color-white);
	background: #c01f0e;
}

.post_content .bt_red:hover,
.post_content .bt_red:focus {
	color: var(--color-white);
	background-color: #d33929;
}

/* ---------------------------------------------------------------- SP */
@media (max-width: 770px) {
	.post_content {
		margin: 0 0 1em;
	}

	.post_content p {
		margin: 0 0 1em;
		font-size: var(--fs-m);
		line-height: 2;
	}
}
