.mv340 {
    background: url(../img/company/mv.jpg) no-repeat top center / cover;
}

#box-01 {
	background: var(--primary-color-bg);
	padding: 12rem 0;
}

#box-01 .txt-01 {
	font-size: min(2.2vw, 2.4rem);
	text-align: center;
	max-width: 630px;
	width: 100%;
	margin: 0 auto 6rem;
	font-weight: bold;
	position: relative;
}

#box-01 .txt-01::before {
	position: absolute;
	top: 0;
	left: 0;
	content: '';
	display: inline-block;
	border-color: var(--primary-color);
	border-style: solid;
	border-width: 2px 2px 0px 0;	
	padding: 5px;
	transform: rotate(-90deg);
	-webkit-transform: rotate(-90deg);
}

#box-01 .txt-01::after {
	position: absolute;
	bottom: 0;
	right: 0;
	content: '';
	display: inline-block;
	border-color: var(--primary-color);
	border-style: solid;
	border-width: 2px 2px 0px 0;	
	padding: 5px;
	transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
}

#box-01 figure {
	max-width: 800px;
	width: 100%;
	margin: 0 auto;
}

#box-01 .txtBorder {
	border: 2px solid var(--primary-color);
	padding: 20% 5% 8%;
	margin: -15% auto 0;
}

#box-01 .txtBorder .titSub {
	margin-bottom: 1rem;
}

#box-01 .txtBorder h4 {
	font-size: min(4vw, 6rem);
	font-weight: bold;
	text-align: center;
	color: var(--primary-color);
}

#box-01 .txtBorder ul {
	max-width: 800px;
	width: 100%;
	margin: 0 auto;
}

#box-01 .txtBorder ul li {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	border-bottom: 2px dashed var(--primary-color);
	padding: 2rem 0;
}

#box-01 .txtBorder ul li span {
	width: 50px;
	height: 50px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	align-items: center;
	font-size: 3rem;
	line-height: 1;
	font-weight: bold;
	color: #fff;
	background: var(--primary-color);
	padding-bottom: 4px;
}

#box-01 .txtBorder ul li p {
	width: calc(100% - 60px);
	font-size: 1.8rem;
	font-weight: bold;
}

#box-02 {
	padding: 10rem 0;
}

#box-02 .row table {
	width: 100%;
	border-collapse: collapse;
}

#box-02 .row table tr {
	border-bottom: 1px solid #e8e8e8;
}

#box-02 .row table tr:first-child {
	border-top: 1px solid #e8e8e8;
}

#box-02 .row table th {
	font-weight: bold;
    width: 120px;
}

#box-02 .row table th,
#box-02 .row table td {
	padding: 2rem 1rem;	
}

#box-02 .row-01 {
	margin-bottom: 10rem;
}

#box-02 .row-02 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

#box-02 .row-02 .col-01 {
	width: 50%;
}

#box-02 .row-02 .col-02 {
	width: 46.4%;
}


@media (max-width: 767px){
	#box-01 {
		padding: 6rem 0;
	}

	#box-01 .txt-01 {
		font-size: min(3.8vw, 2.4rem);
	}

	#box-01 .txtBorder {
		margin: 0 auto;
		padding: 8% 5%;
	}

	#box-01 .txtBorder h4 {
		font-size: min(6vw, 6rem);
	}

	#box-01 .txtBorder ul li {
		align-items: flex-start;
	}

	#box-01 .txtBorder ul li p {
		font-size: 1.6rem;
	}

	#box-01 .txtBorder ul li p br {
		display: none;
	}

	#box-02 {
		padding: 6rem 0;
	}

    #box-02 .row table th {
    width: 100px;
    }
	#box-02 .row table th,
	#box-02 .row table td {
		vertical-align: top;
		padding: 1rem 0.5rem;
	}

	#box-02 .row-01 {
		margin-bottom: 4rem;
	}
	
	#box-02 .row-02 .col-01 {
		width: 100%;
		margin-bottom: 2rem;
	}

	#box-02 .row-02 .col-02 {
		width: 100%;
	}
}