@charset "utf-8";



.col_w{
	color: #fff;
}




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

main{
	position: relative;
}

.btn.sp{
	display: none;
}

.col-w{
	color: #fff;
}

.access a{
	display: block;
	text-decoration: underline;
}

.mainTop{
	overflow: hidden;
}

.btn-404{
	margin: 0 auto;
}

.slideImg{
	display: inline-block;
	margin-right: 2.5vw;
}

/* .nav-other02{
	padding-left: 30px;
}

.nav-other02 li a{
	display: block;
	font-size: 12px;
	line-height: 100%;
	letter-spacing: normal;
	transition: all .3s;
	font-weight: 600;
}

.nav-other02 li a:hover{
	color: #005FFF;
}

.nav-other02 li.active a{
	color: #005FFF;

}

.nav-other02 li:not(:last-of-type){
	padding-right: 5px;
	margin-right: 5px;
	position: relative;
}

.nav-other02 li:not(:last-of-type)::after{
	content: "/";
	display: block;
	position: absolute;
	right: -2px;
	top: 50%;
	transform: translateY(-50%);
	color: #000000;
	font-size: 12px;
	font-weight: 600;
	line-height: 100%;
	letter-spacing: normal;
} */

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

.bg{
	background-repeat: no-repeat;
	background-size: cover;
}

.nav-otherWrap > .nav-other:nth-of-type(2) {
	margin-left: 24px; /* 好きな間隔に調整できます */
}


/* --------------------------------
* Top ページ
----------------------------------- */

.mv{
	background-repeat: no-repeat;
	background-size: cover;
	background-image: url(../img/top/mvNew.png);
	height: 720px;
	position: relative;
}


.mvWrap{
	position: absolute;
	left: 0;
	right: 0;
	bottom: 30px;
	margin: 0 auto;
}

.mvWrap h2{
	text-align: center;
	display: block;
	font-weight: 200;
	color: #F4F4F2;
	font-size: 144px;
	font-size: 11rem;
	line-height: 100%;
	letter-spacing: normal;
}
/* 
.mvImg{
	width: 20.3%;
	margin: 30px auto 0;
} */

.aboutTtl{
	display: block;
	line-height: 180%;
	letter-spacing: 0.02em;
	font-size: 28px;
	font-weight: 300;
	padding-bottom: 10px;
}



.aboutImg{
	background-repeat: no-repeat;
	background-size: cover;
	background-image: url(../img/top/about.png);
	height: 320px;
	background-position: center;
}

.aboutWrap{
	width: 59.25%;
	margin: 0 auto;
}

.aboutTxt{
	padding: 40px 20px 0;
}

.aboutTxt02{
	padding-top: 30px;
}

.aboutTxt p{
	font-size: 14px;
}

.aboutTxt p:not(:last-of-type){
	padding-bottom: 30px;
}

.sectionImg{
	height: 480px;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}

.businessBanner{
	background-image: url(../img/top/businessbanner.png);
}

.sectionTtl{
	width: calc(1773px * 3);
}

.sectionTtlTxt{
	width: 1733px;
}

.business-listItem{
	padding-bottom: 40px;
	margin-bottom: 40px;
	border-bottom: solid 1px #2D2C2C;
}

.business-listItem:first-of-type{
	padding-top: 40px;
	border-top: solid 1px #2D2C2C;
}

.business-listItem:last-of-type{
	margin-bottom: 0;
}

.business-listImg{
	width: 44.444%;
}

.business-listTxt{
	width: 50%;
}

.business-listTxt h3 span{
	display: block;
}

.business-listTxt h3 {
	font-size: 48px;
	font-weight: 300;
	line-height: 120%;
	letter-spacing: normal;
}

/* .business-listTxt h3 span:last-of-type{
	font-size: 18px;
	font-weight: 400;
	padding-top: 10px;
	line-height: 100%;
	letter-spacing: 0.02em;
} */

.business-listTxt p{
	font-size: 14px;
	padding-top: 40px;
}

.tag-list{
	padding-top: 20px;
	column-gap: 10px;
	row-gap: 10px;
}

.tag-listItem{
	font-size: 12px;
	line-height: 160%;
	letter-spacing: normal;
	padding: 4px 20px;
	color: #515F55;
	border: solid 1px #515F55;
	border-radius: 50px;
}

.mission-sans-en{
	font-size: 32px;
}

.mission-sans-jp{
	font-size: 32px;
}

.mission-listTxt{
	width: 66.666%;
	margin-left: auto;
}

.mission-listItem{
	padding-bottom: 80px;
}

.mission-listItem p.sans-en.mission-sans-en {
    border-bottom: 1px solid #000; /* 2pxの黒い下線 */
    padding-bottom: 20px; /* 下線とテキストの間にスペースを追加 */
} 

.value-listNum {
    font-size: 14px; /* 数字のフォントサイズを10pxに設定 */
    color: #515F55; /* 数字に適用する色（例: グレー） */
}

.value-listTxt {
    font-size: 14px; /* "誠実さ" のフォントサイズを14pxに設定 */
    color: #515F55; /* テキストの色（例: 中間のグレー） */
}

.value-sans-en {
    font-size: 32px;
}

.value-wrapper {
    max-width: 960px; /* 全体の最大幅を960pxに制限 */
    margin: 0 auto; /* 中央揃え */
}

.value-list {
    display: flex; /* 横並びにするためにflexboxを使用 */
    flex-wrap: wrap; /* アイテムが折り返されるように設定 */
    gap: 20px; /* アイテム間の間隔を20pxに設定 */
    padding: 0; /* 必要に応じて内側の余白を追加 */
}

.value-listItem {
    flex: 1 1 calc(50% - 10px); /* 50%の幅 - ギャップ分を調整 */
    padding: 40px 20px; /* 上下の内側余白40px、左右20px */
    border: 1px solid #333; /* 線の枠、色は#333で黒に近い */
    border-radius: 0; /* 角丸なし */
    background-color: transparent; /* 背景色なし */
    color: #333; /* テキストの色 */
    text-align: center; /* テキストを中央揃え */
    box-sizing: border-box; /* パディングを含めて幅を調整 */
}

.value-listItem01 {
    flex: 1 1 calc(50% - 10px); /* 50%の幅 - ギャップ分を調整 */
    padding: 40px 20px; /* 上下の内側余白40px、左右20px */
    border: 1px solid #333; /* 線の枠、色は#333で黒に近い */
    border-radius: 0; /* 角丸なし */
    background-color: transparent; /* 背景色なし */
    color: #333; /* テキストの色 */
    text-align: center; /* テキストを中央揃え */
    box-sizing: border-box; /* パディングを含めて幅を調整 */
}

#our-value .mission-sans-en {
    border-bottom: 1px solid #000; /* 線の太さと色 */
    padding-bottom: 30px; /* テキストと線の間にスペースを追加 */
	margin-bottom: 60px;
}

.sectionTtl03{
	width: calc(2547px * 1.2);
}

.sectionTtlTxt03{
	width: 1000px;
}

.companyBanner{
	background-image: url(../img/top/com.png);
}

.sectionTtl02{
	width: calc(2547px * 3);
}

.sectionTtlTxt02{
	width: 2507px;
}

.info-defList{
	padding: 30px 0;
	border-bottom: 1px solid rgba(0,0,21,.1);
}

.info-defList:first-of-type{
	padding-top: 0;
}

.info-defTitle{
	width: 230px;
	flex: 0 0 230px;
	font-weight: 400;
	font-size: 14px;
}

.info-defDesc{
	flex: 1 1 auto;
	font-size: 14px;
}

.info-defDesc p:not(:last-of-type){
	padding-bottom: 30px;
}

.info-defDesc p span{
	display: block;
}

.info-defDesc p span:first-of-type{
	font-weight: 700;
}

.maps-wrapper{
	padding-bottom: 20px;
}

.info-defDesc a{
	display: inline-block;
	outline: none;
	text-decoration: underline;
	color: #000;
}

.btnNews{
	margin: 0 auto;
}

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

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

	.btn.sp{
		display: flex;
	}

	.btn.pc{
		display: none;
	}

	.btn{
		margin: 0 auto;
	}

	.nav-other02{
		padding-right: 10px;
	}

	.nav-other02 li a{
		display: block;
		font-size: 12px;
	}

	/* --------------------------------
	* Top ページ
	----------------------------------- */

	.mv{
		height: 622px;
		background-image: url(../img/top/mvSpnew.png);
	}




	.mvWrap{
		bottom: 30px;
	}

	.mvWrap h2{
		font-size: 46px;
	}


	.mvImg{
		width: 50%;
	}

	.aboutImg{
		height: 240px;
	}

	.aboutTtl {
		font-size: 20px
	}

	.aboutWrap{
		width: 100%;
		margin: 0 auto;
	}

	.aboutTxt{
		text-align: left;
	}

	.aboutTxt{
		padding: 30px 0 0;
	}

	.aboutTxt02{
		padding-top: 30px;
	}

	.aboutTxt p{
		font-size: 14px;
	}

	.aboutTxt p:not(:last-of-type){
		padding-bottom: 20px;
	}

	.sectionImg{
		height: 320px;
	}


	.sectionTtl{
		width: calc(1030px * 3);
	}

	.sectionTtlTxt{
		width: 1000px;
	}


	.business-listImg{
		width: 100%;
	}

	.business-listTxt{
		width: 100%;
		padding-top: 30px;
	}

	.business-listTxt h3 span:first-of-type {
		font-size: 36px;
		font-weight: 300;
	}

/* 	.business-listTxt h3 span:last-of-type {
		font-size: 16px;
	}
 */
	.business-listTxt p{
		padding-top: 30px;
	}
	
	.mission-listItem{
	padding-bottom: 40px;
}
	.mission-listItem p.sans-en.mission-sans-en {
    border-bottom: 1px solid #000; /* 2pxの黒い下線 */
    padding-bottom: 20px; /* 下線とテキストの間にスペースを追加 */
} 
	
	.mission-sans-en{
	font-size: 20px;
}
	
	.mission-txt{
		font-size: 12px;
	}
	
	#our-value .sans-en-mission-sans-en {
    border-bottom: 1px solid #000; /* 線の太さと色 */
    padding-bottom: 20px; /* テキストと線の間にスペースを追加 */
	margin-bottom: 30px;
}

.value-listTxt {
    font-size: 12px; /* "誠実さ" のフォントサイズを14pxに設定 */
    color: #515F55; /* テキストの色（例: 中間のグレー） */
}
	
	.sectionTtl03{
	width: calc(1030px * 1.6);
}

.sectionTtlTxt03{
　　width: 1000px;
}
	

	.tag-list{
		padding-top: 30px;
	}

	.tag-listItem{
		font-size: 12px;
		line-height: 160%;
		letter-spacing: normal;
		padding: 4px 20px;
		color: #515F55;
		border: solid 1px #515F55;
		border-radius: 50px;
	}

	.sectionTtl02{
		width: calc(1030px * 3);
	}

	.sectionTtlTxt02{
		width: 1000px;
	}

	.info-defTitle{
		width: 100%;
	}

	.info-defDesc{
		padding-top: 10px;
	}



}

.cvArea{
	overflow: hidden;
	background-repeat: no-repeat;
	background-size: cover;
	background-image: url(../img/common/cv.png);
}

.cvArea a{
	overflow: hidden;
	display: block;
	padding: 160px 0 120px;
}

.cvtxtWrap{
	width: calc(1803px * 3);
}

.cvTxt p{
	color: #F4F4F2;
	font-size: 18px;
	line-height: 160%;
	letter-spacing: normal;
}

@media screen and (max-width:768px) {
	.cvArea{
		background-position: center 0;
	}

	.cvArea a{
		overflow: hidden;
		display: block;
		padding: 100px 0 80px;
	}

	.cvtxtWrap{
		width: calc(1000px * 3);
	}

	.cvTxt p{
		padding-top: 20px;
		font-size: 14px;
	}

}