@charset "utf-8";

/*=====================================================================================
	
	Document    : top.css
	Description : PC用（幅900px以上）
 
=====================================================================================*/

/*---------------------------------------------------------------------------

   メインスライド

---------------------------------------------------------------------------*/

.main-slide {
	margin-top:6px;
	background:url(../image/dt-bg.gif) repeat left top;
}

.main-slide > .inner {
	max-width:1100px;
	max-height:435px;
	margin-left:auto;
	margin-right:auto;
	position:relative;
}

.caroufredsel_wrapper {
	width:100% !important;
}

.main-slide ul.slide {
	list-style:none;
	width:100% !important;
}

.main-slide .slide li {
	float:left;
	width:100% !important;
}

.main-slide .slide li img {
	width:100% !important;
	max-height:435px;
}


/*-------------------------------------------------------
   pager
-------------------------------------------------------*/

.main-slide > .inner > ul.pager {
	list-style:none;
	position:absolute;
	right:20px;
	bottom:20px;
	z-index:88;
}

.main-slide > .inner > .pager li {
	float:left;
	margin-left:10px;
	border:2px solid #fff;
	cursor:pointer;
	position:relative;

	width:80px;
	height:60px;
	overflow:hidden;
	text-align:center;
	background-color:#fff;
}

.main-slide > .inner > .pager li img {
	height:60px;
}

.main-slide > .inner > .pager li.selected {
	border-color:#191919;
	background-color:#000;
}

.main-slide > .inner > .pager li:hover {
	background-color:#000;
}

.main-slide > .inner > .pager li:hover img,
.main-slide > .inner > .pager li.selected img {
	filter:alpha(opacity=50);
	opacity:0.5;
	-moz-opacity:0.5;
}

.main-slide > .inner > .pager li img {
	filter:alpha(opacity=100);
	opacity:1;
	-moz-opacity:1;

    -webkit-transition:opacity 0.2s linear;
       -moz-transition:opacity 0.2s linear;
         -o-transition:opacity 0.2s linear;
            transition:opacity 0.2s linear;
}


/*---------------------------------------------------------------------------

   Nav

---------------------------------------------------------------------------*/

.g-nav {
	max-width:1100px;
	margin-left:auto;
	margin-right:auto;
	padding-top:5px;
}

.g-nav ul {
	list-style:none;
}
.g-nav ul.sp {
	display: none;
}

.g-nav li {
	width:16.666666%;
	float:left;
	text-align:center;
}


/*---------------------------------------------------------------------------

   Contents

---------------------------------------------------------------------------*/

.block-ct {
	width:100%;
	display:flex;
}

.block-ct > .block-gp {
	width:100%;
  display: flex;
}

.block-ct > .block-gp > .block {
	border:8px solid #ebebeb;
}


@media screen and (max-width:800px) {
	.block-ct {
		display:inherit;
	}
	
	.block-ct > .block-gp {
		display:inherit;
	}
	
	.block-ct > .block-gp > .block {
		width:98%;
		display:inherit;
	}
}

.block-ct > .block-gp > .block > .bk-md {
	text-align:center;
	padding-top:25px;
	padding-bottom:20px;
}

.block-ct > .block-gp > .block > .dnone {
	text-align:center;
	padding-bottom:30px;
}


@media screen and (max-width:800px) {
	.block-ct > .block-gp > .block > .dnone {
		padding-bottom:6%;
	}
}

.new-tx {
	color:#d83d43;
}

.new-ic {
	background:url(../image/new-ic-bg.png) no-repeat left bottom;
	color:#fff;
	position:absolute;
	left:0;
	top:0;
	padding:4px 60px 20px 7px;
}

.new-ic02 {
	position:absolute;
	left:0;
	top:0;
  z-index: 2;
  display: inline-block;
  background-color: #d83d43;
  color: #fff;
  padding: 4px;
}


/*-------------------------------------------------------
   最近のお仕事
-------------------------------------------------------*/

#new_works h5 {
  text-align: center;
}

.kiji-list-new2 {
	background:url("../construction/image/dt-bg-blue.gif") repeat left top;
	padding: 10px 2.222222%;
  margin-top: 20px;
}

.kiji-list-new2 .list {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  width: 100%;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  margin-block-start:0;
  margin-block-end:0;
  overflow: hidden;
}
.kiji-list-new2 .list li {
  width: calc(20% - 4px);
  margin-right: 5px;
  margin-top: 5px;
  background-color: #fff;
  overflow: hidden;
}
.kiji-list-new2 .list li:nth-child(5n) {
  margin-right: 0;
}
@media screen and (max-width:1000px) {
  .kiji-list-new2 .list li {
    width: calc(25% - 4px);
  }
  .kiji-list-new2 .list li:nth-child(5n) {
    margin-right: 5px;
  }
  .kiji-list-new2 .list li:nth-child(4n) {
    margin-right: 0;
  }
  .kiji-list-new2 .list li:nth-child(9),
  .kiji-list-new2 .list li:nth-child(10) {
    display: none;
  }
}

.kiji-list-new2 .list li a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 10px;
  box-sizing: border-box;
  position: relative;
  text-decoration: none;
}

.kiji-list-new2 .list li .img {
  overflow: hidden;
}
.kiji-list-new2 .list li .img img {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.kiji-list-new2 .list li .fsize-s {
  margin-top: .5em;
}
.kiji-list-new2 .list li .place {
  float: right;
}
.kiji-list-new2 .list li b {
  display: block;
  text-overflow: ellipsis;
  white-space: nowrap;
  margin-top: .25em;
  overflow: hidden;
}

.kiji-list-new2 .new-ic {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  display: inline-block;
  padding: 6px 8px;
  background-color: #e45257;
  color: #fff;
  text-align: center;
  font-weight: bold;
  line-height: 1;
  border-bottom-right-radius: 8px;
}

.kiji-list-new2 .new2-list-move {
	list-style:none;
	text-align:center;
  margin: 20px auto 0;
}

.kiji-list-new2 .new2-list-move a,
.kiji-list-new2 .new2-list-move a:visited {
	display:inline-block;
	text-align:center;
	padding:6px 12px;
	background-color:#b4b4b4;	
	color:#fff;
	text-decoration:none;
	line-height:1.4em;
}
.kiji-list-new2 .new2-list-move a:hover {
	background-color:#c8c8c8;
}

.kiji-list-new2-cate h6 {
  margin-top: 1.5em;
  color: #5981c5;
}

.kiji-list-new2-cate ul {
  margin-bottom: 0;
}


/*-------------------------------------------------------
   blog
-------------------------------------------------------*/

#blog {
	width:100%;
	position:relative;
  padding: 0 20px;
  box-sizing: border-box;
}

.blog-list {
  display: flex;
  gap: 20px;
}

.blog-first-link {
  width: 35%;
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
}

.blog-first-link a {
  display: block;
  width: 100%;
  height: auto;
	text-decoration:none !important;
}

.blog-first-link .img {
  width: 100%;
	max-height: 220px;
  aspect-ratio: 4 / 3;
  margin: 0 auto;  
  box-sizing: border-box;
  overflow: hidden;
  position: relative;
}

.blog-first-link img {
  width: 100%;
  height: auto;
  max-height: 220px;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.blog-first-link p {
  display: flex;
  width: 100%;
  box-sizing: border-box;
  margin-top: 10px;
}

.blog-first-link p .fc-gray {
  display: inline-block;
  width: 50px;
  padding: .25em;
  background-color: #828282;
  box-sizing: border-box;
  color: #fff !important;
  text-align: center;
}
.blog-first-link p .un {
  display: inline-block;
  width: calc(100% - 56px);
  margin-left: 6px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.blog-slide {
  width: 65%;
	text-align:center;
	padding-bottom:20px;
}

.blog-slide ul {
	list-style:none;
	text-align:center;
}

.blog-slide li {
	text-align:center;
}

.blog-slide li a {
  position: relative;
  display: inline-block;
	text-decoration:none !important;
}

.blog-slide li .imgLiquid {
	width:130px;
	height:130px;
	-moz-border-radius:130px;
  -webkit-border-radius:130px;
  border-radius:130px;
	overflow:hidden;
	margin-left:auto;
	margin-right:auto;
	margin-bottom:10px;
}

.blog-slide li p {
	padding-left:5%;
	padding-right:5%;
}

@media screen and (max-width:800px) {
  .blog-list {
    flex-wrap: wrap;
    justify-content: center;
  }

  .blog-first-link {
    width: 50%;
    margin-top: 20px;
  }

  .blog-slide {
    width: 100%;
  }  
  
  .blog-first-link .imgLiquid ,
	.blog-slide li .imgLiquid {
		width:160px;
		height:160px;
		-moz-border-radius:160px;
		-webkit-border-radius:160px;
		border-radius:160px;
	}
}


/*-------------------------------------------------------
   column
-------------------------------------------------------*/

#column {
	width:100%;
	position:relative;
  padding: 0 20px;
  box-sizing: border-box;
}

.column-list {
  display: flex;
  gap: 20px;
}

.column-first-link {
  width: 35%;
	text-align:center;
}

.column-first-link .column-thumb {
  width: 100%;
  height: 100%;
  padding: 0 5px;
  box-sizing: border-box;
}

.column-first-link .column-thumb a {
  display: block;
  width: 100%;
  height: auto;
	max-width:256px;
	max-height:192px;
  aspect-ratio: 4 / 3;
  margin: 0 auto;
  position: relative;
	text-decoration:none !important;
}

.column-first-link .column-thumb img {
  width: 100%;
  height: auto;
	max-width:256px;
	max-height:192px;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  overflow: hidden;
}

.column-first-link strong {
	position:absolute;
	left:15px;
	bottom:10px;
  display: block;
  width: calc(100% - 30px);
	text-align:left;
	line-height:1.4;
	color:#fff;
	text-shadow:0 0 20px #666;
}

.column-first-link strong.fsize-l { font-size:21px !important; }

.column-slide {
  width: 65%;
	margin-left:auto;
	margin-right:auto;
	text-align:center;
	padding-bottom:20px;
}

.column-slide ul {
	list-style:none;
	text-align:center;
}

.column-slide li {
	text-align:center;
}

.column-slide li .column-thumb {
  width: 100%;
  height: 100%;
  padding: 0 5px;
  box-sizing: border-box;
}

.column-slide li .column-thumb a {
  display: block;
  width: 100%;
  height: auto;
	max-width:256px;
	max-height:192px;
  aspect-ratio: 4 / 3;
  margin: 0 auto;
  position: relative;
	text-decoration:none !important;
}

.column-slide li .column-thumb img {
  width: 100%;
  height: auto;
	max-width:256px;
	max-height:192px;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  overflow: hidden;
}

.column-slide li strong {
	position:absolute;
	left:15px;
	bottom:10px;
  display: block;
  width: calc(100% - 30px);
	text-align:left;
	line-height:1.4;
	color:#fff;
	text-shadow:0 0 20px #666;
}

.column-slide li strong.fsize-l { font-size:21px !important; }

/*
@media screen and (min-width:800px) and (max-width:900px) {
	.column-slide li .column-thumb,
	.column-slide li .imgLiquid,
  .column-first-link .column-thumb,
  .column-first-link .imgLiquid {
		width:180px;
		height:135px;
	}
}
*/

@media screen and (max-width:800px) {
  .column-list {
    flex-wrap: wrap;
    justify-content: center;
  }

  .column-first-link {
    width: 50%;
    margin-top: 20px;
  }

  .column-first-link a {
    display: block;
  }

  .column-slide {
    width: 100%;
  }  
}


/*-------------------------------------------------------
   news
-------------------------------------------------------*/

.news {
	width:50%;
  border-right-width: 4px !important;
}

@media screen and (max-width:800px) {
	.news {
    border-right-width: 8px !important;
    border-bottom-width: 4px !important;
	}
}

@media screen and (min-width:801px) {
	.news-sc {
		margin-right:10px;
		margin-bottom:10px;
		/*height:245px;*/
		overflow-y:scroll;
	}
}

@media screen and (min-width:801px) and (max-width:1000px) {
	.news-sc {
		/*height:205px;*/
	}
}

.news ul {
	list-style:none;
	margin-bottom:10px;
}

.news li a {
	padding:10px 20px;
	display:block;
	text-decoration:none !important;
}

.news li .thumb {
	width:80px;
	margin-right:15px;
	float:left;
	display:inline;
}

.news li .imgLiquid {
	max-width:100%;
	height:60px;
	overflow:hidden;
}

.news li p {
	margin-left:95px;
}

.news li .cate {
	padding:2px 6px;
	margin-bottom:10px;
	margin-right:0.5em;
}

@media screen and (max-width:800px) {
	.news ul {
		margin-bottom:0;
	}

	.news li {
		background:url(../image/lmS.png) no-repeat center right;
		border-top:1px solid #dcdcdc;
	}

	.news li a {
		padding:3% 10% 3% 3%;
	}
  
  .news li:nth-child(n+3) {
    display: none;
  }
}


/*-------------------------------------------------------
   update
-------------------------------------------------------*/

.update {
	width:50%;
  border-left-width: 4px !important;
}

@media screen and (max-width:800px) {
	.update {
    border-left-width: 8px !important;
    border-top-width: 4px !important;
	}
}

@media screen and (min-width:801px) {
	.update-sc {
		margin-right:10px;
		margin-bottom:10px;
		/*height:245px;*/
		overflow-y:scroll;
	}
}

@media screen and (min-width:801px) and (max-width:1000px) {
	.update-sc {
		/*height:205px;*/
	}
}

.update li {
	list-style:none;
	margin-bottom:20px;
}

.update li a {
	padding:0 20px;
	display:block;
	overflow: hidden;
	box-sizing: border-box;
	vertical-align: middle;
	text-decoration:none !important;
}

.update li .cate {
	float: left;
	width: 5em;
	padding:2px 0;
	margin-right: 1em;
	text-align: center;
}

.update li .fc-gray {
	float: left;
	margin-right: 1em;
}

.update li .un {
	float: left;
	display: block;
	width: calc(100% - 160px);
}

@media screen and (max-width:800px) {
	.update ul {
		margin-bottom:0;
	}

	.update li {
		background:url(../image/lmS.png) no-repeat center right;
		border-top:1px solid #dcdcdc;
		margin-bottom: 0;
	}
  
  .update li:nth-child(n+4) {
    display: none;
  }

	.update li a {
		padding:3% 10% 3% 3%;
	}

	.update li .un {
		width: 100%;
		margin-top: 6px;
	}
}


/*-------------------------------------------------------
   works
-------------------------------------------------------*/

.works {
	background-color:#f0f0f0;
	margin-top:30px;
	text-align:center;
}

@media screen and (max-width:1120px) {
	.works {
		margin-left:2.7%;
		margin-right:2.7%;
	}
}

.works .bk-md {
	text-align:center;
	padding-top:30px;
	padding-bottom:20px;
}

.works-slide-wp {
	max-width:1100px;
	margin-left:auto;
	margin-right:auto;
	
}

.works-slide {
	margin-left:auto;
	margin-right:auto;
	text-align:center;
	padding-bottom:20px;
}

.works-slide ul {
	list-style:none;
	text-align:center;
}

.works-slide li .imgLiquid {
	width:197px;
	height:147px;
	overflow:hidden;
	margin-left:auto;
	margin-right:auto;
	margin-bottom:10px;
	position:relative;
}

.works-slide li a {
	text-decoration:none !important;
}

@media screen and (max-width:710px) {
	.works-slide li .imgLiquid {
		width:216px;
		height:162px;
	}
}


.works .dnone {
	text-align:center;
	padding-bottom:30px;
}


@media screen and (max-width:800px) {
	.works .dnone {
		padding-bottom:6%;
	}
}


/*-------------------------------------------------------
   movie
-------------------------------------------------------*/

.movie {
	margin:30px 0;
}

@media screen and (max-width:1120px) {
	.movie {
		margin-left:2.7%;
		margin-right:2.7%;
	}
}

.movie .bk-md {
	text-align:center;
	padding-top:30px;
	padding-bottom:20px;
}


.movie ul {
    width: 100%;
	max-width:1100px;
	margin:30px auto 0;
	text-align:center;
    overflow: hidden;
}

.movie li {
    float: left;
	vertical-align:top;
	list-style-type:none;
	width:23.5%;
	margin-right:2%;
    box-sizing: border-box;
}

.movie li:last-child {
	margin-right:0;
}


@media screen and (max-width:1120px) {
	.movie li {
		width:48%;
        margin-right: 4%;
        margin-bottom: 4%;
	}

    .movie li:nth-child(even) {
        margin-right:0;
    }
}

.movie li a {
	display:block;
	color:#222222;
	text-decoration:none !important;
    transition: 0.3s all ease;
    padding: 6px;
}

.movie li a:hover {
    background-color: #f0f0f0;
}

.movie li .yt { /* 動画をレスポンシブ表示、無駄な余白出さないようにパディング設定 */
	position: relative;
	width: 100%;
	padding-top: 56.25%;
	overflow: hidden;
}

.movie li .yt iframe { /* 親要素内100%で動画を表示する */
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
}

.movie li .yt_video { /* 親要素内100%でサムネイル画像を表示する */
	position: absolute;
	width:100%;
	height:auto;
	top:0;
}

.movie li .yt_video img { /* 親要素内100%でサムネイル画像を表示する */
	width:100%;
	height:auto;
	object-fit: contain;
}

.movie li .yt_video img:hover{ /* ホバー時にカーソル変える */
	cursor: pointer;
	width:100%;
	height:auto;
	box-sizing: border-box;
}

.movie li p {
    margin-top: 0.5em;
}


/*-------------------------------------------------------
   pickup
-------------------------------------------------------*/

.pickup {
	margin:0 30px;
}

@media screen and (max-width:1120px) {
	.pickup {
		margin-left:2.7%;
		margin-right:2.7%;
	}
}

.pickup ul {
	max-width:1040px;
	margin:0 auto;
	text-align:center;
}

.pickup li {
	display:inline-block;
	vertical-align:top;
	list-style-type:none;
	width:18%;
	padding:1%;
	margin:1%;
}

.pickup li:hover {
	margin:0%;
	padding:2%;
}

@media screen and (max-width:1120px) {
	.pickup li {
		width:28%;
	}
}

@media screen and (max-width:800px) {
	.pickup li {
		width:43%;
	}
}

.pickup li.pickup_3rows {
	margin-left:6.5%;
	margin-right:6.5%;
}

.pickup li:hover.pickup_3rows {
	margin-left:5.5%;
	margin-right:5.5%;
}

@media screen and (max-width:1120px) {
	.pickup li.pickup_3rows {
		margin-left:2%;
		margin-right:2%;
	}
	
	.pickup li:hover.pickup_3rows {
		margin-left:1%;
		margin-right:1%;
	}
}

@media screen and (max-width:1120px) {
	.pickup li.pickup_2rows {
		width:45%
	}
}

.pickup li .imgLiquid {
    height:161px;
    overflow: hidden;
}

@media screen and (max-width:1120px) {
	.pickup li .imgLiquid {
   		height:200px;
		margin:0 auto;
	}
	
	.pickup li.pickup_2rows .imgLiquid {
   		height:300px;
		margin:0 auto;
	}

}

@media screen and (max-width:800px) {
	.pickup li .imgLiquid {
   		height:200px;
		margin:0 auto;
	}
	
	.pickup li.pickup_2rows .imgLiquid {
   		height:210px;
		margin:0 auto;
	}
}

@media screen and (max-width:640px) {
	.pickup li .imgLiquid {
   		height:160px;
		margin:0 auto;
	}
}

@media screen and (max-width:480px) {
	.pickup li .imgLiquid {
   		height:120px;
		margin:0 auto;
	}
}

.pickup li a {
	color:#222222;
	text-decoration:none !important;
	display:block;
	-moz-transition: -moz-transform 0.2s linear;
    -webkit-transition: -webkit-transform 0.2s linear;
    -o-transition: -o-transform 0.2s linear;
    -ms-transition: -ms-transform 0.2s linear;
    transition: transform 0.2s linear ;
	-webkit-transform: scale(1.0);
    -moz-transform: scale(1.0);
    -o-transform: scale(1.0);
    -ms-transform: scale(1.0);
    transform: scale(1.0);
}

.pickup li a:hover {
	-webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -o-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
}

.pickup li h6 {
	color:#222222;
	margin:14px 0 4px 0;
}


