@charset "UTF-8";



/* ========================================================
  
  common

======================================================== */


/* ========================================================
  
  Layout

======================================================== */

/*-----------------------------------------------
 Layout - FV
-----------------------------------------------*/
.l-fv {
	position: relative;
	height: min(35vw,440px);
	overflow: hidden;
}

.l-fv__img {
	&::before {
		position: absolute;
		content: "";
		background-color: rgb(0 0 0 / 0.4);
		width: 100%;
		height: 100%;
		inset: 0;
	}
	> img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.l-fv {
	height: 40vw;
}
}

/*-----------------------------------------------
 Layout - m__ttl
-----------------------------------------------*/
.l-fv__ttl {
	position: absolute;
	color: #FFF;
	font-size: min(5vw,375%);
	line-height: 1.4;
	letter-spacing: .1em;
	left: 6.5%;
	top: 50%;
	translate: 0 -50%;

	.u-font--en {
		color: #cfcfcf;
		font-size: 50%;
		margin-bottom: .2em;
	}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.l-fv__ttl {
	font-size: 150%;
}
}


/*---------------------------------------------------------
 Layout - l-lead
---------------------------------------------------------*/
.l-lead {
	text-align: center;

	.c-hdg--min {
		> span {
			color: var(--accent-color);
		}
	}
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {

}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.l-lead {
	& p {
		text-align: left;
	}
}
}



/*-----------------------------------------------
 Layout - l-anchor-list
-----------------------------------------------*/
.l-anchor-list {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	row-gap: 1em;
	font-weight: var(--fw-bold);
	letter-spacing: .1em;
	line-height: 1.2;
	margin-inline: auto;

	> li {
		border-right: 1px solid currentColor;
		&:first-child {
			border-left: 1px solid currentColor;
		}
	}
	& a {
		display: block;
		padding: 0 1.5em;

		&:hover {
			color: var(--color-cml-300);
		}
	}
}
.l-anchor-list a:hover {
	background-color: var(--color-brw-600);
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.l-anchor-list {
	font-size: 95%;
	& a {
		padding: 0 1.2em;
	}
}
}



/* ========================================================
  
  Component

======================================================== */



/*---------------------------------------------------------

---------------------------------------------------------*/

/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {

}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {

}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {


}