@charset "UTF-8";
/* CSS Document */

/*
	共通
-----------------------------------------------------------------------------------------------*/
#pageTitArea .titSub{
	color: var(--mainPurple);
}

/* 見出し
--------------------------------------*/
/* 左ライン */
.titLineL::before{
	background: linear-gradient(to bottom, var(--mainPurple) 50%, #000000 50%);
}

/* list
--------------------------------------*/
/* ●リスト */
.listCircle li::before{
	background-color: var(--a40Purple);
}


/*
	トビラ
-----------------------------------------------------------------------------------------------*/
@media screen and (min-width:813px){
	.listIdx li a:hover {
		background-color: var(--mainPurple);
	}
}


/*
	会社概要
-----------------------------------------------------------------------------------------------*/
.listCircle.businessContent{
	padding-bottom: 10px;
}

/* 取引先 */
.listClient{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px 30px;
	margin-bottom: 30px;
}
.listClient + .fsS{
	text-align: center;
}


/*
	沿革
-----------------------------------------------------------------------------------------------*/
.dlistHistory{
	padding-left: 30px;
	position: relative;
}
.dlistHistory::before{
	content: ' ';
	display: block;
	width: 1px;
	height: calc(100% - 4px);
	background-color: var(--a30Black);
	position: absolute;
	top: 4px;
	left: 3px;
}
.dlistHistory > div:nth-of-type(n+2){
	margin-top: 30px;
}
.dlistHistory dt{
	margin-bottom: 5px;
	font-size: 1.4rem;
	font-weight: 400;
	letter-spacing: 0.05em;
	color: var(--mainPurple);
	position: relative;
}
.dlistHistory dt::before{
	content: ' ';
	display: block;
	width: 7px;
	height: 7px;
	background-color: var(--mainPurple);
	border-radius: 50%;
	position: absolute;
	top: 4px;
	left: -30px;
}
.dlistHistory dt .num{
	font-family: var(--ffEn);
	font-size: 1.8rem;
	font-weight: 500;
}
.dlistHistory dt .wareki{
	font-size: 1.2rem;
}
.listHistryIn li:nth-of-type(n+2){
	margin-top: 10px;
}

/* EPISODE */
.titLineSide.episode{
	font-family: var(--ffEn);
	font-size: 3.4rem;
	font-weight: 600;
	font-style: italic;
	letter-spacing: 0.4em;
	text-indent: 0.4em;
	color: var(--mainPurple);
}
.episodeBox{
	padding: 35px 40px;
	background-color: var(--bgSubGray);
}
.episodeBox .tit{
	margin-bottom: 15px;
	font-size: 2rem;
	font-weight: bold;
	letter-spacing: 0.05em;
}
.episodeBox .txt{
	text-align: justify;
}


/*
	社長メッセージ
-----------------------------------------------------------------------------------------------*/
.messageArea .catch{
	margin-bottom: 40px;
	font-size: 2.8rem;
	font-weight: 700;
	line-height: 180%;
	letter-spacing: 0.2em;
}
.messageArea .txt{
	font-size: 1.5rem;
	text-align: justify;
	line-height: 220%;
}
.ceoBox{
	display: flex;
	align-items: flex-end;
	gap: 0 20px;
	padding-top: 40px;
}
.messageArea .signature{
	font-size: 1.3rem;
	line-height: 145%;
}
.messageArea .signature .name{
	display: inline-block;
	padding-top: 5px;
	font-size: 1.9rem;
}


/*
	アクセス
-----------------------------------------------------------------------------------------------*/
.dlistAccess > div{
	display: flex;
}
.dlistAccess > div:nth-of-type(n+2) {
	margin-top: 6px;
}
.dlistAccess dt{
	min-width: 200px;
	padding-left: 16px;
	position: relative;
}
.dlistAccess dt::before {
	content: ' ';
	display: block;
	width: 12px;
	height: 12px;
	border-radius: 6px;
	background-color: var(--a40Purple);
	position: absolute;
	top: 4px;
	left: 0;
}
.mapArea{
	display:flex;
	justify-content: space-between;
}
.mapArea .train{
	margin-top:10px;
}
.addressBox li:last-child{
	margin-top:50px;
}
.addressBox .tit{
	font-size:1.6rem;
	position:relative;
	padding-left: 18px;
}
.addressBox .tit::before {
	content: ' ';
	display: block;
	width: 12px;
	height: 12px;
	border-radius: 6px;
	background-color: var(--a40Purple);
	position: absolute;
	top: 5px;
	left: 0;
}
.addressBox li a{
	display:inline-block;
	position:relative;
	padding-right:15px;
	margin-top:12px;
	font-family:var(--ffEn);
	letter-spacing: 0;
}
.addressBox li a:hover{
	color:var(--linkGray);
}

.addressBox li a::after{
	content: ' ';
	display: block;
	width: 11px;
	height: 11px;
	background: url(../images/ico_window_bk.svg) right top / 11px 11px no-repeat;
	position: absolute;
	top: 4px;
	right: 0;
	transition: opacity 0.25s;
	opacity: 1;
}
.addressBox li a:hover::after{
	opacity: 0.5;
}
@media screen and (max-width:812px){
	/*
		沿革
	-----------------------------------------------------------------------------------------------*/
	.dlistHistory{
		padding-left: 20px;
	}
	.dlistHistory dt::before{
		left: -20px;
	}

	/* EPISODE */
	.titLineSide.episode{
		font-size: 2.4rem;
	}
	.episode + .layoutCol2{
		gap: 20px;
	}
	.episodeBox{
		padding: 20px 25px;
	}
	.episodeBox .tit{
		margin-bottom: 10px;
		font-size: 1.6rem;
	}
	.episodeBox .txt{
		line-height: 160%;
	}

	/*
		社長メッセージ
	-----------------------------------------------------------------------------------------------*/
	.messageArea .catch{
		margin-bottom: 20px;
		font-size: 1.8rem;
		letter-spacing: 0.1em;
	}
	.messageArea .txt{
		font-size: 1.4rem;
		line-height: 200%;
	}
	.ceoBox{
		gap: 0 15px;
		padding-top: 40px;
	}
	.ceoBox img{
		width: 160px;
	}
	.messageArea .signature{
		font-size: 1.2rem;
		line-height: 145%;
	}
	.messageArea .signature .name{
		padding-top: 5px;
		font-size: 1.5rem;
	}

	/*
		アクセス
	-----------------------------------------------------------------------------------------------*/
	.accessInfoArea{
		padding-bottom: 40px;
	}
	.dlistAccess > div{
		display:block;
	}
	.dlistAccess dt{
		min-width:auto;
	}
	.mapArea{
		display:block;
	}
	.addressBox{
		margin-top:30px;
	}
	.addressBox li:last-child{
		margin-top:20px;
	}
	.addressBox .tit{
		font-size:1.4rem;
		padding-left: 15px;
	}
}