@charset "utf-8";
body{
	margin: 0;
	padding: 0;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 16px;
	box-sizing:border-box;
    animation: fadeIn 2s ease 0s 1 normal;
    -webkit-animation: fadeIn 2s ease 0s 1 normal;
}
@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

html{
	scroll-behavior: smooth;
}
.min{
	font-family: 'Noto Serif JP', serif;
}

.pc{display: block;}
.sp{display: none;}
.sp_tab{ display: none;}

p{
	line-height: 180%;
	margin: 0;
	padding: 0;
}

img{
	image-rendering: -webkit-optimize-contrast;
	vertical-align: bottom;
}
.w100{
	width: 100%;
}
.w50{
	width: 50%;
}
.w30{
	width: 31%;
}
.w25{
	width: 23%;
}
.w75{
	width: 75%;
}

.fl1{
	flex: 1;
}
.fl2{
	flex: 2;
}
.w2c{
	width: 50%;
}
.w3c{
	width: 33.3%;
}
.w3cb{
	width: 33.4%;
}
.lf{
	text-align: left;
}
.rt{
	text-align: right;
}
.cen{
	text-align: center;
}
.min{
font-family: 'Noto Serif JP', serif;
}
.red{
	color: #f00;
}
.shadow{
	box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.2);
}

h5{
	font-size: 1.6em;
	margin: 0;
	padding: 0;
}

/* header */
header {
	width: 100%;
	height: 100vh;
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}
.hd_bace{
	width:40%;
	margin: 0;
	padding: 0 5%;
}
header h1{
	font-family: 'Noto Serif JP', serif;
	margin: 0;
	padding: 0;
	font-size: 4.8em;
	line-height: 60px;
	text-align: center;
}
header h1 a{
	text-decoration: none;
}
header h1 span{
	font-size: 0.3em;
}

ul.navibox{
	width: 100%;
	margin: 0;
	padding: 0;
	display:flex;
	justify-content: center;
	flex-wrap: wrap;
	align-items: center;
}
ul.navibox li{
	list-style: none;
	margin: 0;
	padding: 0;
}

.bnavi{
	min-width: 160px;
	text-align: center;
	border: 1px solid #000;
	font-family: 'Noto Serif JP', serif;
	margin: 10px 10px 0 0;
}
.bnavi a{
	padding:0;
	text-decoration: none;
	color: #333;
	font-weight: bold;
	font-size: 1.3em;
	line-height: 50px;
	display: block;
}

/* slide */
.slidebace {
	width: 50%;
	overflow: hidden;
	margin: 0;
	padding:0;
	background: #efefef;
}

.slidebace img{
	width: 100%;
  height: 100vh;
	object-fit: cover;
}
a#scl01{
scroll-margin-top: 80px;
}

/* page */
.pagebace{
	max-width: 1120px;
	margin: 0 auto;
	padding: 0;
}

/* contents1 */
.conbace01{
	padding:80px 2%;
}
.conbace01 h3{
	font-size: 2.4em;
	text-align: center;
	margin: 0 0 20px 0;
	padding: 0;
	
}


/* flexbox */
.flb{
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	padding: 0;
}
.alc{
	align-items: center;
}
.ale{
	align-items: flex-end;
}
.flb li{
	list-style: none;
	padding: 0;
}
.fstart{
	justify-content: flex-start;
}
.fcenter{
	justify-content: center;
}
.fbetween{
	justify-content:space-between;
}
.fend{
	justify-content: flex-end;
}

/* gallery */
.g01{
	width: 21%;
	margin: 0 2% 50px 2%;
	padding:0;
	vertical-align: bottom;
}
.g01 img{
	width: 100%;
	height: auto;
}
.imgbox{
	max-width: 500px;
	overflow: hidden;
}
.imgbox img{
 transition:0.8s all;
}
.imgbox img:hover{
  transform:scale(1.15,1.15);
  transition:0.8s all;
}
.caption{
	margin: 0;
	padding: 0;
}
.caption h4{
	margin: 15px 0 5px 0;
	padding: 0;
	line-height: 150%;
	font-family: 'Noto Serif JP', serif;
}
.caption p{
	margin: 0;
	padding: 0;
	line-height: normal;
}
.caption .data{
	margin: 0px 0px 0 5px
}

/* pa */
ul.pa{
	max-width: 700px;
	background-color: #efefef;
	padding: 20px;
	margin: 0 auto;
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	align-items: center;
}
ul.pa li{
	list-style: none;
	margin: 0;
}
ul.pa img{
	width: 100%;
	height: auto;
}
ul.pa li p{
	font-size: 0.8em;
}

.paimg{
	max-width: 280px;
}
.pawt{
	flex: 1;
	padding:0 0 0 20px;
}

.pa_link{
	text-align: center;
	display: block;
	margin-top: 15px;
	background-color: #fff;
	font-size: 0.8em;
}
.pa_link a{
	border: 1px solid #333;
	padding: 10px;
	display: block;
	text-decoration: none;
	color: #333;
	font-weight: bold;
	transition: all 0.3s;
}
.pa_link a:hover{
	opacity: 0.5;
}


/* footer */
footer{
	color: #333;
	background: #efefef;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}	
.ft_bace{
	padding: 10px;
	color: #333;
}
.copyright{
	padding: 10px;
	color: #333;
}

/* fade */
.view{
opacity : 0;
transform : translate(0, 70px);
transition : all 500ms;
}
.view.scrollin{
opacity : 1;
transform : translate(0, 0);
}

/** 一部調整 **/
@media screen and (max-width: 1024px) {
	header h1{
	font-size: 4.0em;
	line-height: 40px;
	text-align: center;
}
}

/** モバイル **/
@media screen and (max-width: 768px) {
.spacer { width: 100%; }	
.pc{display: none;}
.sp{display: block;}
	
.w50{
	width: 100%;
}
.w30{
	width: 100%;
}
.w25{
	width: 100%;
}
.w75{
	width: 100%;
}
	
.w2c{
	width: 100%;
}
.w3c{
	width: 100%;
}
.w3cb{
	width: 100%;
}

/* header */
.hd_bace{
	width:96%;
	margin: 0;
	padding: 0 2%;
	height: 17vh;
}
header h1{
	margin: 15px 0 0 0;
	font-size: 1.4em;
	line-height: 20px;

}
header h1 span{
	font-size: 0.6em;
}
ul.navibox{
	width: 80%;
	margin: 10px auto 0 auto;
	justify-content:space-between;
}
ul.navibox li{
	list-style: none;
	margin: 0;
	padding: 0;
	width: 46%;
}

.bnavi{
	margin: 0;
	min-width: auto;
}
.bnavi a{
	font-size: 1.1em;
	line-height:32px;
}
	
/* slide */
.slidebace {
	width: 100%;
}

.slidebace img{
	width: 100%;
  height: 83vh;
	object-fit: cover;
}
	
/* gallery */
.g01{
	width: 46%;
	margin: 0 2% 50px 2%;
}
.caption h4{
	font-size: 0.8em;
}
.caption p{
	font-size: 0.8em;
	}
	
/* footer */
footer{
	padding: 10px 0;
}	
.ft_bace{
	padding: 0 0;
	font-size: 0.8em;
	text-align: center;
	width: 100%;
}
.copyright{
	font-size: 0.8em;
	text-align: center;
	width: 100%;
	padding: 0 0;
	color: #333;
}
	
/* pa */
ul.pa{
	max-width: 500px;
	margin: 0 auto;
}
ul.pa li{
	width: 100%;
	list-style: none;
	margin: 0;
}
ul.pa img{
	width: 100%;
	height: auto;
}
.paimg{
	max-width: 100%;
	text-align: center;
}
.pawt{
	padding:15px 0 0 0;
}
	
}