@charset "utf-8";
/* CSS Document */


/* トップページ系はナビ高さ調整。  */
#header_top {
	padding-bottom: 0
}



#main_img {
	height: 346px;
	text-indent: -9999px;
	background: url(../images/img_main.jpg) no-repeat center top
}

#main_img_sp {
	display: none
}




#contents_area {
	background: url(../images/bg_cloud.png) repeat-y center top;
}

#contents_area .baseW {
	width: 1200px;
}








/*
一羊会とは
------------------------------------------------------------- */
#index_about {
	position: relative;
	margin: 0 auto;
	padding-top: 30px;
	width: 1040px;
	font-weight: bold;
	text-align: center
}

.font_S #index_about {
	font-size: 14px;
}

.font_L #index_about {
	font-size: 17px;
}

#index_about h2 {
	font-weight: bold
}

.font_S #index_about h2 {
	font-size: 22px;
}

.font_L #index_about h2 {
	font-size: 25px;
}

#index_about p {
	padding-top: 10px;
	line-height: 2
}

#index_about p a {
	margin-top: 10px;
	display: inline-block;
	padding: 0 20px;
	background-color: #00c63f;
	color: #fff
}

.font_S #index_about p a {
	font-size: 16px;
}

.font_L #index_about p a {
	font-size: 19px;
}

#index_about p a:hover {
	text-decoration: none;
	background-color: #4dd779
}

#index_about ul {
	padding-top: 25px;
}

#index_about ul li {
	width: 260px;
	line-height: 1.8
}

#index_about ul li:nth-of-type(1),
#index_about ul li:nth-of-type(3),
#index_about ul li:nth-of-type(4) {
	/* 初期値0 */
}

#index_about ul li:nth-of-type(2) {
	order: 1
}

#index_about ul li span {
	display: block;
	margin-left: -20px;
	width: 300px;
}

#index_about > img {
	position: absolute;
}

#index_about > #about_illust_flower {
	left: 38px;
	top: 72px;
}

#index_about > #about_illust_car {
	right: 43px;
	top: 85px;
}


















/*　各リスト */
.index_list {
	margin: 0 auto;
	padding-top: 55px;
	width: 1000px;
}

.index_list h3 {
	position: relative;
	padding: 15px 0;
	padding-left: 75px;
	font-weight: bold;
	border-bottom: 2px solid #8cc63f;
	color: #631
}

.font_S .index_list h3 {
	font-size: 22px;
}

.font_L .index_list h3 {
	font-size: 25px;
}

.index_list h3:before {
	position: absolute;
	left: 0;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}



/* 各一覧へ */
.index_list .to_list {
	margin-top: 35px;
	text-align: right;
	font-weight: bold;
}

.font_S .index_list .to_list {
	font-size: 14px;
}

.font_L .index_list .to_list {
	font-size: 16px;
}

.index_list .to_list a {
	text-decoration: underline
}

.index_list .to_list a:hover {
	text-decoration: none
}







/*
SNS
------------------------------------------------------------- */
#index_sns {
	position: relative;
	margin: 50px auto 30px;
	padding: 30px 10px;
	width: 90%;
	max-width: 1040px;
	box-sizing: border-box;
}

#index_sns .title {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 1em;
	color: #631;
	font-size: 24px;
	font-weight: bold;
	margin-bottom: 40px;
}

#index_sns .title_txt {
	position: relative;
	display: inline-block;
}

#index_sns .title::before {
	content: '';
	display: inline-block;
	width: 2px;
	height: 1.2em;
	background-color: #631;
	rotate: -30deg;
}

#index_sns .title::after {
	content: '';
	display: inline-block;
	width: 2px;
	height: 1.2em;
	background-color: #631;
	rotate: 35deg;
}

#index_sns .button {
	position: relative;
	display: block;
	width: 32%;
	max-width: 280px;
	color: #fff;
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 1px;
	text-align: center;
	background-color: #8cc63f;
	padding: 20px 10px;
	box-sizing: border-box;
	transition: filter ease-out .2s;
}

#index_sns .button::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 20px;
	translate: 0 -50%;
	width: 34px;
	height: 34px;
	background-repeat: no-repeat;
	background-size: 100% auto;
	background-position: center center;
}

#index_sns .button_youtube::before {
	background-image: url(../images/icon_youtube_white.png);
}

#index_sns .button_insta::before {
	background-image: url(../images/icon_insta_white.png);
}

#index_sns .button_facebook::before {
	background-image: url(../images/icon_facebook_white.png);
}

#index_sns .button::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 20px;
	translate: 0 -50%;
	border-left: 10px solid #fff;
	border-top: 8px solid transparent;
	border-bottom: 8px solid transparent;
}

#index_sns .button:hover {
	filter: brightness(1.1);
	text-decoration: none;
}







/*
新着 .news_listはcommon.css
------------------------------------------------------------- */
#index_news {
	position: relative;
}

#index_news > img {
	position: absolute;
}

#img_news_illust_01 {
	top: 30px;
}
.font_S #img_news_illust_01 {
	left: 630px;
}
.font_L #img_news_illust_01 {
	left: 710px;
}


#img_news_illust_02 {
	right: -30px;
	top: 65px;
}

#img_news_illust_balloon {
	left: -130px;
	top: 275px
}

#img_news_illust_wood {
	right: -110px;
	top: 180px
}

#index_news_title .flex{
	position: relative;
	padding-bottom: 40px;

	align-items: center;
	justify-content: flex-start;
}
#index_news_title h3 {
	padding-right: 1.5em;
	line-height: 1.4;
	border-bottom: none
}

.font_S #index_news_title h3 {
	font-size: 24px;
}

.font_L #index_news_title h3 {
	font-size: 28px;
}

#index_news_title h3:before {
	content: url(../images/news/icon_news.png)
}
#index_news_title .flex .desc{
	position: absolute;
	left: 0;
	bottom: 0;
}



#index_news_title em,
#index_news_title p {
	font-weight: bold
}

#index_news_title em {
	display: block;
	font-style: normal
}

#index_news_title p {
	padding: 10px 0;
}

.font_S #index_news_title em,
.font_S #index_news_title p {
	font-size: 14px;
}

.font_L #index_news_title em,
.font_L #index_news_title p {
	font-size: 17px;
}


#index_news_title .txt_cate{
	display: inline-block;
	margin: 5px 3px 0 0;
	padding: 2px 10px;
	/*
	background-color: #fff;
	background-color: #2199db;
	 */
	background-color: #38a3df;
	color: #fff;
	border-radius: 2px;
}
#index_news_title .filter ul{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	width: 430px;
}
#index_news_title .filter ul::after{
	content: none;
}
@media screen and (min-width: 650px) {


	#index_news_title .filter ul li{
		margin: 0 1.16% 6px;
	}
	.font_S #index_news_title .filter .filter_02 li,
	.font_L #index_news_title .filter .filter_02 li{
		width: 31%
	}
	.font_S #index_news_title .filter li{
		font-size: 13px;
	}
	.font_L #index_news_title .filter li{
		font-size: 14px;
	}
}
#index_news_title .filter a{
	padding: 5px 0;
	position: relative;

	/*
	background-color: #2199db;

	background-color: #38a3df;

	*/
	background-color: #a67c52;
}
#index_news_title .filter a::after{
	position: absolute;
	content: "";
	right: 2px;
	top: 50%;
	transform: translateY(-50%);
	width: 0;
	height: 0;
	border: 3px solid transparent;
	border-left-color: #fff;
}

#index_news_title .atelier a{
	/* background-color: #8cc63f; */
}


.news_list ol > li {
	margin-top: -2px;
	/*
	border-color: #2199db;
	border-color: #38a3df;
	*/


}











/*
ムービー
------------------------------------------------------------- */
#index_movie h3:before {
	content: url(../images/icon_movie.png)
}

#index_movie li {
	float: left;
	margin-right: 60px;
	padding: 35px 0 5px;
	width: 205px;
	text-align: left;
	font-size: 90%;
}

#index_movie li:nth-of-type(2n) {
	margin-right: 0
}

/* .youtoube_frame はcommon.cssに共通に。 */



#index_movie li h4 {
	padding-top: 15px;
	font-weight: bold;
	line-height: 1.7;
}

#index_movie li a {
	text-decoration: underline;
}

#index_movie li a:hover {
	text-decoration: none;
}

.movie_fb_wrap {
	display: flex;
	justify-content: space-between;
}

.index_movie_wrap,
.index_fb {
	width: 48%;
	margin: 0;
}

.index_fb h3:before {
	content: url(../images/icon_fb.png);
}

.index_fb iframe {
	padding-top: 35px;
}











/*
事業所
------------------------------------------------------------- */
#index_group {
	position: relative;
}

#index_group > img {
	position: absolute;
	right: -55px;
	top: 55px;
}


#index_group h3:before {
	content: url(../images/icon_group.png)
}



/* 事業所 .group_list ul li　内部はcommonn.cssへ */



















/*
広報誌
------------------------------------------------------------- */
#index_leaflet h3:before {
	content: url(../images/icon_leaflet.png)
}

#index_leaflet ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

#index_leaflet li {
	padding-top: 32px;
	width: 37%
}

#index_leaflet li.attention {
	position: relative;
	width: 26%;
}

#index_leaflet li.attention::after {
	content: "";
	position: absolute;
	left: 60%;
	top: 45%;
	transform: rotate(-25deg) scaleX(0.3);
	border: 30px solid transparent;
	border-top-color: #fff;

	z-index: 2;
}

#index_leaflet li.attention .text,
#index_leaflet li.attention img {
	position: absolute;
	bottom: 0;
}

#index_leaflet li.attention .text {
	left: 0;
	padding: 25px 20px;
	background-color: #fff;
	border-radius: 10px;
	line-height: 1.5;
	z-index: 3;

	animation: jump 6s ease infinite;
}

@keyframes jump {
	0% {
		bottom: 0;
	}

	35% {
		bottom: 0;
	}

	50% {
		bottom: 140px;
	}

	85% {
		bottom: 140px;
	}

	100% {
		bottom: 0;
	}
}

#index_leaflet li.attention img {
	right: 0;
}


#index_leaflet li div a,
#index_leaflet li ol a {
	display: block
}

#index_leaflet li div a:hover,
#index_leaflet li ol a:hover {
	background-color: #fff
}




#index_leaflet li h4 {
	font-weight: bold;
	padding-bottom: 17px;
}

.font_S #index_leaflet li h4 {
	font-size: 16px;
}

.font_L #index_leaflet li h4 {
	font-size: 19px;
}


#index_leaflet li .flL {
	width: 140px;
}

#index_leaflet li .flL a {
	position: relative;
	padding-bottom: 142.4%;
	background-color: #fff;
	height: 0;
	border: 1px solid #8cc63f;
	overflow: hidden
}


#index_leaflet li .flL img {
	position: absolute;
	left: 0;

	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 100%;
	height: auto;
}



#index_leaflet ul li ol {
	float: left;
	margin-left: 22px;
	padding-top: 125px;
}

#index_leaflet ul li ol li {
	float: none;
	padding: 0 0 7px;
}

/* ゆるませ羊新聞 */
/* #index_leaflet #cate_20 .flL {
	width: 180px;
}

#index_leaflet #cate_20 .flL a {
	width: 100%;
	height: 100%;
	padding: 0;
	aspect-ratio: 4 / 3;
} */






/*
バナー
------------------------------------------------------------- */
#index_bnr {
	position: relative;
	margin: 113px auto 0;
	padding-top: 88px;
	width: 1260px
}

#index_bnr .slide_item {
	float: left;
	width: 252px;

	box-sizing: border-box;
}

#index_bnr .slide_item a {
	display: block;
	width: 240px;
	margin: 0 auto
}

#index_bnr > img {
	position: absolute;
	left: 126px;
	top: 0;
}

#index_bnr .slick-next::before,
#index_bnr .slick-prev::before {
	color: #00c63f;
	font-weight: bold;
}

#index_bnr .slick-next::before {
	content: "＞"
}

#index_bnr .slick-prev::before {
	content: "＜"
}
