@charset "utf-8";

*{
    margin: 0;
    padding: 0;
}

body{
    overflow-x: hidden;
    color: #333;
    background-color: #fff;
    font-size: 16px;

}

#wrapper{
    position: relative;
    overflow: hidden;
}


h2,
h3,
    {
    color: rgb(55, 145, 43);
}

h2{
    text-align: center;
    color: #508E25;
    font-size: 42px;
    letter-spacing: 1.2px;
}

img{
    max-width: 100%;
    height: auto;
    vertical-align: top;

}

p{
    line-height: 1.8em;
    margin-bottom: 1.2em;
}

.center{
    text-align: center;
}

.sub-title{
    color: #508E25;
    font-size: 15px;
    margin-bottom: 40px;

}

.a{
    display: block;
    color: #464646;
    font-size: 14px;
    text-decoration: none;
}

.margin-bottom{
    margin-bottom: 25px;
}

.green-a{
    color: #569837;
    text-decoration: none;
    font-size: 14px;
}

.pager{
    list-style: none;
}


/* SP設定
------------------------------------------- */
@media @media (max-width: 767px) {
    body {
        font-size: 3.7vw;
    }

    .site-content {
        margin: 0 20px;
    }

    h2 {
        font-size: 10vw;
        letter-spacing: 1.2px;
    }

    .sub-title {
        margin-bottom: 5vw;
    }
}


/* ================================================================================
	ヘッダー
================================================================================ */
/* PC設定
------------------------------------------- */
header{
    position: fixed;
    z-index: 1000;
    top: 0;
    height: 75px;
    width: 100%;
    background-color: #fff;
    display: flex;
    align-items: center;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .1);
}

.header-logo{
    margin-left: 16px;
}

.header-logo img{
    height: 62px;
    width: auto;
}


.pc-nav ul li a{
    text-decoration: none;
    color: rgb(55, 145, 43);
    font-size: 17px;
    padding: 10px 13px;
    display: block;
}

.pc-nav ul li a:hover{
    background-color: rgba(0, 0, 0, .03);

}

.pc-nav-green{
    background: #3D9714;
    color: #fff !important;
    padding: 26px 30px !important;
    position: relative;
    top: -17px;
}

.pc-nav-green:hover{
    background: #3D9714 !important;
}

header nav{
    margin-left: auto;
}

.pc-nav ul{
    list-style: none;
    margin: 0;
    display: flex;
    position: relative;
    top: 16px;
}

.pc-nav ul li{

    font-size: 14px;
}

.hamburger{
    display: none;
}


.globalMenuSp{
    display: none;
}

.header-logoSp{
    display: none;
}

/* SP設定
------------------------------------------- */
@media (max-width: 767px) {

    header{
        text-align: center;
        height: 50px;
    }

    .header-logo{
        display: none;
    }

    .pc-nav{
        display: none;
    }

    .globalMenuSp{
        display: block;
    }

    .header-logoSp{
        display: block;
    }

    /*　ハンバーガーボタン　*/
    .hamburger{
        display: block;
        position: fixed;
        z-index: 3;
        top: 4px;
        left: 8px;
        width: 25px;
        height: 25px;
        cursor: pointer;
        text-align: center;
    }

    .hamburger span{
        display: block;
        position: absolute;
        width: 25px;
        height: 2px;
        left: 6px;
        background: #555;
        -webkit-transition: 0.3s ease-in-out;
        -moz-transition: 0.3s ease-in-out;
        transition: 0.3s ease-in-out;
    }

    .hamburger span:nth-child(1){
        top: 12px;
    }

    .hamburger span:nth-child(2){
        top: 20px;
    }

    .hamburger span:nth-child(3){
        top: 28px;
    }

    /* ナビ開いてる時のボタン */
    .hamburger.active span:nth-child(1){
        top: 16px;
        left: 6px;
        -webkit-transform: rotate(-45deg);
        -moz-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }

    .hamburger.active span:nth-child(2),
    .hamburger.active span:nth-child(3){
        top: 16px;
        -webkit-transform: rotate(45deg);
        -moz-transform: rotate(45deg);
        transform: rotate(45deg);
    }

    nav.globalMenuSp{
        position: fixed;
        z-index: 2;
        top: 0;
        left: 0;
        color: #000;
        background: #fff;
        text-align: center;
        transform: translateY(-100%);
        transition: all 0.2s;
        width: 100%;
    }

    nav.globalMenuSp ul{

        margin: 0 auto;
        padding: 0;
        width: 93%;
        text-align: left;
    }

    nav.globalMenuSp ul li{
        list-style-type: none;
        padding: 0;
        width: 100%;
        border-bottom: 1px solid #ccc;
    }


    nav.globalMenuSp ul li:last-child{
        padding-bottom: 0;
        border-bottom: 1px solid #ccc;

    }

    nav.globalMenuSp ul li:hover{
        background: #ccc;
    }

    nav.globalMenuSp ul li a{
        display: block;
        padding: 3vw 7px;
        text-decoration: none;
        color: #333;
    }

    .first-child a{
        color: #fff !important;
    }

    .first-child a:hover{
        background: #fff !important;
    }

    /* このクラスを、jQueryで付与・削除する */
    nav.globalMenuSp.active{
        transform: translateY(0%);
        height: 100%;
    }

    .header-logoSp img{
        width: 73%;
    }

    .pc-nav-green{
        text-align: center;
        color: #fff !important;
        padding: 20px !important;
        margin-top: 15px;
    }

    .sp-nav-green{
        text-align: center;
        color: #fff !important;
        padding: 20px !important;
        background: #3D9714;
    }
}




/* ================================================================================
	フッター
================================================================================ */
/* PC設定
------------------------------------------- */

footer{
    background : url(products/product/footerback.jpg) center top / auto auto no-repeat scroll padding-box border-box transparent;
    color: #fff;
    padding: 85px 0 30px;
}

.footer-title img{
    width: 172px;
    height: 35px;
}

.footer-content p{
    margin: 0;
}

.footer-btn{
    margin-top: 20px;
}

.footer-copy p{
    font-size: 12px;
    margin: 30px 0 15px;
}

/* SP設定
------------------------------------------- */
@media (max-width: 767px) {
    footer{
        background : url(products/product/footer_back_sp.jpg) 0% 0% / auto auto repeat scroll padding-box border-box transparent;
        background-size: cover;
    }
}



/* ================================================================================
	ページトップボタン
================================================================================ */
/* PC設定
------------------------------------------- */
.page-top{
    cursor: pointer;
    position: fixed;
    /*    スクロールしても位置が変わらないのがposition:fixed;*/
    right: 2%;
    bottom: 3%;
    /*    絶対位置の指定をしている。*/
    padding: 15px;
    border: 2px solid #fff;
    background: rgba(42, 145, 34, 0.8);


}

.arrow-top{
    border-top: solid 1px #fff;
    border-left: solid 1px #fff;
    width: 8px;
    height: 8px;
    transform: rotate(45deg);
    position: relative;
    top: 2px;
}

/* SP設定
------------------------------------------- */
@media (max-width: 767px) {}



/* ================================================================================
	トップページより下層
================================================================================ */

/* PC設定
------------------------------------------- */

.page-header{
    background-color: #569837;
    margin-top: 75px;
}

.page-header-title{
    width: 1050px;
    margin: 0 auto;
    padding: 21px 0 21px;
}

.page-header-title h1{
    font-size: 32px;
    color: #fff;
    font-weight: 200;
}

.bread-section{
    border-bottom: 1px solid #f3f3f3;
    font-size: 12px;
    color: #333;
}

.bread-section-container{
    width: 1050px;
    margin: 0 auto;
    padding: 9px 15px;
}


.bread-flex {
    display: flex;
}

.bread-home a{
    font-size: 12px;
    color: #666;
    text-decoration: none;
}

.bread-home a:hover{
    text-decoration: underline;
}

.bread-home i{
    margin-right: 5px;
}

.bread1 {
    display: flex;
}

.bread1 p{
    margin: 0;
    line-height: 1.5;
}

.bread1::before{
    content: "/";
    color: #ccc;
    margin-left: .5em;
    margin-right: .5em;
}

.container2{
    margin: 0 calc(50% - 50vw);
    padding: 22px 0 22px;
    background: #fff;
}



/* SP設定
------------------------------------------- */
@media (max-width: 767px) {

    .page-header-title{
        width: auto;
        height: auto;
        padding: 14px 12px 12px;
        line-height: 1.1;
    }

    .page-header-title h1{
        font-size: 22px;
    }

    .bread-section-container{
        width: auto;
    }

    .bread-flex {
        flex-wrap: wrap;
    }

    .page-header{
        margin-top: 50px;
    }
}
