@charset "UTF-8";

body{
    margin: 0;
    padding: 0;
    font-family: 'Source Sans Pro','メイリオ','Hiragino Kaku Gothic Pro','sans-serif';
}

/*ヘッダー*/
.site h1{
    margin: 0;
    padding: 15px 0;
    font-family: 'Anton',sans-serif;
    font-size: 60px;
    color: #535353;
    text-align: center;
    background: repeating-linear-gradient(#5aa7ff,#5aa7ff 2px,#ffffff 2px,#ffffff 4px)
}
.site span{
    font-size: 30px;
}

/*ヘッダーナビ*/
.headerNav ul{
    display: flex;
    margin: 0;
    padding: 0;
    list-style: none;
}
.headerNav li{
    flex: 1;
}
.headerNav li:not(:first-child){
    border-left: solid 1px #e6e6e6;
}
.headerNav li a{
    display: block;
    padding: 18px 0;
    font-size: 14px;
    text-decoration: none;
    color: #000;
    text-align: center;
}
.headerNav li a:hover{
    background-color: #eeeeee;
}

/*新着情報*/
.news ul{
    margin: 0 0 30px 0;
    padding: 0;
    list-style: none;
    border-top: solid 1px #eeeeee;
    border-bottom: solid 1px #eeeeee;
}
.news li a{
    display: block;
    padding: 5px 30px;
    text-decoration: none;
    color: #000000;
    font-size: 14px;
}
.news li time{
    margin-right: 20px;
}

/*メインコンテンツ*/
main h1{
    margin: 0;
    padding: 0 0 0 10px;
    font-size: 22px;
    color: #ffffff;
    background-color: #7A7C7D;
}
main h2{
    margin: 0 0 15px 0;
    font-size: 20px;
    color: #535353;
}
main h3{
    margin: 0;
    padding-left: 30px;
    font-size: 17px;
    color: #535353;
}
main p{
    margin: 17px 0;
    padding-left: 30px;
    font-size: 15px;
    line-height: 2.3;
}

main section.introduction p{
    padding-left: 0;
}

main ul{
    margin: 5px 0 10px 30px;
}
main span{
    margin-right: 10px;
}
main h3 span{
    font-size: 10px;
    vertical-align: middle;
}
main hr{
    margin: 0 0 20px 0;
}
.mainPix img, .subPix img{
    width: 100%;
}
/*複数ページのナビ*/
.pageNav{
    text-align: center;
    margin: 15px 0;
}
.pageNav li{
    display: inline-block;
    height: 40px;
    line-height: 40px;
    width: 60px;
    text-align: center;
    border: 1px #ccc solid;
    border-radius: 5px / 5px;
}
.pageNav li a{
    display: block;
    text-decoration: none;
    color: inherit;
}
.pageNav .thisPage{
    background-color: #ccc;
    color: #fff;
}
.fa-caret-right{
    margin-left: 3px;
}
.fa-caret-left{
    margin-right: 3px;
}
/*本文中テーブル*/
article table{
    border-collapse: collapse;
    /* margin: 0 0 17px 330px; */
    width: 90%;
    margin: auto;
}
article table,article th,article td{
    border: solid 1px #aaa;
}
article th,article td{
    padding: 4px;
    font-size: 13px;
}
article th{
    width: 80px;
    box-sizing: border-box;
    font-weight: normal;
    text-align: left;
    background-color: #fdffee;
}
article td.item{
    background-color: #eeeeee;
}
article td#kind{
    width: 100px;
}
table#GI tr.kind th{
    background-color: #e0eeff;
}
table#GI th#high{
    background-color: #ffa5a5;
}
table#GI th#low{
    background-color: #cbffcb;
}
/*写真*/
.logoPix img{
    width: 100%;
/*    height: 150px;*/
}
/*注釈*/
.comment{
    margin: 0 0 10px 0;
    border-top: solid 1px #eeeeee;
    border-bottom: solid 1px #eeeeee;
}
.comment li{
    line-height: 1.5;
    font-size: 13px;
    list-style: square;
}

/*製品紹介・成分表テーブル*/
.fa-square{
    color: #cc0000;
}
main h4{
    margin: 0 0 10px 0;
    padding: 1px 10px;
    color: #ffffff;
    background-color: #cc0000;
}

.product table,.product th,.product td{
    border: solid 1px #aaa;
}
.product table{
    border-collapse: collapse;
}
.product th,.product td{
    padding: 4px;
    font-size: 13px;
}
.product th{
    width: 120px;
    box-sizing: border-box;
    font-weight: normal;
    text-align: left;
    background-color: #fdffee;
}
.product td{
    text-align: center;
}
.product td.item{
    background-color: #eeeeee;
}
table.second{
    margin-left: 140px;
}
td#component{
    color: #454545;
    font-size: 12px;
    font-weight: bold;
}
.kaerebatextlink li a{
    margin-right: 30px;
}

/*サイドナビ*/
.sideNav h3{
    margin: 0;
    padding: 5px 15px;
    font-size: 15px;
    color: #ffffff;
    font-weight: normal;
}
.sideNav ul{
    margin: 0;
    padding: 0;
    list-style: none;
}
.sideNav li:not(:last-child){
    border-bottom: solid 1px #e6e6e6;
}
.sideNav li a{
    display: block;
    padding: 18px 15px;
    font-size: 14px;
    color: #000000;
    text-decoration: none;
}
.sideNav li a:hover{
    background-color: #eeeeee;
}
.aminoacid h3{
    background-color: #de0202;
}
.performance h3{
    background-color: #a9a248;
}
.other h3{
    background-color: #ff841b;
}
.purpose h3{
    background-color: #0036a6;
}
.brand h3{
    background-color: #007b00;
}

/*リンク*/
.link h3{
    background-color: #6db0ff;
}
.link h4{
    margin: 0;
    padding: 10px 0;
    color: #000000;
    font-size: 12px;
}
.link p{
    margin: 0;
    padding: 5px;
    font-size: 13px;
    border-bottom: solid 1px #e6e6e6;
}
.link a{
    color: #000000;
    text-decoration: none;
}
.link span{
    margin-right: 10px;
}

/*広告*/
.advertisement{
    margin: 30px 0 0 0;
}
/*フッター*/
footer{
    background-color: #c2c2c2;
}
footer p{
    margin: 0;
    padding: 10px 0;
    font-size: 13px;
    text-align: center;
}
.copyright{
    color: #ffffff;
    background-color: #2f2f2f;
    font-style: italic;
}

/*トップへ戻るボタン*/
.backtotop{
    position: fixed;
    z-index: 1000;
    right: 15px;
    bottom: 50px;
    display: none;
}
.backtotop a{
    font-size: 20px;
    font-weight: bold;
    display: block;
    margin: 0;
    padding: 14px 20px;
    color: #ffffff;
    background-color: #040404;
    border-radius: 5px;
    opacity: 0.3;
    filter: alpha(opacity=20);
    -moz-opacity: .2;
}
.allNav{
    display: none;
}

/*グリッド*/
body{
    display: grid;
    grid-template-columns: 
        [left] minmax(15px,1fr) [side] 220px [side-end] 30px [main] minmax(auto,810px) [main-end] minmax(15px,1fr) [right];
    grid-template-rows: 
        [head] auto [nav] auto [main] auto [foot] auto [bottom];
}
.site{
    grid-column: left/right;
    grid-row-start: head;
}
.page-btn,.page-btn-close{
    display: none;
    grid-column: left;
    grid-row: head;
    justify-self: start;
    align-self: center;
    padding: 20px;
    border: none;
    background-color: transparent;
    color: #000000;
    font-size: 40px;
    cursor: pointer;
}
.headerNav{
    grid-column: side/main-end;
    grid-row-start: nav;
}
main{
    grid-column-start: main;
    grid-row-start: main;
}
.sideNav{
    grid-column: side/side-end;
    grid-row-start: main;
}
footer{
    grid-column: left/right;
    grid-row-start: foot;
}
/***********830px以下***********/
@media(max-width:830px){
    .headerNav,.sideNav{
        display: none;
    }
    main{
        grid-column: side/main-end;
    }
/*ナビ*/
    .allNav{
        display: block;
        grid-column: left/right;
        grid-row-start: main;
        z-index: 100;
        background-color: rgba(0,0,0,0.9);
        display: none;
    }
    .open .allNav{
        display: block;
    }
    .allNav h3{
        margin: 0;
        padding: 5px 25px;
        color: #ffffff;
        background-color: #868686;
    }
    .fa-square-full{
        margin-right: 10px;
        font-size: 10px;
        vertical-align: 4px;
    }
    .allNav ul{
        margin: 0;
        padding: 0;
        list-style: none;
    }
    .allNav ul li a{
        display: block;
        padding: 14px 25px;
        border-bottom: solid 1px #aaa;
        font-size: 20px;
        color: #ffffff;
        text-decoration: none;
    }
/*ボタン*/
    .page-btn{
        display: block;
    }
    .open .page-btn{
        display: none;
    }
    .open .page-btn-close{
        display: block;
    }
}

/***********580px以下***********/
@media(max-width:580px){
    .site h1{
        font-size: 40px;
    }
    .site span{
        font-size: 20px;
    }
}

/***********415px以下***********/
@media(max-width:415px){
    .site h1{
        text-align: right;
        padding-right: 10px;
    }
    main p{
        padding-left: 10px;
    }
}