@charset "UTF-8";

section, article, aside, hgroup, header, footer, nav, figure, figcaption, summary { display: block; }
a img {border: none;}
a:hover img { filter: alpha(style=0,opacity=70); opacity: 0.7; }
.clearfix { zoom:1;/*for IE 5.5-7*/ }
.clearfix:after {/*for modern browser*/ content:"."; display: block; height:0; clear: both; visibility: hidden; }

#tmpl_content { padding: 25px 0; background: #fff; font-family: "メイリオ","Meiryo","ＭＳ Ｐゴシック","Hiragino Kaku Gothic ProN","ヒラギノ角ゴ ProN W3",sans-serif; }
#tmpl_main { max-width: 950px; text-align: left; font-size: 86%; margin: 0 auto; padding: 0; }

p.m0 { margin: 0; }
p.kome { font-size: 80% !important; color: #333; }

#lead { position: relative; height: 533px; background: url(../img/BG.jpg) no-repeat 50% 100%; }
#lead.reverse { background: url(../img/BG_reverse.jpg) no-repeat 50% 0; }
#lead.reverse.pb150 { padding-bottom: 50px; }
#lead h1 { position: absolute; top: 24px; left: 0; width: 100%; text-align: center; }
#lead #leadText { position: absolute; top: 170px; left: 0; width: 100%; text-align: center; }
#lead #leadModel { position: absolute; bottom: 98px; left: 91px; }
#lead #leadHeadPhone { position: absolute; bottom: 128px; right: 0; }

#pageNavi { text-align: center; margin-bottom: 90px; }
#pageNavi ul { margin: 0 0 20px; padding: 0;display: flex; }
#pageNavi ul li { display: inline; float: left; margin: 0 0 0 1px; padding: 0; }
#pageNavi ul li:first-child { margin: 0; }
#pageNavi p { font-size: 105%; line-height: 180%; }

section h2 {margin-top: 100px; text-align: center; font-size: 190%; margin-bottom: 60px; padding-bottom: 15px; background: url(../img/h2BG.gif) no-repeat 50% 100%; }
.article { margin-bottom: 50px; }
.article h3 { float: left; width: 301px; font-size: 120%; line-height: 160%; }
.articleR { float: right; width: 624px; }
.article h4 { font-weight: bold; margin-bottom: 10px; }
.article ol { line-height: 180%; margin: 0 0 1.6em; padding: 0; }
.article ol li { list-style-type: decimal; margin-left: 2em; }
.article .ph { float: right; margin-left: 15px; }

#products { text-align: center; }
#products .article{ text-align: center; }
#products p { text-align: center; }
#products ul { line-height: 140%; text-align: center; margin: 0 auto 0; padding: 0 auto 0; clear:both; display:block; }
#products ul li {display: inline-block; width: 265px; margin: 0 0 15px 15px;  text-align: center; }
#products ul li:first-child { margin: 0; }
#products ul li a { color: #000; text-decoration: underline; margin: 0 auto 100px; }
#products ul li a:hover { text-decoration: none; }
#products ul li img.ph { float: none; margin-bottom: 15px; }
#products ul li img.lnk { margin-left: 10px; vertical-align: middle; }


#contact { text-align: center; }
.policy { margin: 0 75px 33px; padding: 10px; text-align: left; border: 1px solid #ccc; }
.policyBox { height: 180px; padding: 10px 50px 10px 10px; overflow-y: scroll; }
.policy p, .policy ol { font-size: 90%; line-height: 180%; }
.policy li { margin-bottom: 10px; }
.policy p.kome { font-size: 80%; margin: 0 0 0 2em; }
.policy a { color: #000; text-decoration: underline; }
.policy a:hover { text-decoration: none; }

.security { margin: 39px 0 89px; text-align: center; }
.security a { color: #fff;  font-size: 130%; padding: 20px 50px; background: #000;text-decoration: none; }
.security a:hover { text-decoration: none; background: #4C4C4C; }

.pageTop { text-align: right; font-size: 70%; margin: 0 auto 75px; }
.pageTop a { text-decoration: none; padding: 8px 23px; color: #000; background: #ccc; }
.pageTop a:hover { text-decoration: none; background: #DBDBDB; }

#introduction { position: absolute; top: 150px; left: 0; width: 100%; text-align: center; }
#introduction h2 { text-align: center; font-size: 190%; margin-bottom: 60px; }
#introduction .security { margin: 39px 0; }
#introduction .security a { padding: 20px 100px; }
#introduction p.large{ font-size: 135%; }

#certification table { width: 100%; }
#certification table th { width: 20%; vertical-align: top; text-align: center; }
#certification table th span { background: #dbe8f0; display: block;  padding: 35px 10px; border: 1px solid #000; margin-bottom: 5px; }
#certification table th.arrow:after { content: ""; background: url(../img/arrow.png) no-repeat center 0; width: 40px; height: 36px; display: block; margin: 0 auto; }
#certification table td { width: 80%; vertical-align: top; }

#updates p { font-weight: bold; }

section #documents ul,
section #tests ul,
section #faq ul,
section #sample ul{ width: 500px; margin: 0 auto; }
section #updates p,
section #documents p,
section #tests p,
section #faq p,
section #sample p{ width: 500px; margin: 0 auto 30px; }

/* 20210201 追加 ここから */

.m-article{
    display: flex;
    margin-bottom: 20px;
}

.m-article__hedding{
    color: white;
    background-color: #404040;
    padding: 5px 20px;
    margin-top: 0px;
}

.m-article__left{
    width: 50%;
}



.m-article__hedding__list{
    font-size: 1.1rem;
    font-weight: bold;
}

.m-article__hedding__list__note{
    margin-left: 40px;
}

.m-article__img{
    max-width: 100%;
}

.m-article__img__wrap{
    text-align: center;
    margin-bottom: 20px;
}

.m-article__hedding__list__child{
    font-size: 1rem;
    font-weight: normal;
    list-style-type: disc;
}

.m-products__list__row{
    display: flex;
}

.m-products__list__title{
    width: 40px;
}

.m-products__list__data::before{
    content: ':';
    margin-right: 15px;
}

.m-products__list__data{
    margin-left: 5px;
    text-align: left;
    text-indent: -26px;
    padding-left: 26px;
    width: 90%;
}

.m-products__list{
    max-width: 500px;
    margin: 0 auto;
}

.m-contact__list{
    font-size: 1.2rem;
    font-weight: bold;
    text-align: left;
    max-width: 700px;
    margin: 0 auto;
}

.m-contact__img__title{
    font-size: 1.4rem;
    margin-top: 40px;
}

.top-scroll {
    text-align: right;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 15px;
    position: relative;
    height: 40px;
    z-index: 1;
    display:none;
}

.top-scroll__link {
    display: inline-block;
    max-width: 40px;
    width: 100%;
    background-color: #000000;
    padding: 14px 0;
    opacity: 0.6;
    text-align: center;
    border-radius: 2px;
    position: absolute;
    right: 50px;
    bottom: 70px;
    -webkit-transition: opacity 0.3s ease 0s;
    transition: opacity 0.3s ease 0s;
    position: fixed;
}

.top-scroll__link img {
    width: 16px;
    margin-left: auto;
    margin-right: auto;
    display: block;
}

.m-article__link-pdf__wrap{
    margin-top: 40px;
    font-size: 1.1rem;
    font-weight: bold;
    margin-left: 40px;
}

.m-article__link-pdf{
    padding: 0px 10px;
}

#fixnav.is-fixed{
    position:fixed;
    top:69px;
}

#top-text p {
    font-size: 105%;
    line-height: 180%;
    text-align: center;
}

img{
    max-width: 100%;
}

#pageNavi ul li {
    width: 28%;
    background-color: black;
    color: white;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
}

#pageNavi ul li.pageNavi__en {
    width: 16%;
    background-color: #CCCCCC;
    color: black;
}

.pageNavi__text--small{
    font-size: 0.7rem;
}

#pageNavi ul {
    font-size: 0;
    max-width: 950px;
    width: 100%;
}

#pageNavi ul li a .pageNavi__arrow{
    width: 10px;
    height: 10px;
    border: 2px solid;
    border-color: transparent transparent #747474 #747474;
  transform: rotate(-45deg);
  display: inline-block;
  margin-left: 10px;
  margin-bottom: 4px;
}

#pageNavi ul li a{
    display: block;
    color: white;
    text-decoration: none;
}

#pageNavi ul li.pageNavi__en a{
    color: black;
}

#pageNavi ul li:hover{
    background-color: #333333;
}

#pageNavi ul li.pageNavi__en:hover{
    background-color: #E5E5E5;
}

.products-hedding{
    background-color: #404040;
    color: white;
    padding: 5px 20px;
    max-width: 470px;
    margin: 0 auto;
    /* border-radius: 5px; */
    margin-bottom:10px;
}

.sp_only{
    display: none;
}

.pc_only{
    display: block;
}

@media screen and (min-width: 769px){
.padding-top150{
    padding-top:120px;
}
#pageNavi ul li{
    line-height: 60px;
}
.m-article__right{
    width: 48%;
    margin-left: 2%;
}
#pageNavi ul li a {
    height: 60px;
}
}

@media screen and (max-width: 768px){
	.m-article{
        display: block;
    }
    #lead #leadHeadPhone {
        bottom: 45px;
        width: 25%;
        right: 8%;
    }
    #lead #leadModel {
        left: 8%;
        bottom: 45px;
        width: 20%;
    }
    .m-article__left {
        width: 100%;
    }
    .m-article__right {
        width: 100%;
        margin-top: 20px;
    }
    #pageNavi li{
        width: 100%;
    }
    #pageNavi ul {
        /* display: block; */
        margin:15px auto;
    }

    #pageNavi{
        margin-bottom:0px;
    }

    #fixnav.is-fixed {
        position: static;
    }
    section{
        padding: 0px 20px;
    }
    #products ul {
        padding-left: 0;
    }
    #products ul li img.ph{
        width: 100%;
        margin-left:0px;
    }
    #products ul li {
        width: 100%;
        margin:30px auto 0px;
    }
    .policy{
        margin:0;
    }
    .policyBox {
        height: 300px;
        padding:0px;
    }
    .top-scroll__link{
        right: 20px;
        bottom: 30px;
    }
    #tmpl_content{
        padding:0px;
    }
    .sp_only{
        display: inline-block;
    }
    #pageNavi ul li{
        font-size: 0.8rem;
    }
    .pc_only{
        display: none!important;
    }
    .pageNavi__text--small{
        font-size: 0.5rem;
    }
    .m-article__hedding__list {
        padding: 0px 5px 0px 20px;
    }
    .m-article__hedding__list__note {
        margin-left: 20px;
        padding-right: 10px;
    }
    .m-article__hedding__list__child {
        padding: 0px 5px 0px 20px;
    }
    .m-article__link-pdf__wrap {
        margin-left: 20px;
        padding-right: 10px;
    }
    .m-contact__list {
        padding: 0px 5px 0px 20px;
    }
}


.link_end-users {
    float: right;
}


/* 20240401 追加 */

#products p {
    text-align: center;
    padding: 20px 0;
}
.products-lead {
    font-size:1.1rem;
}
.partners-contents {
    margin: 0;
    text-decoration: none;
}
.partners_item {
    float: left;
    width:180px;
    margin:0 28px 20px;
}
#products .partners_item p {
    font-weight: bold;
    color: #000;
    margin: 0;
    padding: 0;
}
@media screen and (max-width: 768px){
    .partners_item {
        width:40%;
        margin:0 15px 20px;
    }
    #products .partners_item p {
        font-size: 12px;
    }
}


/* 20241224 追加 */


.products-block {
    display: block;
    clear: both;
}