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

スライド画像

-------------------------------- */
.cd-hero-slider li:first-of-type {
  background-color: #2c343b;
  background-image: url(../../../assets/index/slide02_smart_building.jpg);
} 


.cd-hero-slider h1{
font-weight: 400!important;
}

@media only screen and (min-width: 768px) {
  .cd-main-content .element-L{
    width: 48%;
	float: left;
	margin-right: 20px;
	overflow: hidden;
  } 
  .cd-main-content .element-R{
    width: 48%;
	overflow: hidden;
  }
}

/* タイトル


h3 {
    width: 100%;
    font-size: 1.8rem;
    color: #0F78B1;
    font-weight: bold;
    line-height: 1.2em;
    border-bottom: 1px dotted;
    margin: 20px 0 10px 0;
    padding-bottom: 5px;
}

@media only screen and (min-width: 768px){
h3 {
    font-size: 2.2rem;
    margin: 50px 0 10px 0;
    padding-bottom: 10px;
    line-height: 35px;
    clear: both;
}
}
-------------------------------- */
/*背景*/
.gray{
         width:100%;
         height:auto;
         overflow: hidden;
         background-color:#F5F5F5;
         padding:60px 0px;
         clear: both;
}
.gray-2{
         width:100%;
         height:auto;
         overflow: hidden;
         background-color:#E8E8E8;
         padding:30px 30px;
        }

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

.gray{
         width:100%;
         height:auto;
         overflow: hidden;
         background-color:#F5F5F5;
         padding:30px 30px;
        }
.gray-2{
         width:100%;
         height:auto;
         overflow: hidden;
         background-color:#E8E8E8;
         padding:30px 30px;
        }}
/* スマートビルとは */
#sec01 .column-img img{
            width: 100%;}

/* スマートビルを構築するミドルウェア
-------------------------------- */
#sec02{
  margin-top: 50px;
}

#sec02 h4{
  color: #595757;
  border-bottom: #0F78B1 1px dotted;
  margin-top: -10px;
}

#sec02 img{
	width: 80%;
	text-align: center;
	margin: 0 auto;
}

#sec02 .article-L{
	width: 65%;
	float: left;
	margin-top: -10px;
}

#sec02 .article-R{
	width: 30%;
	float: right;
	margin-top: -10px !important;
}

#sec02 img{
	width: 100%;
	text-align: center;
	margin: 0 auto;
}

@media only screen and (min-width: 480px) {
#sec02 img{
	width: 60%;
}
}

@media only screen and (min-width: 768px) {
#sec02 img{
	width: 100%;
}	
#sec02 .element-L{
	padding-right: 10px;
}
#sec02 .element-R{
	padding-left: 10px;
}
}

/* 2カラム */
.column {
  display: flex;
  justify-content: space-between;
  margin-top: 40px;
  margin-right: 10px;
  margin-bottom: 40px;
  margin-left: 10px;
}
.column-img {
  width: 40%;
}
.column-img img {
  width: 70%;
}
.column-texts {
  box-sizing: border-box;
  padding-right: 30px;
  padding-bottom: 40px;
  padding-left: 30px;
  width: 60%;
}

@media screen and (max-width: 767px) {
  .column {
    flex-direction: column;
  }
  .column--reserve {
    flex-direction: column-reverse;
  }
  .column-img {
    width: 100%;
  }
  .column-texts {
    width: 100%;
    padding:10px 0;
    margin:0 auto;
  }
}

/* title
-------------------------------- */

.title-25{
           font-size: 20px;
           font-weight: 600;
           line-height: 25px;
           margin: 30px 0;
           }
.title-20{
           font-size: 18px;
           font-weight: 600;
           margin-top:10px;
           line-height: 20px;
           }
.title-22-l{
           font-size: 20px;
           font-weight: 600;
           margin-top:10px;
           line-height: 20px;
           text-align: left;
           border-bottom: 1px dotted #595757;
           padding:10px;
           }

@media only screen and (min-width: 768px) {
.title-25{
           font-size: 25px;
           font-weight: 600;
           color:#586775;
           margin-top:30px;
           margin-bottom: 30px;
           padding-bottom: 30px;
           }
.title-20{
           font-size: 20px;
           font-weight: 600;
           color:#586775;
           margin-top:20px;
           line-height: 28px;
           border:0px;
           margin-bottom:0px;
           padding:0px;
           }
.title-22-l{
           font-size: 22px;
           font-weight: 600;
           color:#586775;
           margin-top:20px;
           line-height: 28px;
           border-bottom:1px dotted #595757;
           padding-bottom: 10px;
           text-align: left;
           }
           }

/* エンジニアによる強力なサポート体制
-------------------------------- */
#sec03 ul{
           margin-top: 20px;
           }
           
#sec03 .dd-style01 {
    background-color: #eee;
    padding: 10px;
    line-height: 1.5em;
    text-align: center;
    font-weight: 600;
    font-size: 20px;
}

#sec03{
	margin-top: 50px;
}

#sec03 dl{
	width: 100%;
	margin: 0 auto;
}

#sec03 dt{
	width: 50%;
	margin: 0 auto;	
}

#sec03 h4{
	text-align: left;
	margin: 0 0 10px 0;
}

@media only screen and (min-width: 480px) {
#sec03 dl{
	width: 90%;
	margin: 0 auto;
	margin: 5px;
}
}


@media only screen and (min-width: 748px) {
#sec03 .clumun.mb{
	margin-bottom: 60px;
}

#sec03 .element-L{
	width: 50%;
	border-right: #0F78B1 1px dotted;
	margin-right: 0;
	overflow: hidden;
}
#sec03 .element-L:last-child{
	border-right: none;
}
#sec03 .element-R{
	width: 50%;
	overflow: hidden;
}
}
.gray-bg-2 {
    width: 100%;
    height: auto;
    overflow: hidden;
    background-color: #F5F5F5;
    padding: 30px 0px;
}
@media only screen and (min-width: 768px) {
    .gray-bg-2 {
        width: 100%;
        height: auto;
        overflow: hidden;
        background-color: #F5F5F5;
    }
}

.merit-inbox-3 {
    padding: 0;
    height: auto;
    border: 1px solid #ccc;
    margin: 0 auto;
    margin-bottom: 20px;
    max-width: 470px;
    background-color: #ffffff;
}

@media only screen and (min-width: 768px) {
.merit-inbox-3 {
        padding: 0px;
        border: 1px solid #ccc;
        margin: 0 10px 40px 10px;
        height: auto;
        background-color: #ffffff;
    }
.merit-inbox-3 :hover{
                    opacity: 0.9;
                    }
}
.page-cover {
    margin-top: 20px;
}
@media only screen and (min-width: 768px) {
    .page-cover {
        width: 100%;
        margin: 50px 0 10px -10px;
        display: flex;
        gap: 10px;
    }
}
.infotitle3 {
    height: auto;
    color: #4b4b4c;
    font-size: 16px;
    font-weight: 700;
    text-align: center;
    margin-bottom: 20px;
    line-height: 23px !important;
    margin-top: 0px;
    padding: 0 10px;
}
@media only screen and (min-width: 768px) {
    .infotitle3 {
        height: 100px;
        margin: 15px;
        margin-top: 15px;
        text-align: center;
        font-size: 18px;
        padding: 0px;
        vertical-align: middle;
        line-height: 23px !important;
    }
}
.mgb30{
        margin-bottom: 30px;
        }
@media only screen and (min-width: 480px) {
    .page-cover img{
                     width: 100%;
                     }
                     }

/* -------------------------------- 
改行
-------------------------------- */
@media screen and (min-width: 768px){   
  .pc { display:block; }
  .sp { display:none; }
}
@media screen and (max-width: 768px){   
  .pc { display:none; }
  .sp { display:block; }
}
/* -------------------------------- 
margin
-------------------------------- */
.mgt30{
        margin-top: 30px;
        }
.mgt50{
        margin-top: 50px;
        }
.mgb30{
        margin-bottom: 30px;
        }
.mgb50{
        margin-bottom: 50px;
        }
.heading-25 {
	position: relative;
	padding-top: 30px;
	font-size: 20px;
	border-bottom: 1px solid rgba(5,62,98,1);
	padding-bottom: 10px;
}

.heading-25 span {
	position: relative;
	z-index: 2;
	font-size: 22px;
	font-weight: 700;
	padding-left: 0em;
	color: #595757;
	line-height: 0px;
}

.heading-25::before {
	content: attr(data-number);
	position: absolute;
	top: -20px;
	left: 0;
	color: rgba(5,62,98,0.2);
	font-size: 45px;
	text-transform: uppercase;
	z-index: 1;
	font-weight: 400;
}
@media only screen and (min-width: 768px){
.heading-25 {
	position: relative;
	padding-top: 30px;
	font-size: 20px;
	border-bottom: 1px solid rgba(5,62,98,1);
	padding-bottom: 10px;
}

.heading-25 span {
	position: relative;
	z-index: 2;
	font-size: 25px;
	font-weight: 700;
	padding-left: 0em;
	color: #595757;
	line-height: 30px;
}

.heading-25::before {
	content: attr(data-number);
	position: absolute;
	top: -40px;
	left: 0;
	color: rgba(5,62,98,0.2);
	font-size: 70px;
	text-transform: uppercase;
	z-index: 1;
	font-weight: 400;
}}

.indent-1 {
    padding-left: 1em;
    text-indent: -1em;
    font-size: 14px;
    text-align: left;
    margin-top: 0px;
    line-height: 20px;
}
.line-2 {
    border: 1px solid #ccc;
    padding: 20px;
    background-color: #ffffff;
    margin: 20px 0;
    width: auto;
}
/*tab*/
.tab-switch {
  --cstm-tab-color:#92bac2;
  display: flex;
  flex-wrap: wrap;
  margin-inline: auto;
  gap: 0 5px;
}

/* ラジオ非表示 */
.tab-switch input {
  display: none;
}

/* タブボタン */
.tab-switch label {
  padding: 0.5em;
  background:#eee;
  cursor: pointer;
  order: -1;
  text-align: center;
  flex: 1;
  font-size: 14px;
  line-height: 16px;
  align-items: center;
    display: flex;
    justify-content: center;
}
@media only screen and (min-width: 768px) {
.tab-switch label {
  padding: 1.5em;
  background:#eee;
  cursor: pointer;
  order: -1;
  text-align: center;
  flex: 1;
  font-size: 20px;
  font-weight: 600;
  border-radius:20px 20px 0 0;
}
.tab-switch label:hover{
  background-color: #d6e3e6;
  transition : 1s;
}
}

/* コンテンツ非表示 */
.tab-content {
  display: none;
  width: 100%;
  padding: 1.5em 0;
}

/* 選択されたタブ＋コンテンツ表示 */
.tab-switch input:checked + label {
  background: #0eb8ec;
  color: #fff;
}
.tab-switch input:checked + label + .tab-content {
  display: block;
  padding: 10px;
}
@media only screen and (min-width: 768px) {
.tab-switch input:checked + label + .tab-content {
  display: block;
  padding: 30px;
}
}
