/*===============================================================================
共通
================================================================================*/
.privacy__group:not(:last-child){
	margin-bottom: var(--g-sec--lg);
}
.privacy__group.--has-bgc{
	position: relative;
	padding: var(--g-sec--lg) 0;
}
.privacy__group.--has-bgc::before{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: -1;
	content: "";
	max-width: 1200px;
	width: 105vw;
	height: 100%;
	background: var(--c-gray--light);
	border-radius: var(--bd-r--lg);
	overflow: hidden;
}

.privacy__inner{
	max-width: var(--width-sm);
	margin-inline: auto;
}

.privacy__box:not(:last-child){
	margin-bottom: var(--g-sec--md);
}
.privacy__box.--mb-sm:not(:last-child){
	margin-bottom: var(--g-sec--sm);
}

.privacy__group.--has-bgc .c-title{
	color: var(--c-dark);
}

.privacy__lead{
	display: flex;
	margin-bottom: 1.25rem;
	font-weight: var(--fw-lg);
	font-size: 1.75rem;
}

.privacy__link{
	text-decoration: underline;
	font-weight: var(--fw-lg);
}

.privacy__box.--btn{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: .75rem var(--g-sec--xs);
	text-align: center;
}
.privacy__box.--cancel > a{
	max-width: 25rem;
	min-width: 25rem;
}



/*===============================================================================
ナビ
================================================================================*/
.privacy-nav{
	--gap: 1.75rem;
	display: grid;
	grid-template-columns: repeat(auto-fit,minmax(13em,1fr));
	gap: .75rem var(--gap);
}



/*===============================================================================
表
================================================================================*/
.privacy-table {
	--bd-width: 2px;
	--bd-style: solid;
	--bd-color: var(--c-gray--darkest);
}
@media (min-width: 768px){
	.privacy-table {
		border: var(--bd-width) var(--bd-style) var(--bd-color);
		border-radius: var(--bd-r--sm);
		overflow: hidden;
	}
}

/*===============================
* row
* =================================*/
.privacy-table__row {
	display: block;
	border: var(--bd-width) var(--bd-style) var(--bd-color);
	border-radius: var(--bd-r--sm);
	overflow: hidden;
}
.privacy-table__row.--header {
	display: none;
}
.privacy-table__row:not(:last-child){
	margin-bottom: var(--g-sec--xs);
}
@media (min-width: 768px){
	.privacy-table__row {
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
		border: 0;
		border-radius: 0;
	}
	.privacy-table__row.--header {
		display: grid;
	}
	.privacy-table__row:not(:last-child){
		margin-bottom: 0;
	}
}

/*===============================
* cell
* =================================*/
.privacy-table__cell {
	display: block;
	padding: var(--g-sec--xs) clamp(0.8rem, 0.3rem + 1.33vw, 1.5rem);
	text-align: center;
	border-right: none;
	background: var(--c-light);
}
.privacy-table__cell:not(:last-child){
	border-bottom: var(--bd-width) var(--bd-style) var(--bd-color);
}
/* タイミング部分をヘッダー化 */
.privacy-table__cell.--timing {
	background:var(--c-gray--dark);
	font-weight: var(--fw-lg);
}
@media (min-width: 768px){
	.privacy-table__cell {
		display: flex;
		flex-direction: column;
		justify-content: center;
		text-align: left;
		background: var(--c-light);
	}
	.privacy-table__row:not(:last-child) .privacy-table__cell{
		border-bottom: var(--bd-width) var(--bd-style) var(--bd-color);
	}
	.privacy-table__cell:not(:last-child){
		border-right: var(--bd-width) var(--bd-style) var(--bd-color);
		border-bottom: 0;
	}
	.privacy-table__row.--header .privacy-table__cell {
		padding: 1.75rem;
		text-align: center;
		background:var(--c-gray);
		font-weight: var(--fw-lg);
	}
	/* タイミング部分をヘッダー解除 */
	.privacy-table__cell.--timing {
		background: var(--c-light);
		font-weight: var(--fw-sm);
	}
}

/*===============================
* text
* =================================*/
.privacy__cell-label {
	display: block;
	font-size: 1.125rem;
	margin-bottom: .25rem;
}
.privacy__cell-text {
	font-weight: var(--fw-lg);
}

@media (min-width: 768px){
	.privacy__cell-label {
		display: none;
	}
	.privacy__cell-text {
		display: flex;
		flex-wrap: wrap;
		font-weight: var(--fw-sm);
	}
}

