@charset "utf-8";
/*------------------------------------------------------------
	company
------------------------------------------------------------*/
#main {
	overflow: hidden;
}
#main .comTopBox {
	padding-bottom: 6.5rem;
}
#main .pageTtl {
	margin-bottom: 0;
}
#main .pageTtl h3 {
	position: absolute;
	left: 50%;
	top: 50%;
	color: #fff;
	margin: -3.875vw 0 0 -30.625vw;
	font-size: 3.75vw;
	line-height: 1;
	white-space: nowrap;
	letter-spacing: 0.13em;
	z-index: 1;
}
@media all and (max-width: 1200px) {
	#main .pageTtl h3 {
		margin: -5.293rem 0 0 -41.834rem;
		font-size: 5.123rem;
	}
}
#main .h3Ttl {
	margin-bottom: 5.7rem;
	text-align: center;
}
#main .h3Ttl .dela {
	line-height: 1;
}
#main .h3Ttl .jp {
	padding-bottom: 1.3rem;
	display: block;
	font-size: 3.1rem;
	letter-spacing: 0.2em;
	border-bottom: 1px solid #000;
}
#main .h3Ttl .en {
	margin-top: -0.9rem;
	padding-top: 0.7rem;
	display: inline-block;
	border-top: 0.8rem solid #00A23E;
	font-size: 1.8rem;
	letter-spacing: 0.08em;
}
#main p {
	line-height: 2.25;
	text-align: justify;
	letter-spacing: 0.05em;
}
#main .management {
	padding: 13.8rem 0 15rem;
}
#main .management .midBox {
	margin: 0 auto;
	max-width: 95rem;
}
#main .corporate {
	padding-bottom: 18rem;
}
#main .corporate h3 {
	margin-bottom: 4.7rem;
}
#main .corporate .midTxt {
	margin: 0 0 7rem 4.5rem;
	font-size: 5.3rem;
	font-weight: 700;
	line-height: 1.7;
	text-align: center;
	letter-spacing: 0.21em;
}
#main .corporate .messageList li {
	display: flex;
	border: 1px solid #000;
	border-radius: 5rem;
	overflow: hidden;
}
#main .corporate .messageList li:not(:last-child) {
	margin-bottom: 2rem;
}
#main .corporate .messageList p {
	min-height: 9.8rem;
	display: flex;
	align-items: center;
}
#main .corporate .messageList .ttl {
	margin-right: 4.8rem;
	padding: 1rem 1rem 1rem 3rem;
	position: relative;
	color: #fff;
	font-size: 2.5rem;
	line-height: 1;
	letter-spacing: 0.2em;
	width: 23.3rem;
	text-align: center;
	justify-content: center;
	background-color: #000;
}
#main .corporate .messageList .ttl:after {
	position: absolute;
	right: -2.2rem;
	width: 2.2rem;
	height: 100%;
	top: 0;
	background-color: #000;
	clip-path: polygon(0 0, 100% 50%, 0 100%);
	content: "";
}
#main .corporate .messageList .txt {
	padding: 1rem;
	flex: 1;
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: 0.07em;
}
#main .initiatives {
	padding: 13.7rem 0 13rem;
	background-color: #00A23E;
}
#main .initiatives .content {
	align-items: flex-start;
}
#main .initiatives .lBox {
	margin-top: -0.3rem;
	width: 50rem;
}
#main .initiatives .lBox h3 {
	margin-bottom: -0.9rem;
	padding-bottom: 5.7rem;
	font-size: 7rem;
	line-height: 1;
	letter-spacing: 0.17em;
	background: url(../img/company/ttl_bg.svg) no-repeat left bottom/47.1rem;
}
#main .initiatives .lBox .subBox {
	margin-left: 6.3rem;
}
#main .initiatives .lBox .subBox p {
	margin-bottom: 2.6rem;
	letter-spacing: 0.02em;
}
#main .initiatives .lBox .subBox .midImg {
	margin-left: 1.7rem;
	width: 34.1rem;
}
#main .initiatives .rBox {
	width: 53.7rem;
	padding: 4.4rem 6rem 5.7rem;
	background-color: #fff;
	border-radius: 1.4rem;
	border: 1px solid #000;
}
#main .initiatives .rBox h4 {
	margin-bottom: 2.8rem;
	position: relative;
	font-size: 1.8rem;
	letter-spacing: 0.08em;
	text-align: center;
}
#main .initiatives .rBox h4:after {
	position: absolute;
	left: 0;
	top: 50%;
	width: 100%;
	height: 1px;
	background-color: #000;
	content: "";
}
#main .initiatives .rBox h4 .sub {
	position: relative;
	z-index: 1;
	display: inline-block;
	padding: 0 2rem 0 2.6rem;
	background-color: #fff;
}
#main .initiatives .rBox .subBox:not(:last-child) {
	margin-bottom: 2.4rem;
}
#main .initiatives .rBox h5 {
	margin-bottom: 0.4rem;
	color: #00A23E;
	font-size: 1.7rem;
	font-weight: 700;
	letter-spacing: 0.03em;
}
#main .initiatives .rBox .linkList li {
	line-height: 1.8;
}
#main .initiatives .rBox .linkList a {
	padding: 0 4.7rem 0 1.8rem;
	position: relative;
	display: inline-block;
	font-size: 1.77rem;
	letter-spacing: 0.05em;
	background: url(../img/common/arrow10.svg) no-repeat right 1.3rem/3.4rem;
}
#main .initiatives .rBox .linkList a:before {
	position: absolute;
	left: 0.2rem;
	top: 1.1rem;
	width: 1.1rem;
	height: 1.1rem;
	background-color: #00A23E;
	border-radius: 50%;
	content: "";
}
#main .mainPho img {
	width: 100%;
}
#main .headLine04 {
	margin: 0 0 2.5rem;
	font-size: 3.05rem;
	line-height: 1;
	font-weight: 400;
	letter-spacing: 0.2em;
}
#main .headLine04:before,
#main .headLine04:after {
	width: 1.4rem;
}
#main .headLine04:before {
	top: 0.4rem;
	background-color: #000;
}
#main .headLine04:after {
	top: calc(50% + 0.2rem);
	height: calc(50% - 0.1rem);
	background-color: #00A23E;
}
#main .message {
	padding: 19rem 0 15.3rem;
}
#main .message .comTable th img {
	margin: 0 0 0.7rem -0.3rem;
	width: 14.5rem;
	display: block;
}
#main .message .comTable .tdStyle {
	padding: 0;
	height: auto;
}
#main .message .comTable .tdStyle:before,
#main .message .comTable .tdStyle:after {
	display: none;
}
#main .message .comTable td p {
	line-height: 1.56;
	letter-spacing: 0.12em;
}
#main .message .comTable td .btn {
	margin-top: 2.6rem;
}
#main .message .comTable td .btn a {
	display: block;
	padding: 1.6rem 3.5rem 1.8rem 2rem;
	max-width: 36.6rem;
	color: #00A23E;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-align: center;
	background: url(../img/common/arrow03_green.svg) no-repeat right 3rem center/1.9rem;
	border: 1px solid #00A23E;
	border-radius: 3rem;
}
#main .message .comTable td .btn a img {
	width: 12.3rem;
	vertical-align: -0.2rem;
	margin-right: 0.4rem;
}
#main .message .comTable .listBox {
	gap: 0 6.2rem;
}
#main .message .comTable .listBox02 {
	line-height: 1.62;
	gap: 0;
}
#main .message .comTable .listBox02 .txtList {
	width: 48.5%;
}
#main .access {
	margin-bottom: 17.2rem;
}
#main .access .ttlBox {
	margin-bottom: 3.7rem;
	align-items: flex-start;
}
#main .access h3 {
	margin-bottom: 0;
	width: 23.5rem;
}
#main .access .ttlBox p {
	flex: 1;
}
#main .access .map {
	aspect-ratio: 1100/691;
}
#main .access .map iframe {
	display: block;
	width: 100%;
	height: 100%;
}
#main .history {
	padding: 16.8rem 0 15.6rem;
	position: relative;
	background: #F6F7E3;
	border-top: 1px solid #000;
}
#main .history .content {
	max-width: 86.4rem;
}
#main .history h3 {
	position: absolute;
	left: 50%;
	top: -2.9rem;
	width: 48.4rem;
	padding: 1rem;
	font-size: 3.06rem;
	line-height: 1;
	letter-spacing: 0.15em;
	text-align: center;
	margin-left: -24.2rem;
	background-color: #fff;
	border: 1px solid #000;
	border-radius: 3rem;
}
#main .history .imgBox {
	margin-bottom: 10.5rem;
}
#main .history .imgBox .comHistory {
	width: 60%;
}
#main .history .imgBox .comHistory li {
	padding-bottom: 5rem;
}
#main .history .imgBox .comHistory li:after {
	width: 1.2rem;
	height: 1.2rem;
	top: 0.8rem;
}
#main .history .imgBox .comHistory p {
	line-height: 1.69;
}
#main .history .imgBox .comHistory .date {
	width: 11rem;
}
#main .history .imgBox .phoList {
	margin-top: 0.1rem;
	width: 29.7rem;
}
#main .history .imgBox .phoList li:not(:last-child) {
	margin-bottom: 2.9rem;
}
#main .history .imgBox .phoList img {
	width: 100%;
}
#main .history .btmTxt img {
	width: 10.6rem;
	display: block;
	margin: 0 auto 2.2rem;
}
#main .history .btmTxt p {
	margin: 0 auto;
	font-size: 4.45rem;
	line-height: 1.33;
	text-align: center;
	display: block;
	letter-spacing: 0.21em;
}
@media all and (hover: hover) and (min-width: 897px) {
	#main .message .comTable td .btn a:hover {
		opacity: 0.7;
	}
	#main .initiatives .rBox .linkList a:hover {
		color: #00A23E;
	}
}
@media all and (min-width: 897px) {}
@media all and (max-width: 896px) {
	#main .comTopBox {
		padding-bottom: 1.7rem;
	}
	#main .comTopBox h2 {
		letter-spacing: 0.17em;
	}
	#main .pageTtl h3 {
		margin: -6.2rem 0 0 -13.5rem;
		font-size: 3.5rem;
		line-height: 1.2;
		text-align: center;
	}
	#main .h3Ttl {
		margin-bottom: 2.8rem;
	}
	#main .h3Ttl .dela {
		line-height: 1;
	}
	#main .h3Ttl .jp {
		padding-bottom: 1.4rem;
		font-size: 3.2rem;
	}
	#main .h3Ttl .en {
		margin-top: -0.8rem;
		min-width: 29.4rem;
	}
	#main p {
		line-height: 1.88;
		letter-spacing: 0.05em;
	}
	#main .management {
		padding: 6.2rem 0 4.3rem;
	}
	#main .management .midBox {
		max-width: inherit;
		margin: 0 -0.3rem;
	}
	#main .corporate {
		padding-bottom: 10.3rem;
	}
	#main .corporate h3 {
		margin-bottom: 2.5rem;
	}
	#main .corporate .midTxt {
		margin: 0 0 4rem;
		font-size: 3.5rem;
		line-height: 1.5;
	}
	#main .corporate .messageList li {
		display: block;
		border-radius: 2rem;
		overflow: visible;
	}
	#main .corporate .messageList li:not(:last-child) {
		margin-bottom: 5.3rem;
	}
	#main .corporate .messageList p {
		min-height: inherit;
		display: block;
	}
	#main .corporate .messageList .ttl {
		margin: 0 auto 1.4rem;
		padding: 1.3rem;
		font-size: 2.5rem;
		margin-left: -0.2rem;
		width: 36.5rem;
		border-radius: 3rem;
		transform: translateY(-1.6rem);
	}
	#main .corporate .messageList .ttl:after {
		right: auto;
		left: 50%;
		transform: translateX(-50%);
		width: 2.5rem;
		height: 2.2rem;
		top: auto;
		bottom: -1.2rem;
		clip-path: polygon(0 0, 100% 0, 50% 100%);
		content: "";
	}
	#main .corporate .messageList .txt {
		padding: 0 3rem 4rem;
		font-size: 1.6rem;
		font-weight: 400;
	}
	#main .initiatives {
		padding: 7.2rem 0 8rem;
	}
	#main .initiatives .content {
		display: block;
	}
	#main .initiatives .lBox {
		margin: 0 2.6rem 3.4rem;
		width: auto;
	}
	#main .initiatives .lBox h3 {
		margin: 0 -1rem 1.6rem 0;
		padding: 0 0 4.4rem 0.2rem;
		font-size: 4.5rem;
		background-image: url(../img/company/ttl_bg_sp.svg);
		background-size: 30.9rem;
	}
	#main .initiatives .lBox .subBox {
		margin-left: 0.3rem;
	}
	#main .initiatives .lBox .subBox .midImg {
		margin-left: 0;
		width: 31rem;
	}
	#main .initiatives .rBox {
		width: auto;
		padding: 3rem 2.8rem 5.2rem;
		border-radius: 2rem;
	}
	#main .initiatives .rBox h4 {
		margin-bottom: 1.7rem;
		font-size: 2.1rem;
	}
	#main .initiatives .rBox h4 .sub {
		padding: 0 0.6rem 0 0.5rem;
	}
	#main .initiatives .rBox h5 {
		margin-bottom: 0.5rem;
		font-size: 1.9rem;
		line-height: 1.42;
	}
	#main .initiatives .rBox .linkList li:not(:last-child) {
		margin-bottom: 0.7rem;
	}
	#main .initiatives .rBox .linkList a {
		padding: 0 2.9rem 0 1.8rem;
		font-size: 1.6rem;
		background-size: 2.2rem;
	}
	#main .initiatives .rBox .linkList a:before {
		top: 0.9rem;
	}
	#main .headLine04 {
		margin: 0 0 2.2rem;
		padding-left: 3.5rem;
		font-size: 3.1rem;
	}
	#main .message {
		padding: 6.9rem 0 7.3rem;
	}
	#main .message .comTable tr:first-child .tdStyle {
		border-top: 1px solid #000;
	}
	#main .message .comTable .tdStyle th,
	#main .message .comTable .tdStyle td {
		display: block;
		width: 100%;
	}
	#main .message .comTable .tdStyle th {
		padding: 2.3rem 0 1rem;
		text-align: center;
	}
	#main .message .comTable .tdStyle td {
		padding: 0 0 3.3rem;
		height: auto;
	}
	#main .message .comTable .tdStyle td:before,#main .message .comTable .tdStyle td:after {
		display: none;
	}
	#main .message .comTable .tdStyle td p {
		width: fit-content;
		margin: 0 auto;
	}
	#main .message .comTable th img {
		margin: 0 auto;
		width: 20rem;
	}
	#main .message .comTable td p {
		letter-spacing: 0.05em;
	}
	#main .message .comTable td .btn a {
		background-image: url(../img/common/arrow03_green_sp.svg);
		background-size: 1.8rem;
	}
	#main .message .comTable .listBox {
		gap: 0;
	}
	#main .message .comTable .tdStyle02 th {
		padding-top: 2rem;
	}
	#main .message .comTable .tdStyle02 th .ttl {
		padding-bottom: 0.3rem;
		position: relative;
		display: inline-block;
		border-bottom: 1px solid #000;
	}
	#main .message .comTable .tdStyle02 th .ttl:after {
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		bottom: -2px;
		width: 2.7rem;
		height: 3px;
		background-color: #00A23E;
		content: "";
	}
	#main .message .comTable .tdStyle02 td {
		padding-bottom: 2.4rem;
	}
	#main .message .comTable .listBox02 {
		line-height: 1.48;
	}
	#main .message .comTable .listBox02 .txtList {
		width: 100%;
	}
	#main .message .comTable .tdStyle02 .txtList li {
		margin-right: 0.6rem;
		display: inline-block;
		font-size: 1.4rem;
	}
	#main .message > .comTable {
		border-bottom: 1px solid #000;
	}
	#main .access {
		margin-bottom: 10rem;
	}
	#main .access .ttlBox {
		margin-bottom: 2.3rem;
		display: block;
	}
	#main .access h3 {
		margin-bottom: 2.3rem;
		width: auto;
	}
	#main .access .ttlBox p {
		flex: 1;
	}
	#main .access .map {
		margin: 0 -2.5rem;
		aspect-ratio: 828/856;
	}
	#main .history {
		padding: 6rem 0 14rem;
	}
	#main .history .content {
		max-width: inherit;
	}
	#main .history h3 {
		top: -2.6rem;
		width: 36.5rem;
		padding: 1.2rem;
		font-size: 2.5rem;
		margin-left: -18.2rem;
	}
	#main .history .imgBox {
		margin-bottom: 4.7rem;
		display: block;
	}
	#main .history .imgBox .comHistory {
		width: auto;
	}
	#main .history .imgBox .comHistory li {
		padding-bottom: 1.4rem;
	}
	#main .history .imgBox .comHistory li:after {
		top: 0.6rem;
	}
	#main .history .imgBox .comHistory p {
		line-height: 1.56;
	}
	#main .history .imgBox .comHistory .date {
		width: auto;
	}
	#main .history .imgBox .phoList {
		margin: 2.8rem auto 0;
		width: 85%;
	}
	#main .history .imgBox .phoList li:not(:last-child) {
		margin-bottom: 1.2rem;
	}
	#main .history .btmTxt {
		margin: 0 -0.5rem;
	}
	#main .history .btmTxt img {
		margin-bottom: 1.4rem;
	}
	#main .history .btmTxt p {
		font-size: 3.4rem;
		line-height: 1.47;
		letter-spacing: 0.05em;
	}
}