@charset "UTF-8";
@media screen and (min-width: 768px), print {
	/* PC表示のスタイルを記述 */

	/*# common
		-----------------------------------*/

	.company-title {
		margin-inline: auto;
		width: -moz-fit-content;
		width: -webkit-fit-content;
		width: fit-content;
	}

	.company-title__title img {
		height: 21px;
		width: auto;
	}

	.company-title__subtitle {
		font-size: 17px;
		letter-spacing: 0.85px;
		line-height: 1.47;
		margin-top: 14px;
		text-align: center;
	}

	/*# sec1
		-----------------------------------*/

	.company-sec1 {
		margin-top: 63px;
		padding-bottom: 103px;
	}

	.company-sec1__list {
		margin-inline: auto;
		border-left: 1px solid #ccc;
		border-top: 1px solid #ccc;
		margin-top: 71px;
		width: 550px;
	}

	.company-sec1__item {
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		border-bottom: 1px solid #ccc;
		color: #2a292a;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		font-size: 17px;
		height: 60px;
		letter-spacing: 0.85px;
	}

	.company-sec1__term {
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		background-color: #efeeea;
		border-right: 1px solid #ccc;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		height: 100%;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		padding-left: 14px;
		width: 192px;
	}

	.company-sec1__description {
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		padding-left: 62px;
		width: 358px;
	}

	/*# sec2
		-----------------------------------*/

	.company-sec2 {
		padding-block: 121px 120px;
		background-color: #a1876d;
	}

	.company-sec2 .company-title {
		padding-left: 4px;
	}

	.company-sec2 .company-title__title img {
		height: 25px;
	}

	.company-sec2__content {
		background-color: #fff;
		padding: 61px 90px 96px;
	}

	.company-sec2__maps {
		grid-gap: 46px 77px;
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		margin-top: 78px;
	}

	.company-sec2__map-title {
		font-size: 20px;
		font-weight: 500;
		letter-spacing: 1px;
		line-height: 1.25;
	}

	.company-sec2__map-address {
		color: #2a292a;
		font-size: 15px;
		font-style: normal;
		font-weight: normal;
		letter-spacing: 0.75px;
		line-height: 2;
		margin-top: 8px;
		text-align: left;
	}

	.company-sec2__map iframe {
		-o-object-fit: cover;
		aspect-ratio: 512/330;
		border: none;
		margin-top: 8px;
		object-fit: cover;
		width: 100%;
	}

	/*# sec3
		-----------------------------------*/

	.company-sec3 {
		background-color: #efeeea;
		height: 585px;
		overflow-x: hidden;
		position: relative;
	}

	.company-sec3__content {
		left: 50%;
		position: absolute;
		top: 0;
		-webkit-transform: translateX(-50%);
		transform: translateX(-50%);
		width: 1920px;
	}

	.company-sec3__media {
		gap: 97px;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		width: 100%;
	}

	.company-sec3__media-body {
		padding-top: 4px;
		width: 560px;
	}

	.company-sec3__title {
		margin-inline: 0;
		border-bottom: 1px solid #e4e2db;
		padding-bottom: 24px;
		width: 100%;
	}

	.company-sec3__title .company-title__subtitle {
		text-align: left;
	}

	.company-sec3__text {
		font-size: 15px;
		letter-spacing: 0.75px;
		line-height: 2.13;
		margin-top: 24px;
	}

	/*# sec4
		-----------------------------------*/

	.company-sec4 {
		padding-block: 118px 130px;
	}

	.company-sec4__links {
		margin-inline: auto;
		margin-top: 65px;
		width: 994px;
	}

	.company-sec4__links-row {
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		display: grid;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
	}

	.company-sec4__links-row:nth-of-type(n + 2) {
		margin-top: 21px;
	}

	.company-sec4__links-row.--1col {
		grid-template-columns: repeat(1, 1fr);
	}

	.company-sec4__links-row.--2col {
		grid-gap: 0px 22px;
		grid-template-columns: repeat(2, 1fr);
	}

	.company-sec4__links-row.--3col {
		grid-gap: 0px 23px;
		grid-template-columns: repeat(3, 1fr);
	}

	.company-sec4__link {
		display: block;
		height: 100%;
	}
}

@media screen and (max-width: 767px) {
	/* SP表示のスタイルを記述 */

	/*# common
		-----------------------------------*/

	.company-title {
		margin-inline: auto;
		width: -moz-fit-content;
		width: -webkit-fit-content;
		width: fit-content;
	}

	.company-title__title img {
		height: 5.072vw;
		width: auto;
	}

	.company-title__subtitle {
		font-size: 4.106vw;
		letter-spacing: 0.205vw;
		line-height: 1.47;
		margin-top: 1.932vw;
		text-align: center;
	}

	/*# sec1
		-----------------------------------*/

	.company-sec1 {
		margin-top: 15.942vw;
		padding-bottom: 24.155vw;
	}

	.company-sec1__list {
		margin-inline: auto;
		border-left: 1px solid #ccc;
		border-top: 1px solid #ccc;
		margin-top: 17.15vw;
	}

	.company-sec1__item {
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		border-bottom: 1px solid #ccc;
		color: #2a292a;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		font-size: 4.106vw;
		height: 14.493vw;
		letter-spacing: 0.205vw;
	}

	.company-sec1__term {
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		background-color: #efeeea;
		border-right: 1px solid #ccc;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		height: 100%;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		width: 46.377vw;
	}

	.company-sec1__description {
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		padding-left: 14.976vw;
		width: 86.473vw;
	}

	/*# sec2
		-----------------------------------*/

	.company-sec2 {
		padding-block: 24.155vw;
		background-color: #a1876d;
	}

	.company-sec2__content {
		background-color: #fff;
		padding: 12.077vw 4.831vw;
	}

	.company-sec2__maps {
		margin-top: 9.662vw;
	}

	.company-sec2__map:nth-of-type(n + 2) {
		margin-top: 7.246vw;
	}

	.company-sec2__map-title {
		font-size: 4.831vw;
		font-weight: 500;
		letter-spacing: 0.242vw;
		line-height: 1.25;
	}

	.company-sec2__map-address {
		color: #2a292a;
		font-size: 3.623vw;
		font-style: normal;
		font-weight: normal;
		letter-spacing: 0.181vw;
		line-height: 2;
		margin-top: 1.932vw;
		text-align: left;
	}

	.company-sec2__map iframe {
		-o-object-fit: cover;
		aspect-ratio: 512/330;
		border: none;
		height: 100%;
		margin-top: 2.899vw;
		object-fit: cover;
		width: 100%;
	}

	/*# sec3
		-----------------------------------*/

	.company-sec3 {
		background-color: #efeeea;
		padding-top: 24.155vw;
	}

	.company-sec3__media {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}

	.company-sec3__media img {
		margin-top: 7.246vw;
		-webkit-box-ordinal-group: 2;
		-ms-flex-order: 1;
		order: 1;
	}

	.company-sec3__media-body {
		padding-left: 4.106vw;
		padding-right: 4.106vw;
	}

	.company-sec3__title {
		border-bottom: 1px solid #e4e2db;
		padding-bottom: 5.797vw;
		text-align: center;
		width: 100%;
	}

	.company-sec3__text {
		font-size: 3.623vw;
		letter-spacing: 0.181vw;
		line-height: 2.13;
		margin-top: 5.797vw;
	}

	/*# sec4
		-----------------------------------*/

	.company-sec4 {
		padding-block: 28.986vw 31.401vw;
	}

	.company-sec4__links {
		margin-top: 12.077vw;
	}

	.company-sec4__links-row:nth-of-type(n + 2),
	.company-sec4__link:nth-of-type(n + 2) {
		margin-top: 5.072vw;
	}

	.company-sec4__link {
		display: block;
		height: 100%;
	}

	.company-sec4__link img {
		width: 100%;
	}
}
