@charset "UTF-8";

.pagehd {
}

.pagehd_wrap {
}

.pagehd_ttl {
}

.pagehd_ttl_wrap {
}

.pagehd_ttl_en {
}

.pagehd_ttl_jp {
}

.pagehd_pic {
}

.greeting {
	padding-top: 170px;
}

.greeting_ttl {
}

.greeting_ttl_en {
}

.greeting_ttl_jp {
}

.greeting_wrap {
}

.greeting_img {
	max-width: 960px;
	margin: 0 auto 60px;
	padding: 0 50px;
}

.greeting_img_wrap {
	overflow: hidden;
	border-radius: 20px;
}

.greeting_cnt {
	max-width: 960px;
	margin: 0 auto;
}

.greeting_catch {
	margin-bottom: 30px;
	font-weight: bold;
	font-size: 40px;
	line-height: 1.5;
}

.greeting_txt {
}

.greeting_sig {
	font-weight: bold;
	font-size: 30px;
	text-align: end;
}

.greeting_sig span {
	font-size: 20px;
}

.greeting_policy {
	margin-top: 150px;
}

.greeting_policy_wrap {
	position: relative;
	width: clamp(1240px, calc(100% - 120px), 1800px);
	margin: 0 auto;
	padding: 70px 0 95px;
	border-radius: 20px;
	background: #e9ecf0;
}

.greeting_policy_ttl {
	margin-bottom: 30px;
	font-weight: bold;
	font-size: 30px;
	text-align: center;
}

.greeting_policy_cnt {
}

.greeting_policy_catch {
	margin-bottom: 80px;
	font-weight: bold;
	font-size: 40px;
	text-align: center;
}

.greeting_policy_list {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 40px;
	max-width: 1160px;
	margin: 0 auto;
}

.greeting_policy_list_cnt {
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: 7px;
	position: relative;
	padding: 72px 40px 40px;
	border-radius: 10px;
	background: #ffffff;
	counter-increment: number 1;
}

.greeting_policy_list_cnt::before {
	content: "0"counter(number);
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 0;
	right: 50%;
	width: 85px;
	height: 85px;
	border-radius: 50%;
	background: #004098;
	color: #ffffff;
	font-weight: bold;
	font-size: 30px;
	transform: translate(50%, -50%);
}

.greeting_policy_list_cnt h5 {
	font-weight: bold;
	font-size: 24px;
}

.philosophy {
	padding: 100px 0 120px;
}

.philosophy_ttl {
	margin-bottom: 40px;
}

.philosophy_ttl_en {
}

.philosophy_ttl_jp {
}

.philosophy_wrap {
}

.philosophy_cnt {
}

.philosophy_catch {
	font-weight: bold;
	font-size: 40px;
}

.philosophy_txt {
}

.overview {
	padding: 110px 0 140px;
	background: #e9ecf0;
}

.overview_ttl {
	margin-bottom: 40px;
}

.overview_ttl_en {
}

.overview_ttl_jp {
}

.overview_wrap {
}

.overview_cnt {
}

.overview_tbl {
	margin-bottom: 60px;
}

.overview_tbl dl {
	display: grid;
	grid-template-columns: 160px auto;
	gap: 8px;
}

.overview_tbl dl dt {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 26px;
	border-bottom: #004098 3px solid;
}

.overview_tbl dl dd {
	padding: 25px 20px;
	border-bottom: #ced1d6 1px solid;
}

.overview_address {
}

.overview_address_cnt {
}

.overview_address_cnt {
	margin-bottom: 45px;
}

.overview_address_cnt:last-child {
	margin-bottom: 0;
}

.overview_address_ttl {
	margin-bottom: 15px;
	font-weight: bold;
	font-size: 20px;
}

.overview_address_detail {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
}

.overview_address_detail_cnt {
	width: 100%;
	height: auto;
}

.overview_address_detail_cnt > * {
	width: 100%;
}

.overview_address_detail_cnt iframe {
	height: 100%;
}

.history {
	padding: 110px 0 100px;
}

.history_ttl {
	margin-bottom: 35px;
}

.history_ttl_en {
}

.history_ttl_jp {
}

.history_wrap {
	position: relative;
}

.history_cnt {
}

.history_cnt dl {
	display: grid;
	grid-template-columns: 200px auto;
}

.history_cnt dl dt {
	position: relative;
	padding-bottom: 30px;
}

.history_cnt dl dt::after {
	content: "";
	display: block;
	position: absolute;
	top: 0.5em;
	right: 0;
	width: 12px;
	height: auto;
	border-radius: 50%;
	background: #004098;
	aspect-ratio: 1;
}

.history_cnt dl dt::before {
	content: "";
	display: block;
	position: absolute;
	top: 0.5em;
	right: 5px;
	width: 2px;
	height: 100%;
	background: #004098;
	aspect-ratio: 1;
}

.history_cnt dl:last-child dt::before {
	display: none;
}

.history_cnt dl dd {
	padding-bottom: 30px;
	padding-left: 18px;
}

.history_item {
	position: absolute;
	top: -50px;
	right: 0;
}

.initiatives {
	padding: 130px 0;
	background: #e9ecf0;
}

.initiatives_ttl {
}

.initiatives_ttl_en {
}

.initiatives_ttl_jp {
}

.initiatives_wrap {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 45px;
}

.initiatives_cnt {
	width: 100%;
}

.initiatives_cnt img {
	width: 100%;
}

.initiatives_cnt figcaption {
	margin-top: 20px;
	font-weight: bold;
	font-size: 20px;
	line-height: 1.5;
}

@media screen and (max-width:1240px) {
}

@media screen and (max-width:768px) {
	.pagehd {
	}

	.pagehd_wrap {
	}

	.pagehd_ttl {
	}

	.pagehd_ttl_wrap {
	}

	.pagehd_ttl_en {
	}

	.pagehd_ttl_jp {
	}

	.pagehd_pic {
	}

	.greeting {
		padding-top: 50px;
	}

	.greeting_ttl {
	}

	.greeting_ttl_en {
	}

	.greeting_ttl_jp {
	}

	.greeting_wrap {
	}

	.greeting_img {
		margin-bottom: 30px;
		padding: 0;
	}

	.greeting_img_wrap {
	}

	.greeting_cnt {
	}

	.greeting_catch {
		margin-bottom: 15px;
		font-size: 21px;
	}

	.greeting_txt {
	}

	.greeting_sig {
		font-size: 24px;
	}

	.greeting_sig span {
		font-size: 16px;
	}

	.greeting_policy {
		margin-top: 35px;
	}

	.greeting_policy_wrap {
		width: 100%;
		padding: 35px 0 50px;
	}

	.greeting_policy_ttl {
		margin-bottom: 0;
		font-size: 22px;
	}

	.greeting_policy_cnt {
	}

	.greeting_policy_catch {
		margin-bottom: 55px;
		font-size: 29px;
	}

	.greeting_policy_list {
		grid-template-columns: 1fr;
		gap: 55px;
	}

	.greeting_policy_list_cnt {
		gap: 4px;
		padding: 50px 20px 30px;
	}

	.greeting_policy_list_cnt::before {
		width: 60px;
		height: 60px;
		font-size: 22px;
	}

	.greeting_policy_list_cnt h5 {
		font-size: 19px;
	}

	.philosophy {
		padding: 50px 0;
	}

	.philosophy_ttl {
		margin-bottom: 30px;
	}

	.philosophy_ttl_en {
	}

	.philosophy_ttl_jp {
	}

	.philosophy_wrap {
	}

	.philosophy_cnt {
	}

	.philosophy_catch {
		font-size: 25px;
		white-space: nowrap;
	}

	.philosophy_txt {
	}

	.overview {
		padding: 50px 0;
	}

	.overview_ttl {
	}

	.overview_ttl_en {
	}

	.overview_ttl_jp {
	}

	.overview_wrap {
	}

	.overview_cnt {
	}

	.overview_tbl {
	}

	.overview_tbl dl {
		grid-template-columns: 1fr;
		gap: 0;
		padding: 20px 0;
		border-bottom: #ced1d6 1px solid;
	}

	.overview_tbl dl dt {
		justify-content: start;
		padding: 0 10px;
		border-bottom: none;
	}

	.overview_tbl dl dd {
		padding: 0 10px;
		border-bottom: none;
	}

	.overview_address {
	}

	.overview_address_cnt {
	}

	.overview_address_cnt {
	}

	.overview_address_cnt:last-child {
	}

	.overview_address_ttl {
	}

	.overview_address_detail {
		grid-template-columns: 1fr;
		gap: 15px;
	}

	.overview_address_detail_cnt {
	}

	.overview_address_detail_cnt > * {
	}

	.overview_address_detail_cnt iframe {
		height: 260px;
	}

	.history {
		padding: 50px 0;
	}

	.history_ttl {
	}

	.history_ttl_en {
	}

	.history_ttl_jp {
	}

	.history_wrap {
	}

	.history_cnt {
	}

	.history_cnt dl {
		grid-template-columns: 160px auto;
		font-size: 14px;
	}

	.history_cnt dl dt {
	}

	.history_cnt dl dt::after {
	}

	.history_cnt dl dt::before {
	}

	.history_cnt dl:last-child dt::before {
	}

	.history_cnt dl dd {
		padding-left: 15px;
	}

	.history_item {
		position: unset;
		max-width: 330px;
		margin: 0 auto;
	}

	.initiatives {
		padding: 50px 0;
	}

	.initiatives_ttl {
	}

	.initiatives_ttl_en {
	}

	.initiatives_ttl_jp {
	}

	.initiatives_wrap {
		grid-template-columns: 1fr;
		gap: 25px;
	}

	.initiatives_cnt {
	}

	.initiatives_cnt img {
	}

	.initiatives_cnt figcaption {
		margin-top: 10px;
		font-size: 16px;
	}
}
