@charset "utf-8";

/* header
---------------------------------------- */
header{
	display: none;
}
#wrapper {
	padding-top:0;
}

/* main_visual
---------------------------------------- */
#main_visual .swiper-container {
    width: 100%;
	height: 100svh;
}
#main_visual .swiper-wrapper .logo {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	text-align: center;
	z-index: 50;
}
#main_visual .swiper-wrapper .logo img{
	position: absolute;
	top: 51%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 80%;
	max-width: 550px;
	min-width: 220px;
}
#main_visual .swiper-wrapper .copy{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	text-align: center;
	z-index: 50;
}
#main_visual .swiper-wrapper .copy img{
	position: absolute;
	top: 33%;
	left: 50.5%;
	transform: translate(-50%, -50%);
	width: 80%;
	max-width: 550px;
	min-width: 220px;
}
#main_visual .swiper-slide{
	clear: both;
	box-sizing: border-box;
	width: 100%;
	/* max-height: 750px; */
	height: 100svh;
	min-height: 220px;
	text-align: center;
	overflow: hidden;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	position: relative;
}
#main_visual .swiper-slide:before {
	content: "";
	display: block;
}
#main_visual #main_visual1{
	background-image: url(../img/mv_photo1.webp);
}
#main_visual #main_visual2{
	background-image: url(../img/mv_photo2.jpg);
}
#main_visual #main_visual3{
	background-image: url(../img/mv_photo3.jpg);
}
#main_visual #main_visual4{
	background-image: url(../img/mv_photo4.jpg);
}
#main_visual #main_visual5{
	background-image: url(../img/mv_photo5.webp);
}
#main_visual #main_visual6{
	background-image: url(../img/mv_photo6.webp);
}
#main_visual #main_visual7{
	background-image: url(../img/mv_photo7.webp);
}
#main_visual #main_visual8{
	background-image: url(../img/mv_photo8.webp);
}
#main_visual #main_visual9{
	background-image: url(../img/mv_photo9.webp);
}
#main_visual #main_visual10{
	background-image:url(../img/mv_photo10.webp);
}
#main_visual .swiper-slide video{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: auto;
	z-index: 2;
}

@media screen and (max-width:800px) {
	#main_visual #main_visual1{
		background-position: center left 30%;
	}
	#main_visual .swiper-wrapper .copy img{
		position: absolute;
		top: 32%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: 60%;
		max-width: 250px;
		min-width: 200px;
	}
	#main_visual .swiper-wrapper .logo img{
		top: 48%;
		left: 50.5%;
		transform: translate(-50%, -50%);
		width: 87%;
		max-width: 600px;
		min-width: 220px;
	}
	#main_visual .swiper-slide{
	}
	#main_visual .swiper-slide:before {
		padding-top: 90%;
	}
	#main_visual #main_visual10{
		background-position: right center;
	}
}


/* scroll
---------------------------------------- */
.scroll {
	padding-top: 54px;
	text-align: center;
	position: absolute;
	left:0;
	right:0;
	bottom: 5px;
	width: 50px;
	z-index: 20;
	margin: 0 auto;
}
.scroll::before {
	animation: scroll 2s infinite;
	border-bottom: 2px solid #FFF;
	border-left: 2px solid #FFF;
	content: "";
	height: 20px;
	left: 0;
	margin: auto;
	position: absolute;
	right: 0;
	top: 0;
	width: 20px;
	transform: rotate(-45deg) translate(0, 0);
}
.scroll::after {
	animation: scroll 2s infinite;
	animation-delay: 0.6s;
	border-bottom: 2px solid #FFF;
	border-left: 2px solid #FFF;
	content: "";
	height: 20px;
	left: 0;
	margin: auto;
	position: absolute;
	right: 0;
	top: 0;
	width: 20px;;
	transform: rotate(-45deg) translate(0, 0);
}

@keyframes scroll {
	0% {
		opacity: 0;
		transform: rotate(-45deg) translate(0, 0);
	}
	40% {
		opacity: 1;
	}
	80% {
		opacity: 0;
		transform: rotate(-45deg) translate(-20px, 20px);
	}
	100% {
		opacity: 0;
	}
}

.scroll span{
	color:#FFF;
	font-size:14px;
	text-shadow: 1px 1px 2px #666;
}


/* about
---------------------------------------- */
#about {
	text-align: center;
	background-image: url("../common/img/bg_title.png");
	background-repeat: repeat;
	background-size: auto;
	padding-bottom:30px;
}
#about h3.copy{
	font-size:32px;
	padding-top:40px;
	padding-bottom: 0;
	margin-bottom: 15px;
}
#about #furusato_image_wrap{
	width:100%;
	text-align: center;
}
#about #furusato_image{
	width:calc(100% - 20px);
	max-width: 1200px;
	max-height:530px;
	margin: 0 auto;
	position: relative;
}
#about #furusato_image:before {
	content:"";
	display:block;
	padding-top:44.2%;
}
#about #furusato_image img{
	position: absolute;
	transform-origin: center;
	transform:scale(0);
	transition:transform 0.6s;
	transition-timing-function:ease-in-out;
}
#about #furusato_image img.img01{
	width:23.6%;
	max-width:283px;
	max-width:inherit;
	top:18px;
	top:3.4%;
	left:16px;
	left:1.3%;
	transition-delay:0s;
}
#about #furusato_image img.img02{
	width:16.7%;
	max-width:200px;
	max-width:inherit;
	top:5px;
	top:0.1%;
	left:272px;
	left:22.7%;
	transition-delay:0.6s;
}
#about #furusato_image img.img03{
	width:24%;
	max-width:288px;
	max-width:inherit;
	top:28px;
	top:5.3%;
	left:478px;
	left:40%;
	transition-delay:0.2s;
}
#about #furusato_image img.img04{
	width:10.2%;
	max-width:122px;
	max-width:inherit;
	top:18px;
	top:3.4%;
	left:769px;
	left:64%;
	transition-delay:0.4s;
}
#about #furusato_image img.img05{
	width:22.6%;
	max-width:271px;
	max-width:inherit;
	top:95px;
	top:18%;
	left:787px;
	left:65.6%;
	transition-delay:0.8s;
}
#about #furusato_image img.img06{
	width:15%;
	max-width:179px;
	max-width:inherit;
	top:0px;
	top:0;
	left:991px;
	left:82.6%;
	transition-delay:1s;
}
#about #furusato_image img.img07{
	width:11.5%;
	max-width:137px;
	max-width:inherit;
	top:368px;
	top:69.5%;
	left:0px;
	left:0;
	transition-delay:0.2s;
}
#about #furusato_image img.img08{
	width:8.6%;
	max-width:103px;
	max-width:inherit;
	top:296px;
	top:56%;
	left:51px;
	left:4.3%;
	transition-delay:1s;
}
#about #furusato_image img.img09{
	width:20.8%;
	max-width:249px;
	max-width:inherit;
	top:281px;
	top:53%;
	left:160px;
	left:13.3%;
	transition-delay:0.8s;
}
#about #furusato_image img.img10{
	width:12.3%;
	max-width:147px;
	max-width:inherit;
	top:195px;
	top:36.8%;
	left:388px;
	left:32.3%;
	transition-delay:0.9s;
}
#about #furusato_image img.img11{
	width:17.3%;
	max-width:207px;
	max-width:inherit;
	top:340px;
	top:64.1%;
	left:418px;
	left:34.8%;
	transition-delay:1.1s;
}
#about #furusato_image img.img12{
	width:21.6%;
	max-width:259px;
	max-width:inherit;
	top:269px;
	top:50.7%;
	left:566px;
	left:47.2%;
	transition-delay:0.8s;
}
#about #furusato_image img.img13{
	width:12%;
	max-width:144px;
	max-width:inherit;
	top:343px;
	top:65%;
	left:835px;
	left:70%;
	transition-delay:1.2s;
}
#about #furusato_image img.img14{
	width:16%;
	max-width:192px;
	max-width:inherit;
	top:343px;
	top:65%;
	left:950px;
	left:79.2%;
	transition-delay:1.35s;
}
#about #furusato_image img.img15{
	width:12.5%;
	max-width:149px;
	max-width:inherit;
	top:239px;
	top:45%;
	left:1050px;
	left:87.5%;
	transition-delay:1.3s;
}
#about #furusato_image img:hover{
	transition-delay:inherit!important;
	transform:scale(1.2)!important;
	max-width:inherit!important;
	filter: brightness(1.1)!important;
	transition:transform 0.6s;
}

/*
#about .image{
	text-align: center;
	margin: 0 auto 0px auto;
	width:calc(100% - 20px);
	max-width:1200px;
}
#about .image img{
	width:100%;
}
*/

@media screen and (max-width:640px) {
	#about {
		padding-bottom:40px;
		overflow: hidden;
	}
	#about h3.copy{
		font-size:18px;
		padding-top:30px;
		padding-bottom: 0;
		margin-bottom:12px;
		padding-left:5px;
	}
	#about #furusato_image_wrap{
		width:110%;
		margin-left: -5%;
		overflow: hidden;
	}
	#about #furusato_image{
		width:calc(100% - 0px);
	}
	/*
	#about .image{
		margin: 0 auto 0px auto;
		width:calc(100% - 4px);
	}
	#about .image img{
		width:100%;
	}
	*/
}



/* topics
---------------------------------------- */
#topics_wrap{
	padding-top:35px;
	padding-bottom:0px;
}
#topics_wrap .topics{
	box-sizing: border-box;
	width:calc(100% - 100px);
	max-width: 1000px;
	margin: 0 auto 25px auto;
	background-color: #FFFFFF;
	padding:30px 60px 32px 60px;
	border-radius: 6px;
	box-shadow: 2px 2px 2px 0px rgba(0,0,0,0.2);
}
#topics_wrap dl{
}
#topics_wrap dl dt{
	display: block;
	width:200px;
	height:150px;
	float: left;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	text-indent: -9999px;
}
#topics_wrap dl dd{
	box-sizing: border-box;
	width:calc(100% - 200px);
	float: left;
	padding:0 0 0 25px;
	margin-bottom:0px;
}
#topics_wrap dl dd.noImage{
	width:calc(100% - 0px);
}
#topics_wrap h3{
	color:#1E5609;
	color:#867E00;
	padding-top:2px;
	margin-bottom:8px;
	font-size:20px;
}
#topics_wrap p{
	padding-bottom:0;
	margin-bottom:0;
	text-align: justify;
}
#topics_wrap img.sp{
	display: none;
}

@media screen and (max-width:640px) {
	#topics_wrap{
		padding-top: 20px;
    	padding-bottom: 0px;
	}
	#topics_wrap .topics{
		width:calc(100% - 30px);
		padding:20px 20px 25px 20px;
		margin:0 auto 10px auto;
	}
	#topics_wrap dl{
	}
	#topics_wrap dl dt{
		display: none;
	}
	#topics_wrap dl dd{
		box-sizing: border-box;
		width:calc(100% - 0px);
		float: none;
		padding:0;
		margin-bottom:0px;
	}
	#topics_wrap h3{
		margin-bottom:8px;
		font-size:16px;
	}
	#topics_wrap p{
		padding-bottom:0;
		margin-bottom:0;
		text-align: justify;
	}
	#topics_wrap img.sp{
		display: block;
		margin-top:10px;
		width:100%;
	}
}



/* insta
---------------------------------------- */
#insta {
	box-sizing: border-box;
	width: calc(100% - 100px);
    max-width: 1000px;
	padding:35px 0px 20px 0px;
	text-align: center;
	margin: 0 auto;
}
#insta h4{
	width:100%;
	text-align:center;
	margin-bottom:10px;
}
#insta h4 img{
	width:200px;
	margin-right:10px;
}

@media screen and (max-width:640px) {
	#insta {
		background-color: #FFF;
		width: calc(100% - 0px);
		padding:25px 15px 5px 15px;
	}
	#insta h4{
		margin-bottom:15px;
	}
	#insta h4 img{
		width:180px;
		margin-right:0px;
	}
}

/* insta_pr
---------------------------------------- */
#insta_pr {
	width:100%;
	padding:25px 0 50px 0;
	text-align: center;
	background: #FFF;
	border-top:1px solid #CCC;
}
#insta_pr h4{
	width:100%;
	text-align:center;
	margin-bottom:15px;
}
#insta_pr h4 img{
	width:200px;
	margin-right:10px;
}
#insta_pr .pc2{
	box-sizing: border-box;
    width: calc(100% - 100px);
    max-width: 1000px;
	margin:0 auto;
}
#insta_pr .pc2 .swiper-slide{
	float: left;
	width:31%;
	max-width: 310px;
	margin-right: 4%;
}
#insta_pr .pc2 .swiper-slide:nth-of-type(3){
	margin-right:0;
}
#insta_pr .swiper2{
	overflow: hidden;
	box-sizing: border-box;
    width: calc(100% - 100px);
    max-width: 1000px;
	margin:0 auto;
	padding-bottom:30px;
	position: relative;
}
#insta_pr .swiper-slide{
	max-width:320px;
}
#insta_pr .swiper-slide>a{
}
#insta_pr .swiper-slide>a img{
	width:100%;
}
#insta_pr .swiper-slide>p{
	text-align:center;
	padding-top:5px;
	font-size:13px;
	font-weight: bolder;
	color:#333;
	line-height: 120%;
}
#insta_pr .swiper-slide>p>a{
	display: inline;
	font-size:15px;
	font-weight: bolder;
	color:#333;
	text-decoration: underline;
}
.swiper-pagination2 {
    position: absolute;
    text-align: center;
    transition: 300ms opacity;
    z-index: 10;
	width: 100%;
}
.swiper-pagination2 .swiper-pagination-bullet{
	margin: 0 3px;
}
#insta_pr .swiper-pagination-bullets{
	width:100%;
}
@media screen and (max-width:640px) {
	#insta_pr {
		padding:12px 0 45px 0;
	}
	#insta_pr h4{
		margin-bottom:10px;
	}
	#insta_pr h4 img{
		width:150px;
		margin-right:5px;
	}
	#insta_pr .swiper2{
		width: calc(100% - 40px);
	}
	#insta_pr .swiper-slide{
	}
	#insta_pr .swiper-slide>a img{
		width:100%;
	}
	#insta_pr .swiper-slide p{
		display: block;
		text-align:center;
		padding-top:2px;
		font-size:13px;
		font-weight: bolder;
		color:#333;
	}
	#insta_pr .swiper-slide p a{
		display: inline;
		font-size:15px;
		font-weight: bolder;
		color:#333;
		text-decoration: underline;
	}

	/* スライドなし（3件表示） */
	#insta_pr .pc2{
		width: calc(100% - 30px);
	}
	#insta_pr .pc2 .swiper-slide{
		width:32%;
		max-width: 310px;
		margin-right: 2%;
	}
	#insta_pr .pc2 .swiper-slide:nth-of-type(3){
		margin-right:0;
	}
	#insta_pr .swiper-slide>p{
		text-align:center;
		padding-top:5px;
		font-size:10px;
		font-weight:normal;
		line-height: 120%;
	}
	#insta_pr .swiper-slide>p>a{
		display: inline;
		font-size:10px;
		font-weight:normal;
	}
	

}



/* news
---------------------------------------- */
#news {
	text-align: center;
	background-image: url("../img/mv_photo3.jpg");
	background-repeat: repeat;
	background-size:cover;
	background-attachment: fixed;
	background-position: center center;
	padding:120px 0 120px 0;
	box-shadow: 0px 5px 5px 0px rgba(0,0,0,0.2) inset;
}
#news #news_inc{
	box-sizing: border-box;
	width:calc(100% - 100px);
	max-width:1000px;
	background-color: rgba(255,255,255,0.90);
	text-align: center;
	padding: 45px 80px 55px 80px;
	margin: 0 auto;
	border-radius: 7px;
	box-shadow: 2px 2px 2px 0px rgba(0,0,0,0.2);
}
#news h2.title{
	border-bottom:1px solid #CCC;
	padding-bottom:25px;
	margin-bottom:0px;
}
#news #news_inc dl{
	width:100%;
	border-bottom: 1px solid #CCC;
}
.accordion_title {
	position: relative;
	cursor: pointer;
	font-size:19px;
	color:#1E5609;
	padding:22px 0 22px 2px;
	transition-duration: 0.2s;
}
.accordion_title:hover {
	opacity: 0.8;
}
.accordion_title .icon_wrap {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 50%;
	right: 2px;
	width: 40px;
	height: 40px;
	margin-top: -20px;
	box-sizing: border-box;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	transform-origin: center center;
	transition-duration: 0.2s;
}
.accordion_title .icon {
	display: block;
	width: 18px;
	height: 18px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	transform-origin: center center;
	transition-duration: 0.2s;
	position: relative;
}
.accordion_title.open .icon_wrap {
	-webkit-transform: rotate(-360deg);
	transform: rotate(-360deg);
}
.accordion_title .icon:before, .accordion_title .icon:after {
	display: flex;
	content: '';
	background-color:#1E5609;
	border-radius: 10px;
	width: 18px;
	height: 4px;
	position: absolute;
	top: 7px;
	left: 0;
	-webkit-transform: rotate(0deg);
	transform: rotate(0deg);
	transform-origin: center center;
	}
.accordion_title .icon:before {
	width: 4px;
	height: 18px;
	top: 0;
	left: 7px;
}
.accordion_title.open .icon:before {
	content: none;
}
.accordion_title.open .icon:after {
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.accordion_inner {
	display: none;
	padding:0 0 20px 0;
}
.accordion_inner img{
	float: right;
	width:300px;
	max-width:300px;
	margin-right: 2px;
}
.accordion_inner p{
	box-sizing: border-box;
	color:#222;
	float: left;
	width:calc(100% - 300px - 20px);
	padding-left:3px;
}


@media screen and (max-width:640px){
	#news {
		background:none;
		padding:65px 0 65px 0;
		box-shadow: 0px 5px 5px 0px rgba(0,0,0,0.2) inset;
	}
	/* スマホではposition:fixedが効かない */
	#wrapper {
		position:relative;
	}
	body.showbg #news::before{
		background-image: url("../img/mv_photo3.jpg");
		background-repeat: no-repeat;
		background-size:auto 100%;
		background-position: center center;
		display:block;
		position:fixed;
		top:60px;
		left:0;
		width:100%;
		height: 100vh;
		content: "";
		z-index: -1;
	}
	#news #news_inc{
		width:calc(100% - 30px);
		padding:20px 20px 30px 20px;
	}
	#news h2.title{
		border-bottom:1px solid #CCC;
		padding-bottom:18px;
		margin-bottom:0px;
	}
	#news #news_inc dl{
		width:100%;
		border-bottom: 1px solid #BBB;
	}
	.accordion_title {
		font-size:16px;
		padding:16px 35px 16px 2px;
	}
	.accordion_title .icon_wrap {
		top: 50%;
		right: -8px;
		width: 40px;
		height: 40px;
		margin-top: -20px;
	}
	.accordion_title .icon {
		width: 18px;
		height: 18px;
	}
	.accordion_title.open .icon_wrap {
	}
	.accordion_title .icon:before, .accordion_title .icon:after {
		width: 18px;
		height: 4px;
		top: 7px;
		left: 0;
		}
	.accordion_title .icon:before {
		width: 4px;
		height: 18px;
		top: 0;
		left: 7px;
	}
	.accordion_title.open .icon:before {
	}
	.accordion_title.open .icon:after {
	}
	.accordion_inner {
		display: none;
		padding:0 0 20px 0;
	}
	.accordion_inner img{
		clear: both;
		float: none;
		width:calc(100% - 0px);
		max-width:inherit;
		margin-right: 0px;
		margin-top: 8px;
	}
	.accordion_inner p{
		clear: both;
		float: none;
		width:calc(100% - 0px);
		padding-left:0px;
		text-align: justify;
	}
}



/* shisetsu
---------------------------------------- */
#shisetsu {
	box-sizing: border-box;
	text-align: center;
	background-image: url("../img/shisetsu_bg.png"),url("../img/shisetsu_bg_long.png");
	background-repeat: no-repeat, repeat-x;
	background-size: 1800px 900px,50px 900px;
    background-position: calc(50% + 90px) center, left top;
	padding:80px 0 80px 0;
	position: relative;
	max-height: 900px;
}
#shisetsu:before {
	content: "";
	display: block;
	padding-top: 80%;
}
#shisetsu h3.copy{
	position: absolute;
    top:5%;
	width:100%;
}
#shisetsu a.btn{
	position: absolute;
    left: 0;
    right: 0;
    bottom: 5%;
	text-align: center;
	z-index: 50;
}

@media screen and (max-width:800px){
	#shisetsu {
		background-image: url("../img/shisetsu_bg.png"),url("../img/shisetsu_bg_long.png");
		background-repeat: no-repeat, repeat-x;
		background-size: calc(100% + 350px) auto,auto 100%;
		background-position: 52% center, left top;
		padding:80px 0 90px 0;
		position: relative;
		max-height: 900px;
	}
	#shisetsu:before {
		content: "";
		display: block;
		padding-top: 80%;
	}
	#shisetsu h3.copy{
		position: absolute;
		font-size:16px;
		top:3.5%;
	}
	#shisetsu a.btn{
		position: absolute;
		left: 0;
		right: 0;
		bottom: 7%;
		text-align: center;
		z-index: 50;
	}
}


/* access
---------------------------------------- */
#access {
	width: 100%;
	padding:60px 0 70px 0;
	text-align: center;
	background: #FFF;
}
#access img.map{
	box-sizing: border-box;
	width: calc(100% - 100px);
	max-width:1000px;
	margin: 0 auto 35px auto;
}
@media screen and (max-width:640px) {
	#access {
		padding: 35px 0 50px 0;
		text-align: center;
	}
	#access img.map {
		width:calc(100% - 0px);
		margin: 0 auto 25px auto;
		padding-left:10px;
	}
}


