/*====================================================================================*/
/* Common
/*====================================================================================*/

@charset "utf-8";

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}


/* ===========================================
* MAIN
* ======================================== */
#wpadminbar{
	display:none;
}
#colophon{
	display:none;
}
.sbi_header_img_hover{
	display:none;
}
#sbi_load{
	display:none;
}
/*====================================================================================*/
/* PC 
/*====================================================================================*/
html,body {
    text-align:center;
}
.landscapeDisplay{
	display:block;
}
.portraitDisplay{
	display:none;
}
/*__ Common   ____________________________*/
.pageWrapper{
    padding-left: 270px;
}

.contentSect{
	margin-bottom:80px;
/*	border:solid 1px #CCCCCC;	*/
	min-height:60vh;
	position:relative;
    text-align: left;
}
.contentSect > .title{
}
.contentSect > .title > .text{

    font-size: 200%;
    position: relative;
    text-align: left;
    z-index: 5;
    /* line-height: 0.9; */
    /* display: inline-block; */
	width: 200px; 
    margin-bottom: 20px;
    vertical-align: top;
    border-bottom: solid 1px;
    display: inline-block;
}
.contentSect > .title > .line{
}
.contentSect > .title::after{
display: inline-block;
    position: absolute;
/*    content: " ";	*/
    width: 300px;
    height: 1px;
    background-color: black;
    /* margin-right: 23px; */
    transform: translate(6px, 20px);
}
.contentSect > .title > .subTitle{
    font-size: 24pt;
    color: gray;
    padding-left: 80px;
    padding-top: 100px;
    text-orientation: initial;
}
#c_entrance, c_entrancePortrait{
	max-height: calc(100vh - 0px);
    min-height: calc(100vh - 0px);
	overflow: hidden;
}

#c_entrancePortrait > .List, #c_entrance > .List{
	position:absolute;
	max-height: calc(100vh - 0px);
    top: 0;
	left: 0;
    width: 100%;
    height: 100%;
	opacity:0;
	/* animation */	
    -webkit-transition: all 2s;
    -moz-transition: all 2s;
    -ms-transition: all 2s;
    -o-transition: all 2s;
    transition: all 2s;
}

#c_entrancePortrait > .List > .image,#c_entrance > .List > .image{
	overflow: hidden; 
    height: 100%;
    width: 100%;
}


#c_entrancePortrait > .List > .image img, #c_entrance > .List > .image img{ 
	max-width: calc(100% + 150px);
	
	/* for angle*/
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
	
	/* animation */	
    -webkit-transition: all 8s;
    -moz-transition: all 8s;
    -ms-transition: all 8s;
    -o-transition: all 8s;
    transition: all 8s;
}

#c_entrancePortrait > .List > .title, #c_entrance > .List > .title{
    font-size: 200%;
	font-weight: 100;
	position:absolute;
    width: 500px;
    text-align: right;
    z-index: 5;
	top: 100%;
	left: 100%;
	transform: translateX(calc(-100% - 20px)) translateY(calc(calc(-100% - 0px) - 20px));
	line-height: 1.3;
	color:white;
}
.entranceSlideHorizontalMove{
	transform: translateX(-50px);
}
/* slideshow option*/
/* position */
.centerCenter{
	object-position: center center;
}
.centerTop{
	object-position: center top;
}
.rightTop{
	object-position: right top;
}
.rightCenter{
	object-position: right center;
}
.rightBottom{
	object-position: right bottom;

}
.centerBottom{
	object-position: center bottom;
}
.leftBottom{
	object-position: left bottom;
}
.leftCenter{
	object-position: left center;
}
.leftTop{
	object-position: left top;

}
.Vertical{
	width:auto;
	height:100%;
}
.holizontal{
	width:100%;
	height:auto;
}
/* angleMaintenancePolicy */


#c_entrance > .List > .caption{
    position: absolute;
    top: 100%;
    left: 100%;
    z-index: 20;
    transform: translate(calc(-100% - 20px), calc(-100% - 20px));
    width: 400px;
    color: white;
	text-align: left;
}
#c_entrance > .List > .caption > .text{
	border-bottom: solid 1px;
	padding-bottom: 10px;
	margin-bottom: 10px;
}
.List > .caption > .divLink{
	color: white;
	text-align: right;
}
.List > .caption > .divLink > .toDetail{
}
.List > .caption > .divLink > .toDetail::before{
width: 60px;
    height: 1px;
    margin-right: 5px;
    content: "";
    /* 	background-color: white; */
    display: inline-block;
}
.List > .title > .divLink > .toDetail{
	color: white;
	font-size: initial;
	text-align: right;
	padding-top: 10px;
    font-size: 50%;
}
.List > .title > .divLink > .toDetail::before{
/*	width: 60px;	*/
    height: 1px;
    margin-right: 5px;
    content: "";
    /* 	background-color: white; */
    display: inline-block;
}
.List > .logo{
	position: absolute;
	left: 50%;
	top: 50%;
	width: 100px;
	transform: translate(-50%, -50%);
}
.nowSlideDisp{
	opacity:1 !important;
}
.nowSlideHorizontalMove{
	transform:translateX(-50px) !important;
}
#slide0{
		opacity:1 !important;
}
.slideOrder0{
	z-index:20;
}
.slideOrder1{
	z-index:40;
}
.slideOrder2{
	z-index:60;
}
.slideOrder3{
	z-index:80;
}
.slideOrder4{
	z-index:100;
}
/* for works*/
.contentsWrapper{
	text-align:center;
}
.container {
	display: inline-block;
	text-align:left;
    padding-top: 10px;
}
.container > .link > .centralParts{
	margin:0 20px;
}
.container > .link > .box {
	width: calc((100vw - 310px) / 3);

	margin-bottom: 30px;
	/*	margin: 10px; /* 上下左右10pxのマージン */
	box-sizing: border-box; /* パディングやボーダーを含めた幅にする */
	vertical-align: top;
	display:inline-block;
	
	
}
.container > .link > .box > .image {
	margin-bottom:5px;
}
.container > .link > .box > .projectName{
	font-weight:100;
}
.container > .link > .box > .caption{
}
#c_works{
	padding-left:0px;
	padding-right:0px;
}
#c_works >.contentsWrapper{
	display: inline-block;
	width: calc(100%);
}

.container2 {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start; /* 左揃えに変更 */
	width: 100%; /* 親要素の幅に合わせて調整 */
	padding-right: 45px;	
}

.link {
	width: calc((100% - 40px) / 3);
	/* height: 200px; */
	margin-bottom: 20px;
  text-decoration: none; /* リンクのアンダーラインを消す */
  position: relative; /* 画像の上に要素を重ねるために使用 */
	text-align:left;
}
.centralParts{
	margin: 0 20px;
}

.link > .box2 {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}

.link > .box2 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.link > .centralParts{
	margin:0 20px;
}

#c_about{
	min-height: initial;
	margin-bottom: 140px;
}
#c_about > .contentsWrapper{
	/*padding-left: 10px;
	padding-top: 130px; */
    display: inline-block;
    padding-top: 30px;
}
#c_about > .contentsWrapper > .caption{
	margin-bottom: 15px;
	font-size: 200%;
	text-align: left;
}
#c_about > .contentsWrapper > .divLink > .readmore{
	text-align: left;
    margin-top: 50px;
}
#c_contact > .content{
	 padding: 10px 0px;
	/* padding-top: 100px; */
	text-align: left;
	width: calc(100% - 160px);
	display: inline-block;
}
#c_contact > .content > .caption{
    margin-bottom: 30px;
}
#c_contact > .content > .formArea{
	
}
#c_contact > .content > .formArea > .formTag{
	
}
#c_contact > .content > .formArea > .formTag > .parts{
	margin-bottom: 10px;
}
#c_contact > .content > .formArea > .formTag > .parts > .title{
	display: inline-block;
	width:130px;
}
#c_contact > .content > .formArea > .formTag > .parts > .item{
	display: inline-block;
}

.contactToMail{
	margin-top:30px;
}
/*====================================================================================*/
/* スマフォ　縦表示
/*====================================================================================*/
@media only screen and (max-width: 1024px) and (orientation:portrait){
	.landscapeDisplay{
		display:none;
	}
	.portraitDisplay{
		display:block;
        min-height: 100vh;
	}	
	.pageWrapper {
		padding-left: 0px;
		padding-right: 0px;
		padding-top: 0px;
	}
	.contentSect > #logo{
        position: absolute;
        top: 50%;
        left: 50%;
        width: 100px;
		transform: translate(-50%, calc(-50% - 0px));
		z-index:300;
	}
	#c_entrance > .List{
		height:initial;
	}
	#c_entrance > .List > .title{
		font-size: 120%;
		
	}
	#c_entrance > .List > .title > .text{
		display:none;
	}
	#c_entrance > .List > .image img{
		max-width: initial;
		height: 80vh;
		width: auto;
	}
	#c_entrance > .List > .moveTarget{
/*        transform: translateX(-40%);	*/
	}
	#c_entrance > .List > .nowSlideHorizontalMove{
/*        transform: translateX(-60%);*/
	}
	#c_about{
		margin-bottom: 80px;
        padding-left: 20px;
        padding-right: 20px;
	}
	#c_works {
	/* padding-left: 10px; */
	/* padding-right: 10px; */
		padding-left: 20px;
		padding-right: 20px;
	}
	#c_contact {
		padding-left: 20px;
		padding-right: 20px;
	}
	.contentSect > .title {
		border-bottom: solid 1px;
        margin-bottom: 10px;
	}
	.contentSect > .title:after {
		content:initial;
	}
	
	.container > .link > .box {
		width: calc(50% - 5px);
        font-size: 88%;
	}
	.container > .link > .centralParts{
		margin:initial;
		
	}
	.container > .link > .leftParts{
		margin-right:10px;
	}
	#c_contact > .content{
		width:100%;
	}
	#c_contact > .content > .formArea > .formTag > .parts > .title{
		display: initial;
		width: 100%;
	}
	#c_contact > .content > .formArea > .formTag > .parts > .item{
		display: initial;
		width: 100%;
	}
	.contentSect > .title > .text{
		border-bottom: initial;
	}
	.container2 {
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start; /* 左揃えに変更 */
		width: 100%; /* 親要素の幅に合わせて調整 */
		padding-right: 0px;
	}
	
	.link {
		width: calc((100% - 20px) / 2);
		/* height: 200px; */
		margin-bottom: 20px;
		text-decoration: none; /* リンクのアンダーラインを消す */
		position: relative; /* 画像の上に要素を重ねるために使用 */
		text-align:left;
	}
    .centralParts {
		margin: 0;
	}
	.leftParts{
		margin-right:20px;
	}
	.link > .box2 {
		width: 100%;
		height: 100%;
		position: relative;
		overflow: hidden;
        font-size: 80%;
	}
	
	.link > .box2 img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	#c_contact > .content > .caption{
		font-size:90%;
	}
	
}

