@charset "utf-8";
/*------------------------------------------------------------
	expert
------------------------------------------------------------*/
#main .comBg {
	padding-top: 18rem;
}
#main .pointList li {
	width: 55.1%;
	padding: 9.8rem 8rem 9.3rem;
	position: relative;
	border-top: 1px solid rgba(112, 112, 112, 0.2);
}
#main .pointList .num {
	position: absolute;
	left: 22rem;
	top: 3rem;
	opacity: 0.03;
	font-weight: 300;
	font-style: italic;
	font-size: 19rem;
	line-height: 1;
	letter-spacing: 0.02em;
}
#main .pointList h3 {
	margin-bottom: 5.8rem;
	font-weight: 500;
	font-size: 2.8rem;
	letter-spacing: 0.07em;
	line-height: 1.5;
	position: relative;
	z-index: 1;
}
#main .pointList h3 .en {
	margin-top: 1.7rem;
	display: block;
	color: #666;
	font-size: max(10px, 1.2rem);
	letter-spacing: 0.04em;
	line-height: 1.3;
}
#main .pointList .txt {
	position: relative;
	z-index: 1;
	font-weight: 500;
	letter-spacing: 0.04em;
	line-height: 2.4;
}
#main .mainPho {
	margin-bottom: 20.2rem;
	padding-bottom: 48.6%;
}
#main .mainPho .parallaxCon {
	z-index: 3;
}
#main .brand {
	padding-bottom: 22.5rem;
	align-items: flex-start;
}
#main .brand .sideTtl {
	margin: 0.1rem 7.9rem 0 -0.6rem;
}
#main .brand h3 {
	padding-bottom: 3rem;
	color: #3c3c3c;
	font-weight: 500;
	font-size: max(10px, 2rem);
	letter-spacing: 0.04em;
	border-bottom: 1px solid rgba(112, 112, 112, 0.8);
}
#main .brand .subBox {
	padding: 2.9rem 0 3.9rem;
	align-items: flex-start;
	border-bottom: 1px solid rgba(112, 112, 112, 0.2);
}
#main .brand h4 {
	margin: 1.2rem 1rem 0 0;
	width: 25.5rem;
	display: flex;
	align-items: center;
	color: #3c3c3c;
	font-weight: 500;
	font-size: max(10px, 2rem);
	letter-spacing: 0.04em;
	line-height: 1.2;
	background-color: #e8e6e4;
}
#main .brand h4 .ttlImg {
	margin-right: 0.8rem;
	display: flex;
	align-items: center;
	width: 2.8rem;
	mix-blend-mode: multiply;
}
#main .brand h4 .en {
	margin: 0.3rem 0 0 0.8rem;
	color: #666;
	font-size: max(10px, 1rem);
	font-weight: 400;
	letter-spacing: 0.04em;
}
#main .brand .linkBox {
	padding-left: 3.9rem;
	flex: 1;
	position: relative;
}
#main .brand .linkBox:before {
	position: absolute;
	left: 0;
	top: 1rem;
	width: 0;
	height: calc(100% - 1rem);
	border-left: 1px solid rgba(112, 112, 112, 0.1);
	content: "";
}
#main .brand .linkList {
	gap: 0 3.5rem;
}
#main .brand .linkList li {
	width: calc((100% - 7rem)/3);
}
#main .brand .subBox01 .linkList li:nth-child(n+7) {
	display: none;
}
#main .brand .subBox01 .linkList li:nth-child(n+7) a {
	opacity: 0;
	transition: all 0.5s;
}
#main .brand .subBox01 .linkList li:nth-child(n+7) a.on {
	opacity: 1;
}
#main .brand .linkList a {
	padding: 1.1rem 0 1.5rem;
	display: block;
	height: 100%;
	color: #3c3c3c;
	letter-spacing: 0.01em;
	font-weight: 600;
	line-height: 1.3;
	border-bottom: 1px solid rgba(112, 112, 112, 0.15);
}
#main .brand .comBtn {
	margin-top: 2rem;
	position: relative;
}
#main .brand .comBtn .closeBtn {
	opacity: 0;
	visibility: hidden;
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
}
#main .brand .comBtn.on .moreBtn {
	opacity: 0 !important;
	visibility: hidden;
}
#main .brand .comBtn.on .closeBtn {
	opacity: 0.5 !important;
	visibility: visible;
}
#main .brand .comBtn .closeBtn span {
	background-image: url(../img/expert/icon02.png);
}
#main .brand .otherBox {
	position: relative;
}
#main .brand .other {
	margin-bottom: 6rem;
	padding-top: 3rem;
	display: none;
}
#main .brand .other .subBox {
	padding: 0;
	border-bottom: none;
	opacity: 0;
	transition: all 0.5s;
}
#main .brand .show .other .subBox {
	opacity: 1;
}
#main .brand .other .subBox + .subBox {
	padding-top: 3rem;
}
#main .brand .other .subBox:last-child {
	padding-bottom: 0 !important;
}
#main .brand .otherBox .btnBox {
	position: absolute;
	left: 30.4rem;
	bottom: 4.2rem;
	padding-left: 0;
}
#main .brand .otherBox .btnBox:before {
	display: none;
}
@media all and (hover: hover) and (min-width: 1000px) {
	#main .brand .linkList a:hover {
		color: #999;
	}
}
@media all and (min-width: 1000px) {
	#main .pointList li:first-child,
	#main .pointList li:nth-child(2) {
		padding-top: 8rem;
		border-top: none;
	}
	#main .pointList li:first-child .num,
	#main .pointList li:nth-child(2) .num {
		top: 1.4rem;
	}
	#main .pointList li:last-child {
		padding-bottom: 19.3rem;
	}
	#main .pointList li:nth-child(2n-1) {
		padding-left: 4.7rem;
		width: 44.9%;
		border-right: 1px solid rgba(112, 112, 112, 0.2);
	}
	#main .pointList li:nth-child(2n-1) .num {
		left: 19.2rem;
	}
}
@media all and (min-width: 1000px) and (max-width: 1365px) {
	#main .pointList h3 {
		font-size: 2.05vw;
	}
}
@media all and (max-width: 999px) {
	#main .comPageBox .txtBox .subTtl {
		letter-spacing: 0.01em;
	}
	#main .comPageBox .txtBox .enTxt {
		margin-right: 3rem;
	}
	#main .comBg {
		padding-top: 5rem;
	}
	#main .pointList {
		margin-bottom: 4rem;
	}
	#main .pointList li {
		width: 100%;
		padding: 5.8rem 0.5rem 5rem 0;
	}
	#main .pointList .num {
		left: 11.5rem;
		top: 0.5rem;
		font-size: 13rem;
	}
	#main .pointList h3 {
		margin-bottom: 4rem;
		font-size: max(10px, 1.9rem);
	}
	#main .pointList h3 .en {
		margin-top: 0.8rem;
		font-size: max(10px, 1rem);
	}
	#main .pointList .txt {
		line-height: 2.33;
	}
	#main .pointList li:first-child {
		border-top: none;
	}
	#main .mainPho {
		margin-bottom: 10.1rem;
		padding-bottom: 161.5%;
	}
	#main .brand {
		margin-left: -3rem;
		padding-bottom: 12rem;
	}
	#main .brand .sideTtl {
		margin: 0 2rem 0 0;
		-webkit-writing-mode: tb-rl;
		-webkit-writing-mode: vertical-rl;
		writing-mode: tb-rl;
		writing-mode: vertical-rl;
		position: sticky;
		left: 0;
		top: 7rem;
		width: 3.3rem;
	}
	#main .brand .sideTtl .en {
		font-size: 4rem;
	}
	#main .brand h3 {
		padding-bottom: 2.5rem;
		font-weight: 400;
		font-size: max(10px, 1.7rem);
	}
	#main .brand .subBox {
		padding: 1.5rem 0 3rem;
		display: block;
	}
	#main .brand h4 {
		margin: 0 0 1.8rem;
		width: auto;
		color: #555;
		font-size: max(10px, 1.7rem);
	}
	#main .brand h4 .ttlImg {
		margin-right: 0.4rem;
	}
	#main .brand h4 img {
		margin-right: 1.2rem;
		width: 2rem;
	}
	#main .brand h4 .en {
		margin-left: 0.7rem;
		margin-top: 0.5rem;
	}
	#main .brand .linkBox {
		padding: 1.2rem 0 0;
		border-top: 1px dotted rgba(112, 112, 112, 0.4);
	}
	#main .brand .linkBox:before {
		display: none;
	}
	#main .brand .linkList {
		gap: 0 2.5rem;
	}
	#main .brand .linkList li {
		width: calc((100% - 2.5rem)/2);
	}
	#main .brand .linkList a {
		padding: 0.6rem 0 0.9rem;
		letter-spacing: 0;
		line-height: 1.5;
		border-bottom: 1px solid rgba(112, 112, 112, 0.1);
	}
	#main .brand .comBtn {
		margin-top: 2rem;
	}
	#main .brand .otherBox {
		padding-bottom: 2rem;
	}
	#main .brand .otherBox.open {
		border-bottom: none;
		padding-bottom: 0;
	}
	#main .brand .otherTtl {
		display: block;
	}
	#main .brand .otherTtl h4 {
		margin-bottom: 1.7rem;
	}
	#main .brand .other {
		padding: 1rem 0 2rem;
		margin-bottom: 0;
	}
	#main .brand .otherBox .btnBox {
		position: static;
		left: auto;
		bottom: auto;
		padding: 0;
		border-top: none;
	}
	#main .brand .otherBox .btnBox .comBtn {
		margin-top: 0;
	}
}
@media all and (min-width: 768px) and (max-width: 999px) {
	#main .pointList .sub {
		margin: 0 auto;
		width: 34rem;
	}
}