@charset "UTF-8";

*{
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}
html{
	font-size: min(62.5%, .974vw);
}
body{
	font-family: 'Roboto', 'Noto Sans JP', sans-serif;
	font-weight: 400;
	font-size: 1.4rem;
/*
	color: #433f37;
*/
	color: #222;
	position: relative;
	line-height: 1;
	-webkit-text-size-adjust: 100%;
	letter-spacing: .1em;
	background: #ececec;
}

main{
	display: block;
}
img{
	border:none;
	-webkit-backface-visibility: hidden;
}
ul,ol{
	list-style: none;
}
li{
	list-style-type: none;
}

a{
	text-decoration: none;
	color: #222;
	transition: .3s all ease;
}

.logo *,
.pic img,
.pic picture,
.pic source,
.pic a{
	display: block;
	width: 100%;
}
.pic img{
	height: 100%;
	object-fit: cover;
	font-family: "object-fit: cover;";
}
table{
	border-collapse: collapse;
	table-layout: fixed;
	width: 100%;
}

.outer{
	position: relative;
	margin-left: auto;
	margin-right: auto;
	padding-left: 2.5vw;
	padding-right: 2.5vw;
	width: 100%;
}
.inner{
	max-width: calc(1026px + 10vw);
	margin-left: auto;
	margin-right: auto;
	position: relative;
	padding-left: 5vw;
	padding-right: 5vw;
}

table{
	border-collapse: collapse;
	table-layout: fixed;
}
a{
	transition: .3s all ease;
}
.cinzel{
	font-family: 'Cinzel', serif;
	font-weight: 500;
}
.roboto{
	font-family: 'Roboto', sans-serif;
}
.futura{
	font-family: "futura-pt", sans-serif;
	font-style: normal;
}
h1,
h2,
h3,
h4,
h5,
h6{
	color: #000;
	letter-spacing: .1em;
	font-weight: 500;
}
.mincho{
	font-family: 'Noto Serif JP', serif;
}

/* ++++++++++++++++++++++
SP style
+++++++++++++++++++++++ */
@media screen and (max-width: 1026px){
	body{
		font-size: 1.4rem;
	}
}

/* ++++++++++++++++++++++
SP style
+++++++++++++++++++++++ */
@media screen and (max-width:768px){
	html{
		font-size: min(2.666vw, 62.5%);
	}
	body{
		width: 100%;
		font-size: 1.4rem;
	}
	.inner{
		width: 100%;
	}
	.outer{
		min-width: 100%;
		padding-left: 2.5rem;
		padding-right: 2.5rem;
	}
}


/* +++++++++++++++++++++++footer++++++++++++++++++++++ */
#footer{
	height: min(171px, 11.875vw);
	display: flex;
	justify-content: flex-end;
	align-items: flex-end;
	padding-bottom: 2.5vw;
}
#copyrights{
	font-weight: 400;
	font-size: 1.2rem;
/*
	transform: rotate(90deg);
	position: absolute;
	transform-origin: right top;
	bottom: 0;
	right: 0;
	height: 2.5vw;
	display: flex;
	align-items: center;
*/
	letter-spacing: .05em;
}
#page-top{
	width: 72px;
	position: absolute;
	right: 2.5vw;
	top: -36px;
}
#page-top *{
	width: 100%;
	display: block;
}

/* ++++++++++++++++++++++
SP style
+++++++++++++++++++++++ */
@media screen and (max-width: 768px){
	#footer{
		height: 9rem;
		padding-bottom: 1.5rem;
	}
	#copyrights{
		font-weight: 300;
		font-size: 1.0rem;
	}
}

@media screen and (min-width: 769px){
	.pc-none{
		display: none !important;
	}
	.pc-event-none{
		pointer-events: none;
	}
}
@media screen and (max-width: 768px){
	.sp-none{
		display: none !important;
	}
}