/* -------------------- common css  -------------------- */
:root {
    --mainColor: #ffff00;
    --txtColor: #000;
    --black: #000;
    --white: #fff;
    --gray: #777;
    --font_stack: 'Rubik', 'Noto Sans JP', sans-serif;
    --common_border: 1px solid var(--black);
	--ease: all 0.3s ease;
}


.top-section {
	background-image: url('../../img/brascia/brascia-title-bg.webp');
	margin-bottom: 120px;
}

.brascia_header {
	width: 100%;
	max-width: 1246px;
	padding: 0 60px;
	margin: 0 auto 80px;
	display: flex;
	flex-direction: column;
	align-items: center;
	grid-row-gap: 50px;
}
.brascia_header > h2 {
	width: 100%;
	padding: 0;
	margin: 0 auto;
	position: relative;
	font-size: 30px;
	line-height: 1.7em;
	text-align: center;
	font-weight: bold;
}
.brascia_header > p {
	padding: 0;
	margin: 0 auto;
	text-align: center;
}

.brascia_about {
	width: 100%;
	max-width: 1246px;
	padding: 0 60px;
	margin: 0 auto 200px;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	column-gap: 60px;
}
.brascia_about > h2 {
	min-width: 550px;
	padding: 60px 50px;
	margin: 0;
	background-color: #ffff00;
	font-size: 25px;
	line-height: 1.7em;
	font-weight: bold;
}
.brascia_about_info {
	width: calc(100% - 60px - 550px);
	padding: 60px 0 0;
	margin: 0;
	position: relative;
	display: flex;
	flex-direction: column;
	grid-row-gap: 2em;
}
.brascia_about_info > p {
	font-size: 16px;
	text-align: left;
	letter-spacing: 2.4px;
	line-height: 28px;
}

.sec {
	width: 100%;
	max-width: 1246px;
	padding: 0 60px;
	margin: 0 auto 200px;
}
.sec > header {
	width: 100%;
	padding: 0;
	margin: 0 auto 50px;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	column-gap: 20px;
}
.sec > header > h2 {
	width: fit-content;
	padding: 0;
	margin: 0 auto;
	border: none;
	background: none;
	font-size: 30px;
	line-height: 1.4em;
	font-weight: 700;
	text-align: center;
	white-space: nowrap;
	position: relative;
	z-index: 0;
}
.sec > header > h2::before {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 50%;
	background: #ff0;
	transform-origin: center;
	z-index: -1;
}
.sec > header::before,
.sec > header::after {
	content: '';
	display: block;
	width: 100%;
	height: 1px;
	background: #000;
}
.sec > p {
	font-size: 16px;
	text-align: left;
	letter-spacing: 2.4px;
	line-height: 28px;
	margin: 0 auto 2em;
}
.sec > h3 {
	font-size: 24px;
	text-align: center;
	margin: 0 auto 1em;
	font-weight: bold;
}


.flexBox {
	width: 100%;
	padding: 0;
	margin: 0 auto 2em;
	position: relative;
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	gap: 50px;
}
.flexBox > dl {
	width: calc((100% - 50px) / 2);
	padding: 40px;
	margin: 0;
	background: #fafafa;
	border-radius: 45px;
	border: 5px dotted rgba(0, 0, 0, 0.4);
	display: flex;
	flex-direction: column;
	grid-row-gap: 20px;
}
.flexBox > dl dt {
	width: 100%;
	padding: 0 0 0 20px;
	margin: 0;
	border-left: 5px solid #ffff00;
	font-size: 24px;
	line-height: 1;
	font-weight: bold;
}
.flexBox > dl dd {
	padding: 0;
	margin: 0;
}
.discList {
	width: 100%;
	padding: 0;
	margin: 0 auto;
	position: relative;
	display: flex;
	flex-direction: column;
	grid-row-gap: 15px;
	list-style: none;
}
.discList.mb30 {
	margin-bottom: 30px;
}
.discList > li {
	padding: 0 0 0 1.5em;
	position: relative;
	line-height: 1.4em;
}
.discList > li::before {
	content: '・';
	display: inline-block;
	position: absolute;
	top: 0;
	left: 0;
}
.discList li a {
	color: #ff0000;
	text-decoration: underline;
}
.discList li a:hover {
	color: #ff0000;
	text-decoration: none;
}

/*more*/
.more {
	display: flex;
	justify-content: center;
	align-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 20px;
	padding: 0;
	margin: 0 auto;
	position: relative;
}
.more > a {
	display: inline-flex;
	justify-content: center;
	align-content: center;
	align-items: center;
	column-gap: 10px;
	padding: 20px 30px;
	margin: 0;
	background: #ffff00;
	border-radius: 45px;
	font-size: 16px;
	line-height: 1;
	font-weight: 600;
	color: var(--txtColor);
	text-align: center;
	transition: var(--ease);
}
.more > a::before {
	content: '';
	display: block;
	width: 12px;
	height: 12px;
	min-width: 12px;
	aspect-ratio: 1 / 1;
	background-image: url(http://teatsui-seitai.com/wp-content/uploads/2025/06/arrow_right.svg);
	background-repeat: no-repeat;
	background-size: 100%;
	background-position: center;
	transition: var(--ease);
}
.more > a:hover {
	background: var(--txtColor);
	color: #fff;
	transition: var(--ease);
}
.more > a:hover::before {
	background-image: url(http://teatsui-seitai.com/wp-content/uploads/2025/06/arrow_right_w.svg);
	transition: var(--ease);
}

/*dl box*/
.dl_box {
	width: fit-content;
	padding: 0;
	margin: 0 auto;
	position: relative;
	display: flex;
	justify-content: center;
}
.dl_box dt {
	width: 300px;
	padding: 40px;
	margin: 0;
	background: #000;
	font-size: 20px;
	line-height: 1;
	font-weight: bold;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
}
.dl_box dd {
	width: calc(100% - 300px);
	padding: 40px 60px;
	margin: 0;
	border: 5px solid #000;
	border-left: none;
}

/*brascia*/
#brascia_1 > p,
#brascia_2 > p,
#brascia_3 > p,
#brascia_4 > p {
	text-align: justify;
	text-justify: inter-ideograph;
	word-break: break-all;
}

br.pc { display: block; }
br.sp { display: none; }

/*スマホ表示*/
@media (max-width: 768px) {
	.top-section {
		background-image: url('../../img/brascia/brascia-title-bg.webp');
		margin-bottom: 50px;
	}

	.brascia_header {
		width: 100%;
		max-width: 100%;
		padding: 0 20px;
		margin: 0 auto 30px;
		grid-row-gap: 20px;
	}
	.brascia_header > h2 {
		width: 100%;
		font-size: 5vw;
		line-height: 1.4em;
	}
	.brascia_header > p {
		padding: 0;
		margin: 0 auto;
		text-align: justify;
		text-justify: inter-ideograph;
		word-break: break-all;
		line-height: 2;
	}

	.brascia_about {
		width: 100%;
		max-width: 100%;
		padding: 0 20px;
		margin: 0 auto 100px;
		flex-wrap: wrap;
		column-gap: 0;
		grid-row-gap: 30px;
	}
	.brascia_about > h2 {
		min-width: 100%;
		padding: 20px 20px;
		font-size: 4.5vw;
		line-height: 1.4em;
	}
	.brascia_about_info {
		width: 100%;
		padding: 0;
		margin: 0;
		grid-row-gap: 1em;
	}
	.brascia_about_info > p {
		font-size: 16px;
		text-align: justify;
		text-justify: inter-ideograph;
		word-break: break-all;
		letter-spacing: 2.4px;
		line-height: 28px;
	}

	.sec {
		width: 100%;
		max-width: 100%;
		padding: 0 20px;
		margin: 0 auto 100px;
	}
	.sec > header {
		width: 100%;
		padding: 0;
		margin: 0 auto 30px;
		column-gap: 20px;
	}
	.sec > header > h2 {
		width: fit-content;
		font-size: 5vw;
	}
	.sec > p {
		text-align: justify;
		text-justify: inter-ideograph;
		word-break: break-all;
		margin: 0 auto 2em;
	}
	.sec > h3 {
		font-size: 24px;
		text-align: center;
		margin: 0 auto 1em;
		font-weight: bold;
	}


	.flexBox {
		width: 100%;
		margin: 0 auto 2em;
		gap: 30px;
	}
	.flexBox > dl {
		width: 100%;
		padding: 20px;
		border-radius: 15px;
		border: 3px dotted rgba(0, 0, 0, 0.4);
		grid-row-gap: 15px;
	}
	.flexBox > dl dt {
		width: 100%;
		padding: 0 0 0 15px;
		margin: 0;
		font-size: 5vw;
	}
	.discList {
		width: 100%;
		padding: 0;
		margin: 0 auto;
		position: relative;
		display: flex;
		flex-direction: column;
		grid-row-gap: 12px;
		list-style: none;
	}
	.discList > li {
		font-size: 0.95em;
	}
	.discList.mb30 {
		margin-bottom: 30px;
	}
	.discList li a {
		color: #ff0000;
		text-decoration: underline;
	}
	.discList li a:hover {
		color: #ff0000;
		text-decoration: none;
	}

	

	/*more*/
	.more {
		gap: 20px;
	}
	.more > a {
		column-gap: 10px;
		padding: 15px 25px;
		font-size: 14px;
	}

	/*dl box*/
	.dl_box {
		width: 100%;
		flex-wrap: wrap;
	}
	.dl_box dt {
		width: 100%;
		padding: 15px 20px;
		font-size: 20px;
	}
	.dl_box dd {
		width: 100%;
		padding: 15px 20px;
		margin: 0;
		border: 5px solid #000;
	}

	/*brascia*/
	#brascia_1 > p,
	#brascia_2 > p,
	#brascia_3 > p,
	#brascia_4 > p {
		text-align: justify;
		text-justify: inter-ideograph;
		word-break: break-all;
	}
	
	br.pc { display: none; }
	br.sp { display: block; }
}
