@charset "UTF-8";


/***************************************************

	works

***************************************************/

.page_head{
	background-image: url('../images/works/works_head_bg.jpg');
}


/* オーバーレイ 初期状態 */
.mfp-fade.mfp-bg {
  opacity: 0;

  -webkit-transition: all .3s ease-out;
  -moz-transition: all .3s ease-out;
  transition: all .3s ease-out;
}
/* オーバーレイ 表示アニメーション */
.mfp-fade.mfp-bg.mfp-ready {
  opacity: .8;
}
/* オーバーレイ 非表示アニメーション */
.mfp-fade.mfp-bg.mfp-removing {
  opacity: 0;
}

/* コンテンツ 初期状態 */
.mfp-fade.mfp-wrap .mfp-content {
  opacity: 0;

  -webkit-transition: all .3s ease-out;
  -moz-transition: all .3s ease-out;
  transition: all .3s ease-out;
}
/* コンテンツ 表示アニメーション */
.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
  opacity: 1;
}
/* コンテンツ 非表示アニメーション */
.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
  opacity: 0;
}


.main_caption{
	font-size: 24px;
    font-weight: 500;
    color: var(--color1);
    line-height: 1.8;
    letter-spacing: 0.04em;
    text-align: center;
    margin-bottom: 40px;
}

.works_head{
	width: 950px;
	margin: 0 auto 60px;
	display: flex;
	flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    overflow: hidden;
}

.works_head .d_image_wrapp{
	width: 670px;
	display: flex;
	flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
}

.works_head .d_image_wrapp .data{
	width: 320px;
}

.works_head .text{
	width: calc(100% - 670px);
	padding-left: 20px;
	box-sizing: border-box;
	line-height: 1;
}

.works_head .text .title{
	font-size: 18px;
	font-weight: 500;
	letter-spacing: 0.04em;
	margin-bottom: 14px;
}

.works_head .text dl{

}

.works_head .text dl dt{
	font-weight: 500;
	color: var(--color1);
	letter-spacing: 0.04em;
	margin-bottom: 6px;
}

.works_head .text dl dd{
	letter-spacing: 0.04em;
	margin-bottom: 16px;
	line-height: 1.4;
}

.works_head .text dl dd:last-of-type{
	margin-bottom: 0;
}

.tab-container{
	width: 950px;
	margin: 0 auto;
	display: table;
}


.tab-container .tab_wrapp,
.tab-container .tabs_wrapp{
	display: table-cell;
	vertical-align: top;

}

.tab-container .tabs_wrapp{
	width: 300px;
	position: relative;
	padding-top: 82px;
}

.tab-container .tabs{
	width: 100%;
	position: sticky;
    top: 30px;
}

.tab-container .tabs li{
	width: 240px;
	margin-bottom: 24px;
	display: table;
	cursor: pointer;
	transition: all 0.2s linear;
}

.tab-container .tabs li.active,
.tab-container .tabs li:hover{
	opacity: 0.8;
}

.tab-container .tabs li:last-child{
	margin-bottom: 0;
}

.tab-container .tabs li p,
.tab-container .tabs li .image{
	display: table-cell;
	vertical-align: middle;
}

.tab-container .tabs li .image{
	width: 100px;
	height: 80px;
	border-radius: 80px 0 0 80px;
	overflow: hidden;
	position: relative;
}

.tab-container .tabs li .image img{
    width: auto;
    height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.tab-container .tabs li p{
	width: calc(100% - 100px);
	background: #e6effb;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.04em;
	padding-left: 12px;
	position: relative;
}

.tab-container .tabs li p:before {
  content: '';
  width: 6px;
  height: 6px;
  border: 0;
  border-top: solid 2px var(--color1);
  border-right: solid 2px var(--color1);
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  right: 12px;
  bottom: 0;
  margin: auto;
}
.tab-container .tab_wrapp{
	position: relative;
}

.tab-container .tab_wrapp .tab-content{
	position: relative;
    top: 0;
    left: 0;
    right: 0;
    z-index: -1;
}

.tab-container .tab_wrapp .tab-content.active{
    z-index: 1;
}

.tab-container .tab_wrapp .title{
    font-size: 25px;
    font-weight: 500;
    color: var(--color1);
    letter-spacing: 0.05em;
    text-align: center;
    margin-bottom: 40px;
}

.tab-container .tab_wrapp .thumbnail_ul{
	display: flex;
	flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
}

.tab-container .tab_wrapp .thumbnail_ul li{
	width: 30%;
	margin: 0 5% 20px 0;
}

.tab-container .tab_wrapp .thumbnail_ul li:nth-child(3n + 3){
	margin-right: 0;
}

.tab-container .tab_wrapp .thumbnail_ul li a{
	display: block;
	margin-bottom: 12px;
    box-shadow: 3px 3px 11px -5px #777777;
    border-radius: 4px;
    overflow: hidden;
}

.tab-container .tab_wrapp .thumbnail_ul li a:hover{
	opacity: 0.8;
}

.tab-container .tab_wrapp .thumbnail_ul li .name{
	font-size: 14px;
	font-weight: 500;
	line-height: 1.4;
}

.tab-container .tab_wrapp .thumbnail_ul li .name small{
	font-size: 12px;
	font-weight: 500;
}




/********************************************************************************
	リッキド用 CSS
********************************************************************************/

@media(max-width:1300px){

.main_caption{
	font-size: 1.846154vw;
    margin-bottom: 3.076923vw;
}

.works_head{
	width: 73.076923vw;
	margin: 0 auto 4.615385vw;
}

.works_head .d_image_wrapp{
	width: 51.538462vw;
}

.works_head .d_image_wrapp .data{
	width: 24.615385vw;
}

.works_head .text{
	width: calc(100% - 51.538462vw);
	padding-left: 1.538462vw;
}

.works_head .text .title{
	font-size: 1.384615vw;
	margin-bottom: 1.076923vw;
}

.works_head .text dl dt{
	margin-bottom: 0.461538vw;
}

.works_head .text dl dd{
	margin-bottom: 1.230769vw;
}

.tab-container{
	width: 73.076923vw;
}

.tab-container .tabs_wrapp{
	width: 23.076923vw;
	padding-top: 6.307692vw;
}

.tab-container .tabs{
    top: 2.307692vw;
}

.tab-container .tabs li{
	width: 18.461538vw;
	margin-bottom: 1.846154vw;
}

.tab-container .tabs li .image{
	width: 7.692308vw;
	height: 6.153846vw;
	border-radius: 6.153846vw 0 0 6.153846vw;
}

.tab-container .tabs li p{
	width: calc(100% - 7.692308vw);
	font-size: 1.076923vw;
	padding-left: 0.923077vw;
}

.tab-container .tabs li p:before {
  width: 0.461538vw;
  height: 0.461538vw;
  right: 0.923077vw;
}

.tab-container .tab_wrapp .title{
    font-size: 1.923077vw;
    margin-bottom: 3.076923vw;
}

.tab-container .tab_wrapp .thumbnail_ul li{
	margin: 0 5% 1.538462vw 0;
}

.tab-container .tab_wrapp .thumbnail_ul li a{
	margin-bottom: 0.923077vw;
    box-shadow: 0.230769vw 0.230769vw 0.846154vw -0.384615vw #777777;
    border-radius: 0.307692vw;
}

.tab-container .tab_wrapp .thumbnail_ul li .name{
	font-size: 1.076923vw;
}

.tab-container .tab_wrapp .thumbnail_ul li .name small{
	font-size: 0.923077vw;
}




}




/********************************************************************************
	スマートフォン用 CSS
********************************************************************************/

@media(max-width:430px){

.main_caption{
	font-size: 5.333333vw;
    margin: 0 5.333333vw 8vw;
}

.works_head{
	width: auto;
	margin: 0 5.333333vw 8vw;
	display: block;
}

.works_head.kenchiku{
	margin: 0 0 8vw;
	height: 37.333333vw;
	overflow: hidden;
	position: relative;
}

.works_head.kenchiku img{
	max-width: unset;
	width: auto;
	height: 100%;
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.works_head .d_image_wrapp{
	width: auto;
	display: block;
}

.works_head .d_image_wrapp .data{
	width: 70%;
	margin: 0 auto 4.8vw;
}

.works_head .text{
	width: auto;
	padding-left: 0;
	text-align: center;
}

.works_head .text .title{
	font-size: 4.266667vw;
	margin-bottom: 3.2vw;
}

.works_head .text dl dt{
	margin-bottom: 1.6vw;
}

.works_head .text dl dd{
	margin-bottom: 4.266667vw;
}


.tab-container{
	width: auto;
	margin: 0 5.333333vw;
	display: block;
}


.tab-container .tab_wrapp,
.tab-container .tabs_wrapp{
	display: block;

}

.tab-container .tabs_wrapp{
	width: auto;
	padding-top: 0;
	margin-bottom: 5.333333vw;
}

.tab-container .tabs{
	width: 100%;
	position: static;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}

.tab-container .tabs li{
	width: 47%;
	margin-bottom: 4.266667vw;
}

.tab-container .tabs li.active,
.tab-container .tabs li:hover{
	opacity: 1;
}

.tab-container .tabs li:last-child{
	margin-bottom: 4.266667vw;
}

.tab-container .tabs li .image{
	width: 10.666667vw;
	height: 13.333333vw;
	border-radius: 13.333333vw 0 0 13.333333vw;
	overflow: hidden;
	position: relative;
}

.tab-container .tabs li p{
	width: calc(100% - 10.666667vw);
	font-size: 3.2vw;
	padding-left: 2.133333vw;
}

.tab-container .tabs li p:before {
  width: 1.6vw;
  height: 1.6vw;
  border-top: solid 1px var(--color1);
  border-right: solid 1px var(--color1);
  right: 2.133333vw;
}

.tab-container .tab_wrapp .title{
    font-size: 5.333333vw;
    margin-bottom: 5.333333vw;
}

.tab-container .tab_wrapp .thumbnail_ul{
	justify-content: space-between;
}

.tab-container .tab_wrapp .thumbnail_ul li{
	width: 47%;
	margin: 0 0 5.333333vw;
}

.tab-container .tab_wrapp .thumbnail_ul li a{
	margin-bottom: 2.666667vw;
    box-shadow: 0.8vw 0.8vw 2.666667vw -1.066667vw #777777;
    border-radius: 1.066667vw;
}

.tab-container .tab_wrapp .thumbnail_ul li a:hover{
	opacity: 1;
}

.tab-container .tab_wrapp .thumbnail_ul li .name{
	font-size: 3.2vw;
}

.tab-container .tab_wrapp .thumbnail_ul li .name small{
	font-size: 2.666667vw;
}









}


