@charset "utf-8";

/* outline
------------------------------*/
#contents_outer .parts03-l-page * {
	box-sizing: border-box;
	font-family: "Noto Sans JP", sans-serif;
}
.parts03-l-page a {
	transition: .3s;
}
.parts03-l-page a:hover{
	opacity: .8;
	text-decoration: none;
}
html {
    scroll-behavior: smooth;
    scroll-padding-top: 128px;
}

#contents {
	width: 100%;
	padding-bottom: 0px;
	background-color: #fff;
}
/*Noto Sans JP 400*/
@font-face {
    font-family: 'Noto Sans JP';
    src: url(/fonts/NotoSansJP-Regular.woff2);
    font-weight: 400;
}
/*Noto Sans JP 500*/
@font-face {
    font-family: 'Noto Sans JP';
    src: url(/fonts/NotoSansJP-Medium.woff2);
    font-weight: 500;
}
/*Noto Sans JP 600*/
@font-face {
    font-family: 'Noto Sans JP';
    src: url(/fonts/NotoSansJP-SemiBold.woff2);
    font-weight: 600;
}
/*Noto Sans JP 700*/
@font-face {
    font-family: 'Noto Sans JP';
    src: url(/fonts/NotoSansJP-Bold.woff2);
    font-weight: 700;
}
/*---------------------------------------------------------
main
---------------------------------------------------------*/
.l-page_inner {
	padding-bottom: 80px;
}

.mv_container {
	position: relative;
	z-index: 0;
	padding: 140px 0;
	height: 350px;
}

.mv_container::before {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: -1;
	background: url(/images/company/company_03_mv.webp)center center no-repeat;
	content: "";
}

.mv_container h1 {
	padding-left: 10px;
	color: #fff;
	font-weight: 700;
	font-size: 50px;
	letter-spacing: .2em;
	text-align: center;
}

.office_btn_area {
	width: 950px;
	margin: 0 auto;
	padding-top: 40px;
}
.office_btn_wrap {
	display: flex;
    justify-content: center;
    gap: 0 10px;
}
.office_btn_item > a {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 470px;
	height: 65px;
	border: 1px solid #A60B13;
	border-radius: 4px;
	color: #000;
	font-weight: 500;
	font-size: 20px;
	letter-spacing: .1em;
}

.office_btn_item > a:hover {
	opacity: .8;
	color: #A60B13;
	text-decoration: none;
}

.office_btn_item > a::before {
	position: absolute;
	top: 51%;
	right: 26px;
	z-index: 1;
	transform: translateY(-50%);
	width: 15px;
	height: 9px;
	background-image: url(/images/company/company_03_arrow_btm.webp);
	background-size: cover;
	content: "";
}

.office_btn_item > a::after {
	position: absolute;
	top: 50%;
	right: 20px;
	z-index: 0;
	transform: translateY(-50%);
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background-color: #A60B13;
	content: "";
}

.office_btn_area > a:nth-of-type(1)::before {
	right: 31px;
}

.office_btn_area > a:nth-of-type(1)::after {
	right: 25px;
}

.office_btn_area > a:nth-of-type(2)::before {
	right: 36px;
}

.office_btn_area > a:nth-of-type(2)::after {
	right: 30px;
}

.office_btn_area > a:nth-of-type(3)::before {
	right: 36px;
}

.office_btn_area > a:nth-of-type(3)::after {
	right: 30px;
}

.office_item {
	padding: 40px 0;
	text-align: center;
}

.office_name {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	height: 100px;
	background-color: #A60B13;
	background-position: center;
	background-size: cover;
	color: #fff;
	font-weight: 700;
	font-size: 34px;
	letter-spacing: .2em;
}

.office_name span {
	display: block;
	margin-top: 2px;
	padding-right: 4px;
	font-weight: 400;
	font-size: 18px;
	letter-spacing: .2em;
    color: #fff;
}
.office_name_inner {
	position: relative;
	color: #fff;
	font-weight: 700;
	padding-right: 144px;
}

.office_name_inner::after {
	content: "";
	position: absolute;
	width: 124px;
	height: 78px;
	background-image: url(/images/company/jni_bnr.webp);
	background-repeat: no-repeat;
	top: 0;
	right: 0;
	bottom: 0;
	margin: auto;
}

.office_item ul {
	display: flex;
	justify-content: center;
	width: 950px;
	margin: 40px auto 0;
	gap: 0 25px;
}

.office_item ul li:not(:last-child) {
}

.office_item ul img {
	width: 300px;
	height: 200px;
	object-fit: cover;
}

.office_item > img {
	width: 950px;
	margin: 40px auto 0 auto;
}

.googlemap_btn {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 440px;
	height: 65px;
	margin: 40px auto 0 auto;
	border-radius: 4px;
	background-color: var(--sub-color);
	color: #fff;
	font-weight: 500;
	font-size: 20px;
	letter-spacing: .1em;
}

.googlemap_btn:hover {
	color: #fff!important;
}

.office_item > a:hover {
	opacity: .8;
	text-decoration: none;
}

.office_item > a::before {
	position: absolute;
	top: 50%;
	right: 39.5px;
	z-index: 1;
	transform: translateY(-50%);
	width: 6px;
	height: 13px;
	background-image: url(/images/company/company_03_arrow_right.webp);
	background-size: cover;
	content: "";
}

.office_list {
	width: 950px;
	margin: 40px auto 0 auto;
	border-top: 1px solid #c2c2c2;
}

.office_list dl {
	display: flex;
	border-bottom: 1px solid #c2c2c2;
	font-size: 18px;
	letter-spacing: .1em;
	text-align: left;
	gap: 0 10px;
}

.office_list .not-flex {
	display: block!important;
}

.office_list .not-flex p:not(:last-child) {
	margin-bottom: 10px;
}


.office_list dt {
	width: 265px;
	padding: 16px 0 16px 40px;
	font-weight: 700;
	font-size: 16px;
}

.office_list dd {
	width: 675px;
	padding: 16px 0;
	font-size: 16px;
}

.office_list dd a {
	color: #338ad6;
}

.office_list dd a:hover {
	color: #c00;
}

.office_list dd span {
	letter-spacing: .15em;
}

.map {
	width: 950px;
	height: 340px;
	margin: 0 auto;
	padding-top: 30px;
}
