@charset "utf-8";



.col_w{
	color: #fff;
}




/* ---------------------------------------
* common
------------------------------------------ */

.btn.sp,.sp{
	display: none;
}

svg{
	width: 100%;
	height: 100%;
}

:root {
	--primary: #CCFA00;
}

.tac{
	text-align: center;
}


/* ---------------------------------------
* TOP
------------------------------------------ */

.mv{
	overflow: hidden;
	padding-top: 14rem;
}

.fv-photos__col--left{
	margin-top: -6rem;
	position: relative;
	z-index: -1;
}

.fv-photos__list{
	display: flex;
	column-gap: 1.6rem;
	width: max-content;
}

.fv-photos__list li{
	width: 39rem;
}

.mvTxt p{
	letter-spacing: normal;
}

.mvTxt p:first-of-type{
	font-weight: 900;
	font-size: clamp(20px,3.6rem,40px);
	line-height: 1;
}

.mvTxt p:last-of-type{
	font-weight: 700;
	font-size: clamp(12px,1.4rem,16px);
	line-height: 1.6;
}

.mvTxtWrap h2{
	font-weight: 800;
	font-style: italic;
	font-size: 22.8rem;
	letter-spacing: -0.03em;
	color: #CCFA00;
	line-height: 1;
}

.about-l{
	width: 65.15%;
	column-gap: 2rem;
}

.about-l>p{
    white-space: nowrap;
    writing-mode: vertical-rl;
    font-size: 2.4rem;
    font-weight: 800;
    line-height: 100%;
	padding: 3rem 2rem;
	border-radius: 5px;
	display: inline-block;
	background-color: var(--primary);
}

.aboutTxt{
	overflow: hidden;
	position: relative;
	width: 90.23%;
	padding: 8rem 4rem;
	background-color: var(--primary);
	border-radius: 5px;
}

.aboutTxt h3{
	font-size: clamp(12px,4.8rem,52px);
	font-weight: 800;
	letter-spacing: normal;
	line-height: 120%;
}

.aboutTxt p{
	padding-top: 3rem;
	font-weight: 700;
	letter-spacing: normal;
	line-height: 1.8;
}

.aboutEn p{
	font-family: "trade-gothic-next-condensed", sans-serif;
	font-size: 16rem;
	line-height: 100%;
	letter-spacing: normal;
	color: rgba(255,255,255,.3);
	position: absolute;
	left: 1rem;
	bottom: 3rem;
	font-weight: 800;
}

.about-r{
	width: 33.3333%;
}

.featureTtl{
	align-items: flex-end;
}

.featureTtl>p{
	font-weight: 800;
	line-height: 120%;
	letter-spacing: normal;
	font-size: clamp(12px,2.4rem,24px);
}

.featureDetail:not(:last-of-type){
	margin-bottom: 3rem;
}

.featureDetail>p{
    white-space: nowrap;
    writing-mode: vertical-rl;
    font-size: 1.8rem;
    font-weight: 800;
    line-height: 100%;
	padding: 2rem;
	border-radius: 10px 5px 5px 10px;
	display: inline-block;
	color: var(--primary);
	background-color: #343434;
	border: solid 1px rgba(255,255,255,.2);
}

.featureDetail02>p{
	background-color: #222222;
}

.featureCont{
	position: relative;
	background-color: #343434;
	width: 96%;
	padding: 3rem 3rem 3rem 6rem;
	border-radius: 5px;
}

.featureNum{
	font-family: "trade-gothic-next-condensed", sans-serif;
	font-size: 22rem;
	color: rgba(255,255,255,.2);
	position: absolute;
	left: 1rem;
	bottom: 3rem;
	font-weight: 800;
	line-height: 1;
}

.featureDetail02 .featureCont{
	background-color: #222222;
}

.featureTxt{
	width: 44.4444%;
	padding-top: 6rem;
}

.featureTxt h3{
	font-weight: 800;
	line-height: 120%;
	letter-spacing: normal;
	font-size: clamp(12px,4rem,48px);
}

.featureTxt p{
	padding-top: 2rem;
	font-weight: 600;
	letter-spacing: normal;
	line-height: 160%;
}

.featureImg{
	width: 41%;
}

.method-list{
	column-gap: 3rem;
}

.method-listItem{
	width: calc((100% - (3rem * 2)) / 3);
	padding: 2rem 3rem 4rem;
	background-color: #343434;
	border-radius: 5px;
}

.method-listIcon{
	width: 6rem;
	margin-left: auto;
}

.method-listTxt{
	padding-top: 6rem;
}

.method-listTxt h3{
	color: var(--primary);
	font-weight: 800;
	font-size: clamp(12px,3.2rem,36px);
	line-height: 100%;
	letter-spacing: normal;
}

.method-listTxt p{
	font-size: clamp(12px,1.4rem,16px);
	padding-top: 2rem;
	font-weight: 600;
	line-height: 160%;
	letter-spacing: normal;
}

.method-subList{
	padding-top: 3rem;
	column-gap: 4rem;
}

.method-subListItem{
	width: calc((100% - (4rem * 1)) / 2);
	padding: 2rem 3rem 2rem 2rem;
	background-color: #343434;
	border-radius: 5px;
}

.method-subListImg{
	width: 22.6%;
}

.method-subListTxt{
	width: 71.6%;
}

.method-subListTxt h3{
	font-weight: 600;
	line-height: 100%;
	letter-spacing: normal;
	font-size: clamp(12px,1.8rem,18px);
}

.method-subListTxt p{
	font-size: clamp(12px,1.4rem,14px);
	padding-top: 2rem;
	letter-spacing: normal;
	line-height: 160%;
	font-weight: 600;
}


.faq-defList{
	cursor: pointer;
	padding: 3rem;
	background-color: #343434;
}

.faq-defList:not(:last-of-type){
	margin-bottom: 2rem;
}

.faq-defTtl{
	position: relative;
}

.faq-defTtlWrap p{
	font-weight: 600;
	line-height: 160%;
	letter-spacing: normal;
}

.faqIcon{
	transition: all .3s;
	width: 1.6rem;
	height: 1.6rem;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}

.faq-defTtl.open .faqIcon{
		transform: translateY(-50%) rotate(135deg);
}

.faqIcon svg{
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
}

.faq-defDesc{
	display: none;
	margin-top: 2rem;
	padding: 2rem 0 0;
	border-top: solid 1px rgba(255,255,255,.5);
}

.faq-defDesc p{
	line-height: 160%;
	font-weight: 600;
	letter-spacing: normal;
	display: inline-block;
}

.cvArea a{
	display: block;
	padding: 6rem;
	background-color: #343434;
}

.cvTtl{
	align-items: flex-start;
}

.cvTtl .mainTtl01{
	font-style: italic;
}

.cvArrow{
	margin-top: 3rem;
	transition: all .3s;
}

.cvArea a:hover .cvArrow{
	transform: translateX(1rem);
}

.cvArea a>p{
	font-size: clamp(12px,2.4rem,24px);
	font-weight: 700;
	text-align: right;
	padding-top: 12rem;
}

.cvArea a>p span{
	color: var(--primary);
}

@media screen and (max-width:768px) {

	/* ---------------------------------------
	* common
	------------------------------------------ */

	.btn.sp{
		display: block;
	}

	.sp{
		display: block;
	}

	.pc{
		display: none;
	}

	.bg-b{
		background-repeat: repeat-y;
		background-size: 100% auto;
	}

/* ---------------------------------------
* TOP
------------------------------------------ */

.mv{
	padding-top: 12rem;
}

.fv-photos__col--left{
	margin-top: -1.6rem;
	position: relative;
	z-index: -1;
}

.fv-photos__list{
	display: flex;
	column-gap: 1.6rem;
	width: max-content;
}

.fv-photos__list li{
	width: 20rem;
}

.mvTxt p:first-of-type{
	font-size: 2rem;
}

.mvTxt p:last-of-type{
	padding: 1rem 0;
	font-size: 1.2rem;
}

.mvTxtWrap h2{
	font-size: 6.2rem;
}

.about-l{
	width: 100%;
}

.about-l>p{
    writing-mode: unset;
    font-size: 1.4rem;
	padding: 2rem 3rem;
	display: block;
	border: solid 1px rgba(255,255,255,.2);
}

.aboutEn{
	display: none;
}

.aboutTxt{
	width: 100%;
	padding: 4rem 3rem 6rem;
}

.aboutTxt h3{
	font-size: 2.8rem;
}

.aboutTxt p{
	padding-top: 2rem;
}

.about-r{
	width: 100%;
}


.featureTtl>p{
	padding-top: 2rem;
	font-size: 1.4rem;
}

.featureDetail:not(:last-of-type){
	margin-bottom: 2rem;
}

.featureDetail>p{
    writing-mode: unset;
    font-size: 1.2rem;
	padding: 2rem;
	border-radius: 10px 10px 5px 5px;
	display: block;
}

.featureCont{
	display: flex;
	flex-direction: column-reverse;
	width: 100%;
	padding: 3rem 2rem 6rem;
	border-radius: 5px;
}


.featureTxt{
	padding-top: 3rem;
	width: 100%;
}

.featureNum{
display: none;
}

.featureTxt h3{
	font-size: 2rem;
}

.featureTxt p{
	padding-top: 2rem;
}

.featureImg{
	width: 100%;
}

.method-listItem{
	width: 100%;
	padding: 2rem 3rem 4rem;
}

.method-listItem:not(:last-of-type){
	margin-bottom: 2rem;
}


.method-listTxt{
	padding-top: 6rem;
}

.method-listTxt h3{
	font-size: 2.4rem;
}

.method-listTxt p{
	font-size: 1.4rem;
}

.method-subList{
	padding-top: 3rem;
	column-gap: 4rem;
}

.method-subListItem{
	width: 100%;
	padding: 2rem 2rem 3rem;
}

.method-subListItem:not(:last-of-type){
	margin-bottom: 2rem;
}

.method-subListImg{
	width: 40%;
	margin-left: auto;
}

.method-subListTxt{
	width: 100%;
	padding-top: 4rem;
}

.method-subListTxt h3{
	font-size: 1.8rem;
}

.method-subListTxt p{
	font-size: 1.4rem;
	padding-top: 2rem;
}


.faq-defList{
	padding: 2rem;
}

.faq-defTtl p,.faq-defDesc p{
	font-size: 1.2rem;
}

.cvArea a{
	padding: 3rem 2rem;
}

.cvTtl{
	align-items: flex-start;
}

.cvTtl .mainTtl01{
	font-size: 4rem;
}

.cvArrow{
	width: 3.6rem;
	height: 3.6rem;
	position: relative;
	margin-top: 1rem;
}

.cvArrow svg{
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
}

.cvArea a>p{
	font-size: 1.4rem;
	font-weight: 700;
	text-align: right;
	padding-top: 8rem;
}

	

}
