/*---------------------------------
	mainvisual start
---------------------------------*/
.mainvisual_itemInner{
	position: relative;
	aspect-ratio: 4 / 3;
	width: 100%;
	max-height: 80vh;
	overflow: hidden;

	& .mainvisual_img{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
		z-index: 100;
	}

	& .mainvisual_catch{
		position: absolute;
		bottom: .5em;
		left: .5em;
		width: calc(100% - 1em);
		max-height: 100%;
		color: #FFF;
		text-align: left;
		font-weight: bold;
		font-size: min(5.5vw, 350%);
		z-index: 110;

		& span{
			display: inline-block;
			padding: .1em .2em;
			margin-bottom: .1em;
			background-color: var(--c-hex-sub);
			color: var(--c-hex-accent);
		}
	}
}



/*---------------------------------
	mainvisual end
---------------------------------*/

/*---------------------------------
	constructionFlowLayout start
---------------------------------*/
.constructionFlowLayout_item{
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 3em;
	padding: 3em 0 5em;
	min-height: 32em;
}

.constructionFlowLayout_item:nth-of-type(2n){
	background-color: var(--bg-base-light);
}

@media(min-width: 1025px){
	.constructionFlowLayout_photoLayout{
		position: absolute;
		top: 3em;
		right: 0;
		width: calc(((100vw - 1150px) / 2) + (1150px * 0.4) - 2em);
	}
	
	.constructionFlowLayout_item:nth-of-type(2n) .constructionFlowLayout_photoLayout{
		right: auto;
		left: 0;
	}
}

@media(max-width: 1024px){
	.constructionFlowLayout_photoLayout{
		width: 100%;
		margin-bottom: 3em;
	}
}

.constructionFlowLayout_photoWrapper{
	position: relative;
	width: 100%;
	padding-top: 420px;
}

@media(max-width: 1024px){
	.constructionFlowLayout_photoWrapper{
		padding-top: min(300px, calc(100% / 5 * 3));
	}
}

.constructionFlowLayout_photoWrapper img{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.constructionFlowLayout_photoWrapper--fitContain img{
	object-fit: contain;
}

@media(min-width: 1025px){
	.constructionFlowLayout_contentLayout{
		display: flex;
		align-items: flex-start;
		justify-content: flex-start;
		width: 90%;
		max-width: 1150px;
		margin: 0 auto;
	}

	.constructionFlowLayout_item:nth-of-type(2n) .constructionFlowLayout_contentLayout{
		justify-content: flex-end;
	}
	
	.constructionFlowLayout_contentInner{
		width: calc(60% - 2em);
	}
}

@media(max-width: 1024px){
	.constructionFlowLayout_contentLayout{
		width: 90%;
		margin: 0 auto;
	}
}

@media(min-width: 1025px){
	.constructionFlowLayout_contentInner{
		min-height: 22em;
	}
}

.constructionFlowLayout_contentInner{
	padding-bottom: 1em;
	border-left: 0.5em solid var(--c-hex-base);
}

.constructionFlowLayoutTitle{
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	flex-wrap: nowrap;
	gap: 0.5em 1em;
	margin-bottom: 3em;
	font-weight: var(--fontWeightBold);
}

.constructionFlowLayoutTitle_num{
	flex-shrink: 0;
	font-size: 150%;
	color: #FFF;
	padding: 0.25em 0.5em;
	background-color: var(--c-hex-base);
}

.constructionFlowLayoutTitle_text{
	font-size: 150%;
	margin-top: 0.25em;
}

.constructionFlowLayout_detail{
	padding-left: 1em;
}

/*---------------------------------
	constructionFlowLayout end
---------------------------------*/

/*---------------------------------
	faq start
---------------------------------*/
.faq {
  margin-bottom: 1rem;
  background: #fff;
}

.faqItem{
	padding: 1em;
		background-color: var(--bg-base-light);
	
	&:nth-of-type(2n){
		background-color: var(--bg-accent-light);
	}
}

.faqItem_qaInner{
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	flex-wrap: nowrap;
}

.faqItem_q{
	cursor: pointer;
}

.faqItem_a{
	border-top: 1px solid #CCC;
	display: none;
}

.faqItem_qaIcon{
	flex-grow: 0;
	flex-shrink: 0;
	font-size: 150%;
	width: 1.5em;
	padding: 0.4em 0.25em;
	text-align: center;
	margin-right: 0.5em;
	font-weight: bold;
	color: var(--c-hex-base);
}

.faqItem_qTitle{
	flex-grow: 1;
	flex-shrink: 1;
	font-size: 100%;
	padding: 1em;
	margin: 0;
}

.faqItem_aContent{
	flex-grow: 0;
	flex-shrink: 0;
	width: calc(100% - (1.5em * 1.5) - (1.5em * 0.5) );
	font-size: 100%;
	padding: 1em;
	margin: 0;
}

.faqItem_qText{
	font-weight: bold;
}

.faqItem_qArrow{
	flex-grow: 0;
	flex-shrink: 0;
	font-size: 150%;
	width: 1.5em;
	align-self: stretch;
	padding: 0.4em 0.25em;
	position: relative;
}

.faqItem_qArrow:before{
	content: "keyboard_arrow_down";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	transform-origin: center 45%;
	transition: transform 0.5s;
	font-family: "Material Symbols Outlined";
	font-variation-settings:'FILL' 1,'wght' 400,'GRAD' 0,'opsz' 48;
	font-size: 150%;
	line-height: 100%;
	font-weight: 400;
	color: var(--c-hex-base);
}

.faqItem_q.active .faqItem_qArrow:before{
	transform: translate(-50%, -50%) rotate(180deg);
}

@media(max-width: 750px){
	.faqItem{
		font-size: 85%;
	}
	
	.faqItem_qaIcon{
		margin-right: 0.25em;
	}
	
	.faqItem_qTitle,
	.faqItem_aContent{
		padding: 1em 0.25em;
	}
}

.faqItem_aText{
	margin-bottom: 1.5em;
}
/*---------------------------------
	faq end
---------------------------------*/