/*
 * base css 
 * pc width 1000px fixed
 */

@media (max-width: 599px) {
} /* end -599 */

@media (min-width: 600px) and (max-width:959px) {
} /* end 600-959 */

@media (min-width: 960px) {
} /* 960- */




/* ---------------------------------------- slick */

.slider {
	height: 53vw;
	margin-inline: auto;
	overflow: hidden; /* 画像がはみ出ないようにする */
	width: 80vw;
}
.slick-img img { width: 100%; }

@keyframes zoomUp {
	0% { transform: scale(1); }
	100% { transform: scale(1.15); /* 拡大率 */ }
}
.add-animation { animation: zoomUp 10s linear 0s normal both; }


/* ---------------------------------------- common */

#visual {
	opacity: 0;
	transition: .4s
}
#visual.slick-initialized {
	opacity: 1;
}
#visual .slick-prev, 
#visual .slick-next {
    font-size: 0;
    line-height: 0;
    position: absolute;
    top: 50%;
	z-index: 10;
    display: block;
    width: 24px;
    height: 24px;
    padding: 0;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    cursor: pointer;
    color: transparent;
    border: none;
    outline: none;
    background: transparent;
}
#visual .slick-prev {
    left: 20px;
}
#visual .slick-next {
    right: 20px;
}
#visual .slick-prev:before, 
#visual .slick-next:before {
    font-family: 'slick';
    font-size: 24px;
    line-height: 1;
    opacity: .75;
    color: white;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* ---------------------------------------- greeting */

#greeting {
	text-align: center;
	padding: 3em 0;
}
#greeting h2 {
	font-size: var( --clamp-26x32 );
	line-height: 2;
	margin: 0 0 1em;
}

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

#news {
	color: #fff;
	background: var( --base-color );
	padding: 3em 1em;
	margin: 0 0 4em;
}
#news h3 {
	font-family: 'Josefin Sans', sans-serif;
	font-weight: 500;
	font-size: var( --clamp-24x28 );
}

#news .inside li + li { margin: 1em 0 0; }
#news .inside li a {
	display: table;
	width: 100%;
	line-height: 1.6;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
#news .inside li a:hover { opacity: .5; }
#news .inside li a > * {
	display: table-cell;
}
#news .inside li a > span {
	width: 6.5em;
}

@media (max-width: 787px) {

	#news h3 { 
		text-align: center;
		margin: 0 0 1em; 
	}
	#news h3 br { display: none; }
	#news .inside ul { margin: 0 0 2em; }
	#news .links { text-align: center; }
}

@media (min-width: 786px) {

	#news .inner {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
	}
	#news h3 {
		width: 3.5em;
		text-align: center;
		padding: 0 1em 0 0;
		align-self: center;
	}
	#news .inside {
		border-left: 1px #fff solid;
		padding: 0 0 0 2em;
	}
	#news .links {
		width: 10em;
		text-align: right;
		margin: 0 0 0 auto;
		align-self: flex-end;
	}
} 

/* ---------------------------------------- build */

#build,
#reform { margin: 5em 0; }
.addDeco .inside { 
	padding: 1em 1em 1.25em;
	position: relative; 
}
.addDeco h2 {
	font-size: var( --clamp-24x28 );
	text-align: center;
	line-height: 1.6;
	margin: 0 0 .25em;
}
.addDeco h2 + p {
	text-align: center;
	line-height: 1.6;
}
.addDeco .inside .slideIn {
	width: 100%;
	height: 100%;
	text-align: center;
	position: absolute;
	top: 2em;
	left: 0;
	z-index: -1;
	opacity: 0;
}
.addDeco figure img {
	width: 100%;
	height: auto;
}

@media (max-width:959px) {
	.addDeco .links {
		text-align: center;
		margin: 1em 0 0;
	}
}

@media (min-width: 960px) {
	.addDeco .links {
		position: absolute;
		bottom: 1em;
		right: 0;
	}
} 

@media (max-width: 599px) {
	.addDeco .inside { padding: .3em 1em 1.95em; }
	.addDeco .inside .slideIn img {
		width: 80%;
		height: auto;
		max-height: 100%;
	}
} 

@media (min-width: 600px) and (max-width:959px) {
	.addDeco .inside .slideIn img {
		width: 70%;
		height: auto;
		max-height: 100%;
	}
} 

@media (min-width: 960px) {
	.addDeco .inside .slideIn img {
		width: auto;
		height: 100%;
	}
} 

/* ---------------------------------------- insta */

#insta { margin: 5em 0; }

/* ---------------------------------------- access */

#access { margin: 5em 0; }
#access .addDeco .inside { 
	padding: 1em 1em 5em;
}
#access .googlemap { 
	height: clamp( 300px, 30vh, 400px );
	padding: 0;
	position: relative;
	overflow: hidden;
}
#access .googlemap + .inner {
	text-align: center;
	line-height: 2;
	padding: 2em 1em;
}