@charset "UTF-8";
/*====================================================
企業情報 COMPANY
====================================================*/
/* .p-company-sec1
------------------------- */
.p-company-sec1__inner {
	display: grid;
	grid-template-columns: clamp(240px, 280 / 1440 * 100vw, 280px) 1fr;
	column-gap: calc(40 * var(--width-ratio-1280));
}
@media screen and (max-width: 768px) {
	.p-company-sec1__inner {
		display: block;
	}
}

.p-company-sec1__img {
	overflow: hidden;
	display: block;
	aspect-ratio: 457.5/637;
	border-radius: calc(24 * var(--width-ratio-1280));
}
@media screen and (max-width: 768px) {
	.p-company-sec1__img {
		width: calc(200 * var(--width-ratio-1280));
		margin-inline: auto;
	}
}

@media screen and (max-width: 768px) {
	.p-company-sec1__content {
		margin-top: calc(32 * var(--width-ratio-1280));
	}
}

.p-company-sec1__body {
	line-height: 2;
}
.p-company-sec1__body > * + * {
	margin-top: 1.5em;
}

.p-company-sec1__sign {
	text-align: right;
	font-weight: bold;
	line-height: 1.6;
	letter-spacing: 0.01em;
}

.p-company-sec1__sign--position {
	margin-top: 10px;
}


/* p-company-sec2
------------------------- */
.p-company-sec2 {
	padding-block: calc(200 * var(--width-ratio-1280));
	padding-bottom: calc(75 * var(--width-ratio-1280));
}
@media screen and (max-width: 768px) {
	.p-company-sec2 {
		padding-block: calc(100 * var(--width-ratio-1280));
	padding-bottom: 0;
	}
}
.p-company-sec2__body {
	color: #000;
}

/* p-company-sec3
------------------------- */
.p-company-sec3 {
	padding-block: calc(120 * var(--width-ratio-1280));
}
@media screen and (max-width: 768px) {
	.p-company-sec3 {
		padding-block: calc(100 * var(--width-ratio-1280));
	}
	.p-company-sec3__body__misson{
	font-size: calc(16 * var(--width-ratio-1280));
	}
}

.p-company-sec3__body {
	color: #000;
	line-height: 1.4;
}

/* .p-company-sec4
------------------------- */
.p-company-sec4{
	margin-bottom: 100px;
}

.p-company-sec4__inner {
	display: grid;
	grid-template-columns: clamp(220px, 300 / 1668 * 100vw, 300px) 1fr;
	column-gap: calc(40 * var(--width-ratio-1280));
}
@media screen and (max-width: 768px) {
	.p-company-sec4__inner {
		display: block;
	}
}

@media screen and (max-width: 768px) {
	.p-company-sec4__img {
		aspect-ratio: 728/90;
		width: calc(280 * var(--width-ratio-1280));
		margin-inline: auto;
	}
}

.p-company-sec4__body {
	line-height: 2;
}
@media screen and (max-width: 768px) {
	.p-company-sec4__body {
		margin-top: calc(16 * var(--width-ratio-1280));
	}
}

/* .p-company-sec5
------------------------- */
.p-company-sec5__box {
	border-radius: calc(24 * var(--width-ratio-1280));
	border: 1px solid #d7e7ff;
	background-color: #fff;
	padding: calc(24 * var(--width-ratio-1280));
	box-shadow:
		0 40px 40px rgba(219, 234, 254, 0.4),
		0 -40px 40px rgba(219, 234, 254, 0.4);
}
@media screen and (max-width: 768px) {
	.p-company-sec5__box {
		border-radius: calc(24 * var(--width-ratio-1280));
		padding: calc(24 * var(--width-ratio-1280));
	}
}

.p-company-sec5__box--img {
	display: block;
	width: min(100%, 820px);
	margin-inline: auto;
}
.p-company-sec5__box--img img {
	height: auto;
}

/*====================================================
会社概要 /company/outline
====================================================*/
/* p-company-outline-sec1
------------------------- */
.p-company-outline-sec1__dl {
	display: grid;
	grid-template-columns: 300px 1fr;
	padding-block: 16px;
}
.p-company-outline-sec1__dl:not(:first-of-type) {
	border-top: 1px solid #e2e8f0;
}
@media screen and (max-width: 768px) {
	.p-company-outline-sec1__dl {
		grid-template-columns: 1fr;
		row-gap: calc(8 * var(--width-ratio-1280));
		padding-block: calc(16 * var(--width-ratio-1280));
	}
}

.p-company-outline-sec1__dt {
	color: #1d293d;
	font-weight: bold;
	line-height: 1.6;
	letter-spacing: 0.01em;
	font-size: 18px;
}
@media screen and (max-width: 768px) {
	.p-company-outline-sec1__dt {
		font-size: calc(14 * var(--width-ratio-1280));
	}
}

.p-company-outline-sec1__dd {
	color: #45556c;
	line-height: 1.6;
	letter-spacing: 0.01em;
	font-size: 16px;
}
@media screen and (max-width: 768px) {
	.p-company-outline-sec1__dd {
		font-size: calc(14 * var(--width-ratio-1280));
	}
}

.p-company-outline-sec1__dd--link {
	color: #45556c;
	text-decoration: underline;
}

.p-company-outline-sec1__dd--blog {
	margin-left: 1em;
}

.p-company-outline-sec1__innerdd{
	    row-gap: 0.25em;
}

.p-company-outline-sec1__small{
		font-size: calc(10 * var(--width-ratio-1280));
		color: #45556c;
}

/* p-company-outline-sec2
------------------------- */
.p-company-outline-sec2__list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: calc(24 * var(--width-ratio-1280)) calc(32 * var(--width-ratio-1280));
}
@media screen and (max-width: 768px) {
	.p-company-outline-sec2__list {
		grid-template-columns: 1fr;
		row-gap: calc(16 * var(--width-ratio-1280));
	}
}

.p-company-outline-sec2__item {
	align-self: end;
	padding-block: 12px;
	border-bottom: 1px solid #f1f5f9;
	font-weight: 500;
	letter-spacing: 0.01em;
	line-height: 1.6;
	font-size: 18px;
}
@media screen and (max-width: 768px) {
	.p-company-outline-sec2__item {
		font-size: calc(14 * var(--width-ratio-1280));
	}
}

.p-company-outline-sec2__more {
	display: grid;
	grid-template-rows: 0fr;
	transition: all 0.3s ease;
	transition-property: grid-template-rows;
}

.p-company-outline-sec2__more[data-is-active="true"] {
	grid-template-rows: 1fr;
}

.p-company-outline-sec2__more--inner {
	overflow: hidden;
}

.p-company-outline-sec2__more__list {
	padding-top: calc(24 * var(--width-ratio-1280));
}
@media screen and (max-width: 768px) {
	.p-company-outline-sec2__more__list {
		padding-top: calc(16 * var(--width-ratio-1280));
	}
}

.p-company-outline-sec2__btn {
	margin-top: calc(48 * var(--width-ratio-1280));
}
.p-company-outline-sec2__btn[data-is-clicked="true"] {
	display: none;
}
@media screen and (max-width: 768px) {
	.p-company-outline-sec2__btn {
		margin-top: calc(24 * var(--width-ratio-1280));
	}
}

/* p-company-outline-sec3
------------------------- */
.p-company-outline-sec3__list {
	--itemSize: 240px;
	--iconSize: 100px;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, var(--itemSize)), 1fr));
	gap: calc(16 * var(--width-ratio-1280));
}

@media screen and (max-width: 768px) {
	.p-company-outline-sec3__list {
		grid-template-columns: repeat(2, 1fr);
		gap: calc(16 * var(--width-ratio-1280));
	}
}

.p-company-outline-sec3__item {
	display: grid;
	place-content: center;
	background-color: #fff;
	border: 1px solid #e2e8f0;
	border-radius: calc(24 * var(--width-ratio-1280));
/*	aspect-ratio: 1;	*/
	min-height: var(--itemSize);
	padding: calc(16 * var(--width-ratio-1280));
}
@media screen and (max-width: 768px) {
	.p-company-outline-sec3__item {
		border-radius: 8px;
		min-height: auto;
		aspect-ratio: unset;
		padding: calc(16 * var(--width-ratio-1280)) calc(8 * var(--width-ratio-1280));
	}
}

.p-company-outline-sec3__img {
	aspect-ratio: 1;
	width: var(--iconSize);
	margin-inline: auto;
}

.p-company-outline-sec3__body {
	text-align: center;
	color: #90a1b9;
	font-size: calc(14 * var(--width-ratio-1280));
	line-height: 1.5;
	word-break: break-all;
	margin-top: 9px;
}
@media screen and (max-width: 768px) {
	.p-company-outline-sec3__body {
		margin-top: calc(8 * var(--width-ratio-1280));
	}
}

/* p-company-outline-sec4
------------------------- */
.p-company-outline-sec4__list > * + * {
	margin-top: calc(24 * var(--width-ratio-1280));
}
.p-company-outline-sec4__item {
	display: grid;
	grid-template-columns: clamp(410px, 490 / 1200 * 100vw, 490px) 1fr;
	align-items: center;
	column-gap: 40px;
	background-color: #fff;
	border: 1px solid #f1f5f9;
	border-radius: calc(24 * var(--width-ratio-1280));
	padding: 40px;
}
@media screen and (max-width: 768px) {
	.p-company-outline-sec4__item {
		display: block;
		padding: calc(16 * var(--width-ratio-1280));
	}
}

.p-company-outline-sec4__info {
	margin-top: calc(24 * var(--width-ratio-1280));
	line-height: 2;
}

.p-company-outline-sec4__info--link {
	color: #62748e;
	text-decoration: underline;
}

@media screen and (max-width: 768px) {
	.p-company-outline-sec4__btn {
		width: 100%;
	}
}

.p-company-outline-sec4__img {
	overflow: hidden;
	display: block;
	aspect-ratio: 588/300;
	border-radius: calc(24 * var(--width-ratio-1280));
}
.p-company-outline-sec4__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
@media screen and (max-width: 768px) {
	.p-company-outline-sec4__img {
		aspect-ratio: 277/128;
		border-radius: 8px;
		margin-top: calc(16 * var(--width-ratio-1280));
	}
}

/* p-company-outline-sec5
------------------------- */
.p-company-outline-sec5__item--ttl {
	--iconSize: calc(20 * var(--width-ratio-1280));
	--currentTxtColor: #1d293d;
	--currentIconColor: #62748e;
	cursor: pointer;
	display: grid;
	grid-template-columns: 1fr var(--iconSize);
	align-items: center;
	column-gap: calc(20 * var(--width-ratio-1280));
	width: 100%;
	border: none;
	border-bottom: 1px solid #e2e8f0;
	background-color: #fff;
	text-align: left;
	color: var(--currentTxtColor);
	font-family: var(--font-ja);
	font-weight: bold;
	line-height: 1.6;
	letter-spacing: 0.01em;
	font-size: calc(18 * var(--width-ratio-1280));
	padding: calc(24 * var(--width-ratio-1280)) 0;
	padding-right: calc(16 * var(--width-ratio-1280));
	transition: all 0.3s ease;
	transition-property: color;
}
.p-company-outline-sec5__item--ttl::after {
	content: "";
	aspect-ratio: 1;
	mask-position: center center;
	mask-repeat: no-repeat;
	mask-size: contain;
	mask-image: url(../img/common/icon_select_arrow.svg);
	background-color: var(--currentIconColor);
	transition: all 0.3s ease;
	transition-property: rotate;
}

.p-company-outline-sec5__item--ttl[data-is-clicked="true"] {
	--currentTxtColor: var(--color-blue);
	--currentIconColor: var(--color-blue);
}
.p-company-outline-sec5__item--ttl[data-is-clicked="true"]::after {
	rotate: 180deg;
}

.p-company-outline-sec5__years {
	display: grid;
	grid-template-rows: 0fr;
	transition: all 0.5s ease;
	transition-property: grid-template-rows;
}
.p-company-outline-sec5__item--ttl[data-is-clicked="true"] + .p-company-outline-sec5__years {
	grid-template-rows: 1fr;
}

.p-company-outline-sec5__years--inner {
	overflow: hidden;
}

.p-company-outline-sec5__years--list {
	--dotSize: calc(20 * var(--width-ratio-1280));
	--columnGapSize: calc(10 * var(--width-ratio-1280));
}

.p-company-outline-sec5__years--item {
	position: relative;
	display: grid;
	grid-template-columns: 5em 1fr;
	align-items: center;
	column-gap: calc(32 * var(--width-ratio-1280));
	border-bottom: 1px solid #e2e8f0;
	padding-block: calc(16 * var(--width-ratio-1280));
	margin-left: calc(var(--dotSize) + var(--columnGapSize));
}
@media screen and (max-width: 768px) {
	.p-company-outline-sec5__years--item {
		display: block;
	}
}
.p-company-outline-sec5__years--item::before {
	content: "";
	position: absolute;
	top: 50%;
	left: calc(-1 * (var(--dotSize) + var(--columnGapSize)));
	translate: 0 -50%;
	aspect-ratio: 1;
	width: var(--dotSize);
	background-color: var(--color-blue);
	border-radius: 50%;
}
.p-company-outline-sec5__years--item::after {
	content: "";
	position: absolute;
	top: 0;
	left: calc(-1 * (var(--columnGapSize) + (var(--dotSize) / 2)));
	translate: -50% 0;
	height: calc(100% + 2px);
	width: 2px;
	background-color: var(--color-blue);
}
.p-company-outline-sec5__years--item:first-of-type::after {
	top: 50%;
	height: calc(50% + 2px);
}

.p-company-outline-sec5__years--year {
	color: var(--color-blue);
	font-weight: bold;
	line-height: 1;
	font-size: calc(18 * var(--width-ratio-1280));
}
@media screen and (max-width: 768px) {
	.p-company-outline-sec5__years--year {
		font-size: calc(16 * var(--width-ratio-1280));
	}
}

.p-company-outline-sec5__years--body {
	font-family: var(--font-ja);
	font-weight: 500;
	line-height: 1.8;
	font-size: calc(16 * var(--width-ratio-1280));
}
@media screen and (max-width: 768px) {
	.p-company-outline-sec5__years--body {
		font-size: calc(14 * var(--width-ratio-1280));
		margin-top: calc(8 * var(--width-ratio-1280));
	}
}

/* .p-outline-sec6
------------------------- */
.p-company-outline-sec6__box {
	border-radius: calc(24 * var(--width-ratio-1280));
	border: 1px solid #d7e7ff;
	background-color: #fff;
	padding: calc(24 * var(--width-ratio-1280));
	box-shadow:
		0 40px 40px rgba(219, 234, 254, 0.4),
		0 -40px 40px rgba(219, 234, 254, 0.4);
}
@media screen and (max-width: 768px) {
	.p-company-outline-sec6__box {
		border-radius: calc(24 * var(--width-ratio-1280));
		padding: calc(24 * var(--width-ratio-1280));
	}
}

.p-company-outline-sec6__box--img {
	display: block;
	width: min(100%, 820px);
	margin-inline: auto;
}
.p-company-outline-sec6__box--img img {
	height: auto;
}


/*====================================================
アクセス /company/access
====================================================*/
/* p-access-sec1
------------------------- */
.p-access-sec1__box {
	display: grid;
	grid-template-columns: clamp(400px, 480 / 1680 * 100vw, 480px) 1fr;
	align-items: center;
	gap: calc(32 * var(--width-ratio-1280));
}
@media screen and (max-width: 768px) {
	.p-access-sec1__box {
		grid-template-columns: 1fr;
		gap: calc(16 * var(--width-ratio-1280));
	}
}

.p-access-sec1__box--dl {
	font-weight: 500;
	font-size: calc(14 * var(--width-ratio-1280));
}

.p-access-sec1__box--dt {
	color: var(--color-blue2);
}

.p-access-sec1__box--dt:not(:first-of-type) {
	margin-top: 1em;
}

.p-access-sec1__box--dd {
	color: #62748e;
}

.p-access-sec1__box--map {
	overflow: hidden;
	border-radius: calc(24 * var(--width-ratio-1280));
	height: 240px;
}
@media screen and (max-width: 768px) {
	.p-access-sec1__box--map {
		height: calc(200 * var(--width-ratio-1280));
	}
}

.p-access-sec1__box--map iframe {
	width: 100%;
	height: 100%;
}
.p-access-sec1__box--img {
	display: block;
	overflow: hidden;
	border-radius: calc(24 * var(--width-ratio-1280));
	aspect-ratio: 750/450;
}
@media screen and (max-width: 768px) {
	.p-access-sec1__box--img {
		aspect-ratio: none;
	}
}

.p-access-sec1__box--img img {
	object-fit: cover;
}

/* p-access-sec2
------------------------- */
.p-access-sec2__list {
	display: grid;
	gap: calc(24 * var(--width-ratio-1280));
}
@media screen and (max-width: 768px) {
	.p-access-sec2__list {
		gap: calc(16 * var(--width-ratio-1280));
	}
}

.p-access-sec2__item {
	display: grid;
	grid-template-columns: clamp(400px, 480 / 1680 * 100vw, 480px) 1fr;
	align-items: center;
	gap: calc(32 * var(--width-ratio-1280));
}
@media screen and (max-width: 768px) {
	.p-access-sec2__item {
		grid-template-columns: 1fr;
		gap: calc(16 * var(--width-ratio-1280));
	}
}

.p-access-sec2__item--dl {
	font-weight: 500;
	font-size: calc(14 * var(--width-ratio-1280));
}

.p-access-sec2__item--dt {
	color: var(--color-blue2);
}

.p-access-sec2__item--dt:not(:first-of-type) {
	margin-top: 1em;
}

.p-access-sec2__item--dd {
	color: #62748e;
}

.p-access-sec2__item--map {
	overflow: hidden;
	border-radius: calc(24 * var(--width-ratio-1280));
	height: 300px;
}
@media screen and (max-width: 768px) {
	.p-access-sec2__item--map {
		height: calc(130 * var(--width-ratio-1280));
	}
}

.p-access-sec2__item--map iframe {
	width: 100%;
	height: 100%;
}
