@charset "utf-8";

/*------------------------------------------------------------
	company
------------------------------------------------------------*/
.pageTitle {
	margin-bottom: 75px;
	background: url("../img/company/page_title_bg2.jpg") no-repeat center center / cover;
	width: 100%;
	/* margin-top: 25px; */
}

.pageTitle_inner {
	max-width: 1380px;
	margin: 0 auto;
	text-align: left;
	width: 100%;
}

.pageTitle_inner h2 {
	margin-left: 40px;
}

#main .company {
	/* padding: 141px 0; */
	background: #fff url("../img/top/bg01.png") repeat-x center top / 500px;
}

#main .company .imgBox {
	justify-content: center;
	gap: 30px;
	margin-top: 40px;
}

#main .company .imgBox .textBox {
	/* width: calc(50% + 95px); */
	/* width: 61%; */
	/* padding-left: 40px; */
	display: flex;
	/* align-items: center; */
	/* justify-content: flex-end; */
	box-sizing: border-box;
	margin-top: 55px;

}

#main .company .imgBox .textBox .innerBox {
	/* max-width: 695px; */
	max-width: 782px;
}

#main .company .imgBox .textBox h3 {
	margin: 0 0 44px -8.9%;
}

#main .company .imgBox .textBox p {
	margin-bottom: 4%;
	font-size: 20px;
	font-weight: 500;
	/* line-height: 1.75; */
	/* letter-spacing: -0.07em; */
}

#main .company .imgBox .textBox .ceoName {
	text-align: right;
}

#main .company .imgBox .photoBox {
	/* width: calc(50% - 118px); */
	/* width: 38%; */
	display: flex;
	align-items: center;
	box-sizing: border-box;
}

#main .overview {
	/* padding: 0px 0 229px; */
	margin-top: 120px
}


#main .section-title {
	border-left: 4px solid #007bff;
	/* 左側に青色のボーダーを4px幅で設定 */
	padding-left: 10px;
	/* ボーダーとテキストの間に余白を設定 */
	font-weight: bold;
	/* フォントを太字にする */
	font-size: 2em;
	margin-left: 40px;
}

.comTable {
	margin: 40px 6px 20px;
}

.comTable tr {
	height: 120px;
	/* 行の高さを50pxに設定 */
}

.comTable th {
	padding-left: 33px;
	width: 30%;
	font-weight: 700;
	background: #E1ECF2;
	text-align: center;
}

.comTable td {
	text-align: left;
}

.comTable th,
.comTable td {
	font-size: 2rem;
	vertical-align: middle;
	/* セル内のテキストを垂直方向に中央揃えにする */
	font-weight: 100;
	line-height: initial;
}

#main .office {
	/* padding: 0px 0 229px; */
	margin-top: 120px
}

.office .dli-pin-fill {
	display: inline-block;
	vertical-align: middle;
	color: #1A4E7C;
	line-height: 1;
	position: relative;
	width: 0.8em;
	height: 0.8em;
	background: currentColor;
	border: 0.1em solid currentColor;
	border-radius: 40% 60% 0% 100% / 40% 100% 0% 60%;
	box-sizing: content-box;
	transform: rotate(45deg);
	margin-bottom: 5px;
	margin-right: 5px;
}

.office .dli-pin-fill::before {
	content: '';
	position: absolute;
	top: 18%;
	left: 18%;
	width: 0.336em;
	height: 0.336em;
	background: #fff;
	border-radius: 50%;
	box-sizing: border-box;
}

.office .mapLinkTxt {
	color: #1A4E7C;
	text-decoration: underline;
	font-size: 1.8rem;
}


#main .history {
	/* padding: 122px 0 229px; */
	margin-top: 120px
}

/* .history .comTable table{
	border: none;
} */

.history .comTable tr {
	height: 90px;
}

.history .comTable th,
.history .comTable td {
	background: #fff;
	font-size: 2rem;
	border: none;
	padding: 7px 15px 6px;
}

.history .comTable .tr_grey th,
.history .comTable .tr_grey td {
	background: #F2F2F2;
}

.history .comTable th {
	text-align: right;
	width: 20%;
}

.border_left {
	border-left: 4px solid #007bff;
	padding-left: 25px;
}


#main .history h3 {
	margin-bottom: 20px;
	text-align: center;
}

#main .history .innerBox {
	padding: 54px 90px 53px;
	position: relative;
	border-top: 4px dotted #CCC69B;
	border-bottom: 4px dotted #CCC69B;
	background: #fff;
}

#main .history .historyList {
	margin: 0 auto;
	max-width: 762px;
	position: relative;
	z-index: 2;
}

#main .history .historyList dt {
	width: 210px;
	float: left;
	clear: left;
	font-weight: 500;
	font-size: 1.8rem;
	letter-spacing: 0.15em;
	line-height: 1.75;
}

#main .history .historyList dd {
	margin-right: -10px;
	padding: 0 0 19px 332px;
	position: relative;
	font-weight: 500;
	font-size: 1.8rem;
	line-height: 1.75;
	letter-spacing: -0.03em;
}

#main .history .historyList dd::before {
	width: 17px;
	height: 17px;
	position: absolute;
	left: 231px;
	top: 8px;
	border-radius: 50%;
	background: #A6BD63;
	content: '';
}

#main .history .historyList dd::after {
	width: 1px;
	position: absolute;
	top: 10px;
	bottom: -10px;
	left: 239px;
	background: #A6BD63;
	content: '';
}

#main .history .historyList dd:last-child {
	padding-bottom: 0;
}

#main .history .historyList dd:last-child::after {
	display: none;
}

#main .history .photo {
	width: 28.73%;
	position: absolute;
	left: -8%;
	bottom: -30.5%;
}

#main .overview {
	/* margin-bottom: 152px; */
}

#main .overview h3 {
	margin: 0 45px 30px 0;
	text-align: center;
}

#main .overview .tableBox {
	/* margin-bottom: 172px; */
}

#main .overview .tableBox table {
	width: 100%;
	border-collapse: collapse;
}

#main .overview .tableBox th,
#main .overview .tableBox td {
	padding: 12px 15px 11px;
	vertical-align: middle;
	text-align: left;
	font-weight: 500;
	font-size: 1.8rem;
	box-sizing: border-box;
	border-bottom: 5px solid #F5F4E0;
	background: #fff;
}

#main .overview .tableBox th {
	text-align: center;
	letter-spacing: 0.02em;
	background: #FCE275;
	border-right: 5px solid #F5F4E0;
}

#main .overview .tableBox th[colspan="2"] {
	width: 33.9%;
}

#main .overview .tableBox th.wid01 {
	width: 11%;
}

#main .overview .tableBox td {
	padding-left: 36px;
	letter-spacing: 0.1em;
}

#main .overview .tableBox td:not(:last-child) {
	border-right: 5px solid #F5F4E0;
}

#main .overview .tableBox td:not([colspan]) {
	width: 13.22%;
	text-align: center;
}

#main .overview .mapBox .map01 {
	width: 48.15%;
}

#main .overview .mapBox .map01 .gmap {
	height: 662px;
}

#main .overview .mapBox .map02 {
	width: 50.15%;
}

#main .overview .mapBox img {
	width: 100%;
}

#main .report h3 {
	margin: 0 51px 22px 0;
	text-align: center;
}

#main .report .innerBox {
	padding: 52px 20px 75px;
	text-align: center;
	border-top: 4px dotted #CCC69B;
	border-bottom: 4px dotted #CCC69B;
	background: #fff;
}

#main .report .innerBox .list {
	display: inline-block;
	vertical-align: top;
	text-align: left;
}

#main .report .innerBox .list li {
	margin-bottom: 23px;
	font-weight: 500;
	font-size: 1.8rem;
	letter-spacing: 0.04em;
	line-height: 1.52;
}

#main .report .innerBox .list li:last-child {
	margin-bottom: 0;
}


#main .access {
	/* padding: 122px 0 229px; */
	margin-top: 120px
}

.accessTxt {
	font-size: 2.4rem;
	margin-top: 60px;
	margin-left: 46px;
}

.adj_center {
	text-align: center;
	margin: 0 auto;
}

.accessMap {
	margin-top: 35px;
}

@media all and (max-width: 1342px) {
	#main .company .imgBox .textBox .innerBox {
		max-width: 1200px;
		padding: 0px 15px 0px 15px;
	}
}

@media all and (min-width: 897px) and (max-width: 1200px) {
	/* #main .company .imgBox .textBox .innerBox {
		max-width: 1200px;
	} */
}

@media all and (min-width: 897px) and (max-width: 1000px) {
	#main .overview .tableBox td {
		padding-left: 20px;
		letter-spacing: 0;
	}
}

@media all and (max-width: 896px) {
	.pageTitle {
		margin-bottom: 50px;
		background: url("../img/company/sp_page_title_bg.jpg") no-repeat center center / cover;
		margin-top: 0px;
		height: 210px;
		min-height: 210px;
	}

	.content {
		margin: 0 auto;
	}

	#main .company {
		padding: 0px 0 50px;
		background: #fff url("../img/top/sp_bg01.png") repeat-x center top / 320px;
	}

	#main .company .imgBox {
		margin: 0;
		display: block;
		margin-top: 40px;
	}

	#main .company .imgBox .textBox {
		margin: 0 10px 3px;
		width: auto;
		padding-left: 0;
		display: block;
	}

	#main .company .imgBox .textBox .innerBox {
		max-width: inherit;

		margin: 0 auto;
		width: 95%;
	}

	#main .company .textBox {
		font-size: 16pt;
		/* margin-top: 30px !important; */
		margin-top: 45px !important;
	}

	.textBox .ceoName {
		margin-top: 25px;
	}

	#main .company .imgBox .textBox h3 {
		margin: 0 10.5% 28px 0;
		text-align: center;
	}

	#main .company .imgBox .textBox p {
		margin-bottom: 0;
		/* font-size: 1.4rem; */
		/* font-size: 2rem; */
	}

	#main .company .imgBox .photoBox {
		width: auto;
		display: block;
		text-align: center;
	}

	#main .overview {
		/* padding: 0px 0 229px; */
		margin-top: 0px;
	}

	#main .section-title {
		border-left: 4px solid #007bff;
		padding-left: 10px;
		/* font-size: 18pt; */
		font-size: 24pt;
		margin-left: 10px;
	}

	.comTable {
		margin: 40px 6px 20px;
	}

	.comTable th {
		padding-left: 0px;
		text-align: center;
	}

	.comTable tr {
		height: 115px;
	}

	.comTable th,
	.comTable td {
		/* font-size: 1.4rem; */
		font-size: 2rem;
	}

	#main .office {
		/* padding: 0px 0 229px; */
		margin-top: 75px;
	}

	.office .mapLinkTxt {
		/* font-size: 1.4rem; */
		font-size: 2rem;

	}


	#main .history {
		/* padding: 46px 0 113px; */
		margin-top: 90px;
	}

	.border_left {
		border-left: none;
		padding-left: 15px;
	}

	.history .comTable th {
		width: 25%;
		padding: 0px 0px 0px;
		/* font-size: 1.5rem; */
		font-size: 2rem;
		text-align: center;
		border-right: solid 1px #007bff;
	}

	.history .comTable td {
		/* font-size: 8pt;
		border-left: 3px solid #007bff !important; */
		/* font-size: 1.5rem; */
		font-size: 2rem;
	}

	#main .access {
		margin-top: 90px;
	}

	.accessTxt {
		/* font-size: 13pt; */
		font-size: 2rem;
		margin-top: 40px;
		margin-left: 10px;
		font-weight: 500;
	}

	#main .history h3 {
		margin-bottom: 10px;
	}

	#main .history .innerBox {
		padding: 20px 10px 27px 105px;
		border-width: 2px;
	}

	#main .history .historyList {
		max-width: inherit;
	}

	#main .history .historyList dt {
		width: 100px;
		font-size: 0.7rem;
		line-height: 1.5;
	}

	#main .history .historyList dd {
		margin-right: 0;
		padding: 0 0 11px 115px;
		font-size: 0.7rem;
		letter-spacing: 0;
		line-height: 1.5;
		margin-left: 8px;
	}

	#main .history .historyList dd::before {
		width: 9px;
		height: 9px;
		left: 92px;
		top: 4px;
	}

	#main .history .historyList dd::after {
		top: 5px;
		bottom: -5px;
		left: 96px;
	}

	#main .history .historyList dd:last-child {
		padding-bottom: 0;
	}

	#main .history .photo {
		width: auto;
		left: -5px;
		bottom: -87px;
	}

	#main .overview {
		margin-bottom: 16px;
	}

	#main .overview h3 {
		margin: 0 0 15px;
	}

	#main .overview .tableBox {
		margin-bottom: 26px;
	}

	#main .overview .tableBox th,
	#main .overview .tableBox td {
		padding: 6px 3px;
		font-size: 0.9rem;
		border-width: 2px;
	}

	#main .overview .tableBox th {
		border-width: 2px;
		letter-spacing: 0;
	}

	#main .overview .tableBox th[colspan="2"] {
		width: 32%;
	}

	#main .overview .tableBox th.wid01 {
		width: 10%;
		line-height: 2;
	}

	#main .overview .tableBox th.sml01 {
		font-size: 0.8rem;
	}

	#main .overview .tableBox th.sml02 {
		font-size: 0.7rem;
	}

	#main .overview .tableBox td {
		padding-left: 12px;
		letter-spacing: 0;
	}

	#main .overview .tableBox td:not(:last-child) {
		border-width: 2px;
	}

	#main .overview .tableBox td:not([colspan]) {
		padding-left: 3px;
		padding-right: 3px;
	}

	#main .overview .mapBox {
		display: block;
	}

	#main .overview .mapBox .map01 {
		margin-bottom: 14px;
		width: auto;
	}

	#main .overview .mapBox .map01 .gmap {
		height: 396px;
		width: 100%;
	}

	#main .overview .mapBox .map02 {
		margin: 0 1px;
		width: auto;
	}

	#main .report h3 {
		margin: 0 10px 11px 0;
	}

	#main .report .innerBox {
		padding: 22px 20px;
		border-width: 2px;
	}

	#main .report .innerBox .list li {
		margin-bottom: 12px;
		font-size: 0.9rem;
		line-height: 1.5;
	}

	.comTable_br {
		display: block;
	}
}

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

	.overview_br768 {
		display: block;
	}

	.office_br{
		display: block;
	}

}

@media all and (max-width: 645px) {

	.overview_br768 {
		display: initial;
	}


}

@media all and (max-width: 450px) {

	#main .company .imgBox .textBox p {
        /* font-size: 1.6rem; */
    }

	#main .section-title {
        font-size: 18pt;
    }

	.comTable th, .comTable td {
        font-size: 1.6rem;
    }

	.office .mapLinkTxt {
        /* font-size: 1.4rem; */
        font-size: 1.6rem;
    }

	.history .comTable th {
        font-size: 1.6rem;
		width: 32%;
		/* padding-left: 3px; */
    }

	.history .comTable td {
        /* font-size: 1.5rem; */
        font-size: 1.6rem;
    }

	.history_br_sp{
		display: block;
	}

	.history_padding_sp{
		padding-left: 16px;
	}

	.accessTxt {
        font-size: 1.6rem;
    }

}