@charset "UTF-8";
/**
*
* 記事ページ（ article style ）
*
**/

/**
*
* ボタン
*
**/

.as-button {
	display: inline-flex;
	flex-direction: row;
	flex-wrap: wrap;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-align-content: center;
	-ms-flex-line-pack: center;
	align-content: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	box-shadow: 0 3.5em 3em -3em rgb(255, 255, 255, 0.33) inset;
	border-radius: 4px;
	border: solid 1px #666;
	outline: none;
	background: #666;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	font-family: inherit;
	line-height: 20px;
	text-align: center;
	text-shadow: 0 -2px 0 rgba(0, 0, 0, 0.06);
	text-decoration: none;
	padding: 16px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

.as-button:focus,
.as-button:hover {
	opacity: 0.75;
}

*>.as-button {
	margin-left: 4px;
	margin-right: 4px;
}

.as-button--small {
	box-shadow: 0 3.5em 3em -3em rgb(255, 255, 255, 0.33) inset;
	border-radius: 4px;
	font-size: 13px;
	line-height: 18px;
	text-shadow: 0 -2px 0 rgba(0, 0, 0, 0.06);
	padding: 6px 12px;
}

.as-button--blue {
	border-color: #0b5ed7;
	/* 色はボタンごとに、コピペして一括で置換してください */
	background: #0b5ed7;
	color: #fff;
}

.as-button--blue.as-button--bordered {
	background: #fff;
	color: #0b5ed7;
}

.as-button--pink {
	border-color: #f51887;
	background: #f51887;
	color: #fff;
}

.as-button--pink.as-button--bordered {
	background: #fff;
	color: #f51887;
}

.as-button--green {
	border-color: #48b3b6;
	background: #48b3b6;
	color: #fff;
}

.as-button--green.as-button--bordered {
	background: #fff;
	color: #48b3b6;
}

.as-button--red {
	border-color: #dc3545;
	background: #dc3545;
	color: #fff;
}

.as-button--red.as-button--bordered {
	background: #fff;
	color: #dc3545;
}

.as-button--orange {
	box-shadow: 0 3.5em 3em -3em rgb(255, 255, 255, 0.5) inset;
	border-color: #ffc107;
	background: #ffc107;
	color: #fff;
	text-shadow: 0 -2px 0 rgba(0, 0, 0, 0.08);
}

.as-button--orange.as-button--bordered {
	background: #fff;
	color: #ffc107;
}

.as-button--skyblue {
	box-shadow: 0 3.5em 3em -3em rgb(255, 255, 255, 0.5) inset;
	border-color: #0dcaf0;
	background: #0dcaf0;
	color: #fff;
	text-shadow: 0 -2px 0 rgba(0, 0, 0, 0.08);
}

.as-button--skyblue.as-button--bordered {
	background: #fff;
	color: #0dcaf0;
}

.as-button--bordered {
	box-shadow: none;
	text-shadow: none;
}

/**
*
* ボタンの囲み
*
**/
.as-cta {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-align-content: stretch;
	-ms-flex-line-pack: stretch;
	align-content: stretch;
	-webkit-align-items: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
	border-radius: 8px;
	background: #f1f1f1;
	padding: 12px 6px;
}

@media (min-width: 768px) {
	*+.as-cta {
		margin-top: 32px !important;
	}

	.as-cta+* {
		margin-top: 32px !important;
	}

	.as-cta .as-button:only-child {
		max-width: 360px;
		width: 100%;
	}

	.as-cta .as-button {
		max-width: 280px;
		width: 100%;
		margin-left: 6px;
		margin-right: 6px;
	}
}

@media (max-width: 767px) {
	.as-cta {
		flex-wrap: wrap;
	}

	*+.as-cta {
		margin-top: 24px !important;
	}

	.as-cta+* {
		margin-top: 24px !important;
	}

	.as-cta .as-button {
		max-width: 400px;
		width: calc((100% - 24px) / 2);
		margin-top: 12px;
		margin-left: 6px;
		margin-right: 6px;
	}

	.as-cta .as-button:nth-child(-n+2) {
		margin-top: 0;
	}

	.as-cta .as-button:only-child {
		max-width: 400px;
		width: 100%;
		margin-top: 0;
	}
}


/**
*
* 見出し
*
**/
.as-title.title--h1,
.as-title.title--h2,
.as-title.title--h3,
.as-title.title--h4,
.as-title.title--h5,
.as-title.title--h6 {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	-webkit-justify-content: flex-start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-align-content: center;
	-ms-flex-line-pack: center;
	align-content: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
}

h1.as-title {
	font-size: 26px;
}

h2.as-title {
	font-size: 24px;
}

h3.as-title {
	font-size: 22px;
}

@media screen and (max-width: 767px) {
	h1.as-title {
		font-size: 22px;
	}

	h2.as-title {
		font-size: 21px;
	}

	h3.as-title {
		font-size: 20px;
	}
}



.as-title.title--h1 {
	border-radius: 4px;
	background: #e83433;
	color: #fff;
	font-size: 48px;
	font-weight: bold;
	font-family: inherit;
	line-height: initial;
    padding: 3px 24px 8px;
	margin: 0 0 16px;
}

@media (max-width: 767px) {
	.as-title.title--h1 {
		font-size: 22px;
		line-height: 30px;
		padding: 8px 12px;
		margin: 0 0 16px;
	}
}

.as-title.title--h1.bg-orange {
	background: #f79e94;
}

.as-title.title--h1.bg-blue {
	background: #48b3b6;
}

.as-title.title--h1.bg-green {
	background: #52b870;
}



.as-title.title--h2 {
	border-radius: 4px;
	box-shadow: 0 0 0 1px #d1d1d1 inset;
	background: #fff;
	color: inherit;
	font-size: 36px;
	font-weight: bold;
	font-family: inherit;
	line-height: 36px;
	padding: 13px 16px 15px 24px;
	margin: 0 0 16px;
	overflow: hidden;
	position: relative;
}

.as-title.title--h2::before {
	content: '';
	display: block;
	background: #e83433;
	width: 8px;
	height: auto;
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	z-index: 1;
}

@media (max-width: 767px) {
	.as-title.title--h2 {
		font-size: 22px;
		line-height: 30px;
		padding: 8px 12px 8px 24px;
		margin: 0 0 16px;
	}
}

.as-title.title--h2.bg-orange {
	background: #f7e4e2;
}

.as-title.title--h2.bg-blue {
	background: #beeded;
}

.as-title.title--h2.bg-blue::before {
	background: #48b3b6;
}

.as-title.title--h2.bg-green {
	background: #d5eddd;
}

.as-title.title--h2.bg-green::before {
	background: #52b870;
}

.as-title.title--h3 {
	border-radius: 4px;
	background: transparent;
	color: inherit;
	font-size: 24px;
	font-weight: bold;
	font-family: inherit;
	line-height: 36px;
	padding: 14px 24px 12px;
	margin: 0 0 16px;
	position: relative;
}

.as-title.title--h3::before {
	content: '';
	display: block;
	border-radius: 8px;
	background: #e83433;
	width: 8px;
	height: auto;
	position: absolute;
	top: 8px;
	right: auto;
	bottom: 8px;
	left: 0;
	z-index: 1;
}

@media (max-width: 767px) {
	.as-title.title--h3 {
		font-size: 22px;
		line-height: 30px;
		padding: 12px 24px 8px;
		margin: 0 0 16px;
	}
}

.as-title.title--h3.bg-orange::before {
	background: #f79e94;
}

.as-title.title--h3.bg-blue::before {
	background: #48b3b6;
}

.as-title.title--h3.bg-green::before {
	background: #52b870;
}

.as-title.title--h4 {
	border-radius: 4px;
	background: transparent;
	color: inherit;
	font-size: 24px;
	font-weight: bold;
	font-family: inherit;
	line-height: 30px;
	padding: 16px 24px 0;
	margin: 0 0 16px;
	position: relative;
}

.as-title.title--h4::before {
	content: '';
	display: block;
	border-radius: 4px;
	background: #e83433;
	width: 100%;
	height: 4px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}

@media (max-width: 767px) {
	.as-title.title--h4 {
		font-size: 18px;
		line-height: 24px;
		padding: 14px 0 0;
		margin: 0 0 16px;
	}
}

.as-title.title--h4.bg-orange::before {
	background: #f79e94;
}

.as-title.title--h4.bg-blue::before {
	background: #48b3b6;
}

.as-title.title--h4.bg-green::before {
	background: #52b870;
}

.as-title.title--h5 {
	border-radius: 4px;
	background: transparent;
	color: #e83433;
	font-size: 22px;
	font-weight: bold;
	font-family: inherit;
	line-height: 30px;
	padding: 14px 24px 0;
	margin: 0 0 16px;
	position: relative;
}

.as-title.title--h5::before {
	content: '';
	display: block;
	border-radius: 4px;
	background: #d1d1d1;
	width: 100%;
	height: 2px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}

@media (max-width: 767px) {
	.as-title.title--h5 {
		font-size: 18px;
		line-height: 24px;
		padding: 14px 0 0;
		margin: 0 0 16px;
	}
}

.as-title.title--h5.bg-orange,
.as-title.title--h6.bg-orange {
	color: #f79e94;
}

.as-title.title--h5.bg-blue,
.as-title.title--h6.bg-blue {
	color: #48b3b6;
}

.as-title.title--h5.bg-green,
.as-title.title--h6.bg-green {
	color: #52b870;
}

.as-title.title--h6 {
	color: #e83433;
	font-size: 1.25em;
	font-weight: bold;
	font-family: inherit;
	line-height: inherit;
	padding: 14px 24px 0;
	margin: 0 0 16px;
}

@media (max-width: 767px) {
	.as-title.title--h6 {
		font-size: 1.125em;
		line-height: inherit;
		padding: 14px 0 0;
		margin: 0 0 16px;
	}
}


@media (min-width: 768px) {

	*+.as-title.title--h1,
	*+.as-title.title--h2,
	*+.as-title.title--h3,
	*+.as-title.title--h4,
	*+.as-title.title--h5,
	*+.as-title.title--h6 {
		margin-top: 32px !important;
	}

	.as-title.title--h1+*,
	.as-title.title--h2+*,
	.as-title.title--h3+*,
	.as-title.title--h4+*,
	.as-title.title--h5+*,
	.as-title.title--h6+* {
		margin-top: 32px !important;
	}
}

@media (max-width: 767px) {

	*+.as-title.title--h1,
	*+.as-title.title--h2,
	*+.as-title.title--h3,
	*+.as-title.title--h4,
	*+.as-title.title--h5,
	.as-title.title--h6 {
		margin-top: 24px !important;
	}

	.as-title.title--h1+*,
	.as-title.title--h2+*,
	.as-title.title--h3+*,
	.as-title.title--h4+*,
	.as-title.title--h5+*,
	.as-title.title--h6+* {
		margin-top: 24px !important;
	}
}

/**
*
* 目次
*
**/
.as-index {
	border: solid 1px #c1c1c1;
	background: #f8f8f8;
	color: #222;
	/* この数値を変えるだけで、全ての目次リンク、目次リストのボーダーの色などが程よく変化します */
	padding: 0 24px 0;
	margin: 0 0 48px;
	max-width: 440px;
}

*+.as-index {
	margin-top: 56px;
}

@media (max-width: 767px) {}


.as-index--title {
	color: inherit;
	font-size: 14px;
	font-weight: bold;
	letter-spacing: 2ex;
	text-indent: 2ex;
	text-align: center;
	opacity: 0.66;
	padding: 0;
	margin: 0;
}

.as-index--title::after {
	content: '';
	display: block;
	width: 6em;
	border-bottom: solid 2px;
	margin: 4px auto 0;
}

.as-index>ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.as-index>ul>li {
	list-style: none;
	padding: 0;
	margin: 0;
	line-height: 1.6;
}

.as-index>ul>li+li {
	margin-top: 16px;
}

.as-index>ul>li>a,
.as-index>ul>li>span.as-index--nolink {
	display: unset;
	color: inherit;
	font-weight: bold;
	text-decoration: none;
	padding: 0 0 0 24px;
	margin: 0 0 -30px;
	position: relative;
}

.as-index>ul>li>a:only-child,
.as-index>ul>li>span:only-child {
	margin: 0;
}

.as-index>ul>li>a:focus,
.as-index>ul>li>a:hover {
	opacity: 0.66;
	text-decoration: underline;
}

.as-index>ul>li>a::before,
.as-index>ul>li>span::before {
	content: '';
	display: block;
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.2);
	width: 1em;
	height: 1em;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	transform: translate(0, 28%) scale(0.8);
	transform-origin: left center;
}

.as-index>ul>li>ul {
	list-style: none;
	padding: 0 0 16px 24px;
	margin: .8rem 0 0;
}

.as-index>ul>li>ul>li {
	font-size: 0.875em;
	list-style: none;
	padding: 0;
	margin: 0;
}

.as-index>ul>li>ul>li::after {
	content: '';
	display: block;
	border-bottom: solid 1px;
	opacity: 0.13;
	margin: 8px 0 0;
}

.as-index>ul>li>ul>li+li {
	margin-top: 8px;
}

.as-index>ul>li>ul>li>a {
	color: inherit;
	font-weight: bold;
	text-decoration: none;
	opacity: 0.75;
}

.as-index>ul>li>ul>li>a:focus,
.as-index>ul>li>ul>li>a:hover {
	opacity: 0.66;
	text-decoration: underline;
}

.list_disc>li {
	list-style-type: disc;
	margin-left: 1em;
}

@media (max-width: 767px) {}


/**
*
* 画像とテキスト
*
**/
.as-newspaper {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-align-content: flex-start;
	-ms-flex-line-pack: start;
	align-content: flex-start;
	-webkit-align-items: flex-start;
	-ms-flex-align: start;
	align-items: flex-start;
	margin: 0 0 48px;
}

*+.as-newspaper {
	margin-top: 48px;
}

@media (max-width: 767px) {}

.as-newspaper--image>img {
	max-width: 320px;
	width: 100%;
	height: auto;
}

@media (max-width: 767px) {
	.as-newspaper--image>img {
		max-width: 300px;
	}
}

/* 回り込みありの設定 */
.as-newspaper--image {
	width: 320px;
	float: right;
	padding-left: 32px;
}

.as-newspaper--image.image--right {
	float: right;
	padding-left: 32px;
	padding-right: 0;
	padding-bottom: 32px;
}

.as-newspaper--image.image--left {
	float: left;
	padding-left: 0;
	padding-right: 32px;
	padding-bottom: 32px;
}

@media (min-width: 768px) {

	.as-newspaper--image+*,
	.as-newspaper--image.image--right+*,
	.as-newspaper--image.image--left+* {
		margin-top: 0 !important;
	}
}

@media (max-width: 767px) {

	/* 回り込みありの設定 */
	.as-newspaper--image.image--left,
	.as-newspaper--image.image--right,
	.as-newspaper--image {
		width: 300px;
		float: none;
		padding: 16px 0 0;
		margin-left: auto;
		margin-right: auto;
	}

	.as-newspaper--image.image--left {
		order: 5;
	}

	.as-newspaper--image.image--right {
		order: 5;
	}
}


/* 回り込みなしの設定 */
.as-newspaper>.as-newspaper--image {
	width: 320px;
	order: 5;
	float: none;
	padding-left: 0;
}

.image--right>.as-newspaper--text {
	order: 5;
}

.image--left>.as-newspaper--text {
	order: 0;
}

@media (max-width: 767px) {

	/* 回り込みなしの設定 */
	.as-newspaper>.as-newspaper--image {
		text-align: center;
		width: 100%;
		order: 0;
		float: none;
		padding: 0;
	}

	.image--right>.as-newspaper--text {
		order: 0;
	}

	.image--left>.as-newspaper--text {
		order: 0;
	}
}



.as-newspaper--text {
	width: calc(100% - 320px);
	padding-right: 32px;
	order: 0;
}

.image--right>.as-newspaper--text {
	padding-right: 32px;
	order: 0;
}

.image--left>.as-newspaper--text {
	padding-left: 32px;
	order: 5;
}

@media (max-width: 767px) {

	.image--right>.as-newspaper--text,
	.image--left>.as-newspaper--text,
	.as-newspaper--text {
		width: 100%;
		padding: 0;
		order: 0;
	}
}

.as-newspaper--clear {
	clear: both;
}


/**
*
* プロフィール
*
**/
.as-profile {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-align-content: flex-start;
	-ms-flex-line-pack: start;
	align-content: flex-start;
	-webkit-align-items: flex-start;
	-ms-flex-align: start;
	align-items: flex-start;
	border-radius: 8px;
	border: solid 1px #d1d1d1;
	padding: 16px;
}

*+.as-profile {
	margin-top: 12px;
}

.as-profile--image {
	border-radius: 4px;
	overflow: hidden;
	position: relative;
	width: 96px;
}

.as-profile--image::before {
	content: '';
	display: block;
	position: relative;
	z-index: 1;
	padding: 100% 0 0;
}

.as-profile--image>img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	font-family: 'object-fit: cover;';
	position: absolute;
	left: 0;
	top: 0;
	z-index: 5;
}

.as-profile--text {
	width: calc(100% - 96px);
	padding: 0 0 0 16px;
}

.as-profile--title {
	font-size: 0.75em;
	font-weight: bold;
	line-height: 1;
	padding: 0;
	margin: 0 0 8px;
	opacity: 0.66;
}

.as-profile--name {
	font-size: 0.875em;
	font-weight: bold;
	line-height: 1.33;
	padding: 0;
	margin: 0 0 8px;
}

.as-profile--desc {
	font-size: 0.875em;
	font-weight: inherit;
	line-height: 1.33;
	padding: 0;
	margin: 0;
}

.as-profile--desc .as-button {
	margin-top: 0.2rem;
	text-align: right;
}



@media (max-width: 767px) {
	.as-profile {
		padding: 12px;
	}

	*+.as-profile {
		margin-top: 32px;
	}

	.as-profile--image {
		width: 72px;
	}

	.as-profile--text {
		width: calc(100% - 72px);
		padding: 0 0 0 12px;
	}

	.as-profile--name {
		font-size: 0.75em;
		line-height: 1.5;
	}

	.as-profile--desc {
		font-size: 0.75em;
		line-height: 1.5;
	}
}


/**
*
* テーブル
*
**/
.as-table {
	border-collapse: collapse;
	width: 100%;
}

*+.as-table {
	margin-top: 48px;
}

.as-table>thead {}

.as-table>thead>tr {}

.as-table>thead>tr>th,
.as-table>thead>tr>td {
	border: solid 1px #d1d1d1;
	background: #f1f1f1;
	color: inherit;
	text-align: center;
	padding: 12px 16px;
}

.as-table>tbody {}

.as-table>tbody>tr {}

.as-table>tbody>tr>th {
	border: solid 1px #d1d1d1;
	background: #f1f1f1;
	color: inherit;
	text-align: center;
	padding: 12px 16px;
}

.as-table>tbody>tr>td {
	border: solid 1px #d1d1d1;
	background: #fff;
	color: inherit;
	text-align: center;
	padding: 12px 16px;
}

/* スマホビュー スクロールの設定 */
.as-table--scroll {
	min-height: .01%;
	overflow-x: auto;
}

*+.as-table--scroll {
	margin-top: 48px;
}

@media (max-width: 767px) {
	.as-table--scroll {
		width: 100%;
		margin-bottom: 15px;
		overflow-y: hidden;
		-ms-overflow-style: -ms-autohiding-scrollbar;
		border: 1px solid #dcdcdc;
	}

	.as-table--scroll>.as-table {
		width: auto;
		margin-bottom: 0;
	}

	.as-table--scroll>.as-table>thead>tr>th,
	.as-table--scroll>.as-table>tbody>tr>th,
	.as-table--scroll>.as-table>tfoot>tr>th,
	.as-table--scroll>.as-table>thead>tr>td,
	.as-table--scroll>.as-table>tbody>tr>td,
	.as-table--scroll>.as-table>tfoot>tr>td {
		white-space: nowrap;
	}
}

.columun_center_wrap .column_detail_wrap strong {
	font-weight: bold;
}
