@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');





:root{
	--white: hsla(0, 0%, 100%, 1);
	--black: hsla(0, 0%, 10%, 1);

	--rem: 16px;
	--inner: 90vw;
}
@media screen and (min-width: 1920px){
	:root{
		--inner: 1728px;
	}
}
@media screen and (max-width: 768px){
	:root{
		--rem: 4.1vw;
	}
}





/**
 * 共通
 */
html{
	font-size: var(--rem);
	scroll-behavior: smooth;
	-webkit-text-size-adjust: 100%;
}
body{
	margin: 0;
	font-family: 'Noto Sans JP', sans-serif;
	font-optical-sizing: auto;
	color: var(--black);
	font-weight: 400;
	/* 100, 200, 300, 400, 500, 600, 700, 800, 900 */
	font-style: normal;
	line-height: 2;
	background-color: var(--white);
}
html,
body{
	-ms-overflow-style: none;
	scrollbar-width: none;
}
html::-webkit-scrollbar,
body::-webkit-scrollbar{
	display: none;
}
.nonei{
	display: none!important;
}
.flex{
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}
.fwn{
	flex-wrap: nowrap;
}
.jcsb{
	justify-content: space-between;
}
.jcc{
	justify-content: center;
}
.jce{
	justify-content: end;
}
.aifs{
	align-items: flex-start;
}
.aife{
	align-items: flex-end;
}
.ais{
	align-items: stretch;
}
.center{
	text-align: center;
}
.right{
	text-align: right;
}
.peni{
	pointer-events: none!important;
}
.vertical{
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}
.text_ellipsis{
	display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: hidden;
	-webkit-line-clamp: 1;
}
.text_ellipsis3{
	-webkit-line-clamp: 3;
}
.pr{
	position: relative;
}
.ofh{
	overflow: hidden;
}
.ofya{
	overflow-y: auto;
}
.ofxa{
	overflow-x: auto;
}
.vh{
	visibility: hidden;
}
.mbme{
	mix-blend-mode: exclusion;
}
.inner{
	width: var(--inner);
	margin: 0 auto;
}
.sp{
	display: none;
}
@media screen and (max-width: 768px){
	.pc{
		display: none;
	}
	.sp{
		display: block;
	}
}





section.pages ul.page_lists li.page_list{
	width: 100%;
	height: 100vh;
	margin-bottom: 40px;
}
section.pages ul.page_lists li.page_list:last-child{
	margin-bottom: 0;
}
section.pages ul.page_lists li.page_list img{
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: calc(100vh * (768/1080));
	height: 100vh;
}
@media screen and (max-width: 768px){
	section.pages ul.page_lists li.page_list{
		margin-bottom: 10.26vw;
	}
}



footer{
	padding: calc(14px * 2) 0;
}
footer .logo{
	margin-bottom: calc(14px * 2);
}
footer .logo a,
footer .logo a img{
	display: block;
}
footer .logo a{
	width: 200px;
	height: calc(200px * (192/800));
}
footer .logo a img{
	width: 100%;
	height: 100%;
}
footer .txts{
	margin-bottom: 14px;
}
footer .txts:last-child{
	margin-bottom: 0;
}
footer .txts p.name span.txt,
footer .txts p.address span.txt,
footer .copyright p span{
	display: block;
	font-size: 14px;
	color: var(--black);
	letter-spacing: 0.08em;
	font-weight: 500;
}
footer .copyright{
	margin-top: calc(14px * 2);
}
footer .copyright p span{
	margin-right: calc(14px / 2);
}
footer .copyright p span:last-child{
	margin-right: 0;
}
@media screen and (max-width: 768px){
	footer{
		padding: calc(3.59vw * 2) 0;
	}
	footer .logo{
		margin-bottom: calc(3.59vw * 2);
	}
	footer .logo a{
		width: 51.28vw;
		height: calc(51.28vw * (192/800));
	}
	footer .txts{
		margin-bottom: 3.59vw;
	}
	footer .txts p.name span.txt,
	footer .txts p.address span.txt,
	footer .copyright p span{
		font-size: 3.59vw;
	}
	footer .copyright{
		margin-top: calc(3.59vw * 2);
	}
	footer .copyright p span{
		margin-right: calc(3.59vw / 2);
	}
}