@charset "utf-8";
/* CSS Document */

/* Page Scroll */

.scroll-arrow {
	position:absolute;
	bottom:48px;
	left:50%;
	z-index:3;
	padding:0;
	margin-left:-30px;
	width:60px;
	height:80px;
	text-align:center;
}

.scroll-arrow a {
  z-index: 2;
  display: inline-block;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  text-decoration: none;
}

.scroll-arrow a {
  padding-top: 100px;
  color:#000000;
  font-family: 'Muli', sans-serif;
}

.scroll-arrow a span {
  position: absolute;
  top: 36px;
  left: 50%;
  width: 24px;
  height: 24px;
  margin-left: -12px;
  border-left: 1px solid #000;
  border-bottom: 1px solid #000;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -webkit-animation: sdb 1.5s infinite;
  animation: sdb 1.5s infinite;
  box-sizing: border-box;
}

@-webkit-keyframes sdb {
  0% {
    -webkit-transform: rotate(-45deg) translate(0, 0);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    -webkit-transform: rotate(-45deg) translate(-20px, 20px);
    opacity: 0;
  }
}
@keyframes sdb {
  0% {
    transform: rotate(-45deg) translate(0, 0);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: rotate(-45deg) translate(-20px, 20px);
    opacity: 0;
  }
}

.extmargin {
	margin:0 0 0 -18px;
}

/* Main Section */

#main-section {
	position:relative;
	padding:0;
	margin:0;
	background:#1A1A1A url(../img/top_visual_sp.png) no-repeat top center;
	background-size:cover;
	text-align:left;
	z-index:1;
}

#main-section .inner {
	position: relative;
	padding: 0;
	margin: 0;
}

#main-section .outline {
	position: absolute;
	top:60px;
	left:35%;
	padding:0;
	margin:0;
	width:50%;
	color:#000000;
	font-size: 36px;
	font-weight: bold;
}

#main-section h2 {
	padding:0;
	margin:0;
	color:#000000;
	font-size:14px;
	font-family: 'Muli', sans-serif;
	font-weight:bold;
}

#main-section h2:before {
	display:block;
	content:"";
	padding:75px 0 0 0;
	margin:0 0 0 48px;
	width:150px;
	height:0px;
	background:url(../img/logo_mark.png) top center;
	background-size:cover;
}

#main-section h2 span {
	display:inline-block;
	padding:0 .1em 0 0;
	font-size:24px;
}

#main-section p {
	padding:0;
	margin:0;
	color:#ffffff;
	font-weight:bold;
}

#main-section .outline-box {
	position:absolute;
	display:block;
	top:36px;
	right:24px;
	border-left:1px solid #ffffff;
	overflow:hidden;
	width:48px;
	height:300px;
	text-align:left;
}

.service-section > h2 {
	padding:18px;
	margin:0 auto;
	width: 95%;
	font-size:36px;
	font-family: JosefinSans;
}


/* Concept Section */

#concept-section {
	position: relative;
	margin:0;
	padding:64px 0 128px 4%;
	background:#7696bb;
	color: #000;
	text-align:left;
}

#concept-section h2 {
	padding:0;
	margin:0;
	font-size:24px;
}

#concept-section h2 span {
	padding:0;
	font-size:42px;
	color:#fff338;
}

#concept-detail {
	position: relative;
	padding:0 0 156px 0;
	margin:0;
	background:#7696bb;
	color: #000;
	text-align:left;
}

#concept-detail .detail-box {
	position:relative;
	padding:48px 12px;
	margin:0 auto 0 0;
	width:94%;
	background:#FFFFFF;
}

#concept-detail .detail-box {
  -webkit-transition: all 1s;
  -webkit-transform: translate(0, 0);
  opacity: 1;
}

#concept-detail .detail-box.move {
  -webkit-transform: translate(-480px, 0);
  opacity: 0;
}

#concept-section h3 {
	padding:0;
	margin:0 auto 15px auto;
	width:90%;
	font-size:24px;
	font-family: 'Muli', sans-serif;
}

#concept-section h3 span {
	color:#fef337;
	font-size:24px;
}

#concept-detail .detail-box p.coment {
	padding:0 0 10em 0;
	margin:0 auto 0 0;
	width:95%;
	font-size:15px;
}

#concept-section .photo {
	position:absolute;
	display:block;
	bottom:48px;
	right:0px;
	width:50%;
	z-index:4;
}

#concept-section h2 {
	-webkit-transition: all 1s;
	-webkit-transform: translate(0, 0);
	opacity: 1;
}

#concept-section h2.move {
	-webkit-transform: translate(0, 36px);
	opacity: 0;
}

#concept-section .photo {
	-webkit-transition: all 1s;
	-webkit-transform: translate(0, 0);
	opacity: 1;
}

#concept-section .photo.move {
	-webkit-transform: translate(0, 24px);
	opacity: 0;
}

#concept-detail p.more:before {
	display:block;
	content:"";
	margin:0 0 12px -168px;
	width:275px;
	height:120px;
	background:url(../img/works_icon.png) no-repeat center top;
	background-size:cover;
}

/* Contact Section */

#contact-section {
	position:relative;
	padding:96px 0 96px 4%;
	margin:0;
	background:#f3994f;
}

#contact-section h2 {
	font-size:24px;

}

#contact-section h2 span {
	padding:0;
	font-size:42px;
	color:#fff338;
}

#contact-section .photo {
	position:absolute;
	display:block;
	bottom:48px;
	right:2%;
	width:40%;
	z-index:4;
}

#contact-detail {
	position:relative;
	padding:0 0 120px 0;
	margin:0;
	background:#f3994f;
}

#contact-detail .detail-box {
	padding:48px 12px;
	margin:0 auto 0 0;
	width:94%;
	background:#FFFFFF;
}

#contact-detail .detail-box {
	-webkit-transition: all 1s;
	-webkit-transform: translate(0, 0);
	opacity: 1;
}

#contact-detail .detail-box.move {
	-webkit-transform: translate(-480px, 0);
	opacity: 0;
}

#contact-section h2 {
	-webkit-transition: all 1s;
	-webkit-transform: translate(0, 0);
	opacity: 1;
}

#contact-section h2.move {
	-webkit-transform: translate(0, 36px);
	opacity: 0;
}

#contact-section .photo {
	-webkit-transition: all 1s;
	-webkit-transform: translate(0, 0);
	opacity: 1;
}

#contact-section .photo.move {
	-webkit-transform: translate(0, 24px);
	opacity: 0;
}

.flow-box {
	padding:0;
	margin:0;
}

.flow-box h5 {
	padding:0;
	margin:0;
	font-size:16px;
	color:#e83f5e;
}

.flow-box ul {
	padding:0;
	margin:0;
}

.flow-box ul li {
	display:block;
	padding:0;
	margin:0 1%;
	width:48%;
	float:left;
}

/* Company Section */

#company-section {
	padding:96px 0 48px 4%;
	margin:0;
	background:#7dcef4;
}

#company-section h2 {
	font-size:24px;

}

#company-section h2 span {
	padding:0 0 0 .5em;
	font-size:42px;
	color:#fff338;

}

#company-section h2 {
	-webkit-transition: all 1s;
	-webkit-transform: translate(0, 0);
	opacity: 1;
}

#company-section h2.move {
	-webkit-transform: translate(0, 36px);
	opacity: 0;
}

#company-detail {
	position:relative;
	padding:36px 0 120px 0;
	margin:0;
	background:#7dcef4;
}

#company-detail .detail-box {
	padding:48px 12px;
	margin:0 0 0 auto;
	width:94%;
	background:#FFFFFF;
}

#company-detail .detail-box {
	-webkit-transition: all 1s;
	-webkit-transform: translate(0, 0);
	opacity: 1;
}

#company-detail .detail-box.move {
	-webkit-transform: translate(480px, 0);
	opacity: 0;
}

.map-field {
	padding:0;
	margin:0 0 168px 0;
}

.map {
	display:block;
	padding:0;
	margin:0;
}

.map h5 {
	margin:0;
	font-size:18px;
}

.map h5 span {
	padding:0 1em 0 0;
	font-size:24px;
	color:#e83f5e;
}

#company-detail p.more:before {
	display:block;
	content:"";
	margin:0 0 0 -60px;
	width:210px;
	height:210px;
	background:url(../img/contact_icon.png) no-repeat center top;
	background-size:cover;
}

/* Recruit Section */

#recruit-section {
	padding:72px 0 12px 4%;
	margin:0;
	background:#88c997 url(../img/hand_icon.png) no-repeat 95% top;
	background-size:30% ;
}

#recruit-section h2 {
	padding:0;
	margin:0;
	font-size:36px;
	line-height:1.5em;
}

#recruit-section h2 span {
	font-size:36px;
	color:#fff338;
}

#recruit-section h2 {
	-webkit-transition: all 1s;
	-webkit-transform: translate(0, 0);
	opacity: 1;
}

#recruit-section h2.move {
	-webkit-transform: translate(0, 36px);
	opacity: 0;
}

#recruit-detail {
	position:relative;
	padding:48px 0 96px 0;
	margin:0;
	background:#88c997
}

#recruit-detail .detail-box {
	position:relative;
	padding:48px 12px;
	margin:0 auto 0 0;
	width:94%;
	background:#FFFFFF;
}

#recruit-detail .detail-box {
	-webkit-transition: all 1s;
	-webkit-transform: translate(0, 0);
	opacity: 1;
}

#recruit-detail .detail-box.move {
	-webkit-transform: translate(-480px, 0);
	opacity: 0;
}

#recruit-detail .detail-box p.coment {
	padding:0 0 16em 0;
}

#recruit-detail p.more:before {
	display:block;
	content:"";
	margin:0 0 12px -130px;
	width:210px;
	height:210px;
	background:url(../img/cat_icon.png) no-repeat center top;
	background-size:cover;
}


@-webkit-keyframes line {
  0% {
    -webkit-transform: translate(0, 0);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    -webkit-transform: translate(20px, 0px);
    opacity: 0;
  }
}
@keyframes line {
  0% {
    transform: translate(0, 0);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: translate(20px, 0px);
    opacity: 0;
  }
}

@-webkit-keyframes line2 {
  0% {
    -webkit-transform: translate(20px, 0);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    -webkit-transform: translate(0px, 0px);
    opacity: 0;
  }
}

@keyframes line2 {
  0% {
    transform: translate(20px, 0);
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: translate(0px, 0px);
    opacity: 0;
  }
}

#cosmetics-section {
	padding:0;
	margin:0;
}

#energy-section {
	padding:0;
	margin:0;
}

.outline {
	position:relative;
	padding:0;
	margin:0;
}

.outline h2 {
	position:absolute;
	top:15%;
	left:5%;
	z-index:50;
	font-size:24px;
	line-height:1.5em;
	color:#ffffff;
	text-shadow:0px 0px 3px #aaaaaa;
}

.outline p {
	position:absolute;
	top:30%;
	left:5%;
	z-index:50;
	font-size:14px;
	font-weight:bold;
	line-height:1.5em;
	color:#ffffff;
}

.outline p span {
	display:inline-block;
}

.outline h2,.outline p {
	-webkit-transition: all 1s;
	-webkit-transform: translate(0, 0);
	opacity: 1;
}

.outline h2.move,.outline p.move {
	-webkit-transform: translate(0, 36px);
	opacity: 0;
}

.outline .photo {
	display:block;
	padding:0;
	margin:0;
}

.outline .more-link {
	position:absolute;
	bottom:20%;
	right:0%;
	padding:0;
	margin:0;
	width:156px;
	height:72px;
}

.outline .more-link p {
	display:block;
	width:100%;
	height:100%;
}

.outline .more-link p a {
	position:relative;
	display:block;
	padding:1.5em 0 1.5em 1.5em;
	margin:0;
	background:#ffffff;
	color:#000000;
}

.outline .more-link p span {
	position:relative;
	display:inline-block
}

.outline .more-link p span:before {
	position:absolute;
	top:50%;
	right:-66px;
	content:"";
	display:block;
	width:60px;
	height:1px;
	background:#000000;
}


.outline .more-link p a:hover {
	background:#000000;
	color:#ffffff;
	text-decoration:none;
}

.category-field {
	padding:0;
	margin:0;
}

.category-field .category {
	position:relative;
	display:block;
	float:left;
	width:50%;
	text-align:center;
}

.category:before {
	content:"";
	display:block;
	position:absolute;
	top:0px;
	left:0px;
	width:100%;
	height:100%;
	z-index:100;
}

.category.cc1 {
	background:url(../img/cosmetics_category1_bg.png) no-repeat center top;
	background-size:cover;
}

.category.cc1:before {
	background: rgba(206,2,11,0.7);
}

.category.cc2 {
	background:url(../img/cosmetics_category2_bg.png) no-repeat center top;
	background-size:cover;
}

.category.cc2:before {
	background: rgba(255,221,31,0.7);
}

.category.cc3 {
	background:url(../img/cosmetics_category3_bg.png) no-repeat center top;
	background-size:cover;
}

.category.cc3:before {
	background: rgba(0,117,169,0.7);
}

.category.cc4 {
	background:url(../img/cosmetics_category4_bg.png) no-repeat center top;
	background-size:cover;
}

.category.cc4:before {
	background: rgba(28,129,43,0.7);
}

.category.ec1 {
	background:url(../img/energy_category2_bg.png) no-repeat center top;
	background-size:cover;
}

.category.ec1:before {
	background: rgba(0,117,169,0.7);
}

.category.ec2 {
	background:url(../img/energy_category1_bg.png) no-repeat center top;
	background-size:cover;
}

.category.ec2:before {
	background: rgba(28,129,43,0.7);
}

.category.sc1 {
	background:url(../img/shop_category1_bg.png) no-repeat center top;
	background-size:cover;
}

.category.sc1:before {
	background: rgba(28,129,43,0.7);
}

.category.sc2 {
	background:url(../img/shop_category2_bg.png) no-repeat center top;
	background-size:cover;
}

.category.sc2:before {
	background: rgba(0,117,169,0.7);
}

.category-field .category .title {
	position:relative;
	padding:12px 0;
	margin:0;
	background: rgba(9,1,3,0.7);
	height:66px;
	color:#ffffff;
}

.category-field .category .title span {
	display:inline-block;
}

.category-field .category .title h3 {
	display:inline-block;
	position:absolute;
	top:6px;
	left:0px;
	padding:0;
	margin:0;
	width:100%;
	text-align:center;
	font-size:15px;
	z-index:200;
}

.category-field .category .title p {
	display:inline-block;
	position:absolute;
	bottom:12px;
	left:0px;
	padding:0;
	margin:0;
	width:100%;
	text-align:center;
	font-size:15px;
	z-index:200;
}

.category-field .category .info {
	position:relative;
	padding:1em 1em;
	margin:0;
	height:84px;
	color:#ffffff;
}

.category-field .category .info p {
	position:absolute;
	top:6px;
	left:0px;
	padding:1em;
	margin:0;
	width:100%;
	text-align:left;
	font-size:9px;
	z-index:200;
}

#news-section {
	padding:36px 0;
	margin:0;
	background:#f0f0f0;
}

#news-section h2 {
	padding:0;
	margin:0;
	font-size:36px;
	 font-family: JosefinSans;
}

#news-section .inner {
	padding:36px;
	margin:0 auto;
	width:90%;
	background:#fafafa;
}

#news-section dl {
	padding:6px 0;
	margin:0;
	font-size:12px;
	font-weight:bold;
}

#news-section dl dt {
	padding:0;
	margin:0;
	font-size:9px;
}

#news-section dl dd {
	padding:6px 0;
	margin:0;
}

#link-section {
	padding:36px 0;
	margin:0;
	background:#fafafa;
}

#link-section .inner {
	padding:0;
	margin:0 auto;
	width:90%;
}

#link-section .inner .banner {
	padding:0;
	margin:0 0 15px 0;
}

#link-section .inner .banner:last-of-type {
	padding:0;
	margin:0;
}

#link-section .inner .banner p {
	padding:0;
	margin:0;
}


/*----------------------------------------------------------------------------
 ***                                                                width480
----------------------------------------------------------------------------*/

@media only screen and (min-width: 480px){
}

/*----------------------------------------------------------------------------
 ***                                                                width768
----------------------------------------------------------------------------*/

@media only screen and (min-width: 768px){

.extmargin {
	margin:0 0 0 -24px;
}

.extmargin24 {
	margin:0 0 0 24px;
}

#main-section {
	position:relative;
	padding:48px 0 0 0;
	margin:0;
	height:100%;
	background:url(../img/top_visual.png) no-repeat center top;
	background-size:cover;
	text-align:left;
	z-index:1;
}

#main-section h2 span {
	display:inline-block;
	padding:0 .3em 0 0;
	font-size:39px;
}


#main-section h2:before {
	display:block;
	content:"";
	padding:100px 0 0 0;
	margin:0 0 0 150px;
	width:200px;
	height:0px;
	background:url(../img/logo_mark.png) top center;
	background-size:cover;
}

#main-section .mark {
	position:absolute;
	display:block;
	top:-57px;
	right:-57px;
	padding:0 0 14px 14px;
	margin:0;
	width:72px;
	height:72px;
}

#main-section .mark:before {
	position:absolute;
	top:1px;
	left:0px;
	content:"";
	display:block;
	width:1px;
	height:56px;
	background:#000000;
}

#main-section .mark:after {
	position:absolute;
	bottom:0px;
	right:0px;
	content:"";
	display:block;
	width:57px;
	height:1px;
	background:#000000;
}

#main-section .mark span {
	display:block;
	width:100%;
	height:100%;
	border-bottom:solid 1px #000000;
	border-left:solid 1px #000000;
}

#main-section .mark2 {
	position:absolute;
	display:block;
	top:-24px;
	left:96px;
	padding:0 0 14px 14px;
	margin:0;
	width:25%;
	height:24px;
}

#main-section .mark2:before {
	position:absolute;
	top:px;
	left:0px;
	content:"";
	display:block;
	width:100%;
	height:1px;
	background:#000000;
}

#main-section .mark2:after {
	position:absolute;
	top:-36px;
	left:50%;
	content:"";
	display:block;
	width:1px;
	height:54px;
	background:#000000;
}

/* Concept Section */

#concept-section h2 {
	font-size:42px;
}

#concept-section h2 span {
	padding:0 0 0 .5em;
	font-size:72px;
}

#concept-section h3 {
	padding:0;
	margin:0 auto 15px auto;
	width:90%;
	font-size:36px;
}

#concept-section h3 span {
	font-size:36px;
}

#concept-detail .detail-box p.coment {
	padding:0 0 9em 0;
	margin:0 auto 0 0;
	width:70%;
	font-size:16px;
}

/* Pr Section */

#pr-section h2 {
	font-size:42px;

}

#pr-section h2 span {
	padding:0 0 0 .5em;
	font-size:72px;
}

#pr-detail .detail-box {
	padding:48px 0 96px 4%;
	margin:0 0 0 auto;
}


/* Contact Section */

#contact-detail {
	padding:108px 0;
	margin:0;
	background:#f3994f;
}

.flow-box ul li {
	width:auto;
}



/* Company Section */

#company-section {
	padding:96px 0 48px 4%;
	margin:0;
	background:#7dcef4;
}

#company-section h2 {
	font-size:42px;

}

#company-section h2 span {
	padding:0 0 0 .5em;
	font-size:72px;
	color:#fff338;

}

.map-field {
	padding:0;
	margin:0;
}

.map {
	float:left;
	padding:0;
	margin:0 24px 0 0;
}

#company-detail p.more:before {
	display:block;
	content:"";
	margin:0;
	width:240px;
	height:240px;
	background:url(../img/contact_icon.png) no-repeat center top;
	background-size:cover;
}

/* Recruit Section */

#recruit-section {
	padding:156px 0 96px 4%;
	margin:0;
	background:#88c997 url(../img/hand_icon.png) no-repeat 95% top;
	background-size:25% ;
}

#recruit-section h2 {
	font-size:72px;

	line-height:1.2em;
}

#recruit-section h2 span {
	font-size:72px;
	color:#fff338;
}

#recruit-detail {
	padding:108px 0;
	margin:0;
	background:#88c997
}

#recruit-detail .detail-box p.coment {
	padding:0 0 8em 0;
}

#recruit-detail p.more:before {
	display:block;
	content:"";
	margin:0 0 12px -142px;
	width:240px;
	height:240px;
	background:url(../img/cat_icon.png) no-repeat center top;
	background-size:cover;
}



/* detail-box */

.detail-box h3 {
	padding:0;
	margin:0 0 12px 0;
	font-size:60px;
	line-height:1.2em;
}

.detail-box h3 span {
	color:#e83f5e;
}

.detail-box p.catch {
	font-size:18px;
	font-weight:bold;
	color:#e83f5e;
}


.detail-box p.more {
	position:absolute;
	bottom:12px;
	right:4%;
	text-align:center;
}

.detail-box p.more a {
	position:relative;
	display:inline-block;
	padding:0 3em;
	margin:0;
	background: #000000;
	color:#ffffff;
	line-height:40px;
}

.detail-box p.more a:after {
	position: absolute;
	content: "";
	top: 0px;
	right: -40px;
	border:20px solid;
	border-color:transparent;
	border-left: 20px solid #000000;
}

#link-section .inner .banner {
	float: left;
	padding:0;
	margin:0 1%;
	width: 48%;
}

#cosmetics-section {
	width: 90%;
	padding: 36px 0 0 0;
	margin: 0 auto;
	max-width: 1240px;
}

#cosmetics-section .outline {
	width: 50%;
	height: 300px;
	float: left;
	overflow: hidden;
}

#energy-section {
	width: 90%;
	padding: 36px 0 0 0;
	margin: 0 auto;
	max-width: 1240px;
}

#energy-section .outline {
	width: 50%;
	height: 300px;
	float: left;
	overflow: hidden;
}

#energy-section .category-field .category {
	width:100%;
}

#shop-section {
	width: 90%;
	padding: 36px 0 0 0;
	margin: 0 auto;
	max-width: 1240px;
}

#shop-section .outline {
	width: 50%;
	height: 300px;
	float: left;
	overflow: hidden;
}

#shop-section .category-field .category {
	width:100%;
}

.category-field {
	float: left;
	padding:0;
	margin:0;
	width: 50%;
}

.category-field .category {
	width:50%;
}

.category-field .category .info p {
	font-size:12px;
}

.outline p {
	position:absolute;
	top:30%;
	left:5%;
	z-index:50;
	font-size:14px;
	font-weight:bold;
	line-height:1.5em;
	color:#ffffff;
}

.outline .more-link {
	position:absolute;
	bottom:40%;
	left:5%;
	padding:0;
	margin:0;
	width:156px;
	height:72px;
}

.outline .more-link p {
	left:0px;
}


/*----------------------------------------------------------------------------
 ***                                                                width1024
----------------------------------------------------------------------------*/

@media only screen and (min-width: 1024px){


}
