@charset "utf-8";
/* 文字コード対応 */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@200;300;400;500&family=Noto+Serif+JP:wght@400;500;600&display=swap');

html {
	min-width: 1100px;
	font-size: 62.5%;
	position: relative;
	min-height: 100%;
	background: #fff;
}

body {
	min-width: 1100px;
	font-family: 'Noto Sans JP', sans-serif;
	/*font-family: 'Noto Serif JP', serif;*/
	font-size: 1.6rem;
	height: 100%;
	background: #fff;
	line-height: 1.6;
}

header {
	display: flex;
	justify-content: space-between;
	padding: 27px 40px;
	background: #F5F5F5;
}
header nav {
	display: flex;
	width: 306px;
	justify-content: space-between;

}
header nav a {
	color: #000;
	font-weight: 400;
}

footer {
	background: #000;
	color: #999;
	padding: 2em 0 1.5em;
}
.btnFlex ,
.footNavWrap {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin-top: 1.2em;
}
#fNav a ,
.copy {
	font-size: 1.2rem;
	color: #999;
}
#fNav a {
	margin-right: 3em;
}

#conteiner {
	min-height: 100vh;
	position: relative;
	box-sizing: border-box;
	background: #000;
}

section {
	overflow: hidden;
	position: relative;
	background: #fff;
}

.InnerWrap {
	width: 900px;
	padding: 0 50px;
	margin: 0 auto;
}
section .InnerWrap {
	padding-top: 77px;
	padding-bottom: 77px;
}


.spOnly ,
#spNavi {
	display: none;
}

a {
	text-decoration: none;
}
a.uLine {
	text-decoration: underline;
	color: #000;
}

a:hover {
	opacity: .7;
}

.txtLeft { text-align: left; }
.txtRight { text-align: right; }
.txtCenter { text-align: center; }
.txtRed { color: #d90000; }

.indent01 {
	margin-left: 1em;
	text-indent: -1em;
}

.mgt1em { margin-top: 1em; }
.mgt2em { margin-top: 2em; }
.mgt3em { margin-top: 3em; }
.mgt5em { margin-top: 5em; }
.mgt4em { margin-top: 4em; }
.mgb1em { margin-bottom: 1em; }
.mgb2em { margin-bottom: 2em; }
.mgb3em { margin-bottom: 3em; }
.mgb5em { margin-bottom: 3em; }
.mgh2em { margin-top: 2em; margin-bottom: 2em; }
.pdb3em { padding-bottom: 3em; }

#toTop {
	position: fixed;
	bottom: 5%;
	right: 5%;
	z-index: 100;
	width: 30px;
	height: 30px;
	cursor: pointer;
	background: url("../images/totop.svg") no-repeat;
}

/* content */

section#image {
	background: #F5F5F5;
}
section#image .InnerWrap {
	padding: 0;
}
.lottieWrap > * {
	margin: auto;
}
section#image .lead {
	margin: 3em 0;
}

section#movie .InnerWrap ,
section#graphic .InnerWrap {
	background: url("../images/bg_mov.svg") no-repeat -114px 50%;
}
section#movie:before ,
section#graphic:before {
	content: "　";
	position: absolute;
	bottom: 0;
	left: 0;
	height: 100%;
	width: calc(50% - 450px); 
	background: #F5F5F5;
}


section#web .InnerWrap {
	background: url("../images/bg_web.svg") no-repeat -171px 50%;
}
section#web:before {
	content: "　";
	position: absolute;
	bottom: 0;
	left: 0;
	height: 100%;
	width: calc(50% - 450px); 
	background: #EBEBEB;
}

section#company {
	position: relative;
	min-width: 1100px;
	border-bottom: 1px solid #000;
}
/*
section#company:after {
	content: " ";
	position: absolute;
	bottom: 0;
	right: 0;
	height: 100%;
	width: calc(50% - 450px); 
	background: url("../images/bg_company.svg") no-repeat 100% 100%;
	background-size: 143px;
	min-width: 143px;
	border: 1px solid;
}
*/
.cpList dt {
	float: left;
	width: 5.5em;
}
.cpList dd {
	margin-left: 7em;
}
.cpList dt ,
.cpList dd {
	margin-bottom: .5em;
}


section#contact {
	background: #1A1A1A;
	color: #fff;
	position: relative;
	min-width: 1100px;
	overflow: visible;
}
section#contact:after {
	content: " ";
	position: absolute;
	top: 0;
	right: 0;
	height: 100%;
	width: calc(50% - 450px); 
	background:  url("../images/bg_company.svg") no-repeat 100% 100%;
	background-size: 143px;
	min-width: 143px;
	transform: translateY(-99.9%);

}


.catBlock {
	display: flex;
}
.catBlock h2 {
	font-size: 3.4rem;
	margin: .5em 0 .4em;
	letter-spacing: 2px;
}
#company h2,
#contact h2 {
	font-size: 4.0rem;
	margin-top: -16px;
}
.catBlock h3 {
	color: #666;
	font-size: 2.0rem;
	margin: .6em 0;
	font-weight: 200;
}
.catBlock.rev {
	flex-direction: row-reverse;
}

.catBlock > div ,
.catBlock > p {
	flex-basis: 50%;
}
.catBlock.rev > div {
	box-sizing: border-box;
}
.catBlock.rev > p {
	text-align: right;
}
.catBlock.rev h2 ,
.catBlock.rev h3 {
	text-align: right;
}


form#mail_form {
}
form#mail_form dt {
	display: none;
}

form#mail_form input, 
form#mail_form textarea {
	width: 100%;
	font-size: 1.4rem;
	border: none;
	padding: .7em .4em;
	box-sizing: border-box;
	margin: .5em 0;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;

}
form#mail_form input::placeholder ,
form#mail_form textarea::placeholder {
	color: #999999;
}
form #form_submit_button {
	color: #fff;
	background: #4A4A4A;
	cursor: pointer;
}
form #form_submit_button:hover{
	opacity: .8;
}


/* anime */
.sv {
	transition: .8s;
	opacity: 0;
	transform: translateY(15px);

}
.sv.active {
	opacity: 1;
	transform: translateY(0px);
}


/* privacy */
h1.Lg {
	text-align: center;
	font-size: 4.0rem;
	font-weight: 600;
	letter-spacing: 2px;
}
dl.ppList dt {
	font-weight: 600;
}
dl.ppList dd {
	margin: .5em 0 2em;
}
