@charset "utf-8";
/*===========================================================================

　CMS（コンテンツ管理システム）によって自動出力される記事部分のスタイルをまとめます。
	
===========================================================================*/

#tinymce {
	display:block;
	padding:40px;
}
#tinymce .c-accordion__body {
	display:block;
}
#tinymce .c-accordion__head::before,
#tinymce .c-accordion__head::after {
	display:none;
}
#tinymce .swiper-wrapper {
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* 2列に分割 */
  gap: 15px; /* アイテム間の余白（任意で調整） */
}
#tinymce .swiper-wrapper li {
  list-style: none; /* 中丸などを消す場合 */
  width: 100% !important; /* Swiperのデフォルト計算を上書き */
}
/*
 * Block: 記事本文エリア
 * (CMSから出力されるHTMLを想定した実用的な記述)
 */
.cms-kiji{
	word-break: break-all;
	background-image:url(../images/concept_bg.png);
	background-repeat:no-repeat;
	background-position:top center;
	background-size:100%;
	}
.cms-kiji table {
}
.cms-kiji th,
.cms-kiji td {
	padding:revert-layer;
	vertical-align:inherit;
}


/*

.cms-kiji td img{
	width: 100%;
	aspect-ratio: 4 / 3;
	-o-object-fit: cover;
	object-fit: cover;
	display: block;
	margin: 0 auto;
}

.cms-kiji ul,
.cms-kiji ol {
  padding: 0 0 0 var(--s-5);
}

.cms-kiji ul {
  list-style: disc;
}

.cms-kiji ol {
  list-style: revert;
}

.cms-kiji hr {
	margin-top:var(--s-3);
	margin-bottom:var(--s-3);
	border-color: #ddd;
}

.cms-kiji img {
	display: block;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

.cms-kiji a {
  font-weight: 700;
  color: var(--color-primary);
  text-decoration: underline;
}*/

.cms-table-responsive-1{
	}
.cms-table-responsive-2{
	}
@media (max-width: 768px) {
	/*1行にする*/
	.cms-table-responsive-1,
	.cms-table-responsive-1 > tbody,
	.cms-table-responsive-1 > tbody > tr {
		display: block;
		width: 100%;
	}
	.cms-table-responsive-1 > tbody > tr > th,
	.cms-table-responsive-1 > tbody > tr > td {
		display: block;
		width: 100% !important;
		box-sizing: border-box;
	}
	/*2行にする*/
	.cms-table-responsive-2 {
		display: block;
		width: 100%;
	}
	/* tbodyをGridの親にする */
	.cms-table-responsive-2 > tbody {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 16px;
		width: 100%;
	}
	/* trは「中身（td）を外に出す」設定 */
	.cms-table-responsive-2 > tbody > tr {
		display: contents;
	}
	.cms-table-responsive-2 > tbody > tr > td {
		display: block;
		width: 100% !important;
		box-sizing: border-box;
	}
}

#faq table {
	margin-bottom: 20px;
}

#faq table tr:first-child {
	cursor: pointer;
	background: #f8f8f8;
	transition: .3s;
}

#faq table tr:first-child:hover {
	background: #f0f0f0;
}

#faq table tr:first-child td {
	position: relative;
	padding-right: 40px;
	padding-left: 20px;
}

#faq table tr:first-child td::after {
	content: "+";
	position: absolute;
	right: 15px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1.5rem;
	font-weight: bold;
	color: #c1112e;
}

#faq table.is-open tr:first-child td::after {
	content: "−";
}
#faq > .inner > table:first-child tr:first-child td::after {
	display: none;
}
#faq table tr:first-child {
	cursor: pointer;
}
#faq > .inner > table:first-child td {
    padding-top: 40px;
    padding-bottom: 10px;
}