/*
 * ニュース・コラム（旧 news.plusw.co.jp の css/style.css を移植）
 * 旧サイトは 1rem = 10px 基準だったため px に換算している。
 */

.pw-news {
	--color-primary: #030213;
	--color-secondary: #717182;
	--color-muted: #ececf0;
	--color-accent: #e9ebef;
	--color-border: rgba(0, 0, 0, 0.1);
	--color-bg: #ffffff;
	--content-w: 720px;
	color: var(--color-primary);
	font-family: 'BIZ UDPGothic', 'BIZ UDGothic', 'YuGothic', 'Yu Gothic', '游ゴシック体', sans-serif;
}

.pw-news *,
.pw-news *::before,
.pw-news *::after {
	box-sizing: border-box;
}

.pw-news p {
	font-size: 15px;
	line-height: 2.4em;
	letter-spacing: .05em;
	font-feature-settings: "pkna";
	text-align: justify;
}

.pw-news a {
	color: inherit;
	text-decoration: none;
	transition: opacity .2s ease;
}

.pw-news a:hover { opacity: .5; }

.pw-news a.link {
	border-bottom: solid 1px var(--color-primary);
	padding-bottom: 2px;
}

.pw-news li { list-style: none; }
.pw-news .pc_none { display: none; }

.pw-news img { max-width: 100%; height: auto; }

.pw-news strong, .pw-news b { font-weight: 700; }

@media (max-width: 740px) {
	.pw-news p { font-size: 13px; line-height: 2em; }
	.pw-news .pc_none { display: block; }
	.pw-news .sp_none { display: none; }
}

/* ============================================================
   一覧
   ============================================================ */

.pw-news .ni-list {
	max-width: var(--content-w);
	margin: 0 auto;
	padding: 24px 20px 120px;
}

.pw-news .ni-item {
	border-bottom: 1px solid var(--color-border);
}

.pw-news .ni-item a {
	display: block;
	padding: 28px 0;
	opacity: 1;
}

.pw-news .ni-item a:hover { opacity: .5; }

.pw-news .ni-date {
	display: block;
	font-size: 12px;
	letter-spacing: .08em;
	color: var(--color-secondary);
	margin-bottom: 6px;
	line-height: 1;
}

.pw-news .ni-title {
	font-size: 15px;
	line-height: 1.75em;
	letter-spacing: .03em;
	color: var(--color-primary);
	text-align: left;
}

.pw-news .ni-empty {
	padding: 40px 0;
	text-align: center;
	color: var(--color-secondary);
}

@media (max-width: 740px) {
	.pw-news .ni-list { padding-bottom: 80px; }
	.pw-news .ni-item a { padding: 22px 0; }
	.pw-news .ni-title { font-size: 14px; }
}

/* ============================================================
   記事
   ============================================================ */

.pw-news .section_1 {
	max-width: var(--content-w);
	margin: 0 auto;
	padding: 140px 20px 100px;
}

.pw-news .section_1 .section_title {
	margin-bottom: 48px;
	padding-bottom: 32px;
	border-bottom: 1px solid var(--color-border);
}

.pw-news .section_1 p.news_date {
	display: block;
	font-size: 12px;
	letter-spacing: .08em;
	color: var(--color-secondary);
	margin-bottom: 14px;
	line-height: 1.6;
}

.pw-news .section_1 .news_title {
	font-size: 24px;
	font-weight: 700;
	line-height: 1.6em;
	letter-spacing: .04em;
	color: var(--color-primary);
	text-align: justify;
}

.pw-news .section_1 p.news_sub_title {
	margin-top: 12px;
	font-size: 14px;
	line-height: 1.6em;
	color: var(--color-secondary);
}

.pw-news .section_1 p.article_p {
	font-size: 15px;
	line-height: 2.2em;
	letter-spacing: .04em;
	margin-bottom: 28px;
	color: var(--color-primary);
}

.pw-news .section_1 p.article_p:last-child { margin-bottom: 0; }

.pw-news p.article_p span.caption {
	display: block;
	margin-top: 5px;
	font-size: 15px;
	line-height: 1.5em;
}

.pw-news .section_1 h4.news_subhead {
	font-size: 17px;
	font-weight: 700;
	line-height: 1.5em;
	letter-spacing: .06em;
	margin: 56px 0 20px;
	padding: 0 0 12px;
	border-bottom: 2px solid var(--color-primary);
	color: var(--color-primary);
}

.pw-news .section_1 img.news_ph {
	width: 100%;
	height: auto;
	display: block;
	margin-bottom: 8px;
}

.pw-news .section_1 p.ph_caption {
	font-size: 12px;
	line-height: 1.8em;
	color: var(--color-secondary);
	margin-bottom: 28px;
}

.pw-news .section_1 .news_flex {
	display: flex;
	gap: 24px;
	margin-bottom: 40px;
}

.pw-news .section_1 .news_flex_item { flex: 1; }

.pw-news .section_1 ul.article_list,
.pw-news .section_1 ul.article_list_num {
	font-size: 15px;
	line-height: 2.4em;
	letter-spacing: .05em;
	margin: 0 0 28px;
}

.pw-news .section_1 ul.article_list li {
	padding-left: 14px;
	position: relative;
}

.pw-news .section_1 ul.article_list li::before {
	content: "·";
	position: absolute;
	left: 2px;
}

.pw-news .section_1 ul.article_list_num li {
	list-style: decimal inside;
}

/* WordPress の編集画面で書いた記事（見出し・段落・リスト・画像） */
.pw-news .news_body > p:not([class]) {
	font-size: 15px;
	line-height: 2.2em;
	letter-spacing: .04em;
	margin-bottom: 28px;
}

.pw-news .news_body > h2,
.pw-news .news_body > h3,
.pw-news .news_body > h4:not([class]) {
	font-size: 17px;
	font-weight: 700;
	line-height: 1.5em;
	letter-spacing: .06em;
	margin: 56px 0 20px;
	padding: 0 0 12px;
	border-bottom: 2px solid var(--color-primary);
}

.pw-news .news_body > ul:not([class]),
.pw-news .news_body > ol:not([class]) {
	font-size: 15px;
	line-height: 2.2em;
	margin: 0 0 28px 1.4em;
}

.pw-news .news_body > ul:not([class]) li { list-style: disc; }
.pw-news .news_body > ol:not([class]) li { list-style: decimal; }

.pw-news .news_body figure { margin: 0 0 28px; }
.pw-news .news_body figure img { width: 100%; height: auto; display: block; }
.pw-news .news_body figcaption { font-size: 12px; color: var(--color-secondary); margin-top: 8px; }
.pw-news .news_body > p > a:not([class]) { border-bottom: solid 1px var(--color-primary); padding-bottom: 2px; }

.pw-news .article_back {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 12px;
	letter-spacing: .06em;
	color: var(--color-secondary);
	margin-bottom: 32px;
	opacity: 1;
}

.pw-news .article_back:hover { opacity: .5; }

.pw-news .article_back::before {
	content: "";
	display: inline-block;
	width: 20px;
	height: 1px;
	background: currentColor;
	vertical-align: middle;
}

/* 旧サイト独自レイアウトのページ（コラム） */
.pw-news--raw {
	padding-top: 80px;
}

@media (max-width: 740px) {
	.pw-news .section_1 { padding: 110px 20px 60px; }
	.pw-news .section_1 .news_title { font-size: 19px; }
	.pw-news .section_1 .news_flex { flex-direction: column; }
}
