@charset "utf-8";
/* ------------------------------------------ */
/* Tab Accordion CSS */
/* ------------------------------------------ */
.resp-tabs {
	display: flex;
	flex-wrap: wrap;
}

/* タブ */
.resp-tabs .resp-tab-item {
	cursor: pointer;
	padding: 10px;
	background-color: rgb(245, 245, 245);
}
.resp-tabs .resp-tab-item.resp-tab-active {
	color: #fff;
	background-color: rgb(193, 193, 193);
}
@media (min-width: 768px) and (any-hover: hover) {
	.resp-tabs .resp-tab-item:hover {
		color: #fff;
		background-color: rgb(193, 193, 193);
	}
}

/* アコーディオン */
.resp-tabs .resp-accordion {
	display: none;
	cursor: pointer;
	position: relative;

	padding: 10px;
	background-color: rgb(245, 245, 245);
}
.resp-tabs .resp-accordion.resp-tab-active {
	color: #fff;
	background-color: rgb(193, 193, 193);
}
@media (min-width: 768px) and (any-hover: hover) {
	.resp-tabs .resp-accordion:hover {
		color: #fff;
		background-color: rgb(193, 193, 193);
	}
}


/* コンテンツ */
.resp-tabs .resp-tab-content {
	display: none;
	
	padding: 10px;
	background-color: #eee;
}
.resp-tabs .resp-tab-content.active {
	display: block;
}

/* スタイル：デザインに合わせて変更 --------------------------- */
/* アコーディオン アイコン */
.resp-accordion .resp-arrow {
    --resp-arrow-width: 16px;

	position: absolute;
    top: 50%;
	right: 5px;
    transform: translate(-50%, -50%);
    display: inline-block;
	width: var(--resp-arrow-width);
    height: var(--resp-arrow-width);
}
.resp-accordion .resp-arrow::before,
.resp-accordion .resp-arrow::after {
	top: 50%;
    transform: translateY(-50%);
	width: var(--resp-arrow-width);
    height: 2px;
	content:"";
	position:absolute;
    background: #d5000a;
    transition: .4s cubic-bezier(.77,0,.175,1);
}
.resp-accordion .resp-arrow::before {
	left: 0;
}
.resp-accordion .resp-arrow::after {
	right: 0;
    transform: translateY(-50%) rotate(90deg);
}
.resp-accordion.resp-tab-active .resp-arrow::after {
    transform: translateY(-50%);
}
@media (min-width: 768px) and (any-hover: hover) {
    .resp-accordion:hover:not(.resp-tab-active) .resp-arrow::before {
        transform: rotate(-45deg);
        transform-origin: left bottom;
        width: 10px;
        left: calc(var(--resp-arrow-width) / 2);
    }
    .resp-accordion:hover:not(.resp-tab-active) .resp-arrow::after {
        transform: rotate(45deg);
        transform-origin: right bottom;
        width: 10px;
        right: calc(var(--resp-arrow-width) / 2);
    }
}

/* holizon */
.holizon .resp-tabs-list {
	display: flex;
	gap: 0 5px;
}
.holizon .resp-tabs-container {
	width: 100%;
}

/* vertical */
.vertical .resp-tabs-list {
	display: flex;
	flex-direction: column;
	gap: 5px 0;

	width: 35%;
	margin-right: 50px;
}
.vertical .resp-tabs-container {
	flex: 1;
}


/* タブ・アコーディオン切り替え */
@media only screen and (max-width: 1024px) {
    .resp-tabs .resp-tabs-list {
        display: none;
    }
    .resp-tabs .resp-tabs-container .resp-accordion {
        display: block;
    }
}



























