body.post-type-archive-faq {
	
	.faq-head__title .ja {
		font-size: 28px;
		font-weight: 400;
		color: #b0a59f;
		line-height: 1;
		margin: 0;
	}
	
	.faq-head__title .en {
		font-size: 52px;
		font-weight: 400;
		color:#a47864;
	}
	
	.faq-anchors {
		position: relative;
		padding:60px 0 120px 0;
	}
	
	.faq-anchors__list {
		list-style: none;
		margin: 0;
		padding: 0;
		display: flex;
		align-items: center;
		justify-content: space-between; gap:0;
	}
	
	.faq-anchors__list .item {
		position: relative;
		flex: 1 1 0;
		display: flex;
		justify-content: center;
		min-width: 0;
		padding: 0 clamp(14px, 3vw, 28px);
		height: 80px;
		border-left: 1px solid #ccc;
	}
	
	.faq-anchors__list .item:last-child {
		border-right: 1px solid #ccc;
	}
	
	li.item:hover {
		background: #f5f5f5;
	}
	
	.faq-anchors__list .item__link {
		display: inline-flex;
		align-items: center;
		gap: 10px;
		padding: 10px 0;
		text-decoration: none;
		background: none;
		border: none;
		color: #242f1f;
		white-space: nowrap;
		font-size: 24px;
	}
	
	.js-faq-anchor.is-active {
		background: none!important;
		border: none!important;
		color: #242f1f;
		font-weight: 400;
		font-size: 24px;
	}
	
	.faq-anchors__list .item__icon {
		fill: #242f1f;
		transition: transform .2s ease;
	}
	
	.js-faq-anchor.is-active .item__icon {
		transform:rotate(180deg);
	}
	
	.faq-block {
		padding: 80px 0;
		border-top: 1px solid #ccc;
	}
	
	.faq-block__grid {
		display: grid;
		grid-template-columns: 320px 1fr;
		gap:36px;
		align-items: start;
	}
	
	@media (max-width: 767px) {
		.faq-block__grid {
			grid-template-columns: 1fr;
		}
	}
	
	.faq-block__title {
		font-size: 28px;
		margin: 12px 0 16px;
		color: #242f1f;
	}
	
	.faq-tags {
		display: flex;
		gap: 15px;
		flex-direction: column;
		flex-wrap: wrap;
		align-items: flex-start;
	}
	
	.faq-tag {
		display: inline-flex;
		align-items: center;
		padding: 10px 16px;
		border-radius: 999px;
		border: 1px solid #cfd6e4;
		background: #fff;
		color: #666;
		font-size: 16px;
		cursor: pointer;
		transition: all .2s ease;
	}
	
	.faq-tag:hover {
		border-color: #b0a59f;
		background: #b0a59f;
		color: #fff;
	}
	
	.faq-tag.is-active {
		background: #b0a59f;
		color: #fff;
		border-color: #b0a59f;
	}
	
	.faq-list {
		list-style: none;
		margin: 0;
		padding:0;
	}
	
	.faq-item {
		padding: 14px 0;
	}
	
	.faq-q-container {
		display: flex;
		align-items: center;
		gap: 14px;
		cursor: pointer;
	}
	
	.faq-item.hidden, .faq-a.hidden {
		display:none;
	}
	
	.faq-pre {
		position: relative;
		width: 1.6rem;
		height: 1.6rem;
		border-radius: .25rem;
		background: #F5C760;
		flex: 0 0 auto;
	}
	
	.faq-pre::before {
		content: "Q";
		font-size: 1.2rem;
		font-weight: bold;
		color: white;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%,-50%);
	}
	
	.faq-q {
		font-size: 24px;
		color: #666;
		flex: 1 1 auto;
	}
	
	.faq-btn {
		width: 2.4rem;
		height: 2.4rem;
		display: grid;
		place-items: center;
		justify-content: end;
	}
	
	.faq-btn-inner, .faq-btn-inner::before {
		content: "";
		display: block;
		width: 1.4rem;
		height: 0.25rem;
		background: #b0a59f;
		position: relative;
	}
	
	.faq-btn-inner::before {
		position: absolute;
		transform: rotate(90deg);
	}
	
	.faq-item.open .faq-btn-inner {
		transform: rotate(-225deg);
		transition: transform .2s ease;
	}
	
	.accordion-content {
		margin-top: .75rem;
		border-radius: .75rem;
		background: #f5f5f5;
		padding: 1.6rem;
		color: #666;
	}
	
	@media (max-width: 768px) {
		.faq-anchors {
			padding: 6px 8px;
		}
		
		.faq-anchors__list {
			justify-content: flex-start;
			gap: 16px;
			overflow-x: auto;
			scrollbar-width: thin;
		}
		
		.yess-faq-anchors__list .item {
			flex: 0 0 auto;
			padding: 0 4px;
		}
		
		.yess-faq-anchors__list .item::before {
			display:none;
		}
	}
	
	.faq-btn-inner{
		transition: transform .26s ease;
		transform-origin: 50% 50%;
		will-change: transform;
	}
	
	.faq-item.-open .faq-btn-inner {
		transform:rotate(-225deg);
	}
	
	aside.faq-block__aside {
		position:sticky;
		top:120px;
		align-self: flex-start;
	}
	
	@media (max-width: 1023px) {
		body{
			padding-left: 20px;
			padding-right: 20px;
		}
	}
	
	@media (max-width: 960px) {
		aside.faq-block__aside {
			position: relative;
			top: auto;
			align-self: auto;
		}
		
		.faq-tags {
			flex-direction: row;
			flex-wrap: wrap;
			align-items: stretch;
			gap:12px;
		}
	}
	
	@media (max-width: 768px) {
		.faq-tags {
			flex-direction: row;
			flex-wrap: wrap;
		}
		
		.faq-tag {
			flex: 0 0 auto;
			max-width: 50%;
			justify-content: center;
			text-align: center;
		}
		
		.faq-anchors__list {
			gap: 0;
			flex-wrap: nowrap;
			justify-content: space-between;
			overflow-x: hidden;
		}
		
		.faq-anchors__list .item {
			flex: 1 1 0%;
			min-width: 0;
			padding: 0 8px;
			height: 64px;
		}
		
		.faq-anchors__list .item__link {
			max-width: 100%;
			overflow: hidden;
			text-overflow: ellipsis;
			white-space: nowrap;
		}
	}
	
	@media (max-width: 544px) {
		body.post-type-archive-faq, body.post-type-archive-faq .ast-separate-container {
			background-color: #fff !important;
			background-image: none !important;
		}
	}
}