@charset "UTF-8";
/* =========================
アコーディオンの初期設定をリセットする */
/* --------------------
デフォルトの矢印を消す */
summary {
	display: block;
}
summary::-webkit-details-marker {
	display: none;
}


/* =========================
基本設定 */
.ac {
	--ac-gutter: 0px;
}
.ac + .ac {
	margin-top: 2.5em;
}
/* ------------
タイトル */
.ac__open {
	padding: 1em var(--ac-gutter);
	cursor: pointer;
	border-bottom: 1px solid var(--color-bk);
}
.ac__ttl {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	gap: 0 var(--gutter-var-sm);
}
.ac__headline {
	color: var(--color-bk);
	font-size: var(--txt-lg);
	font-weight: 700;
	line-height: 1.35;

	display: -webkit-box;

	display: -ms-flexbox;

	display: flex;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	gap: 0.3em;
}
/* 矢印 */
.arrow-ac {
	fill: none;
	stroke: var(--color-bk);
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2;

	-ms-flex-negative: 0;

	    flex-shrink: 0;
	width: 1em;
	height: auto;
}
/* ------------
コンテンツ */
.ac__inner {
	padding: 2.5em var(--ac-gutter);
}
/* ------------
開閉時のアニメーション */
.ac__open {
	-webkit-transition: background-color .2s var(--easeInQuint),
	border-color .2s var(--easeInQuint);
	transition: background-color .2s var(--easeInQuint),
	border-color .2s var(--easeInQuint);
}
.ac__ttl {
	-webkit-transition: color .2s var(--easeInOutSine);
	transition: color .2s var(--easeInOutSine);
}
.ac__open.is-open .ac__ttl {
	color: var(--color-primary);
}
/* 矢印のアニメーション */
.arrow-ac {
	-webkit-transition: stroke .2s var(--easeInOutSine),
	-webkit-transform .15s var(--easeInQuint);
	transition: stroke .2s var(--easeInOutSine),
	-webkit-transform .15s var(--easeInQuint);
	transition: transform .15s var(--easeInQuint),
	stroke .2s var(--easeInOutSine);
	transition: transform .15s var(--easeInQuint),
	stroke .2s var(--easeInOutSine),
	-webkit-transform .15s var(--easeInQuint);
}
.ac__open.is-open .arrow-ac {
	-webkit-transform: scaleY(-1);
	        transform: scaleY(-1);
}
/* コンテンツのアニメーション */
.ac__inner > *{
	opacity: 0;
	-webkit-transition: opacity .2s var(--easeInOutSine);
	transition: opacity .2s var(--easeInOutSine);
}
.ac__content {
	overflow: hidden;
	max-height: 0px;
	-webkit-transition: max-height .3s var(--easeInOutSine), margin-top .3s var(--easeInOutSine);
	transition: max-height .3s var(--easeInOutSine), margin-top .3s var(--easeInOutSine);
}
.ac__inner > *.is-slide{
	opacity: 1;
	-webkit-animation-name: acc-open;
	        animation-name: acc-open;
	-webkit-animation-duration: .2s;
	        animation-duration: .2s;
	-webkit-animation-delay: .1s;
	        animation-delay: .1s;
	-webkit-animation-timing-function: var(--easeInSine);
	        animation-timing-function: var(--easeInSine);
	-webkit-animation-fill-mode: backwards;
	        animation-fill-mode: backwards;
}
@-webkit-keyframes acc-open {
	from {
		opacity: 0;

		-webkit-transform: translateY(-10px);

		        transform: translateY(-10px);
	}
	to {
		opacity: 1;

		-webkit-transform: translateY(0);

		        transform: translateY(0);
	}
}
@keyframes acc-open {
	from {
		opacity: 0;

		-webkit-transform: translateY(-10px);

		        transform: translateY(-10px);
	}
	to {
		opacity: 1;

		-webkit-transform: translateY(0);

		        transform: translateY(0);
	}
}


/* =========================
コンテンツの設定
container-service.css 料金体系参照

*/
