.main-wrap{overflow: hidden;}
.co_message{
	position: relative;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	display: grid;
	grid-template-columns: minmax(48px, 1fr) minmax(240px, 400px) minmax(480px, 680px) minmax(48px, 1fr);
	column-gap: 48px;
	padding-bottom: 28px;
	margin-bottom: 24px;
}
.co_inner,
.co_copy{
	display: contents;
}
.co_navy{
	grid-column: 1 / -1;
	grid-row: 2;
	background: #00436d;
}
.co_photo{
	grid-column: 2;
	grid-row: 1 / 3;
	align-self: end;
	position: relative;
	z-index: 2;
}
.co_photo > img:not(.co_ribbon){
	width: 100%;
	display: block;
}
.co_head{
	grid-column: 3;
	grid-row: 1;
	align-self: start;
	padding: 64px 0 28px;
}
.co_head .en_title2{
	color: #d59e3a;
	text-transform: none;
}
.co_head .default_title1{
	color: #00436d;
	margin: 16px 0 0;
}
.co_body{
	grid-column: 3;
	grid-row: 2;
	position: relative;
	z-index: 2;
	min-height: 340px;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 32px 0 40px;
}
.co_body .default_txt2{ color: #fff; }
.co_body > .default_txt2{ max-width: 560px; }
.co_sign{
	display: flex;
	gap: 16px;
	margin-top: 24px;
	align-items: center;
}
.co_sign p{ color: #fff; }
.co_sign .default_title3{
	font-size: 22px;
	color: #fff;
}
.co_ribbon{
	position: absolute;
	left: -28%;
	bottom: -18px;
	width: 105%;
	z-index: 3;
	display: block;
}
.access_map{ margin: 24px 0; }
.access_map img{ width: 100%; display: block; }
.access_photos{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}
.access_photos .map{ width: 100%; display: block; 	aspect-ratio: 1.6 / 1; position: relative; border-radius: 16px; overflow: hidden;}
.access_photos .map iframe{ position: absolute; top: 50%; left: 50%; width: calc(100% + 5px); height: calc(100% + 5px); transform: translate(-50%,-50%);}
.company_table{ background: transparent; }
.company_row{
	border-bottom: 1px dotted #8a8480;
	padding: 16px 8px;
}
.access_flag{
	width: clamp(120px, 12vw, 213px);
	margin-bottom: 20px;
}
.company_row p:first-child{ color: #1e1e1e; }
@media screen and (max-width: 1080px){
	.co_message{
		display: block;
		width: 100%;
		margin-left: 0;
		padding-bottom: 16px;
	}
	.co_inner,
	.co_copy{ display: block; }
	.co_navy{ display: none; }
	.co_photo{ max-width: 320px; margin: 0 auto; }
	.co_head{ padding: 16px 0 20px; }
	.co_body{
		background: #00436d;
		width: 100vw;
		margin-left: calc(50% - 50vw);
		min-height: 0;
		padding: 28px 24px 36px;
	}
	.co_ribbon{
		left: 0;
		bottom: 0;
		width: 78%;
	}
}
@media screen and (max-width: 768px){
	.access_photos{ grid-template-columns: 1fr; }
}
@media screen and (max-width: 480px){
	.co_head .default_title1{ font-size: 20px; }
}
