.btn-gradient {
	background: linear-gradient(90deg, rgba(25, 33, 79, 1) 0%, rgba(1, 58, 164, 1) 50%, rgba(25, 33, 79, 1) 100%);
	padding: 17px 0;
	text-align: center;
	max-width: 200px;
	width: 100%;
	display: block;
	color: #fff;
	font-weight: 500;
	position: relative;
	z-index: 0;
	overflow: hidden;
}

.btn-gradient::before {
	content: '';
	position: absolute;
	z-index: -1;
	top: 0;
	left: 50%;
	width: 200%;
	height: 100%;
	transition: all 0.5s ease;
	transform: translateX(-50%) scaleX(0);
	background: linear-gradient(90deg, rgba(25, 33, 79, 1) 0%, rgba(1, 58, 164, 1) 50%, rgba(25, 33, 79, 1) 100%);
}

.btn-gradient.btn-gradient-radius {
	border-radius: 50px;
	max-width: 470px;
	padding: 28px 0;
	font-size: 2.4rem;
}

.btn-gradient.btn-gradient-green {
	background: linear-gradient(90deg, rgba(0, 66, 22, 1) 0%, rgba(0, 131, 61, 1) 50%, rgba(0, 66, 22, 1) 100%);
}

.btn-gradient.btn-gradient-green::before {
	background: linear-gradient(90deg, rgba(0, 66, 22, 1) 0%, rgba(0, 131, 61, 1) 50%, rgba(0, 66, 22, 1) 100%);
}

.btn-gradient:hover,
.btn-gradient:active,
.btn-gradient:visited,
.btn-gradient:focus {
	color: #fff;
}

.btn-gradient:hover::before {
	transform: translateX(-50%) scaleX(1);
}

.title-section {
	font-weight: bold;
	font-size: 4.4rem;
	color: #19214f;
	text-align: center;
	line-height: 1.5;
}

.title-section.title-small {
	font-size: 2.8rem;
}

.title-section.title-section--green {
	color: #004216;
}

.title-section.title-section--underline {
	background-image: linear-gradient(45deg, #c9e981, #c9e981);
	background-repeat: no-repeat;
	background-size: 100% 3px;
	background-position: bottom left;
	display: inline;
	padding-bottom: 5px;
}

.mv {
	margin-top: 150px;
	height: 400px;
	background-size: cover;
	background-position: center;
	position: relative;
	z-index: 0;
}

.mv__content {
	position: absolute;
	z-index: 1;
	top: 50%;
	right: 0;
	transform: translate(0,-50%);
	max-width: 50%;
	width: 100%;
	height: 100%;
	display: flex;
	flex-flow: column nowrap;
	justify-content: center;
	align-items: flex-end;
	text-align: right;
	padding-right: 24px;
}

.mv__content h2 {
	font-size: 4rem;
	font-weight: 500;
	color: #19214f;
	margin-bottom: 40px;
}

.mv__content.mv__content--tenite {
	padding-right: 35px;
}

.mv__content.mv__content--tenite p {
	color: #004216;
}

.mv__content p {
	font-weight: 500;
	color: #19214f;
}

.mv__content figure {
	max-width: 375px;
	width: 100%;
	margin-left: auto;
	margin-right: 0;
	margin-bottom: 10px;
}

.mv__content figure:first-of-type {
	max-width: 160px;
}

.mv__content figure:last-of-type {
	margin-top: 30px;
}


.mv__content::before {
	content: '';
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 50%);
}

.news__list {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	max-width: 800px;
	width: 100%;
	margin: 50px auto;
}

.news__list h2 {
	font-weight: 500;
	font-size: 2.4rem;
	color: #19214f;
	letter-spacing: 2px;
	position: relative;
	z-index: 0;
	max-width: 145px;
	width: 100%;
	margin-right: 30px;
}

.news__list.news__list--tenite h2 {
	color: #004216;
}

.news__list h2::before {
	content: '/';
	position: absolute;
	z-index: 0;
	color: #444;
	opacity: 0.8;
	top: 0;
	right: 0;
}

.news__list__article p {
	line-height: 2;
}

.news__list__article a {
	color: #000;
	font-weight: 500;
	font-size: 1.6rem;
}

.news__list__article span {
	margin-right: 20px;
}

.news__list__article a:hover {
	color: #000;
	text-decoration:underline;
}

.introduce {
	background: linear-gradient(90deg, #d9e0f3 0%, white 50%, #d9e0f3 100%);
	padding: 40px 0;
}

.introduce p {
	font-weight: 500;
	font-size: 1.6rem;
	color: #000;
	text-align: center;
	line-height: 2;
	margin-top: 15px;
}

.introduce.introduce--tenite {
	background: linear-gradient(90deg, rgba(228, 242, 197, 1) 0%, rgba(255, 255, 255, 1) 50%, rgba(228, 242, 197, 1) 100%);
	padding: 60px 0;
}

.introduce.introduce--tenite p {
	margin-top: 0;
	font-size: 2.4rem;
}

.introduce.introduce--tenite p span {
	font-weight: bold;
	position: relative;
	z-index: 0;
}

.introduce.introduce--tenite p span::before {
	content: '';
	position: absolute;
	z-index: 0;
	bottom: -5px;
	left: 0;
	width: 100%;
	height: 2px;
	background-color: #c9e981;
}

.special {
	margin: 80px auto 55px;
}

.special__list {
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
	flex-flow: row wrap;
	margin-top: 70px;
}

.special__list__child {
	max-width: calc((100% - 8px) / 4);
	width: 100%;
	margin-right: 2px;
	margin-bottom: 30px;
	position: relative;
	z-index: 0;
	display: flex;
	justify-content: center;
	align-items: center;
}

.special__list__child dl {
	position: absolute;
	z-index: 1;
	bottom: 0;
	left: 0;
	width: 100%;
	padding: 0 20px;
	margin-bottom: 0;
	min-height: 95px;
}

.special__list__child dl::before {
	content: '';
	position: absolute;
	z-index: -1;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-color: #fff;
	opacity: 0.8;
}

.special__list__child dl dt {
	line-height: 2.5;
	font-weight: bold;
	font-size: 2rem;
}

.special__list__child dl dd {
	font-weight: 500;
	font-size: 1.5rem;
	line-height: 1.5;
}

.more-info {
	background-color: #f1f1f1;
	padding-bottom: 40px;
}

.more-info .title-section {
	margin: 80px auto 40px;
}

.more-info__external-link {
	background: linear-gradient(90deg, #e1e7f7 40%, #799ee4 100%);
	padding: 50px 0 65px;
}

.more-info__external-link.more-info__external-link--tenite {
	background: linear-gradient(90deg, rgba(240, 248, 224, 1) 40%, rgba(192, 215, 141, 1) 100%);
}

.more-info__external-link p {
	text-align: center;
	margin-bottom: 20px;
	font-weight: 500;
	font-size: 1.8rem;
}

.more-info__external-link a.btn-gradient {
	margin: auto;
}

.more-info__company {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 40px;
}

.more-info__company a {
	max-width: 280px;
	width: 100%;
	margin-right: 50px;
	overflow: hidden;
}

.more-info__company a img {
	width: 100%;
}

.more-info__company a:hover {
	opacity: 0.8;
}

.more-info__company__content h3 {
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 3;
}

.more-info__company__content p {
	font-weight: 500;
	font-size: 1.4rem;
	line-height: 1.5;
}

.partner {
	margin: 70px auto 100px;
}

.partner__list {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 40px;
}

.partner__list>a,
.partner__list>div {
	max-width: calc((100% - 40px) / 3);
	width: 100%;
	text-align: center;
}

.partner__list>a:nth-of-type(2) {
	margin: 0 20px;
}

.partner__list a:last-of-type img {
	max-width: 240px;
	width: 100%;
}

.partner__list>div a {
	display: block;
}

.partner__list>div a:last-of-type {
	margin-top: 15px;
}

.partner__list>div a:last-of-type img {
	max-width: 170px;
	width: 100%;
}

.partner__list a:hover {
	opacity: 0.8;
}

p.highlight {
	border: 1px solid #fff;
	font-size: 1.4rem;
	color: #fff;
	margin: 0 2px;
	padding: 5px 2px;
}

p.bg-brown {
	background-color: #713f04;
}

p.bg-grey {
	background-color: #6e7183;
}

p.bg-blue {
	background-color: #0387d3;
}

p.bg-ocean {
	background-color: #1800ca;
}

p.bg-pink {
	background-color: #b0054d;
}

p.bg-green {
	background-color: #008561;
}

p.bg-orange {
	background-color: #e86404;
}

p.bg-brownlight {
	background-color: #b05300;
}

p.bg-purple {
	background-color: #5b3abc;
}

@media screen and (max-width: 1024px) {
	.mv {
		margin-top: 95px;
	}

	.mv>figure {
		height: 270px;
	}

	.mv>figure img {
		height: 100%;
	}

	.mv .mv__content {
		max-width: 70%;
		padding-bottom: 0;
	}

	.mv .mv__content h2 {
		margin-bottom: 0;
	}

	.mv .mv__content figure {
		margin: 15px 0 2px auto;
	}

	.special__list .special__list__child {
		max-width: calc((100% - 4px)/2);
	}

	.partner--tenite .partner__list>a img,
	.partner__list a:nth-of-type(2) img,
	.partner__list a:last-of-type img {
		width: 100%;
	}

	.mv__content--tenite h2 img {
		max-width: 280px;
	}

	.mv__content--tenite>figure {
		max-width: 90px !important;
	}
}

@media screen and (max-width: 767px) {
	.mv {
		margin-top: 60px;
		height: 200px;
	}

	.mv .mv__content {
		max-width: 80%;
		padding: 10px;
	}

	.mv .mv__content h2 {
		font-size: 2rem;
	}

	.mv .mv__content figure {
		max-width: 200px;
	}

	.mv__content figure:first-of-type {
		max-width: 90px;
	}

	.news__list {
		flex-flow: column nowrap;
	}

	.news__list .news__list__article {
		margin-top: 25px;
	}

	.news__list .news__list__article a {
		font-size: 1.4rem;
	}

	.title-section {
		font-size: 2.2rem;
	}

	.title-section.title-small {
		font-size: 2rem;
	}

	.title-section.title-section--underline {
		padding-bottom: 0;
	}
	
	.introduce p,
	.introduce.introduce--tenite p {
		font-size: 1.4rem;
		margin-top: 20px;
	}

	.introduce.introduce--tenite {
		padding: 10px 0 30px;
	}

	.special {
		margin: 40px auto;
	}

	.special .special__list {
		margin-top: 40px;
	}

	.special .special__list .special__list__child {
		max-width: 100%;
		margin-right: 0;
	}

	.special__list__child dl dt {
		line-height: 1.6;
		font-size: 1.8rem;
		margin-top: 20px;
	}

	.more-info .more-info__company {
		flex-flow: column nowrap;
	}

	.more-info__company a {
		max-width: 240px;
		margin-right: 0;
	}

	.more-info {
		padding-bottom: 0px;
	}

	.more-info .title-section {
		margin: 40px auto 20px;
	}

	.btn-gradient.btn-gradient-radius {
		max-width: 90%;
		padding: 20px 0;
		font-size: 1.6rem;
	}

	.partner {
		margin: 30px auto 20px;
	}

	.partner .partner__list {
		margin-top: 20px;
		flex-flow: column nowrap;
	}

	.partner__list>a,
	.partner__list>div {
		max-width: 100%;
	}

	.partner__list>a:nth-of-type(2) {
		margin: 25px auto;
	}

	.partner--tenite .partner__list>a {
		margin-top: 25px !important;
	}
}