@charset "UTF-8";


/* index ---------------------------------------*/

/*キービジュアル*/

.topKvWrapper{
	max-width:100%;
	overflow: hidden;
	margin-bottom: 25px;
	position: relative;
}

.topKv{
	position: relative;
	max-width:800px;
	margin:0 auto;
}

.topKvSlider{position: relative;}

.topKv .swiper-pagination{display: none;}

.topKvWrapper .swiper-button-next{
	background: url(../img/common/slider_arrow.png);
	width: 61px;
	height: 91px;
	margin-top: -31px;
}

.topKvWrapper .swiper-button-prev{
	background: url(../img/common/slider_arrow.png);
	width: 61px;
	height: 91px;
	transform:rotate(180deg);
	margin-top: -31px;
}

.topKvWrapper .swiper-my-pagination{
	position: absolute;
	left:50%;
	bottom:20px;
	width:350px;
	transform:translate(120px,0);
	overflow: hidden;
	z-index:10;
}

.topKvWrapper .swiper-pagination-bullet{
	width:30%;
	height:auto;
	background: #none;
	margin:0 1.5%;
}

.swiper-pagination-bullet img{
	width:100%;
	border:3px solid #fff;
	box-sizing:border-box;
}


/* 丸型ボタン */

.indexMainList{
	text-align: center;
	font-size:0px;
	margin-bottom: 90px;
}

.indexMainList li{
	display: inline-block;
	margin-left: 4px;
	position: relative;
}

.indexMainList li:first-child{margin-left: 0;}

.indexMainList li:nth-child(2n){
	position: relative;
	top:40px;
}

.indexMainList li a{
	display: block;
	position: relative;
}

.indexMainList li a:hover{animation: purun 0.7s linear 0s 1;}

.indexMainList li a:after{
	display:block;
	content:'';
	background:url(../img/index/btn_eat_on.png) no-repeat left top;
	width:130px;
	height:129px;
	position:absolute;
	left:0px;
	top:0%;
	opacity:0;
	transition: all .25s ease;
}

.indexMainList li.indexMainListItem1 a:after{background-image: url(../img/index/btn_eat_on.png);}
.indexMainList li.indexMainListItem2 a:after{background-image: url(../img/index/btn_grow_on.png);}
.indexMainList li.indexMainListItem3 a:after{background-image: url(../img/index/btn_learn_on.png);}
.indexMainList li.indexMainListItem4 a:after{background-image: url(../img/index/btn_money_on.png);}
.indexMainList li.indexMainListItem5 a:after{background-image: url(../img/index/btn_land_on.png);}
.indexMainList li.indexMainListItem6 a:after{background-image: url(../img/index/btn_about_on.png);}

.indexMainList li a:hover:after{opacity:1;}

.indexMainBnr{margin-bottom: 120px;}

.indexMainBnr a{
	transition: all .25s ease;
	display: block;
}

.indexMainBnr a:hover{opacity:0.7;}

@keyframes purun {
  0%   { transform: scale(1.0, 1.0) translate(0%, 0%); }
  15%  { transform: scale(0.95, 0.95) translate(0%, 1%); }
  30%  { transform: scale(1.05, 0.9) translate(0%, 2%); }
  50%  { transform: scale(0.9, 1.05) translate(0%, -2%); }
  70%  { transform: scale(1.05, 0.95) translate(0%, 1%); }
  100% { transform: scale(1.0, 1.0) translate(0%, 0%); }
}


/* トップ セクション タイトル */

.indexSectionTitleWrapper{
	margin-bottom: 50px;
	text-align: center;
	line-height: 1.0;
	color:#999;
}

.indexSectionTitle{
	font-size:24px;
	font-weight: bold;
	letter-spacing: 2px;
}

.indexSectionTitleEnglish{
	font-size:17px;
	margin-top: 18px;
	letter-spacing: 3px;
}


/*お知らせ*/

.indexNewsSection{
	background: url(../img/index/bg_news.png) no-repeat center top;
	background-size: 100%;
	padding-top: 130px;
	margin-bottom: 90px;
}

.indexNewsSection .inner{position: relative;}

.indexNewsSection .indexSectionTitle{color:#1BAE85;}

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

.indexNews{
	width:49.5%;
	background: #fff;
}

.indexNewsTab{
	line-height: 1.0;
	padding:0 5px;
	overflow: hidden;
}

.indexNewsTab ul li{
	width:23%;
	margin:0 0.5%;
	float: left;
	text-align: center;
	padding:11.5px 0;
	font-size:13px;
	font-weight: bold;
	border-bottom:4px solid #aaa;
	transition: all .25s ease;
	cursor:pointer;
}

.indexNewsTab ul li.active,
.indexNewsTab ul li:hover{
	background: #aaa;
	color:#fff;
}

.indexNewsTab ul li:nth-child(1){border-color:#F9B5B3;}
.indexNewsTab ul li:nth-child(2){border-color:#1CB68D;}
.indexNewsTab ul li:nth-child(3){border-color:#FAA641;}
.indexNewsTab ul li:nth-child(4){border-color:#88D0F3;width:27%;}

.indexNewsTab ul li:nth-child(1):hover,
.indexNewsTab ul li:nth-child(1).active{background:#F9B5B3;}
.indexNewsTab ul li:nth-child(2):hover,
.indexNewsTab ul li:nth-child(2).active{background:#1CB68D;}
.indexNewsTab ul li:nth-child(3):hover,
.indexNewsTab ul li:nth-child(3).active{background:#FAA641;}
.indexNewsTab ul li:nth-child(4):hover,
.indexNewsTab ul li:nth-child(4).active{background:#88D0F3;}

.indexNewsTabBox{
	padding:20px 30px;
	display: none;
}

.indexNewsTabBox.active{display: block;}

.indexNewsTabBox li{
	border-bottom:1px dashed #aaa;
	margin-bottom: 20px;
}

.indexNewsTabBox li a{
	display: block;
	color:#333;
	padding:10px 0;
}

.indexNewsFb{
	width:49%;
	background: #fff;
}

.indexNewsDate{
	display: inline-block;
	font-size:13px;
	vertical-align: middle;
}

.indexNewsCategory{
	display: inline-block;
	line-height: 1.0;
	padding:5px 8px;
	font-size:13px;
	letter-spacing: 2px;
	vertical-align: middle;
	background: #aaa;
	color:#fff;
	margin-left: 10px;
}

.indexNewsCategory.pink{background: #F9B5B3;}
.indexNewsCategory.green{background: #1CB68D;}
.indexNewsCategory.yellow{background: #FAA641;}
.indexNewsCategory.blue{background: #88D0F3;}

.indexNewsText{
	line-height: 1.4;
	font-size:14px;
	padding:8px 0 0 0;
}

.indexNewsMore{
	width:140px;
	height:38px;
	line-height: 38px;
	color:#fff;
	font-size:15px;
	letter-spacing: 1px;
	text-align: center;
	background: #A7A7A7;
	border-radius:5px;
	display: block;
	margin:0 auto;
}


/* トピックス */

.indexTopicsSection{
	background: url(../img/index/bg_topics.png) repeat-x center top;
	padding-top: 270px;
	margin-bottom: 80px;
}

.indexTopicsSection .indexSectionTitle{color:#FAA641;}
.indexTopicsList{
	display: flex;
	margin: 0 auto;
	flex-wrap: wrap;
	justify-content: space-between;
}

.indexTopicsList li{
	/*float: left;*/
	width:384px;
	margin-bottom: 65px;
}

/*.indexTopicsList li:nth-child(2n){margin-left: 40px;}*/

.indexTopicsList li a{
	color:#000;
	font-size:14px;
	transition: all .25s ease;
}

.indexTopicsList li a:hover{opacity:0.7;}
.indexTopicsList li p{
	padding:15px 0 0;
	font-size: 14px;
}


/* 広報誌 */

.indexMagazineSection{
	background: url(../img/index/bg_magazine.png) repeat-x center top;
	padding-top: 280px;
	margin-bottom: 150px;
}

.indexMagazineSection .indexSectionTitle{color:#87CFF2;}

.indexMagazineSlider{
	position: relative;
	padding:30px 0;
	margin-bottom: 60px;
	overflow: hidden;
}

.indexMagazineSlider .swiper-button-next{
	background: url(../img/common/slider_arrow_circle.png);
	width: 41px;
	height: 41px;
	margin-top: -21px;
	right:230px;
}

.indexMagazineSlider .swiper-button-prev{
	background: url(../img/common/slider_arrow_circle.png);
	width: 41px;
	height: 41px;
	transform:rotate(180deg);
	margin-top: -21px;
	left:230px;
}

.indexMagazineSliderList li{
	transition: all .75s ease;
	transform:scale(0.85,0.85);
	box-shadow:0px 0px 20px rgba(0,0,0,0.2);
	position: relative;
	left:-15px;
}

.indexMagazineSliderList li a{
	display: block;
	position: relative;
}

.indexMagazineSliderList li a:after{
	display:block;
	content:'';
	background:#000;
	width:100%;
	height:100%;
	position:absolute;
	right:0px;
	top:0%;
	opacity:0.3;
	transition: all .75s ease;
}

.indexMagazineSliderList li img{max-width:100%;}

.indexMagazineSliderList li.swiper-slide-active{
	transform:scale(1.10,1.10);
	margin:0 15px;
}

.indexMagazineSliderList li.swiper-slide-active a:after{opacity:0;}

.indexMagazineMore{
	width:175px;
	height:42px;
	line-height: 42px;
	background: #89D0F3;
	text-align: center;
	font-size:14px;
	color:#fff;
	letter-spacing: 2px;
	border-radius:10px;
	display: block;
	margin:0 auto;
}

.indexMagazineMore:before{
	content: '';
	display: inline-block;
	vertical-align: middle;
	margin-right: 11px;
	background: url(../img/common/icon_arrow_white.png) 0 0 no-repeat;
	background-size: 11px;
	width: 11px;
	height: 16px;
	position: relative;
	top: -2px;
}


/* 子会社 */

.indexCompanySection{margin-bottom: 180px;}
.indexCompanySection .indexSectionTitle{color:#F2ABBD;}

.indexCompanyList{
	display:flex;
	justify-content:space-between;
	flex-wrap: wrap;
	font-feature-settings: "palt";
}

.indexCompanyList li{width:252px;}

.indexCompanyList a{
	color:#000;
	transition: all .25s ease;
	display: block;
}

.indexCompanyList a:hover{opacity:0.7;}

.indexCompanyListImage{margin-bottom: 20px;}
.indexCompanyListImage img{max-width:100%;}

.indexCompanyListTitle{
	font-size:14px;
	font-weight: bold;
	line-height: 1.4;
	margin-bottom: 10px;
}

.indexCompanyListText{
	font-size:13px;
	line-height: 1.5;
}


/* ひとこと */

.indexHitokoto{
	position: fixed;
	right:20px;
	bottom:10px;
	z-index:500;
}

.indexHitokoto > span{
	display: block;
	background: url(../img/index/hitokoto.png) no-repeat left top;
	width: 222px;
	height: 323px;
	box-sizing:border-box;
	padding:115px 20px 0 30px;
	color:#000;
}

.indexHitokotoInner{
	font-size:15px;
	line-height: 1.5;
}

.indexHitokotoInner ul li{display: none;}
.indexHitokotoInner ul li.active{display: block;}

.indexHitokotoClose{
	border:none;
	cursor:pointer;
	margin-top: 7px;
	padding:0;
	background: none;
}










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

	/*キービジュアル*/

	.topKvWrapper{
		padding: 53px 0 0px 0;
		margin-bottom: 13px;
	}

	.topKv{
		width:100%;
		position: relative;
		max-width:1000px;
		margin:0 auto;
	}

	.topKvSlider{position: relative;}
	.topKv .swiper-pagination{display: none;}
	.topKvWrapper .swiper-button-next,
	.topKvWrapper .swiper-button-prev{display: none;}

	.topKvWrapper .swiper-my-pagination{
		left:0%;
		bottom:10px;
		width:100%;
		transform:translate(0px,0);
		text-align: center;
	}

	.topKvWrapper .swiper-pagination-bullet{
		width:10px;
		height:10px;
		margin:0 1.5%;
		background: #fff;
	}

	.topKvWrapper .swiper-pagination-bullet-active{background: #aaa;}
	.swiper-pagination-bullet img{display: none;}


	/* 丸型ボタン */

	.indexMainList{margin:0 0px 20px;}

	.indexMainList li{
		width:30%;
		margin:0 1.5% 15px;
	}

	.indexMainList li:first-child{margin-left: 1.5%;}
	.indexMainList li:nth-child(2n){top:0px;}

	.indexMainList li a:after{display: none;}

	.indexMainBnr{
		margin:0 15px 50px;
		text-align: center;
	}

	.indexMainBnr a:hover{opacity:1;}


	/* トップ セクション タイトル */

	.indexSectionTitleWrapper{margin-bottom: 25px;}
	.indexSectionTitle{
		font-size:19px;
		letter-spacing: 3px;
	}

	.indexSectionTitleEnglish{
		font-size:15px;
		margin-top: 8px;
		letter-spacing: 1px;
	}


	/*お知らせ*/

	.indexNewsSection{
		background: url(../img/index/bg_news_sp.png) no-repeat center top;
		background-size: 100%;
		padding-top: 80px;
		margin-bottom: 50px;
	}

	.indexNewsWrapper{
		display:block;
		margin:0 25px;
	}

	.indexNews{
		width:auto;
		margin-bottom: 90px;
	}

	.indexNewsTab{
		padding:0 5px;
		text-align: center;
		font-size:0px;
	}

	.indexNewsTab ul li{
		width:auto;
		min-width:21%;
		float:none;
		display: inline-block;
		margin:0 0.8%;
		padding:10px 0 8px;
		font-size:12.5px;
		border-bottom:3px solid #aaa;
	}
	.indexNewsTab ul li:nth-child(4){width:auto;}

	.indexNewsTab ul li:hover{color:#333;}
	.indexNewsTabBox{padding:0px 15px;}

	.indexNewsTabBox ul{margin-bottom: 20px;}

	.indexNewsTabBox li{
		border-bottom:1px dotted #aaa;
		margin-bottom: 0px;
	}

	.indexNewsTabBox li a{padding:8px 0;}

	.indexNewsFb{
		width:100%;
		background: #fff;
	}

	.indexNewsFb iframe,
	.indexNewsFb .fb-page > span,
	.indexNewsFb iframe{height:480px !important;}

	.indexNewsDate{font-size:12px;}

	.indexNewsCategory{
		padding:2px 4px;
		font-size:12px;
		letter-spacing: 1px;
		margin-left: 5px;
	}

	.indexNewsText{
		font-size:14px;
		padding:5px 0 0 0;
	}

	.indexNewsMore{font-size:13px}


	/* トピックス */

	.indexTopicsSection{
		background: url(../img/index/bg_topics_sp.png) no-repeat center top;
		background-size: 100%;
		padding-top: 100px;
		margin-bottom: 60px;
	}

	.indexTopicsWrapper{
		margin:0 25px;
	}

	.indexTopicsList li{
		float: none;
		width:auto;
		margin-bottom: 20px;
		text-align: center;
	}

	.indexTopicsList li:nth-child(2n){margin-left: 0px;}
	.indexTopicsList li a:hover{opacity:1;}

	.indexTopicsList li p{
		display: inline-block;
		text-align: left;
		padding-bottom: 15px;
	}


	/* 広報誌 */

	.indexMagazineSection{
		background: url(../img/index/bg_magazine_sp.png) no-repeat center top;
		background-size: 100%;
		padding-top: 90px;
		margin-bottom: 80px;
	}

	.indexMagazineSlider{
		padding:30px 0;
		margin-bottom: 20px;
		overflow: hidden;
	}

	.indexMagazineSlider-inner{
		margin:0 80px;
	}

	.indexMagazineSlider .swiper-button-next{
		background: url(../img/common/slider_arrow_circle.png);
		background-size: 30px;
		width: 30px;
		height: 30px;
		margin-top: -15px;
		right:30px;
	}

	.indexMagazineSlider .swiper-button-prev{
		background: url(../img/common/slider_arrow_circle.png);
		background-size: 30px;
		width: 30px;
		height: 30px;
		transform:rotate(180deg);
		margin-top: -15px;
		left:30px;
	}

	.indexMagazineSliderList li{
		transition: all .75s ease;
		transform:scale(0.85,0.85);
		box-shadow:0px 0px 20px rgba(0,0,0,0.2);
		position: relative;
		left:-0px;
	}

	.indexMagazineSliderList li a{
		display: block;
		position: relative;
	}

	.indexMagazineSliderList li img{max-width:100%;}

	.indexMagazineSliderList li.swiper-slide-active{
		transform:scale(1.05,1.05);
		margin:0 5px;
	}

	.indexMagazineMore{
		width:180px;
		height:45px;
		line-height: 45px;
		background: #F0ADC0;
		font-size:13px;
		border-radius:5px;
	}

	.indexMagazineMore:before{
		margin-right: 7px;
		background: url(../img/common/icon_arrow_white_sp.png) 0 0 no-repeat;
		background-size: 100%;
		width:10px;
		height:17px;
	}


	/* 子会社 */

	.indexCompanySection{margin-bottom: 80px;}
	.indexCompanyWrapper{
		padding-top: 10px;
		margin:0 25px;
	}
	.indexCompanyList{display:block;}

	.indexCompanyList li{
		width:auto;
		margin-bottom: 40px;
	}

	.indexCompanyList a:hover{opacity:1;}
	.indexCompanyListImage{margin-bottom: 10px;}

	.indexCompanyListTitle{
		font-size:15px;
		margin-bottom: 5px;
	}

	.indexCompanyListText{font-size:13px;}


	/* ひとこと */

	.footerCompany{margin-bottom: 15%;}

	.indexHitokoto{
		right:0px;
		bottom:0px;
		width:100%;
	}

	.indexHitokoto > span{
		display: block;
		color:#000;
		background: url(../img/index/hitokoto_sp.png) no-repeat left top;
		background-size: 100%;
		position: relative;
		width:100%;
		height:0;
		padding:0 0 15%;
	}

	.indexHitokotoInner{
		line-height: 1.0;
		width:65%;
		position: absolute;
		left:15%;
		bottom:2.5vw;
		line-height: 1.0;
		font-size:3vw;
		text-align: center;
	}

	.indexHitokotoInner ul li{
		white-space: nowrap;
		text-overflow:ellipsis;
		overflow: hidden;
	}

	.indexHitokotoInner br{display: none;}
	.indexHitokotoClose{display: none;}

}