@charset "utf-8";
/* CSS Document */

html{
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", 'Noto Sans JP', sans-serif;
	font-feature-settings: "palt";
	font-size: 14px;
	line-height: 1.8;
	letter-spacing: 0.12em;
	color: #ccc;
	background-color: #000;
	}

body{
	margin:0;
	min-width:1300px;
	-webkit-text-size-adjust: none;
	background-image: url("../img/bg.png");
	background-position: top center;
	background-attachment: fixed;
	background-size: cover;
	background-repeat: no-repeat;
	}	

/*common
------------------------------------------*/
h1,h2,h3,h4,h5,ul,li,dl,dt,dd,table,figure,address,p{
	border-collapse:collapse;
	list-style:none;
	font-style: normal;
	margin:0;
	padding:0;
	}

*{
	box-sizing:border-box;
	}

img{
	border:none;
	vertical-align:middle;
	max-width:100%;
	transition: .3s;
	}

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

a:hover{
	opacity: 0.6;
	}

a.btn01{
	display: inline-block;
	padding: 15px 30px;
	position: relative;
	color: #fff;
	font-size: 14px;
	}

a.btn01:hover{
	opacity: 1;
	background-color: rgba(0,0,0,0.7);
	}

a.btn01:after,
a.btn01:before{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	border: 1px solid #fff;
	-webkit-transition: -webkit-transform 0.3s;
	transition: -webkit-transform 0.3s;
	transition: transform 0.3s;
	transition: transform 0.3s, -webkit-transform 0.3s;
	}

a.btn01:after{
	transform: translate(2px, 2px);
	}

a.btn01:before{
	transform: translate(-2px, -2px);
	}

a.btn01:hover:after,
a.btn01:hover:before{
	transform: translate(0);
	}

a.btn02{
	display: inline-block;
	background-color: #920e14;
	padding: 15px 30px;
	position: relative;
	color: #fff;
	font-size: 14px;
	}

a.btn02::after{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	border: 1px solid #920e14;
	transform: translate(4px, 4px);
	-webkit-transition: -webkit-transform 0.3s;
	transition: -webkit-transform 0.3s;
	transition: transform 0.3s;
	transition: transform 0.3s, -webkit-transform 0.3s;
	}

a.btn02:hover{
	transform: translate(4px,4px);
	opacity: 1;
	background-color: #000;
	}

a.btn02:hover::after{
	transform: translate(0);
	border-color: #000;
	}

.alignL{text-align:left;}
.alignR{text-align:right;}
.alignC{text-align:center;}
.inner{ max-width:1200px; margin:0 auto; position:relative; }
.fr{ float:right;}
.fl{ float:left;}
img.fr,figure.fr{ width:40%; margin:0 0 20px 20px;}
img.fl,figure.fl{ width:40%; margin:0 20px 20px 0;}
.mt10{ margin-top: 10px;}
.mt20{ margin-top: 20px;}
.mt30{ margin-top: 30px;}
.mt40{ margin-top: 40px;}
.mt50{ margin-top: 50px;}

.clear{ clear:both;}

.cf:after{
	content:"";
	display:block;
	clear:both;
	}

.flex{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	}

p + p{
	margin-top: 20px;
	}

section.bg_ptn{
	background: url(../img/ptn_01.png);
	}

@font-face{ font-family: "BebasNeue"; src: url(../font/BebasNeue.woff) format("woff"); }


/*loader
------------------------------------------------------------*/
#loader{
	width: 100%;
	height: 100%;
	background: #000;
	text-align: center;
	position: fixed;
	z-index: 99999;
	top: 0;
	left: 0;
	}

#loader div{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit- transform: translateY(-50%) translateX(-50%);
	}


/*pagetop
------------------------------------------*/
.pagetop{
	display: none;
	position: fixed;
	bottom: 50px;
	right: 50px;
	z-index: 10;
	}

.pagetop img{
	height: 10px;
	}

.pagetop a{
	line-height: 50px;
	width: 50px;
	border: 1px solid #fff;
	display: block;
	text-align: center;
	transition: .3s;
	}

.pagetop a:hover{
	opacity: .6;
	}


/*header
------------------------------------------*/
header{
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 30px;
	width: 100%;
	position: fixed;
	z-index: 99999;
	transition: .3s;
	}

header.bg{
	background-color: rgba(0,0,0,0.5);
	padding: 10px 30px;
	}

header img{
	height: 32px;
	}

header nav ul li{
	font-size: 12px;
	margin-left: 40px;
	color: #666;
	}

header nav ul li a{
	color: #fff;
	position: relative;
	display: inline-block;
	}

header nav ul li a:hover{
	opacity: 1;
	color: #999;
	}

header nav ul li a::after{
	position: absolute;
	bottom: -3px;
	left: 0;
	content: '';
	width: 100%;
	height: 1px;
	background: #999;
	transform: scale(0, 1);
	transform-origin: right top;
	transition: transform .3s;
	}

header nav ul li a:hover::after{
	transform-origin: left top;
	transform: scale(1, 1);
	}

header nav ul li.ac a::after{
	position: absolute;
	bottom: -3px;
	left: 0;
	content: '';
	width: 100%;
	height: 1px;
	background: #999;
	transform: scale(1);
	}

.navBtn,
#open{
	display:none;
	}


/*footer
------------------------------------------*/
footer{
	background-color: #161616;
	padding: 50px 0;
	}

footer ul{
	width: 370px;
	position: relative;
	}

footer ul li a{
	color: #fff;
	}

footer ul li{
	font-size: 16px;
	margin-bottom: 5px;
	}

footer ul li:nth-child(2){
	position: absolute;
	right: 0;
	top: 0;
	}

footer ul li dd{
	font-size: 14px;
	}

footer ul li dd a{
	color: #ccc;
	}

footer ul li dd::before{
	content: "-";
	margin-right: 10px;
	}

footer img{
	height: 45px;
	}

footer address{
	margin-top: 20px;
	font-size: 12px;
	}

footer address span{
	display: block;
	font-size: 140%;
	margin-bottom: 10px;
	}

#copyright{
	background-color: #000;
	color: #666;
	font-size: 12px;
	padding: 20px 0;
	}

#copyright ul li{
	display: inline-block;
	margin-right: 30px;
	}

#copyright ul li a{
	color: #666;
	}


/*top
------------------------------------------*/
main{
	display: block;
	width: 100%;
	height: 100vh;
	background: url(../img/kv_bg.png) no-repeat center top;
	background-size: cover;
	position: relative;
	-webkit-animation: main 1.5s ease 0s ;
	animation: main 1.5s ease 0s ;
	margin-bottom: 100px;
	}

main .catch{
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%) translateX(0);
	-webkit- transform: translateY(-50%) translateX(0);
	text-align: center;
	width: 100%;
	}

main .catch h2{
	font-family: BebasNeue;
	font-weight: normal;
	font-size: 60px;
	line-height: 1;
	letter-spacing: 5px;
	color: #fff;
	-webkit-animation: catch01 1.5s ease 0s ;
	animation: catch01 1.5s ease 0s ;
	}

main .catch p{
	font-size: 16px;
	line-height: 2;
	margin-top: 30px;
	-webkit-animation: catch02 1.5s ease 0s ;
	animation: catch02 1.5s ease 0s ;
	}

main .catch p + p{
	margin-top: 60px;
	}

main .scroll{
	position: absolute;
	left: 50%;
	bottom: 60px;
	height: 60px;
	color: #fff;
	}

main .scroll p{
	font-size: 12px;
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
	margin: 0 0 0 -22px;
	}

main .scroll .scrollBorder{
	width: 1px;
	height: 60px;
	margin-top: 30px;
	background-color: #fff;
	position: relative;
	overflow: hidden;
	}

main .scroll .scrollBorder::before{
	content: "";
	width: 2px;
	height: 100px;
	margin: 50px auto 0;
	background-color: #000;
	position: absolute;
	top: -150px;
	left: 0;
	-webkit-animation: scrollBorder 2.5s ease 0s infinite normal;
	animation: scrollBorder 2.5s ease 0s infinite normal;
	}

@keyframes main{
  0%{
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
	opacity: 0;
  }

  100%{
    -webkit-transform: scale(1.0);
    transform: scale(1.0);
	opacity: 1;
  }
}

@keyframes catch01{
  0%{
    -webkit-transform;
    transform: translateY(-20px);
  }

  100%{
    -webkit-transform: scale(1.0);
    transform: translateY(0);
  }
}

@keyframes catch02{
  0%{
    -webkit-transform;
    transform: translateY(20px);
  }

  100%{
    -webkit-transform: scale(1.0);
    transform: translateY(0);
  }
}

@keyframes scrollBorder{
  0%{
    -webkit-transform: translate3d(-50%, 0, 0);
    transform: translate3d(-50%, 0, 0);
  }

  60%{
    -webkit-transform: translate3d(-50%, 100px, 0);
    transform: translate3d(-50%, 100px, 0);
  }

  100%{
    -webkit-transform: translate3d(-50%, 100px, 0);
    transform: translate3d(-50%, 100px, 0);
  }
}

.wrap{
	overflow: hidden;
	}

#home01{
	position: relative;
	padding-top: 100px;
	height: 860px;
	overflow: hidden;
	}

#home01::before{
	content: "";
	display: block;
	width: 75%;
	height: 650px;
	background: url(../img/ptn_01.png);
	position: absolute;
	left: 0;
	top: 0;
	}

#home01 h2{
	text-align: center;
	font-size: 80px;
	font-family: BebasNeue;
	font-weight: normal;
	letter-spacing: 5px;
	color: #fff;
	position: relative;
	margin-bottom: 170px;
	}

#home01 h2::after{
	content: "";
	width: 50px;
	height: 1px;
	background-color: #d7c378;
	position: absolute;
	left: 50%;
	bottom: 0;
	margin-left: -25px;
	}

#home01 h3,
#home02 h3,
#home03 h3{
	font-size: 34px;
	color: #fff;
	margin-bottom: 40px;
	}

#home01 h3 span,
#home02 h3 span,
#home03 h3 span{
	display: block;
	font-size: 30%;
	color: #d7c378;
	}

#home01 .inner{
	z-index: 1;
	}

#home01 .inner p{
	width: 600px;
	}

#home01 figure{
	width: 2000px;
	text-align: right;
	position: absolute;
	left: 50%;
	bottom: 0;
	margin-left: -1000px;
	}

#home02{
	padding: 160px 0;
	position: relative;
	}

#home02::before{
	content: "";
	display: block;
	width: 75%;
	height: 650px;
	background: url(../img/ptn_01.png);
	position: absolute;
	right: 0;
	bottom: 0;
	}

#home02 .inner{
	align-items: flex-end;
	}

#home02 .inner div{
	flex-basis: 500px;
	}

#home03{
	background: url(../img/ptn_01.png);
	margin-top: 200px;
	}

#home03 .inner{
	text-align: center;
	bottom: -100px;
	}

#home03 .inner figure{
	margin-top: 80px;
	}

#home04{
	text-align: center;
	margin: 300px 0 200px;
	}

#home04 h4{
	font-size: 28px;
	font-weight: normal;
	text-shadow: 1px 0px 0 rgba(255, 255, 255, 1);
	color: #fff;
	margin-bottom: 30px;
	}

#home04 ul{
	width: 900px;
	margin: 60px auto;
	}

#home04 ul li{
	flex-basis: 250px;
	}

#home04 ul li h5{
	font-size: 18px;
	color: #fff;
	margin-top: 10px;
	}

#home04 ul li p{
	font-size: 12px;
	}

#home05{
	position: relative;
	overflow: hidden;
	padding: 140px 0;
	}

#home05::after{
	content: url(../img/home_05.jpg);
	position: absolute;
	top: 0;
	left: 50%;
	width: 2000px;
	z-index: -1;
	margin-left: -1000px;
	transition: .3s;
	}

#home05:hover::after{
	transform: scale(1.02);
	}

#home05 .flex{
	justify-content: flex-start;
	}

#home05 h2{
	font-family: BebasNeue;
	font-weight: normal;
	font-size: 80px;
	line-height: 1;
	letter-spacing: 5px;
	color: #fff;
	margin-right: 60px;
	padding-right: 60px;
	border-right: 1px solid #fff;
	}

#home05 p .btn01{
	margin-top: 30px;
	width: 200px;
	text-align: center;
	}

#home06 h2{
	font-family: BebasNeue;
	font-weight: normal;
	font-size: 80px;
	line-height: 1;
	letter-spacing: 5px;
	color: #fff;
	margin-bottom: 50px;
	}

#home06 ul li{
	position: relative;
	overflow: hidden;
	flex-basis: 50%;
	}

#home06 ul li:hover img{
	transform: scale(1.02);
	}

#home06 ul li div{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit- transform: translateY(-50%) translateX(-50%);
	z-index: 1;
	text-align: center;
	}

#home06 ul li div a.btn01{
	width: 200px;
	text-align: center;
	}

#home07{
	padding: 130px 0;
	background-color: #000;
	}

#home07 .flex{
	justify-content: flex-start;
	}

#home07 h2{
	font-family: BebasNeue;
	font-weight: normal;
	font-size: 60px;
	line-height: 1;
	letter-spacing: 5px;
	color: #fff;
	margin-right: 60px;
	padding-right: 60px;
	border-right: 1px solid #fff;
	}

#home07 dl dt{
	float: left;
	}

#home07 dl dd{
	padding: 0 0 20px 120px;
	}

#home07 dl dd:last-child{
	padding-bottom: 0;
	}

#cta{
	background: url(../img/cta_bg.jpg) no-repeat center;
	background-size: cover;
	color: #000;
	text-align: center;
	line-height: 1;
	padding: 70px 0;
	}

#cta h2{
	font-size: 20px;
	display: inline-block;
	border-bottom: 1px solid #000;
	padding-bottom: 5px;
	}

#cta ul.flex{
	justify-content: center;
	align-items: center;
	}

#cta ul li{
	color: #666;
	margin: 50px 30px 0;
	}

#cta ul li .btn02{
	font-size: 20px;
	font-weight: bold;
	padding: 25px 50px;
	}

#cta ul li span{
	display: block;
	color: #920e14;
	font-size: 44px;
	font-weight: bold;
	}


/*sub
------------------------------------------*/
#title{
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	position: relative;
	}

#title .inner{
	padding: 200px 0;
	background-color: rgba(0,0,0,0.7);
	max-width: 100%;
	}

#title h2{
	text-align: center;
	font-size: 80px;
	font-family: BebasNeue;
	font-weight: normal;
	line-height: 1;
	letter-spacing: 5px;
	color: #fff;
	position: relative;
	padding-bottom: 30px;
	}

#title h2 span{
	display: block;
	font-size: 30%;
	line-height: 1.8;
	}

#title h2::after{
	content: "";
	width: 50px;
	height: 1px;
	background-color: #d7c378;
	position: absolute;
	left: 50%;
	bottom: 0;
	margin-left: -25px;
	}

ul#pankuzu{
	position: absolute;
	left: 20px;
	bottom: 20px;
	}

ul#pankuzu li{
	display: table-cell;
	font-size: 12px;
	}

ul#pankuzu li:not(:first-child)::before{
	content: "/";
	margin: 0 10px;
	}

ul#pankuzu li a{
	color: #ccc;
	}

#sub h3{
	font-size: 40px;
	line-height: 1;
	text-align: center;
	color: #fff;
	margin-bottom: 50px;
	}

#sub h3 span{
	display: block;
	font-size: 30%;
	color: #d7c378;
	}

#sub h4{
	font-size: 24px;
	color: #fff;
	margin-bottom: 10px;
	}

#sub h5{
	font-size: 18px;
	color: #fff;
	}

#sub section:not(#title):not(#cta):not(#copyright){
	padding: 150px 0;
	}

/*about*/
#title.about{
	background-image: url(../about/img/about_title.jpg);
	}
	
#about01 p{
	font-size: 16px;
	}

#about01 dt{
	flex-basis: 240px;
	font-family: BebasNeue;
	font-weight: normal;
	font-size: 60px;
	line-height: 1;
	color: #fff;
	}

#about01 dd{
	flex-basis: calc(100% - 240px);
	padding-left: 80px;
	border-left: 1px solid #fff;
	}

#about01 h3{
	font-size: 38px;
	text-align: left;
	line-height: 1.8;
	}

#about01 h4{
	margin-top: 20px;
	}

#about01 h4 span{
	font-size: 50%;
	margin-left: 10px;
	color: #d7c378;
	}

#about01 dl + dl{
	margin-top: 150px;
	}

#about02{
	background: url(../about/img/about_01.jpg) no-repeat center top #000;
	text-align: center;
	text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.8);
	}

#about02 p{
	font-size: 20px;
	}

#about02 p strong{
	font-size: 22px;
	line-height: 2;
	color: #fff;
	}


/*message*/
#title.message{
	background-image: url(../message/img/message_title.jpg);
	background-position: center bottom;
	}

#message01 .inner{
	max-width: 800px;
	font-size: 16px;
	line-height: 2;
	}

/*service*/
#title.service{
	background-image: url(../service/img/service_title.jpg);
	}

#service01,
#service02{
	text-align: center;
	}

#service01 figure,
#service02 figure{
	margin-top: 80px;
	}

#service03 ul + ul{
	margin-top: 50px;
	}

#service03 ul li{
	flex-basis: 570px;
	position: relative;
	}

#service03 ul li a{
	display: block;
	}

#service03 ul li a:hover{
	opacity: 1;
	}

#service03 ul li a::before{
	content: "";
	display: block;
	width: 550px;
	height: 410px;
	border: 1px solid #ccc;
	position: absolute;
	top: 52%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit- transform: translateY(-50%) translateX(-50%);
	opacity: 0;
	transition: .3s;
	z-index: 1;
	}

#service03 ul li a:hover::before{
	opacity: 1;
	top: 50%;
	}

#service03 ul li a div{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit- transform: translateY(-50%) translateX(-50%);
	z-index: 1;
	width: 80%;
	}

#service03 ul li a div h4{
	text-align: center;
	font-size: 28px;
	transform: translateY(50px);
	transition: .3s;
	}

#service03 ul li a:hover div h4{
	transform: translateY(0);
	}

#service03 ul li a div p{
	transform: translateY(50px);
	transition: .4s;
	}

#service03 ul li a div p span{
	opacity: 0;
	transition: .4s;
	}

#service03 ul li a:hover div p{
	transform: translateY(0);
	}

#service03 ul li a:hover div p span{
	opacity: 1;
	}

#service03 ul li a figure{
	overflow: hidden;
	}

#service03 ul li a:hover figure img{
	transform: scale(1.05);
	}

#service03 ul li a span.more{
	position: absolute;
	right: 25px;
	bottom: 20px;
	z-index: 1;
	opacity: 0;
	transform: translateY(10px);
	transition: .5s;
	}

#service03 ul li a span.more::after{
	content: "";
	display: inline-block;
	width: 3px;
	height: 3px;
	border-top: 1px solid #ccc;
	border-right: 1px solid #ccc;
	transform: rotate(45deg);
	vertical-align: middle;
	margin-left: 5px;
	}

#service03 ul li a:hover span.more{
	opacity: 1;
	transform: translateY(0);
	}

#title.service-recruit{
	background-image: url(../service/img/recruit_title.jpg);
	}

#service-recruit01,
#service-recruit02{
	text-align: center;
	}

#service-recruit01 figure{
	margin-top: 80px;
	}

#service-recruit01 h3{
	line-height: 1.8;
	}

#service-recruit02 h4{
	margin: 50px 0;
	}

#service-recruit03 ul.flex li{
	flex-basis: 48%;
	margin-bottom: 50px;
	padding: 40px;
	background: url(../img/ptn_01.png);
	}

#service-recruit03 ul.flex li h4{
	text-align: center;
	line-height: 1;
	margin-bottom: 30px;
	}

#service-recruit03 ul.flex li figure{
	margin-top: 30px;
	text-align: center;
	}

#title.service-hr{
	background-image: url(../service/img/hr_title.jpg);
	}

#service-hr01,
#service-hr02,
#service-hr03{
	text-align: center;
	}

#service-hr01 figure,
#service-hr02 figure,
#service-hr03 figure{
	margin-top: 60px;
	}

#title.service-creative {
	background-image: url(../service/img/creative_title.jpg);
	}

#service-creative01,
#service-creative02{
	text-align: center;
	}

#service-creative01 h3{
	line-height: 1.8;
	}

#service-creative01 ul{
	position: relative;
	}

#service-creative01 ul::after{
	content: "";
	border: 1px dashed #fff;
	width: 1000px;
	height: 230px;
	position: absolute;
	top: 130px;
	left: 100px;
	z-index: -1;
	}

#service-creative01 ul li{
	flex-basis: 22%;
	border: 1px solid #fff;
	background-color: #000;
	padding: 20px;
	margin-top: 50px;
	font-size: 12px;
	}

#service-creative01 ul li strong{
	display: block;
	text-align: center;
	color: #fff;
	font-size: 140%;
	}

#service-creative01 ul.flex li figure{
	display: block;
	text-align: center;
	margin-bottom: 10px;
	}

#service-creative01 ul li figure img{
	height: 50px;
	}

#service-creative02 figure{
	margin-top: 60px;
	}

#service-creative03 ul li{
	flex-basis: 48%;
	padding: 40px;
    background: url(../img/ptn_01.png);
	}

#service-creative03 ul li h4{
	text-align: center;
	}

#service-creative03 ul li figure{
	margin-top: 30px;
	}

#service-creative04 ul li{
	flex-basis: 48%;
	}

#title.service-other{
	background-image: url(../service/img/other_title.jpg);
	}

#service-other01{
	position: relative;
	}

#service-other01 h3{
	line-height: 1.8;
	}

#service-other01 h4{
	font-size: 30px;
	}

#service-other01 ul.flex{
	margin-top: 100px;
	}

#service-other01 ul.flex li{
	flex-basis: 48%;
	}

#service-other01 ul.bg{
	position: relative;
	}

#service-other01::before,
#service-other01::after{
	content: "";
	display: block;
	width: 70%;
	height: 500px;
	background: url(../img/ptn_01.png);
	position: absolute;
	z-index: -1;
	}

#service-other01::before{
	right: 0;
	top: 30%;
	}

#service-other01::after{
	left: 0;
	bottom: -100px;
	}

/*company*/

#title.company{
	background-image: url(../company/img/company_title.jpg);
	}

#company-profile dl{
	font-size: 16px;
	border-top: 1px solid #333;
	padding-top: 20px;
	margin-bottom: 100px;
	}

#company-profile dl dt{
	float: left;
	color: #fff;
	}

#company-profile dl dd{
	padding: 0 0 20px 200px;
	margin-bottom: 20px;
	border-bottom: 1px solid #333;
	}

/*recruit*/

#title.recruit{
	background-image: url(../recruit/img/recruit_title.jpg);
	}

#recruit01 h4{
	text-align: center;
	}

#recruit01 h4 span{
	text-align: center;
	color: #d7c378;
	}

#recruit02 ul li{
	flex-basis: 48%;
	margin-bottom: 30px;
	}

#recruit02 ul li a{
	display: flex;
	justify-content: space-between;
	align-items: center;
	border: 1px solid #fff;
	padding: 20px;
	}

#recruit02.jobList{
	padding: 50px 0 !important;
	}

#recruit02.jobList h4{
	text-align: center;
	margin-bottom: 40px;
	}

#recruit02.jobList ul li{
	flex-basis: 24%;
	margin-bottom: 20px;
	}

#recruit02 ul li a:hover{
	background-color: rgba(0,0,0,0.8);
	}

#recruit02 ul li a::after{
	content: "";
	display: block;
	width: 8px;
	height: 8px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	transform: rotate(45deg);
	}

#recruit02 ul li p{
	flex-basis: 430px;
	min-height: 110px;
	}

#recruit02 ul li strong{
	display: block;
	font-size: 120%;
	color: #fff;
	}

#recruit02 ul li figure{
	text-align: center;
	}

#recruit02 ul li img{
	height: 50px;
	}

#guideline h4{
	text-align: center;
	margin-bottom: 50px;
	position: relative;
	}

#guideline h4::after{
	content: "";
	width: 1px;
	height: 40px;
	background-color: #333;
	position: absolute;
	left: 50%;
	bottom: -50px;
	}

#guideline table{
	position: relative;
	}

#guideline table::after{
	content: "";
	width: 1px;
	height: 40px;
	background-color: #333;
	position: absolute;
	left: 50%;
	bottom: -40px;
	}

#guideline .btn01{
	width: 500px;
	margin-top: 50px;
	padding: 30px;
	}

/*contact*/

#title.contact{
	background-image: url(../contact/img/contact_title.jpg);
	}

#form h3{
	font-size: 20px;
	color: #ccc;
	background: url(../img/ptn_01.png);
	padding: 20px;
	}

#form dl{
	margin-top: 40px;
	}

#form dl dt{
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	margin-bottom: 5px;
	}

#form dl dd{
	margin-bottom: 30px;
	}

#form .inner{
	max-width: 900px;
	}

#form .notice{
	border: 1px solid #ccc;
	padding: 20px;
	margin-top: 50px;
	}

#form .notice strong{
	font-size: 120%;
	}

/*sitemap*/

#title.sitemap{
	background-image: url(../sitemap/img/sitemap_title.jpg);
	}

#sitemap01 .inner{
	max-width: 900px;
	}

#sitemap01 ul{
	position: relative;
	}

#sitemap01 ul li{
	margin-bottom: 10px;
	}

#sitemap01 ul li.service{
	position: absolute;
	top: 0;
	left: 40%;
	}

#sitemap01 ul li.recruit{
	position: absolute;
	top: 0;
	right: 0;
	}

#sitemap01 ul li > a,
#sitemap01 ul li dt a{
	font-size: 16px;
	font-weight: bold;
	}

#sitemap01 ul li dd::before{
	content: "-";
	margin: 0 10px;
	}

/*privacy*/

#title.privacy{
	background-image: url(../privacy/img/privacy_title.jpg);
	}

#privacy01 .inner{
	max-width: 900px;
	}

#privacy01 h4{
	margin-top: 30px;
	}

#privacy01 h5{
	margin-top: 20px;
	}

ul.disc li{
	list-style: disc;
	margin-left: 20px;
	}

ul.decimal li{
	list-style: decimal;
	margin-left: 30px;
	}

table{
	width: 100%;
	}

table td,
table th{
	border: 1px solid #333;
	background-color: rgba(0,0,0,0.5);
	padding: 30px;
	}

table th{
	background: url(../img/ptn_01.png);
	width: 20%;
	}


/*form
------------------------------------------*/
form dt span{
	font-weight: normal;
	display: inline-block;
	margin-left: 10px;
	font-size: 10px;
	line-height: 1;
	background: #920e14;
	padding: 5px;
	vertical-align: middle;
	}

form input{
	border: none;
	background-color: #333;
	padding: 12px;
	}

form label{
	display: inline-block;
	}

form select{
	padding: 10px;
	margin-right: 5px;
	border: none;
	cursor: pointer;
	}

form input::placeholder{
	color: #666;
	}

form input[type="text"]{
	width:100%;
	color: #fff;
	}

form input[type="text"].birthday{
	width:150px;
	}

form input[type="checkbox"]{
	margin-right: 5px;
	}

form input[type="radio"]{
	margin-right: 5px;
	}

form input[type="submit"]{
	width:300px;
	height:60px;
	background-color: #920e14;
	border: none;
	color: #fff;
	cursor: pointer;
	transition: .3s;
	font-size: 120%;
	font-weight: bold;
	}

form input[type="submit"]:hover{
	opacity: 0.6;
	}

form textarea{
	width:100%;
	height:150px;
	border: none;
	padding: 10px;
	background-color: #333;
	color: #fff;
	}


/*news
------------------------------------------*/
#title.news {
    background-image: url(../news/img/news_title.jpg);
}


/*SP
================================================================================================================================*/
@media screen and (max-width: 480px){

/*common
------------------------------------------*/
body{
	min-width:initial;
	}

a.btn01{
	padding: 15px 25px;
	display: block;
	text-align: center;
	}

/*pagetop
------------------------------------------*/
.pagetop{
	bottom: 20px;
	right: 20px;
	}

.pagetop img{
	height: 5px;
	}

.pagetop a{
	line-height: 30px;
	width: 30px;
	}


/*header
------------------------------------------*/
header{
	display: block;
	padding: 0;
	}

header.bg{
	padding: 0;
	}

header h1{
	margin: 10px;
	display: inline-block;
	}

header nav{
	display: none;
	}

header nav ul.flex{
	background-color: rgba(0,0,0,0.9);
	position: absolute;
	top: 0;
	left: 0;
	height: 100vh;
	align-content: center;
	}

header nav ul li{
	font-size: 26px;
	font-weight: bold;
	margin-left: 0;
	padding: 10px;
	flex-basis: 100%;
	text-align: center;
	}

header nav ul li a::after{
	content: none;
	}


/*footer
------------------------------------------*/
footer{
	padding: 0;
	}

footer ul{
	width: 100%;
	}

footer ul li{
	font-size: 14px;
	margin-bottom: 0;
	border-bottom: 1px solid #ccc;
	}

footer ul li a{
	display: block;
	padding: 10px 15px;
	position: relative;
	}

footer ul li a::after{
	content: "";
	display: block;
	width: 3px;
	height: 3px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	position: absolute;
	right: 15px;
	top: 50%;
	transform: rotate(45deg);
	margin-top: -3px;
	}

footer ul li:nth-child(2){
	position: static;
	}

footer ul li dl dd{
	display: none;
	}

footer .inner div{
	padding: 30px;
	text-align: center;
	flex-basis: 100%;
	}

#copyright{
	padding: 15px;
	font-size: 9px;
	}

#copyright ul li{
	margin-right: 10px;
	}



/*top
------------------------------------------*/
main{
	margin-bottom: 0;
	}

main .catch{
	top: 40%;
	transform: translateY(-40%) translateX(0);
	-webkit- transform: translateY(-40%) translateX(0);
	}

main .catch p{
	padding: 0 30px;
	text-align: left;
	}

main .catch p br{
	display: none;
	}

main .catch h2{
	font-size: 50px;
	}

main .scroll{
	bottom: 15%;
	}

main .scroll p{
	display: none;
	}

#home01{
	padding: 30px;
	height: auto;
	}

#home01::before{
	content: none;
	}

#home01 h2{
	font-size: 30px;
	margin-bottom: 30px;
	}

#home01 h3,
#home02 h3,
#home03 h3{
	font-size: 20px;
	text-align: center;
	margin-bottom: 20px;
	}

#home01 .inner{
	z-index: 1;
	}

#home01 .inner p{
	width: initial;
	}

#home01 figure{
	width: initial;
	position: static;
	margin: 20px 0 0;
	}

#home02{
	padding: 0;
	background: url(../img/home_02.jpg) no-repeat center;
	background-size: cover;
	}

#home02::before{
	content: none;
	}

#home02 .inner figure{
	display: none;
	}

#home02 .inner div{
	flex-basis: 100%;
	padding: 30px;
	background-color: rgba(0,0,0,0.7);
	}

#home03{
	background: none;
	margin-top: 30px;
	}

#home03 .inner{
	text-align: left;
	bottom: 0;
	}

#home03 .inner p{
	padding: 0 30px;
	}

#home03 .inner figure{
	margin-top: 20px;
	}

#home04{
	margin: 30px;
	text-align: left;
	}

#home04 h4{
	font-size: 16px;
	}

#home04 br{
	display: none;
	}

#home04 ul{
	width: initial;
	margin: 30px auto 0;
	text-align: center;
	}

#home04 ul li{
	flex-basis: 30%;
	margin-bottom: 30px;
	}

#home04 ul li h5{
	font-size: 10px;
	}

#home04 ul li p{
	font-size: 10px;
	text-align: left;
	line-height: 1.8;
	}

#home04 ul li img{
	height: 40px;
	}

#home05{
	padding: 30px;
	background: url(../img/home_05.jpg) no-repeat right center;
	background-size: cover;
	}

#home05::after{
	content: none;
	}

#home05 .flex{
	display: block;
	}

#home05 h2{
	font-size: 40px;
	margin: 0 0 20px;
	padding-right: 0;
	border-right: none;
	text-align: center;
	}

#home05 p br{
	display: none;
	}

#home06 h2{
	font-size: 40px;
	margin-bottom: 15px;
	}

#home06 ul li{
	flex-basis: 100%;
	}

#home06 ul li:hover img{
	transform: scale(1.02);
	}

#home06 ul li div a.btn01{
	width: initial;
	padding: 5px 25px;
	}

#home07{
	padding: 30px;
	}

#home07 .flex{
	display: block;
	}

#home07 h2{
	text-align: center;
	font-size: 40px;
	margin: 0 0 20px;
	padding-right: 0;
	border-right: none;
	}

#home07 dl dt{
	float: none;
	}

#home07 dl dd{
	padding: 0 0 20px 0;
	}

#cta{
	background: url(../img/cta_bg.jpg) no-repeat center;
	background-size: cover;
	color: #000;
	text-align: center;
	line-height: 1;
	padding: 30px;
	}

#cta h2{
	font-size: 16px;
	line-height: 1.8;
	padding-bottom: 10px;
	display: block;
	}

#cta ul li{
	color: #666;
	margin: 10px 0 0;
	flex-basis: 100%;
	}

#cta ul li .btn02{
	display: block;
    padding: 15px;
	}

#cta ul li span{
	font-size: 24px;
	margin-bottom: 10px;
	}


/*sub
------------------------------------------*/
#title .inner{
	padding: 0;
	}

#title h2{
	font-size: 50px;
	padding: 120px 0 70px;
	}

#title h2 span{
	margin-bottom: 15px;
	}

#title h2::after{
	content: none;
	}

ul#pankuzu{
	position: static;
	padding: 10px;
	overflow-x: scroll;
	white-space: nowrap;
	}

ul#pankuzu li{
	display: table-cell;
	font-size: 12px;
	}

#sub h3{
	font-size: 22px;
	line-height: 1.8;
	margin-bottom: 20px;
	}

#sub h4{
	font-size: 18px;
	line-height: 1.8;
	}

#sub h5{
	font-size: 16px;
	color: #fff;
	}

#sub section:not(#title):not(#cta):not(#copyright){
	padding: 30px;
	}

#about01 dt{
	flex-basis: 100%;
	font-size: 30px;
	text-align: center;
	margin-bottom: 20px;
	}

#about01 dd{
	flex-basis: 100%;
	padding-left: 0;
	border-left: none;
	}

#about01 h3{
	font-size: 17px;
	text-align: left;
	}

#about01 h3 br{
	display: none;
	}

#about01 dl + dl{
	margin-top: 30px;
	}

#about02 p{
	font-size: 18px;
	}

#about02 p br{
	display: none;
	}

#about02 p strong{
	font-size: 18px;
	line-height: 1.8;
	display: block;
	margin-bottom: 15px;
	}

#service01,
#service02{
	text-align: left;
	}

#service01 figure,
#service02 figure{
	margin-top: 30px;
	}

#service03{
	padding: 0 !important;
	}

#service03 ul + ul{
	margin-top: 0;
	}

#service03 ul li{
	flex-basis: 100%;
	}

#service03 ul li a{
	display: block;
	padding: 30px;
	background-size: cover;
	background-position: center;
	}

#service03 ul li:nth-child(1) a{ background-image: url(../service/img/service_03.jpg); }
#service03 ul li:nth-child(2) a{ background-image: url(../service/img/service_04.jpg); }
#service03 ul + ul li:nth-child(1) a{ background-image: url(../service/img/service_05.jpg); }
#service03 ul + ul li:nth-child(2) a{ background-image: url(../service/img/service_06.jpg); }

#service03 ul li a::before{
	content: none;
	}

#service03 ul li a div{
	position: static;
	transform: none;
	width: 100%;
	}

#service03 ul li a div h4{
	font-size: 20px;
	transform: none;
	}

#service03 ul li a div p{
	transform: none;
	}

#service03 ul li a div p span{
	display: none;
	}

#service03 ul li a figure{
	display: none;
	}

#service03 ul li a span.more{
	position: relative;
	opacity: 1;
	transform: none;
	display: block;
	padding: 10px;
	margin-top: 30px;
	text-align: center;
	top: inherit;
	bottom: inherit;
	right: inherit;
	}

#service03 ul li a span.more::after{
	content: "";
	display: inline-block;
	width: inherit;
	height: inherit;
	transform: none;
	margin-left: 0;
	}

#service03 ul li a span.more:after,
#service03 ul li a span.more:before{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	border: 1px solid #fff;
	-webkit-transition: -webkit-transform 0.3s;
	transition: -webkit-transform 0.3s;
	transition: transform 0.3s;
	transition: transform 0.3s, -webkit-transform 0.3s;
	}

#service03 ul li a span.more:after{
	transform: translate(2px, 2px);
	}

#service03 ul li a span.more:before{
	transform: translate(-2px, -2px);
	}

#service-recruit01,
#service-recruit02{
	text-align: left;
	}

#service-recruit01 figure{
	margin-top: 10px;
	}

#service-recruit02 h4{
	margin: 20px 0;
	}

#service-recruit03 ul.flex li{
	flex-basis: 100%;
	margin-bottom: 30px;
	padding: 0;
	background: none;
	}

#service-recruit03 ul.flex li h4{
	line-height: 1.8;
	margin-bottom: 10px;
	}

#service-recruit03 ul.flex li figure{
	margin-top: 10px;
	}

#service-hr01,
#service-hr02,
#service-hr03{
	text-align: left;
	}

#service-hr01 figure,
#service-hr02 figure,
#service-hr03 figure{
	margin-top: 20px;
	}

#service-hr01 h4{
	text-align: left;
    font-size: 16px;
	}

#service-hr01 h4 br{
	display: none;
	}

#service-creative01,
#service-creative02{
	text-align: left;
	}

#service-creative01 ul::after{
	content: none;
	}

#service-creative01 ul li{
	flex-basis: 100%;
	margin-top: 20px;
	}

#service-creative02 figure{
	margin-top: 20px;
	}

#service-creative03 ul li{
	flex-basis: 100%;
	padding: 0;
	margin-bottom: 30px;
    background: none;
	}

#service-creative03 ul li figure,
#service-creative04 ul li figure{
	margin-top: 20px;
	}

#service-creative04 ul li{
	flex-basis: 100%;
	}

#service-other01{
	padding: 0 !important;
	}

#service-other01 h3{
	text-align: left;
	padding: 30px;
	}

#service-other01 h3 br{
	display: none;
	}

#service-other01 h4{
	font-size: 20px;
	}

#service-other01 ul.flex{
	margin-top: 0;
	padding: 30px;
	background: url(../img/ptn_01.png);
	}

#service-other01 ul.flex li{
	flex-basis: 100%;
	}

#service-other01 ul.flex li figure{
	margin-top: 20px;
	}

#service-other01 ul.flex:nth-child(3){
	background: none;
	}

#service-other01 ul.flex:nth-child(3) li:first-child{
	order: 2;
	}

#service-other01 ul.bg{
	position: relative;
	}

#service-other01::before,
#service-other01::after{
	content: none;
	}

#company-profile dl{
	font-size: 16px;
	border-top: 1px solid #333;
	padding-top: 20px;
	margin-bottom: 30px;
	}

#company-profile dl dt{
	float: none;
	}

#company-profile dl dd{
	padding: 0 0 10px 0;
	margin-bottom: 10px;
	}

#recruit01 h4 span br{
	display: none;
	}

#recruit02 ul li{
	flex-basis: 100%;
	margin-bottom: 15px;
	}

#recruit02 ul li a{
	display: block;
	padding: 0;
	position: relative;
	}

#recruit02 ul li a::before{
	content: "募集要項";
	width: 100%;
	line-height: 40px;
	padding-left: 15px;
	background: url(../img/ptn_01.png);
	border-top: 1px solid #fff;
    box-sizing: border-box;
	position: absolute;
	left: 0;
	bottom: 0;
	}

#recruit02 ul li a::after{
	position: absolute;
	right: 15px;
	bottom: 15px;
	}

#recruit02 ul li p{
	flex-basis: 100%;
	min-height: auto;
	padding: 15px;
	}

#recruit02 ul li a figure{
	float: right;
	margin: 15px;
	}

#guideline .btn01{
	width: 100%;
	padding: 20px;
	}

#recruit02.jobList{
	padding: 30px 0 0 !important;
	}

#recruit02.jobList h4 {
	margin-bottom: 20px;
	}

#recruit02.jobList ul li{
	flex-basis: 100%;
	margin-bottom: -1px;
	}

#recruit02.jobList ul li a{
	padding: 15px;
	border-right: none;
	border-left: none;
	}

#recruit02.jobList ul li a::after{
	bottom: 50%;
	margin-bottom: -5px;
	}

#recruit02 ul li a::before{
	content: none;
	}

/*contact*/

#form h3{
	font-size: 14px;
	text-align: left;
	padding: 10px;
	}

#form .notice{
	padding: 10px;
	margin-top: 30px;
	font-size: 12px;
	}

#sitemap01 .inner{
	max-width: initial;
	}

#sitemap01 ul li{
	margin-bottom: 10px;
	}

#sitemap01 ul li.service{
	position: static;
	}

#sitemap01 ul li.recruit{
	position: static;
	}

table td,
table th{
	display: block;
	padding: 10px;
	margin-bottom: -1px;
	}

table th{
	width: 100%;
	}



/*form
------------------------------------------*/
form input[type="submit"]{
	width:100%;
	-webkit-appearance: none;
	}

form select{
	margin-bottom: 5px;
	}

form label + label{
	margin-top: 5px;
	}


.navBtn{
	position:fixed;
	display:block;
	width:30px;
	height:20px;
	z-index:99999;
	top:22px;
	right:15px;
	}

.navBtn span{
	display:inline-block;
	position:absolute;
	left:0;
	width:100%;
	height:3px;
	background-color:#fff;
	}

.navBtn.active span{
	background-color:#fff;
	}

.navBtn	span:nth-of-type(1){
	top:-1px;
	}

.navBtn	span:nth-of-type(2){
	top:8px;
	}

.navBtn	span:nth-of-type(3){
	bottom:0;
	}

.navBtn	span:nth-of-type(1){
	-webkit-animation:menu-ber01 .75s forwards;
	animation:menu-ber01 .75s forwards;
	}
	
.navBtn	span:nth-of-type(2){
	transition:all .25s .25s;
	opacity:1;
	}

.navBtn	span:nth-of-type(3){
	-webkit-animation:menu-ber02 .75s forwards;
	animation:menu-ber02 .75s forwards;
	}

.active span:nth-of-type(1){
	-webkit-animation:active-menu-ber01 .75s forwards;
	animation:active-menu-ber01 .75s forwards;
	}

.active span:nth-of-type(2){
	opacity:0;
	}
.active span:nth-of-type(3){
	-webkit-animation:active-menu-ber03 .75s forwards;
	animation:active-menu-ber03 .75s forwards;
	}

@-webkit-keyframes menu-ber01{
	0%{-webkit-transform:translateY(8px) rotate(45deg);}
	50%{-webkit-transform:translateY(8px) rotate(0);}
	100%{-webkit-transform:translateY(0) rotate(0);}
	}

@keyframes menu-ber01{
	0%{transform:translateY(8px) rotate(45deg);}
	50%{transform:translateY(8px) rotate(0);}
	100%{transform:translateY(0) rotate(0);}
	}

@-webkit-keyframes menu-ber02{
	0%{-webkit-transform:translateY(-8px) rotate(-45deg);}
	50%{-webkit-transform:translateY(-8px) rotate(0);}
	100%{-webkit-transform:translateY(0) rotate(0);}
	}

@keyframes menu-ber02{
	0%{transform:translateY(-8px) rotate(-45deg);}
	50%{transform:translateY(-8px) rotate(0);}
	100%{transform:translateY(0) rotate(0);}
	}

@-webkit-keyframes active-menu-ber01{
	0%{-webkit-transform:translateY(0) rotate(0);}

	50%{-webkit-transform:translateY(10px) rotate(0);}
	100%{-webkit-transform:translateY(10px) rotate(45deg);}
	}

@keyframes active-menu-ber01{
	0%{transform:translateY(0) rotate(0);}
	50%{transform:translateY(10px) rotate(0);}
	100%{transform:translateY(10px) rotate(45deg);}
	}

@-webkit-keyframes active-menu-ber03{
	0%{-webkit-transform:translateY(0) rotate(0);}
	50%{-webkit-transform:translateY(-8px) rotate(0);}
	100%{-webkit-transform:translateY(-8px) rotate(-45deg);}
	}

@keyframes active-menu-ber03{
	0%{transform:translateY(0) rotate(0);}
	50%{transform:translateY(-8px) rotate(0);}
	100%{transform:translateY(-8px) rotate(-45deg);}
	}

#open{
	display:none;
	}
}