@charset "UTF-8";

.txt-reading{
	text-align: center;
	margin-bottom: 4em;
	letter-spacing: .2rem;
	line-height: 2.5;
}

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

	.txt-reading{
		margin-bottom: 2em;
	line-height: 2;
	}
}
/* --------------------------------------------------
mv
-------------------------------------------------- */
#mv img{
	width: 100%;
	transition-duration: 0.3s;
	transition-property: opacity, background, color, background-image, transform;
	transition-timing-function: ease-in-out;
}

#mv a:hover img{
	opacity: .6;
}

/* congestion */

.congestion {
	padding: 1em 0;
	text-align: center;
    margin-top: 3em;
}

.congestion iframe{
    width: 700px;
    height: 550px;
}

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

.congestion {
    margin-top: 0;
}
.congestion iframe{
    width: 100%;
    height: 550px;
}

}
/* --------------------------------------------------
story
-------------------------------------------------- */
#story{
	padding: 2% 0 1%;
	text-align: center;
	position: relative;
	font-size: 105%;
}

#story p{
	/*width: 62%;*/
	width: 710px;
	margin: 0 auto;
	position: relative;
	z-index: 50;
}

.ttl-story{
	width: 75%;
	font-size: 130%;
	margin: 2em auto;
	letter-spacing: .4rem;
	position: relative;
	z-index: 50;
}

.story-anim img{
	position: absolute;
	display: none;
}
.leafL {
	bottom: -60px;
	left: -300px;
	z-index: 10;
}
.riverL {
	bottom: -40px;
	left: -240px;
}
.leafR {
	top: -60px;
	right: -250px;
	z-index: 10;
}
.riverR {
	top: 0;
	right: -200px;
}

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

	#story{
		padding: 10% 0;
	}
	
	#story .inner{
		position: static;
	}

	.ttl-story{
		width: 100%;
		margin: 2em auto 1em;
		font-size: 120%;
	}
	
	.story-anim {
		opacity: 0.5;
		z-index: -5;
	}
	
	.story-anim img{
		z-index: -5;
	}
	
	.leafL {
		bottom: -10%;
		left: -5%;
		width: 50%;
	}
	.riverL {
		bottom: 0;
		left: -5%;
		width: 50%;
	}
	.leafR {
		top: 0;
		right: -5%;
		width: 50%;
	}
	.riverR {
		top: 10px;
		right: -5%;
		width: 50%;
	}
	
	#story p{
		width: 80%;
		text-align: left;
	}

}


/* kamon */

.kamon {
	width: 30%;
	margin: 0 auto;
	text-align: center;
	margin-bottom: 5%;
}

.kamon ul{
	display: flex;
	justify-content: center;
	position: relative;
	z-index: 10;
}

.kamon li img{
	width: 90%;
	padding: 0 1em;
	
}
@media screen and (max-width: 800px) {
	
	.kamon{
		margin: 0 auto;
		width: 80%;
	}
}


/* --------------------------------------------------
news
-------------------------------------------------- */

#news{
	padding: 3% 0 2%;
	margin-bottom: 7rem;
}
#news .inner{
	display: flex;
	justify-content: space-between;
	background: #F1EFEB;
	padding:3em;
}

#news .ttl-vertical{
	width: 10%;
	padding-right: 1em;
}

.news-area{
	flex:1;
}


.news-list li a{
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
}

.news-list li a .time {
	width: 10em;
	margin-bottom: 5px;
	text-align: center;
	
}

.news-list li a .txt{
	width: calc(100% - 10em);
}

#news .btn-more {
    padding-top: 2em;
	padding-bottom: 0;
}

@media screen and (max-width: 800px) {
	#news .inner{
		display: block;
		padding: 3rem;
	}
	#news .ttl-vertical {
		width: 100%;
		padding-right: 0;
		writing-mode: horizontal-tb;
	}
	#news .ttl-vertical span{
		padding-top:0;
		padding-left: 2.5rem;
	}
	#news .ttl-vertical span::before {
		left: 0;
		top: 50%;
		width: 2rem;
		height:  0;
		border-bottom: 1px solid #AC922C;
		border-right: 1px solid #AC922C;
	}
	.news-list li a .time {
    text-align: left;

}
	
}
@media screen and (max-width: 420px) {
.news-list li a{
	display: block;
}
.news-list li a .txt{
	padding-top: .5em;
	width:100%;
}
}
/* --------------------------------------------------
hilight
-------------------------------------------------- */

#links{
	padding:0 0 5% 0;
}

#hilight .inner{
	position: relative;
	padding: 2em 0;
}


.hilight-main img{
	width: 100%;
}

.hilight-contents{
	width: 40%;
}

.box-center{
	text-align: center;
}

.box-center .ttl-vertical{
	text-align: left;
}

.hilight-contents .ttl-vertical{
	padding: 4em 0;
}

.hilight-contents .txt-reading{
	text-align: left;
}

.hilight-sub01{
	position: absolute;
	top: 0;
	left: 50%;
	width: 35%;
	transform:translateY( 10%);
}

.hilight-sub02{
	position: absolute;
	top:0;
	left: 90%;
	width: 35%;
	transform:translateY( -10%);
}

.hilight-sub02 span{
	display: block;
	margin-bottom: 3em;
}

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

	
	.hilight-sub01{
		width: 25%;
		left: 45%;
	}

	.hilight-sub02{
		left: 75%;
		width: 25%;
	}
	
}

@media screen and (max-width: 800px) {
	#hilight .inner {
		padding: 1em 0 0;
	}
	
	.hilight-contents .ttl-vertical {
		padding: 5em 0 3em 0;
	}
	.hilight-contents{
		width: 90%;
		margin: 4rem auto 0;
	}
	
	.hilight-sub01{
		transform:translateY( -70%);
	}

	.hilight-sub02{
		transform:translateY( -65%);
	}

	.hilight-sub02 span{
		margin-bottom: 1em;
	}
	.hilight-contents .btn-more{
		margin-top: 2rem;
	}
}

/* --------------------------------------------------
history-carousel
-------------------------------------------------- */

#history-carousel {
    width: 100%;
    margin: 0 auto 80px;
}
#history-carousel figure {
	position: relative;
}

#history-carousel figcaption {
	position: absolute;
	bottom: 0;
	left: 0;
	background: #000000;
	padding: 5px 10px;
	font-size: 80%;
	z-index: 1;
	color: #FFF;
	opacity: 0;
}
.slide-item{
  display: none;
}
.slick-initialized .slide-item{
  display: block;
}
.slider-list .slick-slide {
    margin: 60px;
}
/*
.slide-item{
  display: none;
}
.slick-initialized .slide-item{
  display: block;
}
.slider-list img {
    width: 100%;
    height: auto;
}

.slider-list {
    width: 100%;
}

.slider-list .slick-slide {
    margin: 60px;
}
*/
.slick-slide {
  transition: .3s ease;
  transform: scale(.85);
}
.slick-current {
  transform: scale(1.1);
}

#history-carousel .slick-current figcaption {
	opacity: 1;
}

.slider-list a:hover {
	opacity: .5;
	
}


/* slick-dots */
#history-carousel .slick-dots {
	bottom: -28px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 1;
}


@media screen and (max-width: 800px) {
		#history-carousel {
    margin: 20px auto 80px;
}
	.slider-list .slick-slide {
    margin: 10px;
}
	#history-carousel .slick-dots {
	bottom: -38px;
}
}

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

	.slider-list .slick-slide {
		margin: 0px;
	}
	.slick-slide {
  transition: .3s ease;
  transform: scale(.75);
}
.slick-current {
  transform: scale(1);
}
}
/* --------------------------------------------------
history
-------------------------------------------------- */
#history{
	width: 55%;
	margin: 0 auto;
}
#history .txt-reading {
    text-align: left;
    width: 60%;
    margin: 30px auto 0;
    min-width: 684px;
}
@media screen and (max-width: 800px) {
	#history{
	width: 100%;
	}
	#history .txt-reading{
		width: 90%;
		min-width: auto;
	}

}

@media screen and (max-width: 420px) {
	#history .btn-more{
		padding-top: 1.5em;
	}
}
/* --------------------------------------------------
links
-------------------------------------------------- */

#links{
	padding: 5% 0 0;
}

.list-links {
	display: flex;
	flex-wrap: wrap;
	margin-right: -5%;

}

.list-links li {
	margin-bottom: 4%;
	margin-right: 5%;
	width: calc(100% / 2 - 5%);
	
}

.list-links li a {
	color: #000;
	text-decoration: none;
	
}


.list-links li a:hover{
	opacity: .5;
}

.list-links li .list-txt{
	text-align: center;
}



@media screen and (max-width: 800px) {
.list-links li .list-txt {
	margin: 0 auto;
	font-size: 90%;
}
	
.list-links {
	display: flex;
	flex-direction: column;
	margin-right: 0;

}
.list-links li {
	margin-bottom: 6%;
	margin-right:0;
	width: 100%;
	
}
	
.list-links .ttl-horizontal {
	padding-bottom: 1.5em;
	
}
}
/* --------------------------------------------------
gallery
-------------------------------------------------- */

.btn-gallery{
	position: relative;
}

.btn-gallery img{
	width: 100%;
}

.btn-gallery::after {
	content:'';
	display:block;
	position:absolute;
	width:100%;
	height:100%;
	background:#1a1a1a;
	top:0;
	left:0;
	opacity:.6;
	transition:opacity .6s cubic-bezier(.25,.1,.25,1)
}

.btn-gallery:hover::after {
	opacity:0.2;
}

.btn-gallery figcaption{
	display:flex;
	justify-content: center;
	align-items: center;
	flex-direction:column;
	position:absolute;
	width:100%;
	height:100%;
	top: 0;
	left: 0;
	font-size: 3rem;
	color: #FFF;
	z-index: 111;
	line-height: 1;
}

.btn-gallery figcaption span{
	margin: 2em 0;
	display: block;
	font-size: 1.4rem;
	color: #AC922C;
	letter-spacing:.2rem;
	
}


@media screen and (max-width: 420px) {
	.btn-gallery{
		overflow: hidden;
		height: 190px;
		position: relative;
}
	
	.btn-gallery figure{
		overflow: hidden;
		position: relative;
}
	
	.btn-gallery img{
		width: auto !important;
		max-width: none !important;
		height: 190px;
	}

	.btn-gallery figcaption span{
		margin: 1em 0;
	}
	
	.btn-gallery figcaption{
	font-size: 2rem;
}
	
}
/* --------------------------------------------------
sns
-------------------------------------------------- */
#sns{
	/*padding: 5% 0;*//*フォトギャラリーが出るまでコメントアウト*/
	padding: 3% 0;/*フォトギャラリーが出たら消す*/
}

#sns .inner{
	display: flex;
	justify-content: space-between;
}

.instagram .ttl-horizontal,
.facebook-area .ttl-horizontal{
	/*margin-bottom:3em;*//*フォトギャラリーが出るまでコメントアウト*/
	padding-top: 0;/*フォトギャラリーが出たら消す*/
}

.instagram .ttl-horizontal h2::before,
.facebook-area .ttl-horizontal h2::before{
	content: none;/*フォトギャラリーが出たら消す*/
}

@media screen and (max-width: 800px) {
	
	#sns .inner{
		display: block;;
		justify-content: space-between;
	}
	.instagram .ttl-horizontal,
	.facebook-area .ttl-horizontal{
		margin-bottom: 0;
		/*padding-top: 4rem;
		padding-bottom: 2rem;*//*フォトギャラリーが出るまでコメントアウト*/
		padding-top: 0;/*フォトギャラリーが出たら消す*/
	}
	
}
/* instagram */

.instagram {
	width: 55%;
}
.instagram-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.instagram-list li {
	position: relative;
	width: calc(100% / 3);
	padding: 0 1%;
	margin-bottom: 15px;
}
.instagram-list li a {
	display: block;
	height: 100%;
}
.instagram-list li a:hover {
	opacity: .7;
}
.instagram-list li .pht {
	position: relative;
	width: 100%;
	height: 0;
	padding-top: 100%;
	overflow: hidden;
	margin-bottom: 5px;
}
.instagram-list li .pht img {
	position: absolute;
	top: -200%;
	bottom: -200%;
	left: -200%;
	right: -200%;
	margin: auto;
	width: auto;
	height: auto;
	max-height: 100%;
	max-width: 100%;
	min-width: 100%;
}


@media screen and (max-width: 800px) {
	.instagram {
		width: 100%;
	}
}

@media screen and (max-width: 420px) {
	
	.instagram {
		/*margin: 20px 0 15px;*//*フォトギャラリーが出るまでコメントアウト*/
		padding-bottom: 0;
		width: 100%;
		margin: 0 0 15px;;/*フォトギャラリーが出たら消す*/
	}
	.instagram-list li {
	position: relative;
	width: calc(100% / 2);
	padding: 0 1%;
	margin-bottom: 15px;
	}

	.instagram-list li {
		padding: 0 2%;
		margin-bottom: 10px;
	}

	.instagram-list li:last-child{
			display: none;
	}

}
/* facebook */

.facebook-area {
	width: 40%;
	text-align: center;
}

.facebook-area .facebook{
	width: 100%;
	max-width: 500px;
}

 @media screen and (max-width: 800px) {
	 .facebook-area {
		width: 100%;
		 margin: 2rem auto;/*フォトギャラリーが出たら消す*/
	}
	 .facebook-area .facebook{
		width: 100%;
		max-width: 500px;
		 margin: 0 auto;
	}

}

/* --------------------------------------------------
banner
-------------------------------------------------- */
#banner{
	padding: 2rem 0;
}

/* list-2col */

.list-2col {
	display: flex;
	flex-wrap: wrap;
	margin-right: -3%;

}

.list-2col li {
	margin-bottom: 4%;
	margin-right: 3%;
	width: calc(100% / 2 - 3%);
	
}

.list-2col li a {
	text-decoration: none;
	
}


/* list-3col */

.list-3col {
	display: flex;
	flex-wrap: wrap;
	margin-right: -3%;

}

.list-3col li {
	margin-bottom: 3%;
	margin-right: 3%;
	width: calc(100% / 3 - 3%);
	
}

.list-3col li a {
	text-decoration: none;
	
}

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

	.list-3col li {
		width: calc(100% / 2 - 3%);
	}
	
}

.sp-webket-btn{
	display: none;
}

@media screen and (max-width: 800px) {
	.sp-webket-btn{
		display: block;
		width: 100%;
		margin: 0 auto;
		font-family: 'Noto Sans JP',sans-serif;
		text-align: center;
		margin-top: 15px;
		
	}
	.sp-webket-btn p{ 
		margin-top: 15px;
		margin-bottom: 10px;
	}
	.sp-webket-btn p .red{ 
		color: #E20F0F;
	}
	.sp-webket-btn p .blue{ 
		color: #0070C0;
	}
	.sp-webket-btn a {
		max-width: 350px;
		display: block;
		text-align: center;
		color: #000;
		padding: 0 40px;
		transition: all 0.3s;
		overflow: hidden;
		position: relative;
		font-size: 1.1em;
		letter-spacing: .2rem;
		margin: 0 auto;
	}
	.sp-webket-btn a:hover {
		opacity: .8;
	}

}

