@charset "UTF-8";

/* --------------------------------------------------------------------------------------
	企業情報
--------------------------------------------------------------------------------------- */

.wrap.index { background-image: url(../img/company/index/main_bg.png); }

h2.head {
	font-family: var(--font-UD-ShinGo-DeBold);
	font-size: 3.2rem;
	margin-bottom: 42px;
	text-align: center;
}

.company-wrap .mission {
	margin-top: 80px;
	text-align: center;
}

.company-wrap .mission h2 {
	font-family: var(--font-UD-ShinGo-DeBold);
	font-size: 2.4rem;
	text-align: center;
}

.company-wrap .mission .banner { margin: 46px auto 0; }
.company-wrap .mission .banner a { justify-content: center; }

.intelligence { margin-top: 80px; }

.intelligence dl {
	display: table;
	width: 100%;
}

.intelligence dt {
	border-bottom: 1px solid var(--border-color);
	display: table-cell;
	font-family: var(--font-UD-ShinGo-DeBold);
	padding: 20px 0;
	width: 180px;
}

.intelligence dd {
	border-bottom: 1px solid var(--border-color-thin);
	display: table-cell;
	padding: 20px 0 20px 80px;
}

.board-member { margin-top: 100px; }

.board-member .president {
	font-size: 0;
	position: relative;
}

.board-member .president .image {
	display: inline-block;
	max-width: 192px;
	vertical-align: middle;
}

.board-member .president dl {
	display: inline-block;
	font-size: 2rem;
	margin-left: 36px;
	vertical-align: middle;
}

.board-member .president dt { font-family: var(--font-UD-ShinGo-DeBold); }
.board-member .president dd { margin-top: 10px; }

.board-member > dl {
	border-bottom: 1px solid var(--border-color-thin);
	border-top: 1px solid var(--border-color-thin);
	font-size: 0;
	margin-top: 27px;
	padding: 22px 0;
	position: relative;
}

.board-member > dl::before,
.board-member > dl::after {
	background-color: var(--border-color);
	content: '';
	display: block;
	height: 1px;
	position: absolute;
	width: 80px;
}

.board-member > dl::before {
	left: 0;
	top: -1px;
}

.board-member > dl::after {
	bottom: -1px;
	left: 0;
}

.board-member > dl dt,
.board-member > dl dd {
	display: inline-block;
	font-size: 1.6rem;
	vertical-align: middle;
}

.board-member > dl dt {
	font-family: var(--font-UD-ShinGo-DeBold);
	max-width: 192px;
	width: 100%;
}

.board-member > dl dd {
	max-width: 370px;
	padding-left: 40px;
}

.board-member > dl dd ul {
	font-size: 0;
	left: -50px;
	margin-bottom: -8px;
	position: relative;
	top: -8px;
}

.board-member > dl dd li {
	font-size: 1.6rem;
	margin-top: 8px;
}

.access { margin-top: 100px; }

.access-inner .details {
	float: left;
	max-width: 50%;
	width: 100%;
}

.access-inner .details dl:nth-of-type(n+2) { margin-top: 34px; }

.access-inner .details dt { font-family: var(--font-UD-ShinGo-DeBold); }
.access-inner .details dd { margin-top: 10px; }

.access-inner .details dd li:nth-of-type(n+2) { margin-top: 2px; }

.access-inner #google-map {
	float: right;
	height: 398px;
	max-width: 48.2%;
	overflow: hidden;
	width: 100%;
	/* -webkit-filter: grayscale(100%);
	-moz-filter: grayscale(100%);
	-ms-filter: grayscale(100%);
	-o-filter: grayscale(100%);
	filter: grayscale(100%); */
}

.access-inner .map iframe {
	height: 398px;
	margin-top: -46px;
	width: 100%;
}




.group-company { margin-top: 100px; }

.group-company .banner { margin: 60px auto 0; }

.group-company > p { text-align: center; }


@media (max-width: 768px) {

	h2.head {
		font-size: 7.467vw;
		margin-bottom: 6.667vw;
	}

	.company-wrap .mission,
	.intelligence,
	.board-member,
	.access,
	.group-company { margin: 11.2vw 5.333vw 0; }

	.company-wrap .mission h2 {
		font-family: var(--font-UD-ShinGo-Regular);
		font-size: 4.8vw;
		text-align: left;
	}

	.company-wrap .mission h2 br { display: none; }
	.company-wrap .mission .banner { margin-top: 8.533vw; }

	.intelligence dl:first-of-type { margin-top: -5.333vw; }

	.intelligence dt {
		border-bottom-color: var(--border-color-thin);
		padding: 5.333vw 0;
		position: relative;
		white-space: nowrap;
		width: 16vw;
	}

	.intelligence dt::after {
		background-color: var(--border-color);
		bottom: -1px;
		content: '';
		display: block;
		height: 1px;
		left: 0;
		position: absolute;
		width: 10.667vw;
	}

	.intelligence dd { padding: 5.333vw 0 5.333vw 10.667vw; }

	.board-member .president .image {
		max-width: 100%;
		width: 25.6vw;
	}

	.board-member .president dl {
		font-size: 4.8vw;
		margin-left: 4.533vw;
	}

	.board-member .president dd { margin-top: 1.333vw; }

	.board-member > dl {
		margin-top: 7.2vw;
		padding: 6.133vw 0;
	}

	.board-member > dl::before,
	.board-member > dl::after { width: 10.667vw; }

	.board-member > dl dt {
		max-width: 22.667vw;
		vertical-align: top;
	}

	.board-member > dl dd {
		margin-left: 0;
		max-width: inherit;
		vertical-align: top;
	}

	.board-member > dl dd ul {
		left: auto;
		margin-bottom: 0;
		top: 0;
	}

	.board-member > dl dd li {
		display: block;
		font-size: 3.733vw;
		margin-left: 0;
		margin-top: 0;
	}

	.access-inner #google-map {
		float: none;
		height: 66.933vw;
		max-width: 100%;
	}

	.access-inner .details {
		float: none;
		margin-top: 5.6vw;
		max-width: 100%;
	}

	.access-inner .details dd { margin-top: 2.4vw; }

	.access-inner .details dd li {
		margin-left: 1em;
		text-indent: -1em;
	}

	.group-company .banner { margin-top: 8.533vw; }

}

/* --------------------------------------------------------------------------------------
	ガバナンス
--------------------------------------------------------------------------------------- */

.governance-wrap { margin-top: 80px; }
.governance-wrap > .txt { text-align: center; }

.governance-inner {
	background-color: var(--color-gray-white);
	margin-top: 24px;
	padding: 32px;
}

.governance-inner dl {
	background-color: #fff;
	border-radius: 8px;
	display: table;
	padding: 32px 24px;
	width: 100%;
}

.governance-inner dl:nth-of-type(n+2) { margin-top: 16px; }

.governance-inner dt {
	display: table-cell;
	font-family: var(--font-UD-ShinGo-DeBold);
	max-width: 20.2%;
	padding: 14px 0;
	vertical-align: middle;
	width: 20.2%;
}

.governance-inner dd {
	border-left: 1px solid var(--border-color-thin);
	display: table-cell;
	max-width: 79.8%;
	padding: 14px 0 14px 33px;
	vertical-align: middle;
	width: 79.8%;
}

.governance-inner dd a {
	color: var(--color-deep-blue);
	text-decoration: underline;
}

.governance-inner dd li:nth-child(n+2) { margin-top: 6px; }

.governance-inner dd .column {
	margin-top: 32px;
	overflow: hidden;
}

.governance-inner dd .column-inner {
	display: inline-block;
	vertical-align: top;
}

.governance-inner dd .column-inner::after {
	clear: both;
	content: '';
	display: block;
}

.governance-inner dd .column-inner div {
	float: right;
	margin-left: 20px;
}

.governance-inner dd .column-inner section {
	float: left;
}

.governance-inner dd .column-inner section h3 { font-family: var(--font-UD-ShinGo-DeBold); }

.governance-inner dd .column-inner section p {
	font-size: 1.419999rem;
	margin-top: 10px;
}

@media (max-width: 768px) {

	.governance-wrap {
		margin: 11.2vw 5.333vw 0;
		width: auto;
	}

	.governance-wrap > .txt { text-align: left; }

	.governance-inner {
		margin-top: 5.6vw;
		padding: 4.267vw;
	}

	.governance-inner dl { padding: 4.267vw; }

	.governance-inner dt {
		display: block;
		max-width: 100%;
		padding: 0;
	}

	.governance-inner dd {
		border-left: none;
		border-top: 1px solid var(--border-color-thin);
		display: block;
		margin-top: 4.267vw;
		max-width: 100%;
		padding: 3.2vw 0 0;
	}

	.governance-inner dd .column { margin-top: 5.6vw; }

	.governance-inner dd .column-inner { display: block; }

	.governance-inner dd .column-inner > div {
		margin-left: 0;
		max-width: 23.467vw;
		width: 100%;
	}

	.governance-inner dd .column-inner section {
		margin-left: 0;
		width: 42.667vw;
	}

	.governance-inner dd .column-inner section p {
		font-size: 3.2vw;
		margin-top: 1.333vw;
	}
}

/* --------------------------------------------------------------------------------------
	当社事業のご紹介
--------------------------------------------------------------------------------------- */

.introduction-wrap > section { margin-top: 60px; }
.introduction-wrap > section:first-of-type { margin-top: 82px; }

.introduction-wrap > section .diagram { margin-top: 40px; }

.introduction-wrap .cashless { margin-top: 24px; }


.introduction-wrap .cashless h3 {
	font-family: var(--font-UD-ShinGo-DeBold);
	font-size: 2.4rem;
}

.introduction-wrap .cashless p {
	line-height: 1.6;
	margin-top: 24px;
}

@media (max-width: 768px) {

	.introduction-wrap {
		margin: 11.2vw 5.333vw 0;
		width: auto;
	}

	.introduction-wrap > section { margin-top: 11.2vw; }
	.introduction-wrap > section:first-of-type { margin-top: 0; }
	.introduction-wrap > section .diagram { margin-top: 7.467vw; }

	.introduction-wrap .cashless { margin-top: 6.4vw; }

	.introduction-wrap .box .cashless h3 { font-size: 6.333vw; }
	.introduction-wrap .box .cashless h4 { font-size: 5.5vw; }
	.introduction-wrap .box .cashless p { margin-top: 6.4vw; }

	.introduction-wrap .box .features-item section h4 {
		display: block;
		font-size: 1.7rem;
		height: 400px;
		line-height: 1;
		margin-bottom: 20px;
		margin-top: 10px;
		padding-bottom: 50px;
		padding-top: 10px;
	}

	.introduction-wrap .box .features-item section .image {
		display: flex;
		height: 300px;
		margin-bottom: 20px;
		margin-top: 20px;
		padding: 50px 0;
		zoom: 60%;
	}

	.introduction-wrap .box .features-item section p {
		display: block;
		margin-bottom: 1vw;
		margin-top: 1.4vw;
		padding-bottom: 20px;
		padding-top: 50px;
	}

}

/* --------------------------------------------------------------------------------------
	会社の歩み
--------------------------------------------------------------------------------------- */

.wrap.history {
	background-image: url(../img/company/history/main_bg.png);
	background-position: center 848px;
}

.history-wrap { margin-top: 80px; }

.history-wrap > .txt {
	font-family: var(--font-UD-ShinGo-DeBold);
	font-size: 2rem;
	line-height: 1.8;
	text-align: center;
}

.history-wrap .diagram {
	margin-top: 48px;
	text-align: center;
}

.history-inner {
	margin-top: 72px;
	position: relative;
}

.history-inner::before {
	background-color: var(--border-color);
	content: '';
	display: block;
	height: calc(100% - 22px);
	left: calc(50% - 1px);
	position: absolute;
	top: 22px;
	width: 2px;
	z-index: -1;
}

.history-inner section { width: 50%; }

.history-inner section h3 {
	color: var(--color-deep-blue);
	font-family: var(--font-UD-ShinGo-Bold);
	font-size: 4.8rem;
	line-height: .8;
	position: relative;
}

.history-inner section h3::before {
	background-color: var(--color-deep-blue);
	border-radius: 100vw;
	content: '';
	height: 16px;
	position: absolute;
	top: calc(50% - 8px);
	width: 16px;
	z-index: 1;
}

.history-inner section h3::after {
	background-color: var(--border-color);
	content: '';
	height: 1px;
	position: absolute;
	right: 0;
	top: 50%;
	width: 76.4%;
	z-index: 0;
}

.history-inner section .details { margin-top: 26px; }

.history-inner section .details dl {
	font-size: 0;
	overflow: hidden;
}

.history-inner section .details dl:nth-of-type(n+2) { margin-top: 26px; }

.history-inner section .details dt {
	color: var(--color-deep-blue);
	display: inline-block;
	font-family: var(--font-UD-ShinGo-DeBold);
	font-size: 1.6rem;
	line-height: 1.6;
	margin-right: 14px;
	vertical-align: top;
}

.history-inner section .details dd {
	display: inline-block;
	font-size: 1.6rem;
	line-height: 1.6;
	max-width: 91%;
}

.history-inner section .details dd p:nth-of-type(n+2) { margin-top: 8px; }

.history-inner section .details .image {
	font-size: 0;
	left: -9px;
	margin-bottom: -9px;
	margin-top: 17px;
	position: relative;
	top: -9px;
	width: calc(100% + 9px);
}

.history-inner section .details .image > div {
	border: 1px solid var(--border-color-thin);
	display: inline-block;
	margin-left: 9px;
	margin-top: 9px;
}

.history-inner section:nth-of-type(odd) { float: left; }
.history-inner section:nth-of-type(even) { float: right; }

.history-inner section:nth-of-type(even) h3 { text-align: right; }

.history-inner section:nth-of-type(odd) h3::before { right: -8px; }
.history-inner section:nth-of-type(odd) h3::after { right: 0; }
.history-inner section:nth-of-type(even) h3::before { left: -8px; }
.history-inner section:nth-of-type(even) h3::after { left: 0; }

.history-inner section:nth-of-type(odd) .details {
	padding-right: 45px;
	text-align: right;
}

.history-inner section:nth-of-type(even) .details { padding-left: 45px; }

.history-inner .year-2011 { margin-top: 294px; }
.history-inner .year-2012 { margin-top: 450px; }
.history-inner .year-2013 { margin-top: 280px; }
.history-inner .year-2014 { clear: both; margin-top: 32px; }
.history-inner .year-2015 { clear: both; margin-top: -50px; }
.history-inner .year-2016 { margin-top: 200px; }
.history-inner .year-2017 { clear: both; margin-top: -50px; }
.history-inner .year-2018 { margin-top: 200px; }
.history-inner .year-2019 { margin-top: 200px; }
.history-inner .year-2020 { clear: both; margin-top: -150px; }
.history-inner .year-2022 { margin-top: 45px; }
.history-inner .year-2024 { clear: both; margin-top: -20px; }
.history-inner .year-2025 { margin-top: 180px; }

@media (max-width: 768px) {

	.wrap.history {
		background-image: url(../img/company/history/main_bg_sp.png);
		background-position: center bottom;
		background-size: 100% auto;
		padding-bottom: 19.067vw;
	}

	.history-wrap {
		margin: 11.2vw 5.333vw 0;
		width: auto;
	}

	.history-wrap > .txt {
		font-size: 4.8vw;
		text-align: left;
	}

	.history-wrap > .txt br { display: none; }

	.history-wrap .diagram { margin-top: 5.333vw; }

	.history-inner { margin-top: 12.267vw; }

	.history-inner::before {
		height: calc(100% - 4.267vw);
		left: 1.733vw;
		position: absolute;
		top: 4.267vw;
		width: .8vw;
	}

	.history-inner section { width: auto; }
	.history-inner section:nth-of-type(odd),
	.history-inner section:nth-of-type(even) { float: none; }

	.history-inner section:nth-of-type(n+2) { margin-top: 8vw !important; }

	.history-inner section h3 {
		font-size: 9.6vw;
		padding-left: 8.533vw;
	}

	.history-inner section:nth-of-type(even) h3 { text-align: left; }

	.history-inner section h3::before {
		height: 4.267vw;
		left: 0 !important;
		right: auto !important;
		width: 4.267vw;
	}

	.history-inner section h3::after { display: none; }

	.history-inner section .details {
		margin-top: 5.333vw;
		padding-left: 8.533vw !important;
	}

	.history-inner section:nth-of-type(odd) .details {
		padding-right: 0;
		text-align: left;
	}

	.history-inner section .details dl:nth-of-type(n+2) { margin-top: 4.267vw; }

	.history-inner section .details dt {
		font-size: 3.733vw;
		margin-right: 0;
		width: 9.333vw;
	}

	.history-inner section .details dd {
		font-size: 3.733vw;
		max-width: calc(100% - 9.333vw);
		width: auto;
	}

	.history-inner section .details dl dd:first-child { margin-left: 9.333vw; }

	.history-inner section .details dd br { display: none; }

	.history-inner section .details .image {
		display: flex;
		left: auto;
		margin-bottom: auto;
		margin-left: 9.333vw;
		margin-top: 2.667vw;
		top: auto;
		width: auto;
	}

	.history-inner section .details .image > div {
		margin-left: 0;
		margin-top: 0;
		max-width: 34.4vw;
	}

	.history-inner section .details .image.one > div { max-width: 100%; }

	.history-inner section .details .image > div:nth-of-type(n+2) { margin-left: 1.733vw; }

	.history-inner section .details dd p:nth-of-type(n+2) { margin-top: 2.4vw; }
}

/* --------------------------------------------------------------------------------------
	登録商標
--------------------------------------------------------------------------------------- */

.registered-wrap { margin-top: 80px; }

.registered-wrap > section { margin-top: 60px; }
.registered-wrap > section .head-ttl { padding-bottom: 24px; }
.registered-wrap > section ul { margin-top: 32px; }

.registered-wrap > section li {
	list-style-type: disc;
	margin-left: 22px;
}

.registered-wrap > section li:nth-of-type(n+2) { margin-top: 4px; }

@media (max-width: 768px) {

	.registered-wrap {
		margin: 11.2vw 5.333vw 0;
		width: auto;
	}

	.registered-wrap > section { margin-top: 8vw; }
	.registered-wrap > section .head-ttl { padding-bottom: 3.2vw; }
	.registered-wrap > section ul { margin-top: 4.267vw; }
}