@charset "UTF-8";

a:hover {
	opacity: 0.4;
}

article video {
 	position: absolute; 
 	top:0; 
 	width: 100%; 
 	height: 100vh; 
 	background: #000; 
 	z-index: 9999999999;
 }

/* kv-area*/
#kv-area{
	margin: 0 auto 10vw;
	padding: 15px 0 30px;
	position: relative;
	background: #000;
}

#kv-area .inner{
	background: none;
	width: 1150px;
	height: 841px;
	margin: 0 auto;
}

#kv-area .inner img{
	width: 1150px;
	height: 841px;
	margin: 0 auto;
}
/* kv-area*/

/* works*/
#works{
	margin: 150px auto 40px;
}

#works .inner {
    width: 1944px;
    margin: 0 auto;
    background: #FFF;
}

/* works-area*/
.works-head .head_logo img{
	width: 181px;
	height: auto;
	margin: 20px 0 10px 40px;
}

.works-area .inner{
    width: 1150px;
	margin: 180px auto; 
}

.works-area .inner h1{
	text-align: center;
}

.works-area .inner h1 img{
    width: 325px;
    height: auto;
}

.works-area .inner .contents{
	margin: 120px auto 0;
}

.works-area .inner .contents dt{
	font-size: 3.0rem;
	font-weight: 600;
	text-align: center;
	padding-bottom: 20px;
	border-bottom: solid 1px #000;
}

.works-area .inner .contents .photo{
	margin-top: 30px;
}

.works-area .inner .contents .place{
	font-size: 1.6rem;
	font-weight: 600;
	padding-top: 16px;
	letter-spacing: 0.3rem;
	font-family: "Barlow Semi Condensed";
}

.works-area .inner .contents .day{
	font-size: 1.4rem;
	font-weight: 600;
	padding-top: 10px;
	letter-spacing: 0.3rem;
	font-family: "Barlow Semi Condensed";
}

.works-area .inner .contents .text{
	font-size: 1.8rem;
	line-height: 1.8;
	margin: 40px 0 80px;
}

.works-area .inner .be-af{
	margin: 100px auto;
}

.works-area .inner .be-af h2{
	text-align: center;
}

.works-area .inner .be-af h2 img{
	width: 282px;
	height: auto;
}

.works-area .inner .be-af ul{
	display: flex;
	justify-content: space-between;
	background: url("../img/works/ico_tri.png") no-repeat;
	background-position: center 380px;
	background-size: 34px 64px;
}

.works-area .inner .be-af ul li{
	max-width: 478px;
}

.works-area .inner .be-af ul li img{
	width: 478px;
	height: 478px;
	object-fit: cover; /* この一行を追加するだけ！ */
}

.works-area .inner .be-af ul li .sttl{
	margin: 80px 0 30px;
	font-size: 2.4rem;
	font-weight: 600;
	letter-spacing: 0.3rem;
	font-family: "Barlow Semi Condensed";
}

.works-area .inner .be-af ul li .text{
	margin: 24px 0 80px;
	line-height: 1.6;
}

.works-area .inner .be-af a{
	margin: 50px auto 0;
	text-align: center;
	width: 267px;
	display: block;
}


.works-area .inner .be-af a .btn_back{
	border: solid 1px #000;
	padding: 20px 60px;
	text-align: center;
	letter-spacing: 0.4rem;
}

footer.works-foot {
	border-top: solid 1px #000;
}
/* works-area*/

@media screen and (min-width: 1944px) {

#works ul::before{
  content:"";
  display: block;
  width:24.8%;
  order:1;
}
#works ul::after{
  content:"";
  display: block;
  width:24.8%;
}
}/*min-width: 1944px*/

@media screen and (max-width: 1943px) {
#works .inner {
    width: 1455px;
}/*max-width: 1943px*/
	
#works ul::after{
  content:"";
  display: block;
  width:486px;
}	
}/*max-width: 1943px*/
	
@media screen and (max-width: 1457px) {
#works .inner {
    width: 970px;
}
}/*max-width: 1457px*/

	
#works h1{
	text-align: center;
	margin-bottom: 60px;
}

#works h1 img{
	width: 325px;
	height: auto;
}

#works ul{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

#works ul li{
	margin: 0 -2px 60px;
}

#works ul .img{
	position: relative;
}

#works ul .img img{
	width: 486px;
	height: 354px;
	object-fit: cover; /* トリミング対応 */
	vertical-align: bottom;
}
#works ul .data strong{
	font-size: 1.6rem;
	font-weight: bold;
}

#works ul .data{
    padding: 11px 0 60px 20px;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 486px;
    height: 59px;
    background-color: rgba(0,0,0,0.5);
    color: #FFF;
    font-size: 1.4rem;
}

#works ul dt{
	background: #fff;
	padding: 20px 0 0 20px;
	font-size: 1.8rem;
}

#works .b-btn{
	text-align: center;
	margin: 50px auto 0;
}

#works .b-btn img{
	width: 267px;
	height: auto;
}
/* works*/

/* concept*/
#concept {
	margin: 150px auto 0;
	width: 100%;
	height: 1517px;
	background: url("../img/bg_concept.png") no-repeat;
	background-size: cover;
	background-position: 0 3px;
		
}

#concept h1 {
	width: 80%;
	margin: 0 auto;
}

#concept dt{
	font-size: 4.0rem;
	font-weight: 600;
	letter-spacing: 1.0rem;
	line-height: 1.8;
	color: #FFF;
	text-align: center;
	padding: 80px 0 100px;
}

#concept dd ul{
	width: 1150px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}

#concept dd ul li{
	width: 516px;
	padding: 80px 90px 60px;
	background: #FFF;
	font-size: 1.6rem;
	line-height: 1.8;
}

#concept dd ul li p{
	font-size: 3.5rem;
	font-weight: 600;
	line-height: 1.6;
	padding: 0 0 30px 0;
}

#concept dd ul li strong{
	background: #FFFF00;
	display: block;
	margin-bottom: -20px;
}
/* concept*/

/* min-width: 1488px*/
@media screen and (max-width: 1488px) {
}/* min-width: 1488px*/

/* min-width: 769px*/
@media screen and (max-width: 769px) {

article video {
 	position: absolute; 
 	top:0; 
 	width: 100%; 
 	height: auto; 
 	background: #000; 
 	z-index: 9999999999;
 }	
	
/* kv-area*/
#kv-area{
	margin: 0 auto 100px;
	padding: 15px 0 30px;
	position: relative;
	background: #000;
}

#kv-area .inner{
	background: none;
	width: 100%;
	height: auto;
	margin: 0 auto;
}

#kv-area .inner img{
	width: 100%;
	height: auto;
	padding-top: 0;
	margin: 0 auto;
}
/* kv-area*/

/* works*/
#works{
	margin: 300px auto 150px;
}t

#works .inner {
    width: 100%;
    margin: 0 auto;
    background: #FFF;
}
	
#works ul::after{
  content:"";
  display: block;
  width: 50%;
}	

#works .inner {
    width: 100%;
}
	
#works h1{
	text-align: center;
	margin-bottom: 60px;
}

#works h1 img{
	width: 60%;
	height: auto;
}

#works ul{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}


#works ul li{
	margin: 0 -2px 30px;
	width: 49%;
}

#works ul .img{
	position: relative;
}
	
#works ul .img img{
	width: 100%;
	height: 250px;
	object-fit: cover; /* トリミング対応 */
	vertical-align: bottom;
}
	
#works ul .data strong{
	font-size: 4.4vw;
	font-weight: bold;
}

#works ul .data{
    padding: 11px 0 60px 20px;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 30px;
    background-color: rgba(0,0,0,0.5);
    color: #FFF;
    font-size: 4vw;
}

#works ul dt{
	background: #fff;
    padding: 10px 4% 0;
    font-size: 4vw;
}

#works .b-btn{
	text-align: center;
	margin: 20px auto 0;
}

#works .b-btn img{
	width: 60%;
	height: auto;
}
/* works*/

/* concept*/
#concept {
	margin: 100px auto 0;
	padding: 0;
	width: 100%;
	height: auto;
	background: #2747ab;
	background-size: 100%;
}

#concept h1 {
	width: 80%;
}
	
#concept h1 img{
	margin: -3px auto 0;
}

#concept dt{
    font-size: 6vw;
    font-weight: 600;
    letter-spacing: 0.2rem;
    line-height: 1.8;
    color: #FFF;
    text-align: center;
	padding: 60px 0 80px;
}

#concept dd ul{
	width: 96%;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

#concept dd ul li{
	width: 100%;
	padding: 60px 4%;
	margin-bottom: 40px;
	background: #FFF;
	font-size: 1.6rem;
	line-height: 1.8;
}

#concept dd ul li p{
	font-size: 6.4vw;
	font-weight: 600;
	line-height: 1.6;
	padding: 0 0 30px 0;
}

#concept dd ul li strong{
	background: #FFFF00;
	display: block;
	margin-bottom: -26px;
}
/* concept*/
	
/* works-area*/
.works-head .head_logo{
	text-align: center;
}

.works-head .head_logo img{
	width: 34%;
	height: auto;
	margin: 20px 0 10px;
}

.works-area .inner{
    width: 96%;
	margin: 180px auto; 
}

.works-area .inner h1{
	text-align: center;
}

.works-area .inner h1 img{
    width: 70%;
    height: auto;
}

.works-area .inner .contents{
	margin: 120px auto 0;
}

.works-area .inner .contents dt{
    font-size: 2.4rem;
    font-weight: 600;
    text-align: left;
    padding-bottom: 20px;
    border-bottom: solid 1px #000;
}

.works-area .inner .contents .photo{
	margin-top: 30px;
}

.works-area .inner .contents .place{
	font-size: 1.6rem;
	font-weight: 600;
	padding-top: 16px;
	letter-spacing: 0.3rem;
	font-family: "Barlow Semi Condensed";
}

.works-area .inner .contents .day{
	font-size: 1.4rem;
	font-weight: 600;
	padding-top: 10px;
	letter-spacing: 0.3rem;
	font-family: "Barlow Semi Condensed";
}

.works-area .inner .contents .text{
	font-size: 1.8rem;
	line-height: 1.8;
	margin: 40px 0 80px;
}

.works-area .inner .be-af{
	margin: 100px auto;
	background: url("../img/works/ico_tri.png") no-repeat;
	background-position: center 380px;
	background-size: 34px 64px;
}

.works-area .inner .be-af h2{
	text-align: center;
}

.works-area .inner .be-af h2 img{
	width: 282px;
	height: auto;
}

.works-area .inner .be-af ul{
	display: block;
	justify-content: space-between;
}

.works-area .inner .be-af ul li{
	max-width: 478px;
}

.works-area .inner .be-af ul .arrow{
	text-align: center;
}
	
.works-area .inner .be-af ul .arrow img{
	width: 10%;
	height: auto;
	transform:rotate(90deg);    /* 中心を基準点に時計回りに回転する */
}
	
.works-area .inner .be-af ul li img{
	width: 478px;
	height: 478px;
	object-fit: cover; /* この一行を追加するだけ！ */
}

.works-area .inner .be-af ul li .sttl{
	margin: 30px 0 30px;
	font-size: 2.4rem;
	font-weight: 600;
	letter-spacing: 0.3rem;
	font-family: "Barlow Semi Condensed";
}

.works-area .inner .be-af ul li .text{
	margin: 24px 0 80px;
	line-height: 1.6;
}

.works-area .inner .be-af a{
	margin: 50px auto 0;
	text-align: center;
	width: 267px;
	display: block;
}


.works-area .inner .be-af a .btn_back{
	border: solid 1px #000;
	padding: 20px 60px;
	text-align: center;
	letter-spacing: 0.4rem;
}

footer.works-foot {
	border-top: solid 1px #000;
}
/* works-area*/	
	
	
}/* min-width: 769px*/
