.byte {
	font-feature-settings: "palt" 1, "pkna" 1, "pwid" 1, "pkna" 1;
}

.p-bg {
	padding-top: 5.6rem;
	background: url(../images/company/bg_01_sp.jpg) no-repeat top center;
	background-size: 100% auto;
}

.body-txt {
	font-weight: 500;
	line-height: 2.2307692308;
	font-size: 1.3rem;
}

.body-txt::before,
.body-txt::after {
	content: "";
	display: block flow;
	inline-size: 0;
	block-size: 1px;
}

.body-txt::before {
	margin-block-end: calc((1 - 2.2307692308) * 0.5em);
}

.body-txt::after {
	margin-block-start: calc((1 - 2.2307692308) * 0.5em);
}

.table-basic table {
	width: 100%;
}

.table-basic th,
.table-basic td {
	border-top: 1px solid #cbcbcb;
	vertical-align: text-top;
	line-height: 2.2666666667;
	padding: 1.8rem 0;
}

.table-basic th::before,
.table-basic th::after,
.table-basic td::before,
.table-basic td::after {
	content: "";
	display: block flow;
	inline-size: 0;
	block-size: 1px;
}

.table-basic th::before,
.table-basic td::before {
	margin-block-end: calc((1 - 1.8) * 0.5em);
}

.table-basic th::after,
.table-basic td::after {
	margin-block-start: calc((1 - 1.8) * 0.5em);
}

.table-basic th {
	padding-left: 1.4rem;
	width: 9rem;
}

.table-basic a {
	color: #0372d3;
	text-decoration: underline;
}

.p-vision {
	position: relative;
	margin-bottom: 11.5rem;
}

.p-vision__sub {
	font-weight: bold;
	margin-bottom: 4rem;
	font-size: 2.5rem;
	line-height: 1.6333333333;
}

.p-vision__sub::before,
.p-vision__sub::after {
	content: "";
	display: block flow;
	inline-size: 0;
	block-size: 1px;
}

.p-vision__sub::before {
	margin-block-end: calc((1 - 1.6333333333) * 0.5em);
}

.p-vision__sub::after {
	margin-block-start: calc((1 - 1.6333333333) * 0.5em);
}

.p-vision__name {
	margin-bottom: 1rem;
	width: 29.5rem;
	margin-inline: auto;
}

.p-vision__note {
	font-weight: 500;
	text-align: right;
}

.p-business {
	position: relative;
	margin-bottom: 8rem;
}

.p-company {
	margin-bottom: 6rem;
}

.p-history {
	margin-bottom: 5rem;
}

.p-history__row {
	margin-bottom: 8.9rem;
}

.p-history__list dl {
	line-height: 1.7692307692;
}

.p-history__list dt {
	font-family: "Hiragino Sans", "Helvetica Neue", sans-serif;
	font-weight: 500;
}

.p-history__list dd {
	margin-left: 0;
}

.p-history__item {
	border-style: solid;
	border-color: #363636;
	border-width: 0.3rem 0;
	padding: 3.3rem 1.4rem 4rem;
}

.p-history__item .body-txt {
	margin-bottom: 2.9rem;
}

.p-history__txt {
	line-height: 1.7692307692;
	margin-bottom: 3.2rem;
}

.p-history__date {
	text-align: right;
}

.p-sdgs {
	margin-bottom: 4rem;
}

.p-sdgs__des {
	font-weight: 500;
	font-size: 1.5rem;
	line-height: 1.5333333333;
	margin-bottom: 2rem;
}

.p-sdgs-media {
	display: flex;
	align-items: center;
	border: 2px solid #707070;
}

.p-sdgs-media:not(:last-child) {
	margin-bottom: 1rem;
}

.p-sdgs-media__icon {
	aspect-ratio: 1;
	width: 9.3rem;
}

.p-sdgs-media__icon img {
	width: 100%;
}

.p-sdgs-media__body {
	flex: 1 1;
	padding: 0.5rem 1rem;
}

.p-sdgs-media__txt {
	font-weight: 500;
	font-size: 1.1rem;
	line-height: 1.6363636364;
}

.p-access {
	display: flex;
	background-color: #f5f9fc;
	padding: 8.7rem 2.4rem 5rem;
}

.p-access__map {
	width: 100%;
}

.p-access__map iframe {
	width: 100%;
	height: 100%;
}

.p-access__txt {
	line-height: 1.6428571429;
	font-size: 1.2rem;
}

.p-access__txt:not(:last-child) {
	margin-bottom: 2rem;
}

@media (min-width: 768px) {

.p-bg {
	padding-top: 18.5rem;
	background-image: url(../images/company/bg_01.jpg);
	background-size: auto;
}

.body-txt {
	line-height: 2;
	font-size: 1.7rem;
}

.body-txt::before,
.body-txt::after {
	content: "";
	display: block flow;
	inline-size: 0;
	block-size: 1px;
}

.body-txt::before {
	margin-block-end: calc((1 - 2) * 0.5em);
}

.body-txt::after {
	margin-block-start: calc((1 - 2) * 0.5em);
}

.table-basic th,
.table-basic td {
	padding: 2.7rem 0 5.7rem;
}

.table-basic th {
	padding-left: 2.6rem;
	width: 20.3rem;
}

.table-basic.--small th {
	padding-left: 1.5rem;
	width: 15.5rem;
}

.table-basic__col {
	display: grid;
	grid-template-columns: 33rem auto;
	gap: 1.7rem;
}

.p-vision {
	margin-bottom: 5rem;
}

.p-vision__body {
	position: absolute;
	right: 0;
	bottom: 15.3rem;
}

.p-vision__sub {
	font-size: 3rem;
}

.p-vision__name {
	width: 46.5rem;
}

.p-business {
	margin-bottom: 11rem;
}

.p-business__body {
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}

.p-business__image {
	margin-left: auto;
	margin-right: -11.5rem;
	width: 80rem;
}

.p-company {
	margin-bottom: 14.6rem;
}

.p-company-row {
	gap: 6.3rem;
	display: flex;
}

.p-company-row__item {
	flex: 1 1;
}

.p-company-row__item .table-basic th,
.p-company-row__item .table-basic td {
	padding-bottom: 2.7rem;
}

.p-history {
	margin-bottom: 9.5rem;
}

.p-history__row {
	margin-bottom: 11.5rem;
	display: flex;
}

.p-history__head {
	width: 20.3rem;
	flex-shrink: 0;
}

.p-history__body {
	flex: 1 1;
}

.p-history__list dl {
	line-height: 2.2666666667;
	gap: 2.2rem;
	display: flex;
	align-items: flex-start;
}

.p-history__list dt {
	width: 10rem;
	flex-shrink: 0;
	font-size: 1.4rem;
}

.p-history__list dd {
	flex: 1 1;
}

.p-history__item {
	padding: 4.4rem 0 6.5rem;
}

.p-history__item .body-txt {
	margin-bottom: 2.5rem;
}

.p-history__txt {
	line-height: 1.8666666667;
}

.p-sdgs {
	margin-bottom: 7.5rem;
}

.p-sdgs__row {
	display: flex;
}

.p-sdgs__head {
	width: 16.3rem;
	flex-shrink: 0;
}

.p-sdgs__body {
	flex: 1 1;
}

.p-sdgs__des {
	font-size: 2rem;
	line-height: 1.7;
	margin-bottom: 3.5rem;
}

.p-sdgs-media:not(:last-child) {
	margin-bottom: 2.5rem;
}

.p-sdgs-media__icon {
	width: 12.8rem;
}

.p-sdgs-media__body {
	padding: 0.5rem 2rem 0.5rem 6.6rem;
}

.p-sdgs-media__txt {
	font-size: 1.6rem;
	line-height: 1.875;
}

.p-access {
	padding: 3.3rem 3.3rem 3.3rem 7.7rem;
	align-items: center;
	margin-inline: -7.7rem;
}

.p-access__body {
	flex: 1 1;
}

.p-access__map {
	width: 70rem;
	height: 49.7rem;
}

.p-access__txt {
	font-size: 1.4rem;
}

.p-access__txt:not(:last-child) {
	margin-bottom: 3.6rem;
}

.p-access .hline02 {
	margin-bottom: 3.5rem;
}

}

@media (min-width: 1366px) {

.p-bg {
	background-size: 100% auto;
}

}

@media (max-width: 767px) {

.body-txt {
	letter-spacing: -0.06em;
}

.table-basic {
	margin-inline: -1.4rem;
}

.table-basic th,
.table-basic td {
	font-size: 1.3rem;
}

.table-basic.--fullsp th,
.table-basic.--fullsp td {
	display: block;
	width: 100%;
}

.table-basic.--fullsp th {
	padding-top: 3.5rem;
}

.table-basic.--fullsp td {
	padding: 0 1.4rem 3.5rem;
	border-top: 0;
}

.p-vision .hline02__ttl img {
	width: 9.1rem;
}

.p-vision__body {
	margin-top: 4.9rem;
}

.p-business .hline02__ttl img {
	width: 13.5rem;
}

.p-business .body-txt {
	margin-right: -2.4rem;
}

.p-business__image {
	margin: -3rem -2.4rem 0;
}

.p-company .hline02__ttl img {
	width: 13.8rem;
}

.p-history .hline02__ttl img {
	width: 10.4rem;
}

.p-history__list dt {
	margin-top: 0.5rem;
}

.p-history__list dd {
	font-size: 1.3rem;
}

.p-history__item {
	margin-inline: -1.4rem;
}

.p-history__item .body-txt {
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1.5333333333;
}

.p-history__txt {
	font-weight: 500;
	font-size: 1.3rem;
}

.p-history__date {
	font-weight: 500;
	font-size: 1.3rem;
}

.p-sdgs .hline02__ttl img {
	width: 7.1rem;
}

.p-sdgs-media {
	margin-inline: -1.4rem;
}

.p-access {
	margin-inline: -2.4rem;
	flex-direction: column-reverse;
}

.p-access__map {
	aspect-ratio: 325/249;
	margin-bottom: 2rem;
}

}

