@charset "utf-8";

/*ページ内共通設定ここから*/

#campaign_page * {
	--main-color: #c1a262;
	--sub01-color: #7f8c8d;
	--sub02-color: #f8f9fa;
	--accent01-color: #d96465;

	color: var(--sub01-color);
}

#campaign_page {
	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;
	font-style: normal;
}


#campaign_page {
	margin: 0;
}

#campaign_page * {
	box-sizing: border-box;
}

#campaign_page h2,
#campaign_page h3,
#campaign_page h4,
#campaign_page p,
#campaign_page ul,
#campaign_page ol,
#campaign_page li {
	margin: 0;
	padding: 0;
	line-height: normal;
	color: var(--text-color);
}

#campaign_page strong {
	font-weight: bold;
	color: var(--main-color);
}

#campaign_page a {
	text-decoration: none;
	transition: .4s all;
}

#campaign_page ul,
#campaign_page ol {
	list-style: none;
}

#campaign_page figure {
	margin: 0;
	padding: 0;
}

#campaign_page img {
	display: block;
	width: 100%;
	height: auto;
	line-height: 1;
}

#campaign_page h2 {
	font-weight: bold;
	text-shadow: unset;
	background: transparent;
	border: none;
	color: var(--main-color);
}

#campaign_page h3 {
	border: none;
}

#campaign_page .visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
}

#campaign_page .content_inner {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	box-sizing: border-box;
	text-align: center;
}

#campaign_page .pc_none {
	display: none;
}

#campaign_page .mb-120 {
	margin-bottom: 120px;
}

#campaign_page .mb-80 {
	margin-bottom: 80px;
}

#campaign_page .mb-60 {
	margin-bottom: 60px;
}

#campaign_page .mb-40 {
	margin-bottom: 40px;
}

#campaign_page .mb-20 {
	margin-bottom: 20px;
}

#campaign_page .mb-10 {
	margin-bottom: 10px;
}

@media screen and (max-width:1250px) and (min-width:1025px) {
	#campaign_page .content_inner {
		padding: 0 10px;
		box-sizing: border-box;
	}
}

@media screen and (min-width:1025px) {
	#campaign_page a:hover {
		opacity: 1;
	}
}

@media screen and (max-width:1024px) {
	#campaign_page .content_inner {
		padding: 0 2%;
	}

	#campaign_page .mb-120 {
		margin-bottom: 100px;
	}

	#campaign_page .mb-80 {
		margin-bottom: 60px;
	}

	#campaign_page .mb-40 {
		margin-bottom: 30px;
	}
}

@media screen and (max-width:767px) {
	#campaign_page .sp_none {
		display: none;
	}

	#campaign_page .pc_none {
		display: block;
	}

	#campaign_page .mb-120 {
		margin-bottom: 70px;
	}

	#campaign_page .mb-80 {
		margin-bottom: 50px;
	}

	#campaign_page .mb-60 {
		margin-bottom: 30px;
	}
}

/*ページ内共通設定ここまで*/
#campaign_page header {
	overflow: hidden;
}

@media screen and (min-width:1501px) {
	#campaign_page header {
		height: 504px;
	}

	#campaign_page .mv_cnt {
		position: relative;
		left: calc(50% - 960px);
		width: 1920px;
	}
}

@media screen and (max-width:1500px) and (min-width:768px) {
	#campaign_page header {
		aspect-ratio: 485 / 170;
	}

	#campaign_page .mv_cnt {
		position: relative;
		left: calc(50% - calc(1vw * (960 / 15)));
		width: calc(1vw * calc(1920 / 15));
	}
}

#campaign_page .read_cnt {
	text-align: center;
}

#campaign_page .read_cnt .fs-min {
	font-size: 16px;
	line-height: 1.8;
}

#campaign_page .read_cnt p {
	font-size: 23px;
	line-height: 2;
	text-align: center;
}

#campaign_page {
	text-align: center;
}


#campaign_page h2 {
	position: relative;
	display: inline-block;
	padding-bottom: 10px;
	font-size: 45px;
	color: var(--main-color);
	text-align: center;
}

#campaign_page h2::before,
#campaign_page h2::after {
	content: "";
	position: absolute;
	bottom: 0;
	transform-origin: bottom;
	width: 3px;
	height: 55%;
	background: var(--main-color);
}

#campaign_page h2::before {
	left: 0;
	transform: rotate(-35deg);
}

#campaign_page h2::after {
	right: 0;
	transform: rotate(35deg);
}

#campaign_page .review_box {
	position: relative;
	padding: 40px;
	border: 3px solid var(--main-color);
	box-sizing: border-box;
	text-align: center;
}

#campaign_page .review_box::before {
	content: "";
	position: absolute;
	top: 30px;
	right: 0;
	transform: rotate(5deg);
	width: 300px;
	aspect-ratio: 1 / 1;
	background: url(https://www.briller-gmt.com/html/260413_review_campaign_briller/icon_img/briller_medal.svg) center center / contain no-repeat;
	z-index: -1;
	opacity: .2;
}

#campaign_page .review_box::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 30%;
	height: 100%;
	background: #f3ece0;
	clip-path: polygon(70% 0, 100% 0, 0 50%, 0 35%);
	z-index: -1;

}

#campaign_page .review_box .review_name {
	font-size: 40px;
	font-weight: bold;
	text-align: center;
}

#campaign_page .review_box .review_title {
	position: relative;
	display: inline-block;
	padding: 15px 20px;
	font-size: 30px;
	font-weight: bold;
	box-sizing: border-box;
}

#campaign_page .review_box .review_title::before,
#campaign_page .review_box .review_title::after {
	content: "";
	position: absolute;
	width: 20px;
	aspect-ratio: 1 / 1;
	border: 4px solid var(--sub01-color);
}

#campaign_page .review_box .review_title::before {
	top: 0;
	left: 0;
	border-width: 4px 0 0 4px;
}

#campaign_page .review_box .review_title::after {
	bottom: 0;
	right: 0;
	border-width: 0 4px 4px 0;
}

#campaign_page .review_box .review_main {
	width: 55%;
	padding: 20px;
	font-size: 18px;
	line-height: 1.8;
	text-align: left;
	box-sizing: border-box;
	background: var(--sub02-color);
}

#campaign_page .review_box .review_group,
#campaign_page .review_box .review_img {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 40px;
}

#campaign_page .review_box .review_sub {
	width: 45%;
}

#campaign_page .review_box .review_img {
	gap: 5px;
}

#campaign_page .review_box .review_star {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 5px;
	text-align: left;
}

#campaign_page .review_box .review_star>div {
	width: calc(calc(100% - 10px) / 3);
	padding: 15px;
	box-sizing: border-box;
	background: #f4f7f9;
}

#campaign_page .review_box .review_star dt {
	margin-bottom: 15px;
	font-size: 16px;
	font-weight: bold;
	color: var(--main-color);
}

#campaign_page .review_box .review_star dd {
	margin: 0;
	text-align: right;
}

#campaign_page .review_box .review_star dd span {
	font-size: 18px;
	color: #efb958;
}

#campaign_page .review_box .review_star dd span.star {
	display: inline-block;
	width: auto;
	margin-right: 8px;
}

#campaign_page .review_box .review_star dd span {
	font-size: 20px;
	font-weight: bold;
}

#campaign_page .review_box+p {
	font-size: 20px;
	line-height: 1.8;
}

@media screen and (max-width:1200px) and (min-width: 1025px) {
	#campaign_page .review_box::before {
		width: min(calc(1vw * calc(250 / 10.25)), 300px);
	}

	#campaign_page .review_box .review_star dt {
		font-size: min(calc(1vw * calc(13 / 10.25)), 16px);
	}

	#campaign_page .review_box .review_star dd span {
		font-size: min(calc(1vw * calc(15 / 10.25)), 20px);
	}
}

@media screen and (max-width:1024px) {
	#campaign_page .read_cnt .fs-min {
		font-size: 15px;
	}

	#campaign_page .read_cnt p {
		font-size: 18px;
	}

	#campaign_page h2 {
		font-size: 40px;
	}

	#campaign_page .review_box {
		padding: 20px;
	}

	#campaign_page .review_box::before {
		width: min(calc(1vw * calc(200 / 7.68)), 250px);
	}

	#campaign_page .review_box .review_group {
		gap: 20px;
	}

	#campaign_page .review_box .review_name {
		font-size: min(calc(1vw * calc(35 / 7.68)), 40px);
	}

	#campaign_page .review_box .review_title {
		font-size: min(calc(1vw * calc(25 / 7.68)), 30px);
	}

	#campaign_page .review_box .review_star>div {
		padding: 10px;
	}

	#campaign_page .review_box .review_star dt {
		margin-bottom: 10px;
		font-size: min(calc(1vw * calc(10 / 7.68)), 15px);
	}

	#campaign_page .review_box .review_star dd span {
		font-size: min(calc(1vw * calc(11 / 7.68)), 18px);
	}
}

@media screen and (max-width:768px) {
	#campaign_page .review_box {
		padding: 15px;
	}

	#campaign_page h2 {
		font-size: min(calc(1vw * calc(25 / 3.75)), 40px);
	}

	#campaign_page .read_cnt p,
	#campaign_page .review_box+p {
		text-align: left;
	}

	#campaign_page .review_box::before {
		top: 10px;
		right: -10px;
		width: min(calc(1vw * calc(150 / 3.75)), 200px);
	}

	#campaign_page .review_box .review_name {
		font-size: min(calc(1vw * calc(23 / 3.75)), 35px);
	}

	#campaign_page .review_box .review_title {
		font-size: min(calc(1vw * calc(20 / 3.75)), 25px);
	}

	#campaign_page .review_box .review_group {
		flex-direction: column;
	}

	#campaign_page .review_box .review_sub,
	#campaign_page .review_box .review_main {
		width: 100%;
	}

	#campaign_page .review_box .review_star dt {
		font-size: min(calc(1vw * calc(12 / 3.75)), 18px);
	}

	#campaign_page .review_box .review_star dd span {
		font-size: min(calc(1vw * calc(12 / 3.75)), 18px);
	}

	#campaign_page .review_box .review_main {
		padding: 15px;
		font-size: min(calc(1vw * calc(15 / 3.75)), 18px);
	}

	#campaign_page .review_box::after {
		top: auto;
		bottom: 0;
		left: 0;
		width: 30%;
		height: 30%;
		clip-path: polygon(0 50%, 0 35%, 100% 100%, 70% 100%);
	}

	#campaign_page .review_box+p {
		font-size: 18px;
	}
}


/*アニメーション対応*/