@charset "UTF-8";
/* ---------------------------------------------
 INDEX STYLES
 --------------------------------------------- */

/* --------------------
   visualSection
-------------------- */
.visualSection .visualFrame {
	position: relative;
}

.visualSection .movFrame {
	position: relative;
}

.visualSection .movFrame:before {
	content: "";
	display: block;
	height: 0;
	/* padding: 56.37% 0 0; */
	padding: 62.5% 0 0;
}

.visualSection .movFrame:after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 10%;
	height: 8%;
	background: -moz-linear-gradient(top,  rgba(240,240,240,0) 0%, rgba(240,240,240,1) 100%);
	background: -webkit-linear-gradient(top,  rgba(240,240,240,0) 0%,rgba(240,240,240,1) 100%);
	background: linear-gradient(to bottom,  rgba(240,240,240,0) 0%,rgba(240,240,240,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00f0f0f0', endColorstr='#f0f0f0',GradientType=0 );
}

.visualSection .movFrame video {
	position: absolute;
	left: 50%;
	top: 50%;
	/* width: 100%; */
	width: 116%;
	transform: translate(-50%, -50%);
}


.visualSection .catchFrame {
	position: absolute;
	left:50%;
	top: 53%;
	width: 100%;
	color: #fff;
	transform: translate(-50%, -50%);
	z-index: 10;
	text-align: center;
}

.visualSection .catchFrame .catch {
	line-height: 1;
	font-size: 5.1875em;
	font-family: 'Roboto Condensed', sans-serif;
	font-weight: normal;
	letter-spacing: .05em;
}

.visualSection .catchFrame .txt {
	display: block;
	margin: 2.5em 0 0;
	font-size: 1.15em;
	font-weight: 500;
	letter-spacing: .08em;
}

.visualSection .catchFrame .news {
	margin: 4em 0 0;
}
.visualSection .catchFrame .news .lead {
	font-size: 1.4em;
    margin-bottom: 5px;
}
.visualSection .catchFrame .news .btn_flex {
	display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 30px;
}
.visualSection .catchFrame .news .btn_flex a {
	width: 50%;
    margin: 0 30px;
}


/* ----------------------
  CONCEPT SECTION STYLES
    --------------------- */
.conceptSection {
    padding-top: 10%;
}


@media only screen and (min-width: 1601px) {
	.conceptSection {
	    padding-top: 160px;
	}
}

.conceptSection .txt {
	margin: 2.8em auto 0;
	text-align: center;
}


/* ----------------------
  ABOUT STYLES
    --------------------- */
.aboutSection {
    position: relative;
    padding: 24.5vw 0;
    background: #151515 url(../images/index/about_bg.png) no-repeat 0 0;
	background-size: auto calc(100% - 10vw);
    color: #f0f0f0;
    z-index: 1;
}

.aboutSection:before {
	content: "";
	display: block;
    position: absolute;
    top: 0;
	right: 0;
    width: 100%;
	-webkit-transform: translateY(-50%);
	        transform: translateY(-50%);
	border: 20vw solid transparent;
	border-right: 100vw solid #f0f0f0;
    z-index: 1;
}

.aboutSection:after {
	content: "";
	display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
	-webkit-transform: translateY(50%);
	        transform: translateY(50%);
	left: 0;
	border: 20vw solid transparent;
	border-left: 100vw solid #f0f0f0;
    z-index: 1;

}

@media only screen and (min-width: 768px) and (max-width:1200px) {
	.aboutSection:before {
		border-right-width: 1200px;
	}
	
	.aboutSection:after {
		border-left-width: 1200px;
	}
}

.aboutSection .inner {
	/* max-width: 73.75%; */
	max-width: 36.875em;
}

.aboutSection .ttl {
	margin: 0 auto 1.6677em;
}

.aboutSection .ttl:before {
	content: "";
	display: block;
	margin: 0 0 1em;
	width: 2.7667em;
	height: 3.0667em;
	background: url(../images/index/logo_mark.png) no-repeat 0 0;
	background-size: contain;
}

.aboutSection .btn_more {
	margin-top: 5.25em;
}

@media only screen and (min-width: 768px) {
	.aboutSection {
	    padding: 24.5vw 0;
	    padding-left: 50%;
	}
	
	.aboutSection .container {
		padding-left: 0;
	}
	
	.aboutSection .ttl {
		text-align: left;
	}
}


/* ----------------------
  SERVICE SECTION STYLES
    --------------------- */
.serviceSection .ttl {
	margin: 0 auto 1.25em;
}

.serviceSection .txt {
	text-align: center;
}

.serviceSection .btn_more {
	margin: 6.125em auto 0;
}
.serviceSection .img {

}

.serviceSection .img img{
width: 100%;
}

/* ----------------------
  CASE STUDY SECTION STYLES
    --------------------- */
.caseStudySection .ttl {
	margin: 0 auto 1.945em;
}

.caseStudySection .slider .slick-prev,
.caseStudySection .slider .slick-next {
	left: -4em;
	font-size: 1em;
    width: 1.75em;
    height: 3em;
}

.caseStudySection .slider .slick-next {
	left: auto;
	right: -4em;
}

.caseStudySection .slider .slick-prev:before,
.caseStudySection .slider .slick-next:before {
    content: "";
    position: absolute;
    display: block;
    width: 1.5em;
    height: 1.5em;
    left: 50%;
    top: 50%;
    border-top: 1px solid  #1a1a1a;
    border-left: 1px solid  #1a1a1a;
    transform: translate(-25%, -50%) rotate(-45deg);
}

.caseStudySection .slider .slick-next:before {
    border: 0;
    border-top: 1px solid  #1a1a1a;
    border-right: 1px solid  #1a1a1a;
    transform: translate(-75%, -50%) rotate(45deg);
}

.caseStudySection .slider .txtFrame {
	display: flex;
	position: relative;
	background: #fff;
	width: 55%;
	/* width: 55.093%; */
	min-height: 41.25em;
}

.caseStudySection .slider .txtFrame:before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 1px;
	background: #1a1a1a;
}

.caseStudySection .slider .txtFrame:after {
	content: "";
	display: block;
	padding: 100% 0 0;
}

.caseStudySection .slider .txtFrame .cat {
	position: absolute;
	left: 0;
	top: 0;
	min-width: 9.6875em;
	height: 2em;
	line-height: 2em;
	padding: 0 1em;
	background: #1a1a1a;
	color: #fff;
}

.caseStudySection .slider .txtFrame .inner {
	display: flex;
	flex-direction: column;
    margin: 0 auto;
    padding: 13% 2em;
    width: 100%;
    max-width: 33em;
    height: 100%;
}


.caseStudySection .slider .txtFrame .inner .availabilit{margin-bottom: 30px;}


.caseStudySection .slider .txtFrame .inner > * {
	width: 100%;
}

.caseStudySection .slider .txtFrame .head {
	margin: 2.5em 0 3.2em;
	font-size: 1.3125em;
	font-weight: bold;
	letter-spacing: .08em;
	line-height: 1.8095em;
}

.caseStudySection .slider .txtFrame .txt {
	letter-spacing: .08em;
	flex-grow: 1;
    padding-bottom: 50px;
}

.caseStudySection .slider .txtFrame .btn {
	/* margin: 5.9375em auto 0; */
}

.caseStudySection .slider .imgFrame {
	display: flex;
	align-items: center;
	align-content: center;
    margin-top: 9%;
    margin-bottom: 6.6%;
	width: 45%;
	/* width: 44.907%; */
}

.caseStudySection .slider .imgFrame img {
	object-fit: cover;
	font-family: "object-fit: cover;";
	width: 100%;
	height: 100%;
}

/* ----------------------
  PRODUCTION RESULT SECTION STYLES
    --------------------- */
.productionResultSection .ttl {
	margin: 0 auto;
}

.productionResultSection .productFrame {
	margin: 3.75em auto 0;
}

.productionResultSection .box {
	display: block;
	/* padding: 1.875em 1.875em 1.5em; */
	background: #1a1a1a;
	color: #fff;
}

.productionResultSection .box .imgFrame {
	position: relative;
	background: #fff;
}

.productionResultSection .box .imgFrame:before {
	content: "";
	display: block;
	padding: 100% 0 0;
}

.productionResultSection .box .imgFrame img {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 100%;
	height: 100%;
	transform: translate(-50%, -50%);
	object-fit: contain;
	font-family: "object-fit: contain;";
}

.productionResultSection .box .txtFrame {
	margin: 10px 0 0;
}

.productionResultSection .box .txtFrame .cat {
	display: inline-block;
	border: 1px solid #fff;
	padding: 0 .35em;
	line-height: 1;
	min-width: 3.25em;
	min-height: 17px;
	font-size: 12px;
	font-size: 1.2rem;
	text-align: center;
}

.productionResultSection .box .txtFrame .title {
	margin: 2px 0 0;
	font-weight: 500;
	font-size: .875em;
	letter-spacing: .08em;
	line-height: 1.57;
}

@media only screen and (min-width: 768px) {
	.productionResultSection .box {
		/* width: calc(25% - 30px); */
		width: 22.5%;
		padding: 2.3%;
	}
    .productionResultSection .btn_more {
        margin: 6.125em auto 0;
    }
}


/* ----------------------
  BUSINESS PRODUCE SECTION STYLES
    --------------------- */
.businessProduceSection .ttl {
	margin: 0 auto 1.25em;
}

.businessProduceSection .box {
	position: relative;
	width: 33.33%;
	text-decoration: none;
}

.businessProduceSection .box .txt {
	position: absolute;
	left: 50%;
	top: 50%;
	color: #fff;
	font-size: 1.5em;
	font-family: 'Roboto', sans-serif;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: .05em;
	text-align: center;
	transform: translate(-50%, -50%);
	z-index: 1;
}

.businessProduceSection .box .txt .sub {
	display: block;
	font-size: 13px;
	font-size: 1.3rem;
	font-weight: bold;
	font-family: "Noto Sans JP", "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
}


.businessProduceSection .box img {
	width: 100%;
	height: auto;
}


/* ----------------------
  RECRUIT / NEWS SECTION STYLES
    --------------------- */
.sectionWrap  {
	padding: 11.25% 0;
}

@media only screen and (min-width: 1601px) {
	.sectionWrap  {
		padding: 180px 0;
	}
}

@media only screen and (min-width: 768px) {
	.sectionWrap > .section {
		width: 46.875%;
		display: flex;
		flex-direction: column;
	}
	
	.sectionWrap .section .container {
		display: flex;
		flex-direction: column;
		flex-grow: 1;
		padding: 0 7%;
		width: 100%;
	}
	
	.sectionWrap .section .txtFrame {
		flex-grow: 1;
		width: 100%;
	}
	
	.sectionWrap .section .btn_more {
		margin: 2.8em auto 0;
		width: 100%;
		max-width: 18.75em;
	}
	.serviceSection .img {

}

.serviceSection .img img{
width: 100%;
}
	
}

/* ----------------------
  RECRUIT SECTION STYLES
    --------------------- */
.recruitSection .txtFrame {
	position: relative;
	overflow: hidden;
	background-size: contain;
	max-width: 582px;
	margin: 0 auto;
	text-align: center;
}

.recruitSection .txtFrame:before {
	content: "";
	display: block;
	padding: 33.677% 0 0;
	margin: 1.5em 0 -1.5em;
	background: url(../images/index/recruit_bg.png) no-repeat center 0;
	background-size: contain;
}

.recruitSection .txtFrame .txt {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
}

/* ----------------------
  NEWS SECTION STYLES
    --------------------- */
.newsSection li {
	margin: 0 0 .75em;
}

.newsSection li .date {
	display: block;
}

.newsSection li .txt {
	margin-top: .5em;
}

@media only screen and (min-width: 768px) {
	.newsSection li {
		display: flex;
	}
	
	.newsSection li .date {
		width: 7em;
	}
	
	.newsSection li .txt {
		margin: 0;
		width: calc(100% - 7em);
	}
}


/* ----------------------
  SHOP SECTION STYLES
    --------------------- */
.shopSection .shopFrame {
	background: url(../images/common/bg02.jpg) repeat 0 0;
	background-size: cover;
}

.shopSection .img {
	position: relative;
	min-height: 708px;
}

.shopSection .img img {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	font-family: "object-fit: cover";
}

.shopSection .txt {
    position: relative;
    padding: 4em 0;
    z-index: 1;
}
.shopSection .txt .inner {
	margin: 0 auto;
	width: 69.791%;
	min-width: 23em;
}

.shopSection .txt .txtItem {
	/* max-width: 44em; */
}

.shopSection .txt .btn_more {
    margin-top: 3.5em;
}

/* index幅991px以下から
------------------------------------------------------------*/
@media only screen and (max-width: 991px) {
	/* --------------------
	   conceptSection
	-------------------- */
	.conceptSection .concept_main .slick-dots {
	    left: 30px;
	}

	.conceptSection .concept_sub .concept03 .txt {
		margin-right: -27%;
		line-height: 1.8;
	}

	/* --------------------
	   shopSection
	-------------------- */
	.shopSection .img {
		min-height: 0;
	}
}

/* index幅767px以下から
------------------------------------------------------------*/
@media only screen and (max-width: 767px) {
	/* --------------------
	   visualSection
	-------------------- */
	.visualSection .movFrame:after {
		height: 25px;
	}
	.visualSection .catchFrame .catch {
		font-size: 2.5em;
	}
	
	.visualSection .catchFrame .txt {
		font-size: 1em;
		line-height: 1.6667em;
		margin: 1.5em 0 0;
		letter-spacing: .05em;
	}
    
    
    /* --------------------
	   news
	-------------------- */
    .news {
        margin: 30px 0;
    }
    .news .lead {
        font-size: 1.4em;
        margin-bottom: 5px;
    }
    .news .btn_flex {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }
    .news .btn_flex a {
        width: 48%;
        margin-top: 20px;
    }


	/* --------------------
	   conceptSection
	-------------------- */
	.conceptSection {
		padding-top: 55px;
	}
	
	.conceptSection .ttl {
	    margin-bottom: .5em;
	}
	
	.conceptSection .txt {
		margin: 2em auto 0;
	    text-align: left;
	}
	
	/* --------------------
	   aboutSection
	-------------------- */
	.aboutSection {
		background-image: url(../images/index/about_bg_sp.png);
		background-repeat: no-repea t;
		background-position: 0 0;
		background-size: 100% auto;
	}
	
	.aboutSection .inner {
		max-width: 100%;
		max-width: initial;
	}
	
	.aboutSection .ttl {
		/* margin: 0 auto 2.2667em; */
		margin: 0 auto 1.35em;
	}
	
	.aboutSection .ttl:before {
		margin: 0 auto 10px;
		width: 24px;
		height: 26px;
		background: url(../images/index/logo_mark_sp.png) no-repeat 0 0;
		background-size: contain;
	}
	
	.aboutSection .btn_more {
		margin: 4.1em auto 0;
	}
	

	/* --------------------
	   serviceSection
	-------------------- */
	.serviceSection .txt {
		text-align: left;
	}

	.serviceSection .img {
    display: block;
    position: relative;
    max-width: 454px;
    margin: 0 auto;
    overflow: hidden;
	}


	
	
	.serviceSection .btn_more {
		margin: 40px auto 0;
	}
	
	
	/* --------------------
	   CASE STUDY Section
	-------------------- */
	.caseStudySection .ttl {
		margin: 0 auto 1em;
	}
	
	.caseStudySection .slider {
		max-width: 345px;
		margin: 0 auto;
	}
	
	.caseStudySection .slider .box .imgFrame {
		width: auto;;
	}
	
	.caseStudySection .slider .box .txtFrame {
		position: relative;
		width: auto;
		margin-left: 21.5%;
		margin-top: -60px;
		min-height: 0;
		z-index: 1;
	}

	.caseStudySection .slider .txtFrame:after {
		display: none;
	}
	
	.caseStudySection .slider .txtFrame .cat {
		min-width: 0;
		padding: 0 .35em;
		font-size: 10px;
		height: 15px;
		line-height: 15px;
	}

	.caseStudySection .slider .box .txtFrame .inner {
		display: block;
		margin: 0;
		padding: 25px 15px 20px;
		max-width: initial;
	}
	
	.caseStudySection .slider .box .txtFrame .head:not(.sp),
	.caseStudySection .slider .box .txtFrame .txt:not(.sp) {
		display: none;
	}
	
	.caseStudySection .slider .box .txtFrame .head {
		margin: 0 0 1em;
		line-height: 1.3;
		font-size: 1.1667em;
		letter-spacing: .05em;
	}
	
	.caseStudySection .slider .box .txtFrame .txt {
		letter-spacing: .06em;
        padding: 0;
	}
	
	.caseStudySection .slider .box .txtFrame .btn {
		margin: 20px auto 0;
	}
	
	.caseStudySection .slider .box .imgFrame {
		margin: 0;
	}
	
	.caseStudySection .slider .slick-prev,
	.caseStudySection .slider .slick-next {
		/* top: 72%; */
		top: 325px;
		width: 15px;
		height: 25px;
		left: 0;
	}
	
	.caseStudySection .slider .slick-next {
		right: auto;
		left: calc(2em + 15px);
	}

	.caseStudySection .slider .slick-prev:before,
	.caseStudySection .slider .slick-next:before {
		width: 15px;
		height: 15px;
	}
	
	.caseStudySection .slider .slick-prev:before {
		transform: translate(0, -50%) rotate(-45deg);
	}
	
	
	/* --------------------
	   PRODUCTION RESULT Section
	-------------------- */
	.productionResultSection .productFrame {
		margin: 2.875em auto 0;
	}

	.productionResultSection .box {
		margin: 0 auto 32px;
		padding: 22px 21.6px 20px;
		max-width: 345px;
	}
	
	.productionResultSection .box .txtFrame {
		margin: 15px 0 0;
	}
	
	.productionResultSection .box .txtFrame .cat {
		min-height: 15px;
		line-height: 12px;
	}
	
	.productionResultSection .box .txtFrame .title {
		font-size: 14px;
		font-size: 1.4rem;
	}
    .productionResultSection .btn_more {
		margin: 40px auto 0;
	}
	
	/* --------------------
	   BUSINESS PRODUCE Section
	-------------------- */
	.businessProduceSection .box {
		width: 100%;
	}
	
	.businessProduceSection .box .txt {
		font-size: 1.5em;
	}
	
	.businessProduceSection .box .txt .sub {
		font-size: 10px;
		font-size: 1.0rem;
		letter-spacing: .08em;
	}

	/* --------------------
	   RECRUIT / NEWS Section
	-------------------- */
	.sectionWrap {
		padding: 80px 0;
	}
	
	.sectionWrap .section {
		padding: 32px 0;
	}
	.sectionWrap .section + .section {
		margin-top: 80px;
	}
	
	/* --------------------
	   RECRUIT Section
	-------------------- */
	.recruitSection .txtFrame {
		min-height: 150px;
	}
	
	.recruitSection .txtFrame:before {
		padding: 34% 0 0;
		margin: 2.25em auto -2.25em;
		max-width: 250px;
		background: url(../images/index/recruit_bg_sp.png) no-repeat center 0;
		background-size: contain;
}

	/* --------------------
	   newsSection
	-------------------- */
	.newsSection li {
		margin: 0 0 1.15em;
		line-height: 1.6667em;
	}
	
	.newsSection .btn {
		margin: 50px auto 0;
	}


}
