@charset "UTF-8";
/*-----------------------------------------------
article.css
========================================================================== */

.c-ttl-page__txt--article {
	color: #F39700;
	font-family: "Zen Maru Gothic", sans-serif;
	font-size: 3.8rem;
	font-weight: bold;
	letter-spacing: 0.05em;
	line-height: 1.4;
	max-width: 1020px;
}
@media (max-width: 768px) {
	.c-ttl-page__txt--article {
		font-size: 2.4rem;
		line-height: 1.2962962963;
	}
}


/* 記事部分の汎用要素スタイル */
.article-body {

	/* 見出し */
	h1, h2, h3, h4 {
		font-family: "Zen Maru Gothic", sans-serif;
		font-weight: bold;
		letter-spacing: 0.05em;
	}
	h1 {
		color: #F39700;
		font-size: 3.4rem;
		line-height: 1.4;
		max-width: 1020px;
		margin-bottom: 32px;
		}
	h2 {
		position: relative;
		font-size: 3.2rem;
		line-height: 1.5;
		padding: 0 0 2px 26px;
		margin-bottom: 32px;
	}
	h2::before {
		content: " ";
		display: block;
		position: absolute;
		top: 3px;
		margin: auto;
		left: 0;
		bottom: 0;
		height: auto;
		width: 8px;
		background-color: #F39700;
		border-radius: 5px;
	}
	h3 {
		color: #F39700;
		font-size: 2.4rem;
		line-height: 1.4;
		margin: 40px 0 16px;
	}
	h4 {
		font-size: 2.2rem;
		line-height: 1.4;
		margin-bottom: 16px;
	}
	.ttl-bold {
		font-size: 1.8rem;
		line-height: 1.4;
		font-weight: bold;
		letter-spacing: 0.05em;
		margin-bottom: 8px;
	}

	/* テキスト */
	p, ul, ol {
		font-size: 1.6rem;
		letter-spacing: 0.04em;
		line-height: 1.8125;
	}
	p + p,
	p + ul, ul + p,
	p + ol, ol + p {
		margin-top: 12px;
	}

	/* リードテキスト */
	.article__lead {
		margin-bottom: 60px;
	}

	/* 注釈テキスト */
	.article__note {
		font-size: 1.2rem;
		margin-top: 12px;
	}

	/* テキスト装飾 */
	strong {font-weight: bold;}
	em {font-style: italic;}
	u {text-decoration: underline;}
	s {text-decoration: line-through;}
	small {font-size: 1.2rem;}
	mark {
		padding: 0 5px;
		background:linear-gradient(transparent 40%, #FDEB92 60%);}
	sup {
		position: relative;
		vertical-align: top;
		top: 2px;
		font-size: 1.2rem;
		padding: 0 3px;
	}
	a,
	.magnific-link {
		cursor: pointer;
		color: #009C84;
		text-decoration: underline;
	}
	a[target="_blank"],
	.magnific-link {
		display: inline-block;
		background-image: url(/busisup/assets/img/icon_blank.svg);
		background-repeat: no-repeat;
		background-size: 14px 14px;
		background-position: right 4px center;
		padding-right: 24px;
	}
	.magnific-link {
		background-image: url(/busisup/assets/img/icon_modal.svg);
	}

	/* リスト */
	ul li:not(:last-child), ol li:not(:last-child) {
		margin-bottom: 4px;
	}
	ul li > ul, ul li > ol,
	ol li > ul, ol li > ol {
		margin: 8px 0;
	}
	ul li > ul li, ul li > ol li {
		padding-left: 1.0em;
	}

	ol li {
		position: relative;
		padding-left: 1.8em;
	}
	ol li::before {
		position: absolute;
		top: -2px;
		left: 0;
		color: #F39700;
		font-family: "Zen Maru Gothic", sans-serif;
		font-weight: bold;
		font-size: inherit;
		line-height: inherit;
	}
	ol li:first-child:before {content: '１.';}
	ol li:nth-child(2):before {content: '２.';}
	ol li:nth-child(3):before {content: '３.';}
	ol li:nth-child(4):before {content: '４.';}
	ol li:nth-child(5):before {content: '５.';}
	ol li:nth-child(6):before {content: '６.';}
	ol li:nth-child(7):before {content: '７.';}
	ol li:nth-child(8):before {content: '８.';}
	ol li:nth-child(9):before {content: '９.';}

	.list-check li {
		position: relative;
		padding-left: 2.0em;
	}
	.list-check li:not(:last-child) {
		margin-bottom: 8px;
	}
	.list-check li::before {
		content: "";
		display: block;
		position: absolute;
		top: 2px;
		left: 0;
		width: 22px;
		height: 22px;
		font-size: inherit;
		line-height: inherit;
		background-image: url(/busisup/assets/img/icon_check.svg);
	}

	/* リストマーク */
	.maru::before {content: '●';font-family: "メイリオ", Meiryo;}
	.shikaku::before {content: '■';font-family: "メイリオ", Meiryo;}
	.kome::before {content: '※';}
	.ast::before {content: '＊';}
	.dot::before {content: '・';}
	.maru, .shikaku, .kome, .ast, .dot {
		position: relative;
		padding-left: 1.1em;
	}
	.maru::before, .shikaku::before, .kome::before, .ast::before, .dot::before {
		position: absolute;
		left: 0;
		font-size: inherit;
		line-height: inherit;
	}


	/* テーブル */
	table {
		padding: 0;
		margin: 0;
		border-bottom: 2px solid #cccccc;
		border-left: 2px solid #cccccc;
		border-collapse: collapse;
		border-spacing: 0;
		width: 100%;
		table-layout: fixed;
		word-wrap: break-word;
		white-space: normal;

		caption {
			font-size: 1.2rem;
			text-align: right;
			margin-bottom: 12px;
		}
		th, td {
			vertical-align: middle;
			border-top: 2px solid #cccccc;
			border-right: 2px solid #cccccc;
			text-align: center;
			font-size: 1.6rem;
			line-height: 1.5;
			padding: 10px 8px;
		}
	}


	/* 画像 */
	img {
		display: block;
		margin: 0 auto;
	}
	figure img + figcaption {
		text-align: right;
		font-size: 1.2rem;
		margin-top: 16px;
	}


	/* 引用 */
	blockquote {
		padding: 24px 40px;
		margin: 16px auto;
		background-color: #F2F2F2;
		border: 2px solid #d9d9d9;
		border-radius: 16px;
	}


	/* 強調テキスト */
	.box-point {
		padding: 24px 40px;
		margin-top: 40px;
		background-color: #FFF9EC;
		border-radius: 16px;

		.box-point__ttl span {
			display: inline-block;
			color: #F39700;
			font-family: "Zen Maru Gothic", sans-serif;
			font-weight: bold;
			font-size: 2.0rem;
			line-height: 1;
			padding: 6px 20px 8px;
			margin-bottom: 16px;
			background-color: #fff;
			border: 2px solid #F39700;
			border-radius: 30px;
		}
	}


	/* 目次 */
	.box-toc {
		padding: 0 40px 24px;
		margin: 0 auto 72px;
		background-color: #F5F5F5;
		border-radius: 16px;

		.box-toc__ttl span {
			display: inline-block;
			color: #ffffff;
			font-family: "Zen Maru Gothic", sans-serif;
			font-weight: bold;
			font-size: 2.0rem;
			line-height: 1;
			padding: 6px 32px 10px;
			margin-bottom: 20px;
			background-color: #808080;
			border-radius: 0 0 15px 15px;
		}
		.box-toc__list {
			margin-top: 0;
			li:not(:last-child) {
				padding-left: 2.0em;
				margin-bottom: 8px;
			}
			li::before {
				top: -4px;
				color: #808080;
				font-size: 1.8rem;
			}
		}
	}


	/* 余白 */
	.mt0 {margin-top: 0!important;}
	.mt4 {margin-top: 4px!important;}
	.mt8 {margin-top: 8px!important;}
	.mt12 {margin-top: 12px!important;}
	.mt16 {margin-top: 16px!important;}
	.mt24 {margin-top: 24px!important;}
	.mt32 {margin-top: 32px!important;}
	.mt40 {margin-top: 40px!important;}

	.mb0 {margin-bottom: 0!important;}
	.mb4 {margin-bottom: 4px!important;}
	.mb8 {margin-bottom: 8px!important;}
	.mb12 {margin-bottom: 12px!important;}
	.mb16 {margin-bottom: 16px!important;}
	.mb24 {margin-bottom: 24px!important;}
	.mb32 {margin-bottom: 32px!important;}
	.mb40 {margin-bottom: 40px!important;}
}

@media (max-width: 768px) {
	.article-body {

		/* 見出し */
		h1 { font-size: 2.4rem;
			margin-bottom: 24px;
		}
		h2 {
			font-size: 2.2rem;
			padding: 0 0 0 20px;
			margin-bottom: 24px;
		}
		h2::before {
			width: 6px;
		}
		h3 {
			font-size: 2.0rem;
			margin: 32px 0 16px;
		}
		h4 {
			font-size: 2.0rem;
			margin-bottom: 8px;
		}
		.ttl-bold { font-size: 1.6rem;}

		/* テキスト */
		p, ul, ol {
			font-size: 1.4rem;
		}

		/* リードテキスト */
		.article__lead {
			margin-bottom: 40px;
		}

		/* リスト */
		.list-check li {
			padding-left: 2.2em;
		}

		/* 引用 */
		blockquote {
			padding: 15px;
		}

		/* 強調テキスト */
		.box-point {
			padding: 20px 15px;
			.box-point__ttl {text-align: center;}
			.box-point__ttl span {font-size: 1.8rem;}
		}

		/* 目次 */
		.box-toc {
			padding: 0 15px 20px;
			margin: 0 auto 56px;
			.box-toc__ttl {text-align: center;}
			.box-toc__ttl span {
				font-size: 1.8rem;
				margin-bottom: 16px;
			}
			.box-toc__list li::before {
				top: -2px;
				font-size: 1.6rem;
			}
		}

		/* コンテンツの表示非表示 */
		.sp-hide { display: none!important;}
	}
}

@media (min-width: 767px) {
	.article-body {

		/* コンテンツの表示非表示 */
		.pc-hide { display: none!important;}
	}
}


/* 基本コンテンツのスタイル */
.article-basic__container {
	max-width: 900px;
	width: 100%;
	margin: 60px auto 56px;
}
.article__section + .article__section {
	margin-top: 72px;
}
.article__section-m {
	margin-top: 40px;
}
@media (max-width: 768px) {
	.article-basic__container {
		padding: 0 20px;
		margin: 40px auto;
	}
	.article__section + .article__section {
		margin-top: 56px;
	}
	.article__section-m {
		margin-top: 32px;
	}
}


/* よくある質問のスタイル */
.article-qa {
	padding: 56px 0;
}
.article-qa__container {
	max-width: 900px;
	width: 100%;
	margin: 0 auto;
}
.article-qa__item {
	margin-top: 40px;

	dt {
		display: flex;
		align-items: flex-start;
		gap: 0 12px;
		color: #F39700;
		font-family: "Zen Maru Gothic", sans-serif;
		font-size: 2.0rem;
		font-weight: bold;
		line-height: 1.6;
		letter-spacing: 0.05em;
		padding: 12px 20px;
		margin-bottom: 20px;
		background-color: #fff;
		border: 2px solid #F39700;
		border-radius: 8px;

		span {
			font-size: 3.2rem;
			line-height: 1;
			margin-top: -3px;
		}
	}
	dd {
		display: flex;
		align-items: flex-start;
		gap: 0 18px;
		padding-left: 22px;

		span {
			color: #009C84;
			font-family: "Zen Maru Gothic", sans-serif;
			font-size: 3.2rem;
			font-weight: bold;
			margin-top: -4px;
		}
	}
}

@media (max-width: 768px) {
	.article-qa {
		padding: 40px 20px;
	}
	.article-qa__item {
		margin-top: 32px;

		dt {
			gap: 0 10px;
			font-size: 1.8rem;
			padding: 12px 16px;
			margin-bottom: 16px;
			span {
				font-size: 2.6rem;
				margin-top: 0;
			}
		}
		dd {
			padding-left: 16px;
			span {font-size: 2.6rem;}
		}
	}
}


/* 記事のまとめのスタイル */
.article-summary {
	padding: 56px 0;
}
.article-summary__container {
	max-width: 900px;
	width: 100%;
	margin: 0 auto;
}
@media (max-width: 768px) {
	.article-summary {
		padding: 40px 20px;
	}
}