@charset "UTF-8";

/*ページタイトル
-----------------------------*/
#page-title-area {
    background-color: #fff;
    margin-top: 135px;
    margin-bottom: 4rem;
    padding-top: 0;
}

@media screen and (max-width: 999px){
    #page-title-area{
        margin-top: 6rem;
        margin-bottom: 3rem;
    }
}


/*概要
-----------------------------*/
#overview{
    margin-bottom: 6rem;
}

.overview-inner{
    display: flex;
    justify-content: space-between;
}

.overview-inner .txt-area{
    width: 55%;
    margin-left: 5rem;
}

.overview-inner .txt-area h2 .small{
    display: block;
    font-size: 1.5rem;
}

.overview-inner .txt-area h2 .big{
    display: block;
    font-size: 3.2rem;
    font-weight: bold;
}

.overview-inner .txt-area .tag-area{
    height: 7.5rem;
    margin: 1rem 0 2rem 0;
    border-bottom: 0.7px solid #CCCCCC;
}

.overview-inner .txt-area .tag-area ul{
    display: flex;
    flex-wrap: wrap;
}

.overview-inner .txt-area .tag-area ul li{
    padding: 0.2rem 1rem;
    color: #fff;
    margin-right: 1rem;
    font-size: 1.2rem;
    margin-bottom: 0.8rem;
}

.overview-inner .txt-area .tag-area ul li:last-child{
    margin-right: 0;
}

.overview-inner .txt-area .tag-area ul li.green{
    background-color: #009999;
}

.overview-inner .txt-area .tag-area ul li.orange{
    background-color: #FF9900;
}

.overview-inner .txt-area .tag-area ul li.light-blue{
    background-color: #0099CC;
}
.overview-inner .txt-area .tag-area ul li.black {
    background-color: #000;
}
.overview-inner .txt-area .tag-area ul li.red {
    background-color: #d91c03;
}
.overview-inner .txt-area .tag-area ul li.blue {
    background-color: #035cd9;
}
.overview-inner .txt-area .tag-area ul li.gray {
    background-color: #65646e;
}
.overview-inner .txt-area .tag-area ul li.purple {
    background-color: #7c06d0;
}

.overview-inner .txt-area p.blue{
    color: #003399;
    font-size: 2rem;
    font-weight: bold;
    margin-bottom: 4rem;
}

.link-area .link-blue{
    background-color: #003399;
    color: #fff;
    border-radius: 50px;
    padding: 1rem 3rem;
    font-size: 1.6rem;
    position: relative;
    width: 32rem;
    text-align: center;
    margin-bottom: 1.5rem;
}

.link-area .link-blue::after{
    content: "";
    position: absolute;
    top: 40%;
    right: 12px;
    background-image: url(../img/common/link-blue-arrow.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 7px;
    height: 10px;
}
.link-area .link-more {
    background-color: #fff;
    color: #003399;
    border-radius: 50px;
    border: 1px solid #003399;
    padding: 1rem 3rem;
    font-size: 1.6rem;
    position: relative;
    width: 32rem;
    text-align: center;
    margin-bottom: 1.5rem;
}

.link-area .link-more::after {
    content: "";
    position: absolute;
    top: 40%;
    right: 12px;
    background-image: url(../img/common/arrow-bl.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 7px;
    height: 10px;
}


/*スライド*/
.slider {
    margin: 0 auto;
    max-width: 500px;
    width: 80%;
}

.test-slick{
    width: 37rem;
    height: 37rem;
    border: #CCCCCC 1px solid;
}

.test-slick__item img {
    width: 37rem;
    height: 36.9rem;
    object-fit: contain;
}

.slide-arrow {
    bottom: 0;
    cursor: pointer;
    margin: auto;
    position: absolute;
    top: 0;
    width: 30px;
}

.prev-arrow {
    left: -30px;
    width: 1.4rem;
}

.next-arrow {
    right: -30px;
    width: 1.4rem;
}
  
  

@media screen and (max-width: 999px){
    #overview {
        margin-bottom: 4rem;
    }

    .overview-inner {
        display: block;
    }

    .test-slick {
        width: 24rem;
        height: 24rem;
        margin: 0 auto;
    }

    .test-slick__item img {
        width: 24rem;
        height: 23.9rem;
    }

    .overview-inner .txt-area {
        width: 100%;
        margin-left: 0;
        margin-top: 4rem;
    }

    .overview-inner .txt-area h2 .big {
        font-size: 2.4rem;
    }

    .overview-inner .txt-area p.blue {
        font-size: 1.7rem;
        margin-bottom: 2.5rem;
    }

    .link-area .link-blue {
        font-size: 1.4rem;
        width: 26rem;
    }
    .link-area .link-more {
        font-size: 1.4rem;
        width: 26rem;
    }
    
    .overview-inner .txt-area .tag-area {
        height: auto;
    }
    
}


/*主な特徴
-----------------------------*/
#features{
    background-color: #EDF7FD;
    padding: 5.3rem 0 7rem 0;
    margin-bottom: 5rem;
}

#features h3, #function h3, #specification h3{
    font-size: 2.4rem;
    font-weight: bold;
    color: #003399;
    position: relative;
    text-align: center;
}

#features h3::before, #function h3::before, #specification h3::before{
    content: '';
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);/*位置調整*/
    bottom: -8px;/*線の上下位置*/
    display: inline-block;
    width: 150px;/*線の長さ*/
    height: 6px;/*線の太さ*/
    background-color: #003399;
}
#features ul.features-loop{
    margin-top: 50px;
}

.specification-link{
    font-size: 1.3rem;
    text-decoration: underline;
    text-align: center;
    margin-top: 2rem;
    margin-bottom: 3.5rem;
}
.features-inner li{
    margin-bottom: 1.5em;
}
.features-inner li span{
    display: block;
}
.features-inner li .head {
    color: #003399;
    font-size: 2rem;
    font-weight: bold;
    padding-bottom: 1rem;
    margin-bottom: 1rem;
    background-image: linear-gradient(to right, #003399 2px, transparent 2px);
    background-size: 10px 2px;
    background-repeat: repeat-x;
    background-position: left bottom;
}
#features ul.features-loop ul{
    margin-left:1em
}
.features-inner li.cont {
    font-size: 1.6rem;
    font-weight: bold;
    text-indent: -0.5em;
    padding-left: 0.5em;
    list-style-type: disc;
    margin-bottom: 0;
}
.features-inner li .childcont {
    font-weight: bold;
    margin-bottom: 0;
    list-style-type: disc;
}
.features-inner li .cont span{
    display: inline;
    font-weight: normal;
    padding-left: 0.7em;
}
.features-inner li .img-flex{
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    margin-top: 2rem;
}
.features-inner li .img-flex figure{
    width: 20%;
}
.features-inner li .img-flex figcaption{
    text-align: center;
    font-size: 1.4rem;
    line-height: 1.3;
    margin-top: 1em;
}
.features-inner li .img-flex figcaption span{
    font-size: 1.2rem;
}

@media screen and (max-width: 999px){
    #features {
        padding: 4rem 0;
        margin-bottom: 4rem;
    }

    #features h3, #function h3, #specification h3 {
        font-size: 1.7rem;
        font-weight: bold;
        color: #003399;
        position: relative;
        text-align: center;
    }

    #features h3::before, #function h3::before, #specification h3::before {
        bottom: -5px;
        width: 110px;
        height: 4px;
    }
#features ul.features-loop {
    margin-top: 30px;
}
    .specification-link {
        margin-top: 1rem;
        margin-bottom: 2rem;
    }

    .features-inner li .head{
        font-size: 1.6rem;
    }

    .features-inner li .cont{
        font-size: 1.5rem;
    }
.features-inner li .img-flex figure {
    width: 40%;
    margin-bottom: 1.5rem;
}
}

/*その他情報
-----------------------------*/
#other-info{
    margin:0 auto 80px;
}
.flexBox{
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}
#other-info h3{
    padding: 1rem 2rem;
    border: 0.7px solid #CCCCCC;
    background: #EFEFEF;
    width: 25%;
    align-items: center;
    font-weight: bold;
    font-size: 1.5rem;
}
#other-info .inner{
    padding: 1rem 2rem;
    border: 0.7px solid #CCCCCC;
    width: 75%;
    align-items: center;
    font-size: 1.3rem;
}
@media screen and (max-width: 999px) {
    .usecase.flexBox,.products_freebox.flexBox {
        display: block;
    }
    #other-info {
        margin: 0 auto 40px;
    }
    #other-info h3,#other-info .inner{
        width: 100%;
    }
    #other-info h3{
        justify-content: center;
    }
    .products_freebox{
        margin-top: 15px;
    }
}


/*仕様画像
-----------------------------*/
#function{
    margin-bottom: 7rem;
}

#function img{
    display: block;
    width: 80%;
    margin: 0 auto;
    margin-top: 4rem;
}

@media screen and (max-width: 999px){
    #function{
        margin-bottom: 4.5rem;
    }

    #function img{
        width: 100%;
        margin-top: 3rem;
    }
}


/*仕様
-----------------------------*/
#specification{
    margin-bottom: 11rem;
    margin-top: -10rem;
    padding-top: 10rem;
}

#specification table{
    border: 0.7px solid #CCCCCC;
    width: 100%;
    margin-top: 4rem;
    margin-bottom: 1rem;
    text-align: initial;
}

#specification table tr{
    border-bottom: 0.7px solid #CCCCCC;
}

#specification table tr:nth-child(odd){
    background-color: #EFEFEF;
}

#specification table tr th{
    padding: 1rem 2rem;
    border-right: 0.7px solid #CCCCCC;
    width: 25%;
    font-weight: bold;
    font-size: 1.5rem;
    vertical-align: middle;
}

#specification table tr td{
    padding: 1rem 2rem;
    width: 75%;
    font-size: 1.3rem;
    vertical-align: middle;
}

#specification p{
    font-size: 1.2rem;
}

@media screen and (max-width: 999px){
    #specification{
        margin-bottom: 5rem;
    }

    #specification table{
        margin-top: 3rem;
        margin-bottom: 1rem;
    }

    #specification table tr th{
        font-size: 1.4rem;
        width: 30%;
        padding: 1rem;
    }

    #specification table tr td{
        width: 60%;
        padding: 1rem;
    }
}

/*ページ下部フリーテキスト
-----------------------------*/
.freeCts{
    margin:0 auto 80px;
}
.products_caution{
    margin-bottom: 20px;
    font-size: 13px;
}
.products_caution ul.caution{
    width: 100%;
    display: block;
    margin: 0;
    padding: 0;
}
ul.caution li {
    width: 100%;
    display: block;
    margin: 3px 0;
    padding: 0 0 0 1.2em;
    position: relative;
    list-style: none;
}
ul.caution li:before {
    content: "※";
    position: absolute;
    left: 0;
    top: 0;
}
.products_caution ul.caution.numble{
    counter-reset:number 0;
}
.products_caution ul.caution.numble li{
    padding:0 0 0 2.2em;
}
ul.caution.numble li:before{
    content: "※" counter(number);
    counter-increment: number 1;
}
@media screen and (max-width: 999px) {
    .freeCts {
            margin: 0 auto 40px;
        }
}