@charset "utf-8";

/*==================================================
スライダーのためのcss
===================================*/
.slider {
    position:relative;
	z-index: 1;
	/*↑z-indexの値をh1のz-indexの値よりも小さくして背景に回す*/
	height: 70vh;/*スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
	width: 100%;
	/*overflow: hidden;*/
	padding-bottom: 50px;
}
.slick-slider {
	padding: 0!important;
	margin: 0!important;
}


/*　背景画像設定*/
.slider-item00 {
    background:url("../image/top-slider00.jpg");
	background-repeat: no-repeat;/*背景画像をリピートしない*/
    background-position: center;/*背景画像の位置を中央に*/
    background-size: cover;/*背景画像が.slider-item全体を覆い表示*/
}

.slider-item01 {
    background:url("../image/top-slider01.png");
	background-repeat: no-repeat;/*背景画像をリピートしない*/
    background-position: center;/*背景画像の位置を中央に*/
    background-size: cover;/*背景画像が.slider-item全体を覆い表示*/
}

.slider-item02 {
    background:url("../image/top-slider02.png");
	background-repeat: no-repeat;/*背景画像をリピートしない*/
    background-position: center;/*背景画像の位置を中央に*/
    background-size: cover;/*背景画像が.slider-item全体を覆い表示*/
}

.slider-item03 {
    background:url("../image/top-slider03.png");
	background-repeat: no-repeat;/*背景画像をリピートしない*/
    background-position: center;/*背景画像の位置を中央に*/
    background-size: cover;/*背景画像が.slider-item全体を覆い表示*/
    
}
.slider-item04 {
    background:url("../image/top-slider04.png");
	background-repeat: no-repeat;/*背景画像をリピートしない*/
    background-position: center;/*背景画像の位置を中央に*/
    background-size: cover;/*背景画像が.slider-item全体を覆い表示*/
}
.slider-item05 {
    background:url("../image/top-slider05.png");
	background-repeat: no-repeat;/*背景画像をリピートしない*/
    background-position: center;/*背景画像の位置を中央に*/
    background-size: cover;/*背景画像が.slider-item全体を覆い表示*/
}


.slider-item {
    width: 100%;/*各スライダー全体の横幅を画面の高さいっぱい（100%）にする*/
    height: 70vh;/*各スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	position: relative;
}

li.slider-item::after {
    content: '';
    background-color: rgba(65, 105, 157, 0.3);
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 4;
}
@media screen and (min-width:320px) and (max-width:767.98px) {
	.slider {
		position:relative;
	z-index: 1;
		height: 55vh;
	}
	
	.slider-item {
    width: 100%;/*各スライダー全体の横幅を画面の高さいっぱい（100%）にする*/
    height: 60vh;/*各スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
    background-repeat: no-repeat;/*背景画像をリピートしない*/
    background-position: top;/*背景画像の位置を中央に*/
    background-size: cover;/*背景画像が.slider-item全体を覆い表示*/
		display: flex;
	flex-direction: row;
	align-items: center;
	position: relative;
}
}

/*矢印の設定*/

.slick-prev, 
.slick-next {
    position: absolute;
	z-index: 3;
    top: 42%;
    cursor: pointer; /*マウスカーソルを指マークに*/
    outline: none;/*クリックをしたら出てくる枠線を消す*/
    border-top: 2px solid #eee;/*矢印の色*/
    border-right: 2px solid #eee;/*矢印の色*/
    height: 25px;
    width: 25px;
}

.slick-prev {/*戻る矢印の位置と形状*/
    left:2.5%;
    transform: rotate(-135deg);
}

.slick-next {/*次へ矢印の位置と形状*/
    right:2.5%;
    transform: rotate(45deg);
}

/*ドットナビゲーションの設定*/
.slick-dots {
	/*position: relative;*/
	z-index: 10;
    text-align:center;
	margin:10px 0 0 0;/*ドットの位置*/
}

.slick-dots li {
    display:inline-block;
	margin:0 5px;
}

.slick-dots button {
    color: transparent;
    outline: none;
    width:30px;/*ドットボタンのサイズ*/
    height:8px;/*ドットボタンのサイズ*/
    display:block;
    /*border-radius:50%;*/
    background:#cccccc;/*ドットボタンの色*/
	border: none;
}

.slick-dots .slick-active button{
    background:#00819d;/*ドットボタンの現在地表示の色*/
}

.top-tokucho {
	font-size: 12px;
	word-break: keep-all;
}

/*------------------------------------*/
/*--- スライダー  ------*/
/*------------------------------------*/
/*----- 共通 -----*/

.slider-item .slider-text {
    position: absolute;
    top: 50%;
    left: 50%;
    -ms-transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    bottom: 0;
    height: 480px;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    width: 3%;
    font-size: x-large;
    writing-mode: vertical-rl;
    text-orientation: upright;
    color: white;
    line-height: 50px;
    font-weight: lighter;
    font-family: "Zen Old Mincho", serif;
    z-index: 20;
    letter-spacing: 0.3rem;
}
.slider-item  .slider-text p {
	color: #ffffff;
	letter-spacing: 0.15em;
	z-index: 5;
	margin: 0;
}
/*----- スマホサイズ small -----*/
@media screen and (min-width: 320px) and (max-width:575.98px)  {
.slider-item .slider-text {
    position: absolute;
        top: 60%;
        left: 50%;
        -ms-transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        bottom: 0;
        height: 480px;
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: center;
        width: 10%;
        font-size: large;
        writing-mode: vertical-rl;
        text-orientation: upright;
        color: white;
        line-height: 30px;
        font-weight: lighter;
        font-family: "Zen Old Mincho", serif;
}
	.slider-item01 p,.slider-item02 p {
		font-size: 20px;
		padding: 0.25em 0.25em 0.25em 0.5em;
		width: 100%;
	}
	.slider-item03 p,.slider-item04 p,.slider-item05 p {
		font-size: 20px;
		padding: 0.25em 0.25em 0.25em 0.5em;
		width: 100%;
	}
	
	a.text-decoration-none img {
    height: 35px;
}
    
        .navbar-sns {
        right: 70px;
    }
}
/*----- スマホサイズ large -----*/
@media screen and (min-width: 576px) and (max-width:767.98px)  {
.slider-item .slider-text {
        position: absolute;
        top: 50%;
        left: 50%;
        -ms-transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        bottom: 0;
        height: 480px;
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: center;
        width: 6%;
        font-size: x-large;
        writing-mode: vertical-rl;
        text-orientation: upright;
        color: white;
        line-height: 35px;
        font-weight: lighter;
        font-family: "Zen Old Mincho", serif;
}
	.slider-item01 p,.slider-item02 p {
		font-size: 24px;
		padding: 0.5em 0.5em 0.5em 1em;
		width: 100%;
	}
	.slider-item03 p,.slider-item04 p,.slider-item05 p {
		font-size: 24px;
		padding: 0.5em 0.5em 0.5em 1em;
		width: 100%;
	}
	
	a.text-decoration-none img {
    height: 50px;
}
}
/*----- tabletサイズ -----*/
@media screen and (min-width: 768px) and (max-width:991.98px){
.slider-item .slider-text {
        position: absolute;
        top: 50%;
        left: 50%;
        -ms-transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        bottom: 0;
        height: 480px;
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: center;
        width: 5%;
        font-size: x-large;
        writing-mode: vertical-rl;
        text-orientation: upright;
        color: white;
        line-height: 35px;
        font-weight: lighter;
        font-family: "Zen Old Mincho", serif;
}
	.slider-item01 p,.slider-item02 p {
		font-size: 26px;
		padding: 0.5em 0.5em 0.5em 1.5em;
		width: 100%;
	}
	.slider-item03 p,.slider-item04 p,.slider-item05 p {
		font-size: 26px;
		padding: 0.5em 0.5em 0.5em 1.5em;
		width: 100%;
	}
	
	a.text-decoration-none img {
        height: auto;
}
	
}
/*----- PCサイズ -----*/
@media screen and (min-width: 992px) and (max-width:1399.98px){

	.slider-item01 p,.slider-item02 p {
		font-size: 28px;
		padding: 0.75em 0.5em 0.75em 1.5em;
		width: 100%;
	}
	.slider-item03 p,.slider-item04 p,.slider-item05 p {
		font-size: 28px;
		padding: 0.75em 0.5em 0.75em 1.5em;
		width: 100%;
	}
	
	a.text-decoration-none img {
        height: auto;
}
}
/*----- 最大サイズ -----*/
@media screen and (min-width: 1400px) {
	.slider-item01 p,.slider-item02 p {
		font-size: 32px;
		padding: 20px 20px 20px 80px;
		width: 100%;
	}
	.slider-item03 p,.slider-item04 p,.slider-item05 p {
		font-size: 32px;
		padding: 20px 20px 20px 80px;
		width: 100%;
	}
	
	a.text-decoration-none img {
        height: auto;
}
}


/*==================================================

TOPページの施工事例スライダーのためのcss

==================================================*/

.bigbox {
    display: flex;
    justify-content: space-between;
}

.sabbox {
    width: 48%;
}

#top-work .slick-prev {
    display: none;
}

#top-work .slick-next {
    display: none;
}

#top-work .btn02 {
    width: 80%;
}

#top-work .slick-dots {
    text-align:center;
  margin:0 0 20px 0;
}

#top-work .slick-dots li {
    display:inline-block;
  margin:0 5px;
}

#top-work .slick-dots button {
    display: block;
}

#top-work h4 {
    text-align: center;
}


@media screen and (max-width:991.98px){
.bigbox {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    }
    
    .sabbox {
    width: 100%;
}
    
    #top-work .btn02 {
    width: 40%;
}
    
    #top-work h4 {
    text-align: left;
}
}

@media screen and (max-width: 767.98px) {
    #top-work .btn02 {
        width: 80%;
    }
}


@media screen and (max-width: 576px)  {
.bigbox {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    }
    
    .sabbox {
    width: 100%;
}
    
     #top-work h4 {
    text-align: left;
}


}

/*==================================================

worksのスライダーのためのcss

==================================================*/
#slider01 {/*横幅94%で左右に余白を持たせて中央寄せ*/
   width:94%;
    margin:0 auto;
}

#slider01 img {
    width:100%;/*スライダー内の画像を横幅100%に*/
    height:auto;
}

/*slickのJSで書かれるタグ内、スライド左右の余白調整*/

#slider01 .slick-slide {
    margin:0 30px;
}

/*矢印の設定*/

/*戻る、次へ矢印の位置*/
.slick-prev, 
.slick-next {
    position: absolute;/*絶対配置にする*/
    top: 42%;
    cursor: pointer;/*マウスカーソルを指マークに*/
    outline: none;/*クリックをしたら出てくる枠線を消す*/
    border-top: 2px solid #666;/*矢印の色*/
    border-right: 2px solid #666;/*矢印の色*/
    height: 25px;
    width: 25px;
}

.slick-prev {/*戻る矢印の位置と形状*/
    left: -1.5%;
    transform: rotate(-135deg);
}

.slick-next {/*次へ矢印の位置と形状*/
    right: -1.5%;
    transform: rotate(45deg);
}

/*ドットナビゲーションの設定*/

.slick-dots {
    text-align:center;
  margin:20px 0 0 0;
}

.slick-dots li {
    display:inline-block;
  margin:0 5px;
}

.slick-dots button {
    display: none;
}

#slider01 .slick-track {
    position: relative;
    top: 0;
    left: 0;
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-top: 30px;
    margin-bottom: 20px;
}

.worktext{
	text-align: justify;
	font-size: 16px;
	font-weight: normal;
}


/*========= レイアウトのためのCSS ===============*/


#slider01 ul{
  display: none;
}

#slider01 a{
  color: #333;
}

#slider01 a:hover,
#slider01 a:active{
  text-decoration: none;
}






@media screen and (max-width: 767px) {
	#slider01 h2, p {
    padding: 20px 0;
}

}



#slider02 {/*横幅94%で左右に余白を持たせて中央寄せ*/
   width:94%;
    margin:0 auto;
}

#slider02 img {
    width:100%;/*スライダー内の画像を横幅100%に*/
    height:auto;
}

/*slickのJSで書かれるタグ内、スライド左右の余白調整*/

#slider02 .slick-slide {
    margin:0 30px;
}

#slider02 .slick-track {
    position: relative;
    top: 0;
    left: 0;
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-top: 30px;
    margin-bottom: 20px;
}





/*========= レイアウトのためのCSS ===============*/


#slider02 ul{
  display: none;
}

#slider02 a{
  color: #333;
}

#slider02 a:hover,
#slider02 a:active{
  text-decoration: none;
}






@media screen and (max-width: 767px) {
	#slider02 h2, p {
    padding: 20px 0;
}

}



#slider03 {/*横幅94%で左右に余白を持たせて中央寄せ*/
   width:94%;
    margin:0 auto;
}

#slider03 img {
    height: auto;
    border-radius: 50%;
    overflow: hidden;
}

/*slickのJSで書かれるタグ内、スライド左右の余白調整*/

#slider03 .slick-slide {
    margin:0;
}

#slider03 .slick-track {
    position: relative;
    top: 0;
    left: 0;
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-top: 30px;
    margin-bottom: 20px;
}


#top-staff .worktext {
    text-align: center;
    font-size: 20px;
    font-weight: bold;
}

div.staffname {
    font-weight: normal;
    text-align: center;
}


/*========= レイアウトのためのCSS ===============*/


#slider03 ul{
  display: none;
}

#slider03 a{
  color: #333;
}

#slider03 a:hover,
#slider03 a:active{
  text-decoration: none;
}






@media screen and (max-width: 767px) {
	#slider03 h2, p {
    padding: 20px 0;
}

}




#slider04 {
  display: flex;
    flex-wrap: wrap;
    width: 100%;
    justify-content: space-between;
        margin: 50px auto 60px;
}

#slider04 img {
    width:100%;/*スライダー内の画像を横幅100%に*/
    height: auto;
}

/*slickのJSで書かれるタグ内、スライド左右の余白調整*/

#slider04 .slick-slide {
    margin:0 30px;
}

#slider04 .slick-track {
    position: relative;
    top: 0;
    left: 0;
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-top: 30px;
    margin-bottom: 20px;
}


ul#slider04 li {
    width: calc((100% - 10%) / 4);
}

ul#slider04 li:hover {
    opacity: 0.7;
}

/*========= レイアウトのためのCSS ===============*/


#slider04 ul{
  display: none;
}

#slider04 a{
  color: #333;
}

#slider04 a:hover,
#slider04 a:active{
  text-decoration: none;
}






@media screen and (max-width: 767px) {
	#slider04 h2, p {
    padding: 20px 0;
}
    
    ul#slider04 li {
    width: calc((100% - 10%) / 2);
    margin-bottom: 10px;
}

}


.Sp_901{
    display: block;
    
}

.Sp_900{
    display: none;
    
}

@media screen and (max-width: 900px) {
    
    .Sp_901{
    display: none;
    
}
    
.Sp_900{
    display: block;
    
}
    
    #Slider03{
       display: flex;
        justify-content: space-between;
        width: 100%;
        flex-wrap: wrap;
        
    }
    
    ul#Slider03 li{
    width: calc((100% - 10%) / 2);
}

}




