@charset "UTF-8";

body {
	position: relative;
}

.firstview {
	width: 100%;
	height: 100vh;
	position: relative;
}

.firstview_slide {
	height: calc(100vh - 95px);
}

.firstview_slide_pt {
	height: 100%;
}

.slick-track {
	overflow: hidden;
}

.firstview_slide_pt_item {
	height: calc(100vh - 95px);
	height: calc(var(--vh, 1vh) * 100 - 95px);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	-webkit-transform: scale(1.2);
	-ms-transform: scale(1.2);
	transform: scale(1.2);
}

.firstview_slide_pt_item.-item1 {
	background-position: left;
}

.firstview_slide_pt_item.-item2 {
	background-position: right 30% top 50%;
}

.firstview_slide_pt_item.-moving {
	-webkit-animation: zoom_animation 13s linear infinite;
	animation: zoom_animation 13s linear infinite;
}

.firstview_slide_txt {
	position: absolute;
	top: 35px;
	left: 40px;
}
.firstview .top_news{
	position: absolute;
    bottom: 150px;
	transform: translateX(-50%);
	left: 50%;
    z-index: 50;
    background: rgba(255, 255, 255, 0.8);
    border-radius: 10px;
    /* padding: 20px 25px; */
    width: 85%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 20px;
		transition: all 0.3s;
		font-size: 1.2em;
}
.firstview .top_news:hover{
	opacity: 0.7;
	transition: all 0.3s;
}

.firstview .top_news span {
    flex: none;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 15%;
    background: #29A45C;
    color: #fff;
	padding: 20px 25px;
	 border-radius: 10px 0 0 10px;
}
.top_news_txt{
	padding: 20px 25px;
}
/* ふれあい、つながる。あんしん、ひろがる。 */
.intro {
	padding: 160px 0;
	position: relative;
	overflow: hidden;
}

.intro:before,
.intro:after {
	position: absolute;
	z-index: -1;
	content: "";
	width: 513px;
	height: 390px;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}

.intro:before {
	top: -70px;
	left: -64px;
	background-image: url("/img/home/deco-intro01@2x.png");
}

.intro:after {
	bottom: -50px;
	right: -64px;
	background-image: url("/img/home/deco-intro02@2x.png");
}

.intro_ttl {
	text-align: center;
	font-size: 42px;
	line-height: 1.4286;
}

.intro_lead {
	margin-top: 30px;
	text-align: center;
}

.intro_lead p {
	margin-top: 2em;
}

.intro_lead p:first-child {
	margin-top: 0;
}

.intro_link {
	margin-top: 55px;
	text-align: center;
}

.intro_link a {
	padding: 26px 65px;
}

/* 事業案内 */
.business {
	position: relative;
}

.business:before {
	position: absolute;
	z-index: -1;
	content: "";
	width: 50%;
	height: 100%;
	top: 0;
	right: 0;
	background: #EAF2D6;
}

.business_bg {
	padding: 116px 0 134px;
	position: relative;
}

.business .inner {
	max-width: 1180px;
}

.business_ttl {
	text-align: left;
	position: absolute;
	top: 0;
	left: 36px;
	line-height: 1;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}

.business_ttl:before {
	position: absolute;
	content: "";
	width: 220px;
	height: 2px;
	background: #29A45C;
	bottom: -30px;
	left: 54px;
}

.business_row {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.business_col {
	width: 32.175%;
	background: #FFF;
	overflow: hidden;
}

.business_thumb {
}

.business_thumb img {
	max-width: 100%;
	height: auto;
}

.business_cnt {
	padding: 52px 18px 25px;
	position: relative;
}

.business_cnt_ttl {
	font-family: 'Noto Serif JP', serif;
	font-size: 20px;
	color: #FFF;
	background: #29A45C;
	position: absolute;
	top: 0;
	left: 50%;
	text-align: center;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	border-top: 5px solid #96BC30;
	width: calc(100% - 44px);
	padding: 19px;
	line-height: 1;
}

.business_cnt_subttl {
	background: #EAF3D6;
	padding: 4px 15px;
	margin-top: 15px;
}

.business_cnt_subttl:first-of-type {
	margin-top: 0;
}

.business_cnt_list {
}

.business_cnt_list > li {
	line-height: 1;
	border-bottom: 1px dashed #BEBEBE;
}

.business_cnt_list > li:before {
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}

.business_cnt_list > li a {
	display: block;
	color: #29A45C;
	padding: 16px 5px 16px 0;
}

.business_link {
	position: absolute;
	width: 100%;
	text-align: center;
	bottom: 0;
	left: 0;
	-webkit-transform: translateY(50%);
	-ms-transform: translateY(50%);
	transform: translateY(50%);
}

.business_link a {
	white-space: nowrap;
	font-size: 24px;
	padding: 52px 268px;
}

/* お知らせ */
.news {
	color: #FFF;
	background: #29A45C;
	padding: 68px 0 76px;
	margin-top: 140px;
}

.news_ttl {
	font-size: 36px;
	text-align: center;
}

.news_list {
	margin-top: 60px;
	padding: 0 65px;
}

.news_list_thumb {
	position: relative;
}

.news_list_thumb img {
	max-width: 100%;
	height: auto;
}

.news_list_thumb figcaption {
	position: absolute;
	bottom: 0;
	left: 0;
	background: #9FCB2B;
	font-size: 14px;
	line-height: 1.2;
	padding: 5px 10px;
}

.news_list_item_txt {
}

.news_list .slick-slide {
	margin-right: 18px;
}

.slick-arrow {
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	position: absolute;
	z-index: 10;
	width: 40px;
	height: 90px;
	background: #000;
	top: 20%;
	font-size: 0;
}

.slick-prev {
	left: 0;
}

.slick-next {
	right: 0;
}

.slick-arrow:before {
	position: absolute;
	font-family: icomoon;
	color: #FFF;
	top: 50%;
	left: 50%;
	font-size: 20px;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}

.slick-prev:before {
	content: "\e906";
}

.slick-next:before {
	content: "\e905";
}

.news_list_item_txt {
	margin-top: 22px;
}

.news_list_item_txt time {
	display: block;
	font-size: 14px;
}

.news_more {
	text-align: center;
	margin-top: 40px;
}

.news_more a {
	font-size: 18px;
	padding: 31px 155px;
}

/* メニュー */
.menu {
	padding: 65px 0 92px;
}

.menu .inner {
	max-width: 1310px;
}

.menu_row {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.menu_col {
	width: 48%;
	position: relative;
	overflow: hidden;
}

.menu_col:after {
	position: absolute;
	content: "";
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 90%;
	height: 90%;
	border: 3px solid #fff;
	pointer-events: none;
}

.menu_col.-item2 {
	margin-left: 2px;
}

.menu_col a {
	display: block;
	position: relative;
	color: #FFF;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	-webkit-transition: -webkit-transform 0.3s;
	transition: -webkit-transform 0.3s;
	-o-transition: transform 0.3s;
	transition: transform 0.3s;
	transition: transform 0.3s, -webkit-transform 0.3s;
}

.menu_col.-item1 a {
	background-image: url("/img/home/bg-menu01.jpg");
}

.menu_col.-item2 a {
	background-image: url("/img/home/bg-menu02.jpg");
}

.menu_col a:before {
	display: block;
	content: "";
	padding-top: 60.92%;
}

.menu_col a:after {
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: -webkit-gradient(linear, left top, right top, from(rgba(159, 203, 43, 0.64)), to(rgba(41, 164, 92, 0.64)));
	background: -o-linear-gradient(left, rgba(159, 203, 43, 0.64), rgba(41, 164, 92, 0.64));
	background: linear-gradient(to right, rgba(159, 203, 43, 0.64), rgba(41, 164, 92, 0.64));
}

.menu_col a:hover {
	-webkit-transform: scale(1.05, 1.05);
	-ms-transform: scale(1.05, 1.05);
	transform: scale(1.05, 1.05);
}

.menu_col a span {
	position: absolute;
	z-index: 10;
}

.menu_col a span.-ttl {
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	white-space: nowrap;
	font-size: 30px;
	font-weight: bold;
	line-height: 1.33;
	text-align: center;
	text-shadow: 0 3px 6px rgba(0, 0, 0, 0.28);
}

.menu_deco {
	top: 50%;
	left: 55%;
}

.menu_movie {
	margin-top: 40px;
	text-align: center;
}

.menu_movie a {
	display: inline-block;
	transition: opacity 0.3s;
}

.menu_movie a:hover {
	opacity: 0.6;
}

.bnr {
	padding: 68px 0;
	background: #EDEDED;
}

.bnr_row {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.bnr_col {
	margin-left: 17px;
}

.bnr_col:first-child {
	margin-left: 0;
}

.bnr_col a {
	display: block;
	-webkit-transition: opacity 0.3s;
	-o-transition: opacity 0.3s;
	transition: opacity 0.3s;
}

.bnr_col a:hover {
	opacity: 0.7;
}

/* オープニングアニメ */
.opening {
	position: fixed;
	z-index: 60;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #fff;
	overflow: hidden;
}

.opening_catch {
	position: absolute;
	z-index: 100;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	display: none;
}

.opening_catch p {
	font-size: 36px;
	line-height: 1;
	letter-spacing: 0.2em;
	color: #29A45C;
	margin-right: 45px;
	white-space: nowrap;
}

.opening_catch p:first-child {
	margin-right: 0;
}

.opening_leaf {
	position: absolute;
	top: 30%;
	left: 50%;
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
}

.opening_leaf_line {
	vertical-align: bottom;
}

.opening_leaf_fall {
	position: absolute;
	display: none;
}

.opening_leaf_fall img {
	display: block;
	-webkit-animation: leaf_rotate 3s linear forwards;
	animation: leaf_rotate 3s linear forwards;
}

@media screen and (min-width:641px) {
	.news_list.-unslick {
		display: flex;
	}

	.news_list.-unslick .news_list_item {
		width: 18.898%;
		margin-left: 1.3775%;
	}

	.news_list.-unslick .news_list_item:first-child {
		margin-left: 0;
	}
}




@media screen and (max-width:640px) {

	/* firstview */
	.firstview {
		display: block;
		height: auto;
		position: relative;
	}

	.firstview_slide {
		padding-top: 51px;
		height: auto;
	}

	.firstview_slide_pt_item.-item1 {
		background-position: left 20% top 5%;
	}

	.firstview_slide_txt {
		width: 100px;
		left: auto;
		right: 25px;
		top: auto;
		bottom: 0;
		-webkit-transform: translateY(50%);
		-ms-transform: translateY(50%);
		transform: translateY(50%);
	}

	.firstview_slide_pt_item {
		height: auto;
	}

	.firstview_slide_pt_item:before {
		display: block;
		content: "";
		padding-top: 56.4286%;
	}
	.firstview .top_news{
		left: 32%;
        width: 57%;
        bottom: -50px;
		flex-direction: column;
		gap: 0;
		font-size: 0.9em;
	}
	.firstview .top_news span{
		width: 100%;
		padding: 0px;
		border-radius: 10px 10px 0 0;
	}
	.top_news_txt{
		padding: 10px;
	}

	.head {
		position: absolute;
		top: 0;
		left: 0;
	}

	.intro {
		padding: 100px 0 65px;
	}

	.intro:before,
	.intro:after {
		width: 170px;
		height: 130px;
	}

	.intro:before {
		top: -40px;
		left: -15px;
	}

	.intro:after {
		bottom: -20px;
		right: -30px;
	}

	.intro_ttl {
		font-size: 24px;
	}

	.intro_lead {
		text-align: left;
	}

	.intro_link {
		margin-top: 30px;
	}

	.intro_link a {
		padding: 22px 30px;
	}

	.business:before {
		content: none;
	}

	.business_bg {
		padding: 60px 0;
	}

	.business_col {
		width: 100%;
	}

	.business_col:nth-child(n+2) {
		margin-top: 30px;
	}

	.business_ttl:before {
		width: 120px;
		bottom: -20px;
		left: 40px;
	}

	.business_cnt {
		padding: 44px 15px 20px;
	}

	.business_cnt_ttl {
		width: calc(100% - 30px);
		padding: 13px;
		font-size: 16px;
	}

	.business_cnt_list {
		font-size: 14px;
	}

	.business_link a {
		font-size: 16px;
		padding: 20px;
	}

	.news {
		margin-top: 60px;
		padding: 32px 0 55px;
		position: relative;
	}

	.news_ttl {
		font-size: 22px;
	}

	.news_list {
		margin: 28px 15px 0;
		padding: 0;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}

	.news_list_item {
		width: 49%;
	}

	.news_list_item:nth-child(n+3) {
		margin-top: 30px;
	}

	.news_list_item_txt {
		margin-top: 15px;
	}

	.news_list_item_txt em {
		display: block;
		line-height: 1.5;
	}

	.news_more {
		position: absolute;
		white-space: nowrap;
		bottom: 0;
		left: 50%;
		-webkit-transform: translate(-50%, 50%);
		-ms-transform: translate(-50%, 50%);
		transform: translate(-50%, 50%);
		margin-top: 0;
	}

	.news_more a {
		padding: 20px 100px;
	}

	.menu .inner {
		padding: 0 15px;
	}

	.menu_col {
		width: 100%;
	}

	.menu_col:nth-child(n+2) {
		margin-top: 10px;
	}

	.bnr {
		padding: 30px 0;
	}

	.bnr_row {
	}

	.bnr_col:nth-child(n+2) {
		margin: 10px 0 0;
	}

}

@media print {
}

@-webkit-keyframes zoom_animation {
	0% {
		-webkit-transform: scale(1.2);
		transform: scale(1.2)
	}

	100% {
		-webkit-transform: scale(1);
		transform: scale(1)
	}

}

@keyframes zoom_animation {
	0% {
		-webkit-transform: scale(1.2);
		transform: scale(1.2)
	}

	100% {
		-webkit-transform: scale(1);
		transform: scale(1)
	}

}

@-webkit-keyframes leaf_rotate {
	0% {
		-webkit-transform: rotate3d(0, 0, 0, 0);
		transform: rotate3d(0, 0, 0, 0);
	}

	50% {
		-webkit-transform: rotate3d(2, -1, -1, -0.2turn);
		transform: rotate3d(2, -1, -1, -0.2turn);
	}

	100% {
		-webkit-transform: rotate3d(0, 0.1, 0.5, 1.5rad);
		transform: rotate3d(0, 0.1, 0.5, 1.5rad);
	}

}

@keyframes leaf_rotate {
	0% {
		-webkit-transform: rotate3d(0, 0, 0, 0);
		transform: rotate3d(0, 0, 0, 0);
	}

	50% {
		-webkit-transform: rotate3d(2, -1, -1, -0.2turn);
		transform: rotate3d(2, -1, -1, -0.2turn);
	}

	100% {
		-webkit-transform: rotate3d(0, 0.1, 0.5, 1.5rad);
		transform: rotate3d(0, 0.1, 0.5, 1.5rad);
	}

}
