@charset "utf-8";

/************************************************

key

**************************************************/

.key {
	position: relative;
}
.key h2 {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	color: #fff;
	text-shadow: 0px 0px 9px rgba(0, 0, 0, 0.25);
	font-weight: bold;
	width: 100%;
	text-align: center;
	font-family: var(--font-f);
	letter-spacing: 15px;
	font-size: clamp(3.125rem, 1.8723rem + 2.6064vw, 5rem);
	line-height:1;
}
.key h2 span {
	font-family: var(--font-s);
}
/************************************************

concept

**************************************************/

.inner_item {
	display: flex;
	width: 100%;
	gap: 0 40px;
}
.inner_block-column {
	display: flex;
	flex-wrap: wrap;
	gap: 50px 0;
}

.inner_item figure {
	width: 46.88%;
}
.inner_item-content {
	flex: 1;
	max-width: 30%;
}
.inner_item-content .c_ttl {
	text-align: left;
}
.inner_item.right .inner_item-content .c_ttl {
	text-align: right;
}
.inner_item.right {
	justify-content: right;
}
.c_txt {
	font-size: 16px;
}
.c_txt-ttl {
	font-size: 26px;
	font-weight: 600;
	margin-bottom: 20px;
}

#concept::before {
	content: "";
	display: inline-block;
	background: url(../images/concept_icon.png) no-repeat;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 20px;
	background-size: 15% auto;
}
#concept {
	position: relative;
}
/************************************************

ccenter

**************************************************/
.center {
	background: #e7eef6;
	padding: 100px 0;
}
.center_list {
	display: flex;
	gap: 0 30px;
	margin-bottom: 40px;
}
.center_list-item a {
	color: #000;
}
.center_list-ttl {
	font-size: 16px;
	margin-bottom: 10px;
}
.center_list-img {
	margin-bottom: 20px;
	text-align: center;
}
.more {
	text-align:right;
}
.more_btn {
	text-align:left;
}
.center_list-txt {
	margin-bottom: 10px;
}
.more span, .more_btn span {
	display: inline-block;
	/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#01479d+0,1172b7+50,239fd5+100 */
	background: #01479d; /* Old browsers */
	background: -moz-linear-gradient(left, #01479d 0%, #1172b7 50%, #239fd5 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(left, #01479d 0%,#1172b7 50%,#239fd5 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to right, #01479d 0%,#1172b7 50%,#239fd5 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#01479d', endColorstr='#239fd5',GradientType=1 ); /* IE6-9 */
	color: #fff;
	border-radius: 30px;
	padding: 3px 20px;
	font-size: 14px;
	box-sizing: border-box;
	font-family: var(--font-f);
	font-weight: 500;
	letter-spacing: 0.1em;
}


/************************************************

company

**************************************************/

.company {
	display: flex;
}

.company_detail .c_ttl {
	color: #fff;
	margin-bottom: 40px;
}
.company_detail .c_ttl::before {
	content:none;
}
.company_detail {
	width: 50%;
	/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#01479d+0,1172b7+50,239fd5+100 */
	background: #01479d; /* Old browsers */
	background: -moz-linear-gradient(left, #01479d 0%, #1172b7 50%, #239fd5 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(left, #01479d 0%,#1172b7 50%,#239fd5 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to right, #01479d 0%,#1172b7 50%,#239fd5 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#01479d', endColorstr='#239fd5',GradientType=1 ); /* IE6-9 */
	padding: 80px 8%;
	box-sizing: border-box;
}
.company_detail .c_ttl span {
	color: #fff;
}
.company_list {
	display: flex;
	flex-wrap: wrap;
	color: #fff;
	letter-spacing: 0.2em;
	font-family: var(--font-k);
}
.company_list dt {
	width: 25%;
	border-bottom: 1px solid #2d4715;
	margin-bottom: 20px;
	padding-bottom: 20px;
	line-height: 1.4;
}
.company_list dd:last-of-type,
.company_list dt:last-of-type {
	margin: 0;
	padding: 0;
	border-bottom: 0;
}

.company_list dd {
	width: 75%;
	border-bottom: 1px solid #2d4715;
	margin-bottom: 20px;
	padding-bottom: 20px;
	line-height: 1.4;
}

/************************************************

sponser

**************************************************/

.spo_list {
	display: flex;
	gap: 0 30px;
}
.spo_list-item {
	width: calc(100% / 3);
}
.spo_list-item a {
	display: flex;
	gap: 0 20px;
	align-items: center;
	color: #434343;
}

.spo_list-content h3 {
	border-bottom: 1px solid #000;
	margin-bottom: 10px;
	padding-bottom: 10px;
	font-weight: 600;
}
.adress {
	line-height: 1.2;
	margin-bottom: 10px;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.1em;
	word-break: break-all;
	transform: rotate(0.03deg);
}
.spo_list-content > a {
	margin-bottom: 10px;
	display: inline-block;
}
@media screen and (min-width:768px) and ( max-width:1024px) {
.spo_list {
	gap: 0 15px;
}
.inner_item-content {
	max-width: 100%;
	padding-right: 10px;
}
.inner_item-content {
	padding-right: 0;
	padding-left: 10px;
}
.company_list dt {
	width: 40%;
}
.company_list dd {
	width: 60%;
}
}
@media screen and (max-width: 768px) {
	
	.key, .inner_block {
		margin-bottom: 5rem;
	}
	.key h2 {
		left: 0;
		font-size: 4.5vw;
		width: 100%;
		right: 0;
		text-align: center;
		line-height: 1.2;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		letter-spacing: 5px;
	}
	.inner_item-content {
		max-width: 100%;
	}
	.inner_item {
		flex-direction: column;
		gap: 5rem 0px;
	}
	.inner_item figure {
		width: 100%;
	}
	.inner_item-content .c_ttl {
		text-align: center;
	}
	.c_txt {
		padding: 0 10px;
		font-family: var(--font-s);
		font-size: 1.4rem;
		line-height: 1.286;
	}
	.c_txt-ttl {
		font-size: 1.5rem;
		padding: 0 10px;
	}
	.key h2 span {
		font-family: var(--font-s);
		font-size: 3rem;
		line-height: initial;
	}
	.inner_item.right .inner_item-content .c_ttl {
		text-align: center;
	}
	#concept::before {
		content:none;
	}
	.inner_item.right .inner_item-content {
		order: 2;
	}
	.center_list {
		flex-direction: column;
		gap: 20px 0;
		margin-bottom: 0;
	}
	
	.center {
		padding: 100px 0;
		margin-bottom: 0;
	}
	.center_list-txt {
		font-size: 1.4rem;
	}
	.data {
		margin-left: auto;
	}
	.company {
		flex-direction: column;
	}
	.center_list-item {
		padding: 0 10px;
	}
	.company_list {
		flex-direction: column;
		font-size: 1.4rem;
	}
	
	.company_list dt {
		width: 100%;
		border-bottom: 0;
		margin-bottom: 10px;
		padding-bottom: 0px;
	}
	.company_list dd {
		width: 100%;
		margin-bottom: 15px;
		padding-bottom: 10px;
		padding-left: 1em;
	}
	.company_list dd:last-of-type {
		margin: auto;
		padding-left:1em;
		border-bottom: 0;
	}
	.company_list dt:last-of-type {
		margin-bottom: 10px;
	}
	.company_detail {
		width: 100%;
		order: 1;
		padding: 12% 8%;
	}
	.map {
		order: 2;
	}
	.spo_list {
		flex-direction: column;
		gap: 30px 0;
		padding: 0 10px;
	}
	.spo_list-content {
		width: 100%;
	}
	.spo_list-item {
		width: 100%;
	}
	.spo_list-item a {
		gap: 20px 0px;
		flex-direction: column;
		font-size: 14px;
	}
	.more_btn {
		text-align: center;
	}
}

