@charset "utf-8";
/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
/* clearfix */
.clearfix::after {
	content: "";
	display: block;
	clear: both;
}
/* flex */
.flex, .flex-a, .flex-b, .flex-c {
	display: flex;
	flex-wrap: wrap;
}
.flex-a {
	justify-content: space-around;
}
.flex-b {
	justify-content: space-between;
}
.flex-c {
	justify-content: center;
}
/* fonts */
.open-sans {
	font-family: 'Open Sans', sans-serif;
}
.mincho {
	font-family: 'Zen Old Mincho', serif;
}
/*------------------------------------------------------------
	content
------------------------------------------------------------*/
.content {
	margin: 0 20px;
	position: relative;
	z-index: 1;
}
/*------------------------------------------------------------
	page-title
------------------------------------------------------------*/
.page-title {
	position: relative;
	z-index: 10;
}
.page-title .pt-img img {
	width: 100%;
}
.page-title .pt-slick li {
	vertical-align: top;
}
.page-title .pt-slick .slick-dots {
	width: 100%;
	position: absolute;
	left: 0;
	bottom: -36px;
	font-size: 0;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
.page-title .pt-slick .slick-dots li {
	margin: 0 8px 0 7px;
	width: 13px;
	height: 13px;
	border-radius: 50%;
	background: #DBDBDB;
	cursor: pointer;
}
.page-title .pt-slick .slick-dots .slick-active {
	background: #86C245;
}
.page-title .pt-slick .slick-dots li button {
	display: none;
}
.page-title h2 {
	padding: 20px;
	width: 100%;
	position: absolute;
	left: 0;
	top: 47.2%;
	text-align: center;
	font-size: 2.2rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.59;
	color: #fff;
	transform: translateY(-50%);
	box-sizing: border-box;
	text-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
}
/*------------------------------------------------------------
	headline01
------------------------------------------------------------*/
.headline01 {
	margin-bottom: 37px;
	position: relative;
	font-weight: 500;
	font-size: 2.6rem;
	letter-spacing: 0.1em;
	line-height: 1.46;
}
.headline01::before {
	content: '';
	width: 234px;
	height: 234px;
	position: absolute;
	left: -20px;
	top: -32px;
	background: linear-gradient(rgba(227, 238, 220, 0) 0%, #ddf3cf 100%);
	opacity: 0.75;
}
.headline01 span {
	display: block;
	position: relative;
	z-index: 1;
}
.headline01 .en {
	display: inline-block;
	position: relative;
	vertical-align: top;
	color: #5E9143;
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 0.1em;
}
.headline01 .en::after {
	margin-top: -1px;
	width: 62px;
	height: 1px;
	position: absolute;
	left: calc(100% + 15px);
	top: 50%;
	background: #5E9143;
	content: '';
}
.headline01 .mincho {
	margin-top: -8px;
}
.headline01 .sm {
	margin-top: 7px;
	display: block;
	font-size: 1.7rem;
	letter-spacing: 0.1em;
	line-height: 1.83;
}
/*------------------------------------------------------------
	headline02
------------------------------------------------------------*/
.headline02 {
	margin-bottom: 103px;
	position: relative;
	font-size: 2rem;
	font-weight: 500;
	letter-spacing: 0.1em;
}
.headline02::before {
	width: calc(50% + 96px);
	height: 84px;
	border-radius: 0px 0px 5px 0px;
	background: linear-gradient(rgba(227, 238, 220, 0) 0%, #ddf3cf 100%);
	opacity: 0.75;
	position: absolute;
	right: -20px;
	bottom: -16px;
	content: '';
}
.headline02::after {
	margin-left: -1px;
	width: 2px;
	height: 45px;
	position: absolute;
	left: 50%;
	bottom: -87px;
	background: #5E9143;
	content: '';
}
.headline02 span {
	position: relative;
	z-index: 1;
}
.headline02 .en {
	margin: 3px -2px 0 0;
	display: block;
	text-align: right;
	font-size: 1.5rem;
	letter-spacing: 0.1em;
}
@media all and (max-width: 374px) {
	.headline02 {
		letter-spacing: 0.05em;
	}
}
/*------------------------------------------------------------
	headline03
------------------------------------------------------------*/
.headline03 {
	margin-bottom: 27px;
	text-align: center;
	font-size: 2rem;
	font-weight: 500;
	letter-spacing: 0.1em;
}
/*------------------------------------------------------------
	headline04
------------------------------------------------------------*/
.headline04 {
	margin-bottom: 12px;
	text-align: center;
	font-size: 1.4rem;
	font-weight: 500;
	letter-spacing: 0.1em;
}
.headline04 span {
	padding: 9px 2px 8px;
	min-width: 303px;
	display: inline-block;
	vertical-align: top;
	background: #fff;
	border-radius: 50px;
	box-sizing: border-box;
}
@media all and (max-width: 359px) {
	.headline04 span {
		margin: 0 2px;
		min-width: initial;
		display: block;
	}
}
/*------------------------------------------------------------
	headline05
------------------------------------------------------------*/
.headline05 {
	margin-bottom: 35px;
	text-align: center;
	font-size: 2.8rem;
	font-weight: 500;
	line-height: 1.285;
	letter-spacing: 0.1em;
}
@media all and (max-width: 359px) {
	.headline05 {
		letter-spacing: 0;
	}
}
/*------------------------------------------------------------
	com-btn
------------------------------------------------------------*/
.com-btn {
	margin: 0 auto;
	max-width: 275px;
}
.com-btn a {
	padding: 17px 15px 18px;
	display: block;
	position: relative;
	text-align: center;
	color: #fff;
	font-size: 1.5rem;
	font-weight: 500;
	border-radius: 40px;
	background: linear-gradient(-90deg, #13c78c 0%, #5ccc69 51.2%, #93d34e 100%);
}
.com-btn a::after {
	margin-top: -1px;
	width: 37px;
	height: 1px;
	position: absolute;
	right: 0;
	top: 50%;
	background: #fff;
	content: '';
}
.com-btn a span {
	position: relative;
	letter-spacing: 0.1em;
	z-index: 1;
}
@media all and (min-width: 1025px) {
	.com-btn a::before {
		content: '';
		width: 100%;
		height: 100%;
		position: absolute;
		left: 0;
		top: 0;
		border-radius: 40px;
		background: linear-gradient(90deg, #13c78c 0%, #5ccc69 51.2%, #93d34e 100%);
		opacity: 0;
		transition: all 0.3s ease-out;
	}
	.com-btn a:hover:before {
		opacity: 1;
	}
	.com-btn a::after {
		transition: all 0.3s ease-out;
	}
	.com-btn a:hover::after {
		width: 18px;
	}
}