@import url('https://fonts.googleapis.com/css2?family=Lato:wght@300;400;500;600;700&family=Zen+Kaku+Gothic+New:wght@300;400;500;700&display=swap');


#loading-screen {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #fff;
	z-index: 100001;
	opacity: 1;
	transition: opacity 3s ease;
	pointer-events: none;
	cursor: default;
	}

#loading-screen.page {
	background-color: #fff;
	}

.fade-out {
                opacity: 0 !important;
                }

html,body{
	font-size: 14px;
	font-family: "Lato","Zen Kaku Gothic New", sans-serif;
	font-weight: 400;
	font-style: normal;
	color: #222;
	margin: 0;
	padding: 0;
	}
@media screen and (max-width: 768px) {
html,body{
	font-size: 13px;
	}
	}

/*body.en {
	font-family: "futura-pt", sans-serif !important;
	}*/


a,
a:hover{
	color: #222;
	}

.ftr{
	font-family: "futura-pt", sans-serif;
	font-style: normal;
	font-weight: 400;
	font-optical-sizing: auto;
	}

@media screen and (max-width: 768px) {
body.top {
	height: 100%;
	overflow-x: hidden;
	}
	}

*{
	box-sizing: border-box;
	text-decoration: none;
	}

.pci{
	display: inline;
	}
@media screen and (max-width: 768px) {
.pci{
	display: none;
	}
	}

.spi{
	display: none;
	}
@media screen and (max-width: 768px) {
.spi{
	display: inline;
	}
	}

img{
	vertical-align: bottom;
	}

ul,li,p,h1,h2,h3,h4{
	margin: 0;
	padding: 0;
	}

p,h1,h2,h3,h4{
	font-weight: 400;
	font-style: normal;
	}

ul,li{
	list-style: none;
	margin: 0;
	padding: 0;
	}

.black{
	color: #222;
	}
.white{
	color: #fff;
	}

@media screen and (min-width: 769px) {
.pc_black{
	color: #222;
	}
.pc_white{
	color: #fff;
	}
	}

@media screen and (max-width: 768px) {
.sp_black{
	color: #222;
	}
.sp_white{
	color: #fff;
	}
	}

/*-===============
footer
===============-*/

#footer{
	width: 100%;
	background:#fff;
	}

#footer .links{
	display: flex;
	align-items: stretch;
	justify-content: center;
	flex-wrap: nowrap;
	flex-direction: row;
	border-top: 1px solid #888;
	}
@media screen and (max-width: 768px) {
#footer .links{
	flex-wrap: wrap;
	flex-direction: clumn;
	}
	}

#footer .links div.inner{
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: center;
	}

#footer .links div.inner:last-child{
	border-left: 1px solid #888;
	}
@media screen and (max-width: 768px) {
#footer .links div.inner:last-child{
	border-top: 1px solid #888;
	border-left: none;
	}
	}

#footer .links div.inner div{
	display: flex;
	width: auto;
	align-items: flex-start;
	justify-content: center;
	flex-wrap: wrap;
	flex-direction: column;
	row-gap: 20px;
	padding: 100px 50px;
	}
@media screen and (max-width: 768px) {
#footer .links div.inner div{
	width: 86%;
	padding: 45px 0 50px 0;
	}
	}

#footer .links div.inner div p{
	font-size: 1em;
	line-height: 1.6em;
	}

#footer .links div.inner div p a{
	font-size: 1em;
	line-height: 1.6em;
	border-bottom: 1px solid #888;
	padding-bottom: 3px;
	-webkit-transition: all .6s;
	-ms-transition: all .6s;
	transition: all .6s;
	}

#footer .links div.inner div p a:hover{
	font-size: 1em;
	line-height: 1.6em;
	padding-right: 40px;
	}

#footer .sitemap{
	display: none;
	}
@media screen and (max-width: 768px) {
#footer .sitemap{
	display: block;
	width: 100%;
	padding-top: 40px;
	border-top:1px solid #888;
	}
	}

#footer .sitemap ul{
	width: 86%;
	margin: auto;
	}

#footer .sitemap ul{
	font-size: .9em;
	line-height: 2.4em;
	}

#footer .copyright{
	width: 100%;
	padding: 100px 0;
	border-top:1px solid #888;
	}
@media screen and (max-width: 768px) {
#footer .copyright{
	width: 100%;
	padding: 50px 0;
	border-top:none;
	}
	}

#footer .copyright p{
	width: 96%;
	margin: auto;
	font-size: .8em;
	line-height: 1em;
	}
@media screen and (max-width: 768px) {
#footer .copyright p{
	width: 86%;
	}
	}



/*-======================================================

inview

======================================================-*/

.ss-fadeUp{
	opacity: 0;
	transform: translate(0, 40px);
	-webkit-transition: all 1.6s ease-out;
	-moz-transition: all 1.6s ease-out;
	-ms-transition: all 1.6s ease-out;
	transition: all 1.6s ease-out;
	}
.ss-fadeUpIn{
	opacity: 1;
	transform: translate(0, 0);
	}

.ss-mtext{
                opacity: 1;
                }
.ss-mtext span{
                opacity: 0;
                }

/*-======================================================

page

======================================================-*/


/*-===============
wrapper
===============-*/

.wrapper {
	position: relative;
	width: 100%;
	display: flex;
	justify-content: flex-end;
	}
@media screen and (max-width: 768px) {
.wrapper {
	display: block;
	}
	}
