@charset "utf-8";

/* CSS Document */

html,
body {
    height: 100%
}

body {
    font-family: "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    color: #555555;
}

header {
    margin: 0 0 30px 0;
}

header .logo {
    font: bold 1.25em/0.5 'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', sans-serif;
    color: #FFDE01;
    margin: 20px 0px 0px 15px;
}

header .logo span {
    font-size: 0.25em;
    letter-spacing: 0.6em;
}

header .contact {
    display: block;
    position: absolute;
    top: 10px;
    width: 100px;
    right: 60px;
    padding: 10px 0px;
    text-align: center;
    background-color: #ffaf01;
    color: #ffffff;
    font-size: 12px;
}

#menu-btn-check {
    display: none;
}

main {}

main .topics {
    width: 95%;
    height: auto;
    margin: 0 auto;
}

main .topics img {
    width: 100%;
    height: auto;
}

footer {}

footer h2 {
    font-size: 25px;
    text-align: center;
    margin-bottom: 20px;
}

footer h2 span {
    font-size: 12px;
    display: block;
}

footer .tel {
    font-size: 30px;
    margin: 0 10% 20px;
    padding: 20px 0;
    text-align: center;
    background-color: #FFDE01;
    color: #ffffff;
}

footer .tel span {
    font-size: 15px;
    display: inline-block;
    margin-right: 10px;
}

footer .mail {
    font-size: 18px;
    margin: 0 10% 20px;
    text-align: center;
    color: #FFDE01;
    border: 2px solid #FFDE01;
    background-image: url(image/icon-mail.png);
    background-repeat: no-repeat;
    background-position: 100px 20px;
}
footer .mail a{
    display: block;
    padding: 20px 0;
}

footer .rs {
    margin: 0 10% 20px;
    ;
    line-height: 1.5;
}

footer .f-nav > ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    margin: 0 10% 20px;
    line-height: 1.5;
}

footer .f-nav li {
    margin: 0 10px;
}

footer .insta {
    text-align: center;
    margin-bottom: 20px;
    margin-top: 50px;
}

footer .insta img {
    width: 20px;
}

footer .logo {
    font: bold 1.25em/0.5 'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', sans-serif;
    color: #FFDE01;
    margin: 20px 0px 0px 15px;
    text-align: center;
}

footer .logo span {
    font-size: 0.25em;
    letter-spacing: 0.6em;
}

footer .bg-footer {
    height: 120px;
    display: flex;
    align-items: center;
    background-image: url(image/bg-image-footer.png);
}

footer .bg-footer p {
    font-size: 10px;
    margin-left: 20px;
}



/*environmental*/

#manifest{
    margin: 0 10%;
    line-height: 1.5;
    margin-bottom: 100px;
}
#manifest p{
    
    margin-bottom: 10px;
}
#manifest .manifest-image{
    text-align: center;
}

/*real estate*/
#realestate{
    margin: 0 10%;
    line-height: 1.5;
    margin-bottom: 100px;
}
#realestate p{
    margin-bottom: 10px;
}
/*education*/
#education{
    margin: 0 10%;
    line-height: 1.5;
    margin-bottom: 100px;
}
#education p{
    margin-bottom: 10px;
}
#education a{
    color: #3584bb;
}

/*Company profile*/
#profile,#office{
    margin: 0 10% 100px;
}
#profile dt{
    margin-bottom: 5px;
}
#profile dd{
    margin-bottom: 30px;
}

#office{

}
#office a{
color: #ffaf01;
text-decoration: underline;
}
#office h2{
    margin-bottom: 20px;

}
#office li{
    margin-bottom: 50px;
    line-height: 1.5;
}

/*contact*/
.main-contact label{
    display: block;
    width: 80%;
    margin: 0 auto 20px;
}
.main-contact input,.main-contact textarea{
    border: 2px solid #999999;
    height: 30px;
    width: 100%;
}
.main-contact textarea{
    height: 200px;
}
.main-contact button{
    display: block;
    width: 80%;
    padding: 10px 0;
    margin: 0 auto 30px;
    text-align: center;
    background-color: #999999;
    color: #ffffff;
}
.main-contact .text1{
    width: 80%;
    margin: 0 auto;
    line-height: 1.5;
}
.main-contact .tel,.main-contact .fax{
    width: 80%;
    margin: 0 auto;
    line-height: 1.5;
    font-size: 30px;
}
.main-contact .fax{
    margin-bottom: 20px;
}
.main-contact .form-text{
    width: 80%;
    margin: 0 auto;
    line-height: 1.5;
}
.main-contact .form-text a{
    text-decoration: underline;
    color: blue;
}
/*privacy*/
.privacy{
    width: 80%;
    margin: 0 auto;
    line-height: 1.5;
}
.privacy h2{
    margin-bottom: 40px;
}
.privacy .text1{
    margin-bottom: 40px;
}
.privacy p,.privacy ul{
    margin-bottom: 30px;
}
.privacy ul{
    padding-left: 40px;
}

.privacy li{
    list-style-type: disc;
}





/*sp only*/

@media screen and (max-width: 599px) {
    .menu-btn {
        position: absolute;
        top: 0px;
        right: 0px;
        display: flex;
        height: 55px;
        width: 60px;
        justify-content: center;
        align-items: center;
        z-index: 90;
    }
    .menu-btn span,
    .menu-btn span:before,
    .menu-btn span:after {
        content: '';
        display: block;
        height: 3px;
        width: 25px;
        border-radius: 3px;
        background-color: #000000;
        position: absolute;
    }
    .menu-btn span:before {
        bottom: 8px;
    }
    .menu-btn span:after {
        top: 8px;
    }
    #menu-btn-check:checked~.menu-btn span {
        background-color: rgba(255, 255, 255, 0);
        /*メニューオープン時は真ん中の線を透明にする*/
    }
    #menu-btn-check:checked~.menu-btn span::before {
        bottom: 0;
        transform: rotate(45deg);
    }
    #menu-btn-check:checked~.menu-btn span::after {
        top: 0;
        transform: rotate(-45deg);
    }
    .g-nav {
        width: 100%;
        height: 100%;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 80;
        background-color: #3584bb;
    }
    .g-nav > ul {
        padding: 70px 10px 0 50px;
    }
    .g-nav > ul > li {
        border-bottom: solid 1px #ffffff;
        list-style: none;
        color: #ffffff;
    }
    .g-nav .gnavi__list{
        padding-top: 10px;
    }
    .g-nav > ul li a {
        display: block;
        width: 100%;
        font-size: 15px;
        box-sizing: border-box;
        color: #ffffff;
        text-decoration: none;
        padding: 9px 15px 10px 0;
        position: relative;
    }
    .g-nav ul li a::before {
        content: "";
        width: 7px;
        height: 7px;
        border-top: solid 2px #ffffff;
        border-right: solid 2px #ffffff;
        transform: rotate(45deg);
        position: absolute;
        right: 11px;
        top: 16px;
    }
    .g-nav {
        width: 100%;
        height: 100%;
        position: fixed;
        top: 55px;
        left: 100%;
        /*leftの値を変更してメニューを画面外へ*/
        z-index: 80;
        background-color: #ffaf01;
        transition: all 0.5s;
        /*アニメーション設定*/
    }
    #menu-btn-check:checked~.g-nav {
        left: 0;
        /*メニューを画面内へ*/
    }
    #ttl-sp {
        margin-bottom: 50px;
    }
    main img {
        width: 100%;
        height: auto;
    }
    .pc img {
        display: none;
    }
    #kv-slider img {
        display: block;
        height: 500px;
        object-fit: cover;
    }
    #kv-slider {
        margin-bottom: 70px;
    }
    main .topics h2{
        font-size: 30px;
        text-align: center;
    }
    main .topics .col1{
        margin-bottom: 50px;
    }
    main .topics .col1 img{
        margin-bottom: 10px;
    }
    main .topics .col1-txt{
        line-height: 1.5;
    }
    main .topics .col2{
        margin-bottom: 80px;
    }
    main .topics .col3{
        line-height: 1.5;
        margin-bottom: 80px;
    }
    main .topics .col3 img{
        margin-bottom: 20px;
    }
    main .service{
        width: 95%;
        margin: 0 auto 50px;
    }
    main .service h2{
        font-size: 30px;
        text-align: center;
        margin-bottom: 50px;
    }
    main .service-demolition,
    main .service-environmental,
    main .service-real-estate,
    main .service-education {
        margin-bottom: 40px;
    }
    main .service img{
        margin-bottom: 20px;
    }
    main .news{
        width: 95%;
        margin: 0 auto 100px;
    }
    main .news h2{
        font-size: 30px;
        text-align: center;
        margin-bottom: 20px;
    }
    main .news dt,
    main .news dd{
        margin-bottom: 15px;
    }

    main .news dd{
        margin-top: -34px;
        padding-left: 100px;
    }

    .contents img {
        width: 80%;
        height: auto;
    }
    .contents h2 {
        font-size: 25px;
        text-align: center;
    }
    .contents .point {
        margin-bottom: 50px;
    }
    .contents .point .point-circle {
        width: 320px;
        height: 320px;
        margin: 0 auto 20px;
        padding: 72px 38px 0;
        background-image: url(image/point-bg.png);
        background-size: contain;
        box-sizing: border-box;
        line-height: 1.4;
    }
    .contents .point h2 {
        margin-bottom: 20px;
    }
    .contents h3 {
        font-size: 20px;
        margin-bottom: 20px;
    }
    .contents .flow {
        background-color: #F4F4F4;
        padding: 30px 0;
        margin-bottom: 50px;
    }
    .contents .flow h2 {
        margin-bottom: 20px;
    }
    .contents .flow-inner {
        margin-bottom: 60px;
    }
    .contents .flow .flow-image {
        text-align: center;
        margin-bottom: 20px;
        ;
    }
    .contents .flow .flow-text {
        width: 264px;
        margin-left: 80px;
        line-height: 1.5;
    }
    .contents .price {
        margin-bottom: 50px;
    }
    .contents .price h3{
        text-align: center;
    }
    .contents .price .cost-img-sp{
        width: 95%;
        margin: 0 auto;
        
    }
    .contents .price .cost-img-sp img{
        width: 100%;
        height: auto;
        margin-bottom: 10px;
    }
    .contents .price .cost-img-pc{
        display: none;
    }
    .contents .price p{
        text-align: right;
    }
    .contents .works{
        margin-bottom: 50px;
        background-image: url(image/works_bg.png);
    }
    .contents .works h3{
        text-align: center;
    }
    .contents .works table{
        width: 95%;
        margin: 0 auto;
    }
    .contents .works tr{
        height: 30px;
    }
    .contents .works .ind1{
        width: 15%;
    }
    .contents .works .ind3{
        text-align: right;
    }
    .contents .contact{
        width: 95%;
        margin: 0 auto 50px;
    }
    .contents .contact h2{
        margin-bottom: 30px;
    }
    footer .f-nav{
        display: none;
    }
    footer .f-nav > ul {
        line-height: 3.5;
    }
    footer .f-nav__lists{
        position: relative;
    }
    footer .f-subnav__lists{
        width: 200px;
        position: absolute;
        left: -10px;
        top: 24px;
    }
}


/*pc only*/

@media screen and (min-width: 600px) {
    .pc01 {
        width: 1000px;
        margin: 0 auto;
    }
    .pc02 {
        text-align: center;
        background-color: #F4F4F4;
    }
    header {
        margin: 35px 0 40px 0;
    }
    header .logo {
        font-size: 2em;
        text-align: center;
        margin-bottom: 35px;
    }
    header .logo span {
        font-size: 0.4em;
    }
    header .contact {
        width: 150px;
        padding: 14px 0px 10px;
    }
    .g-nav > ul {
        display: flex;
        justify-content: center;
        cursor:pointer;
    }
    .g-nav li {
        margin: 0 20px;
        font-size: 1.2rem;
    }
    .gnavi__list {
        position: relative;

    }
    .dropdown__lists {
        display: none;
        width: 150px;
        position: absolute;
        top: 25px;
        left: 0;
    }
    .gnavi__list:hover .dropdown__lists{
        display: block;
        background-color: #ffaf01;
        padding: 10px;
    }
    .dropdown__lists li{
        margin: 0px;
        font-size: 1rem;
    }  

    #kv-slider {
        margin-bottom: 70px;
        min-width: 1000px;
    }
    #kv-slider img {
        display: block;
        width: 100%;
        height: 700px;
        object-fit: cover;
    }
    #ttl-sp {
        display: none;
    }
    #ttl-pc {
        min-width: 1000px;
        height: 300px;
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover;
        margin-bottom: 50px;
    }
    .ttl-pc-demolition{
        background-image: url(image/ttl-pc-demolition.png);
    }
    .ttl-pc-environmental{
        background-image: url(image/ttl-pc-environmental.png);
    }
    .ttl-pc-realestate{
        background-image: url(image/ttl-pc-realestate.png);
    }
    .ttl-pc-education{
        background-image: url(image/ttl-pc-education.png);
    }
    .ttl-pc-company{
        background-image: url(image/ttl-pc-company.png);
    }

    footer .contact {
        display: flex;
        justify-content: space-between;
        width: 1100px;
        margin: 0 auto 50px;
    }
    footer .tel,
    footer .mail {
        margin-left: 0;
        margin-right: 0;
    }
    footer .mail {
        background-position: 40px 27px;
    }
    
    footer .ls h2 {
        text-align: left;
    }
    footer .ls h2 span {
        display: inline;
    }
    footer .contact-inner {
        display: flex;
    }
    footer .tel {
        margin-right: 20px;
        padding: 20px 20px;
    }

    footer .mail a{
        display: block;
        padding: 27px 70px 20px;
    }
    footer .rs {
        padding-top: 50px;
        margin-left: 0;
        margin-right: 0;
    }
    footer .f-nav {
        width: 1100px;
        margin: 0 auto;
    }

    footer .f-nav__lists{
        position: relative;
    }
    footer .f-subnav__lists{
        width: 200px;
        position: absolute;
        left: -10px;
        top: 24px;
    }



    footer .bg-footer {
        background-size: cover;
        background-position: center;
    }
    main .topics h2{
        font-size: 40px;
        text-align: center;
    }
    main .topics-inner{
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        width: 1000px;
        margin: 0 auto;
    }
    main .topics-inner .col1,
    main .topics-inner .col2,
    main .topics-inner .col3{
        width: 48%;
        margin-bottom: 50px;
        line-height: 1.5;
    }
    main .topics-inner .col1 img,main .topics-inner .col2 img{
        margin-bottom: 20px;
    }
    main .topics-inner .col2{
        padding-top: 116px;
    }
    main .service{
        width: 1240px;
        margin: 0 auto 100px;
    }
    main .service-inner{
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
    main .service h2{
        font-size: 40px;
        text-align: center;
        margin-bottom: 50px;
    }
    main .service-demolition,
    main .service-environmental,
    main .service-real-estate,
    main .service-education {
        margin-bottom: 40px;
    }
    main .service img{
        margin-bottom: 20px;
    }
    main .news{
        width: 1000px;
        margin: 0 auto 100px;
    }
    main .news h2{
        font-size: 40px;
        text-align: center;
        margin-bottom: 20px;
    }
    main .news dt,
    main .news dd{
        margin-bottom: 15px;
    }

    main .news dd{
        margin-top: -34px;
        padding-left: 100px;
    }






    .contents h2 {
        width: 1000px;
        margin: 0 auto;
        font-size: 25px;
        text-align: center;
        margin-bottom: 50px;
    }
    .contents .point {
        margin-bottom: 50px;
    }
    .contents .point .point-inner{
        display: flex;
        width: 1000px;
        margin: 0 auto;
    }
    
    .contents .point .point-circle {
        width: 320px;
        height: 320px;
        margin: 0 auto 20px;
        padding: 72px 38px 0;
        background-image: url(image/point-bg.png);
        background-size: contain;
        box-sizing: border-box;
        line-height: 1.4;
    }
    .contents .flow{
        margin-bottom: 50px;
        padding: 50px 0;
        background-color: #F4F4F4;
    }
    .contents .flow .flow-inner{
        display: flex;
        width: 1000px;
        margin: 0 auto 110px;
    }
    .contents .flow h2 {
        margin-bottom: 40px;
    }
    .contents .flow .flow-image {
        margin: 0 20px 0 0;
    }
    .contents .flow-text {
        padding-top: 48px;
    }
    .contents .flow-text h3{
        font-size: 25px;
        margin-bottom: 20px;
    }
    .contents .flow-text p{
        font-size: 18px;
        line-height: 1.5;
        margin-bottom: 20px;
    }
    .contents .price {
        margin-bottom: 50px;
        width: 1025px;
        margin: 0 auto 50px;
    }
    .contents .price h3{
        font-size: 25px;
        text-align: center;
        margin-bottom: 30px;
    }
    .contents .price .cost-img-sp{
        display: none;
    }
    .contents .price .cost-img-pc{
        margin-bottom: 10px;
    }
    .contents .price p{
        text-align: right;
    }
    .contents .works{

        margin: 0 0 50px 0;
        background-image: url(image/works_bg.png);
        background-position: 100%;
        background-repeat: no-repeat;
    }
    .contents .works h3{
        font-size: 25px;
        text-align: center;
        margin-bottom: 30px;
    }
    .contents .works table{
        width: 800px;
        font-size: 20px;
        margin: 0 auto;
    }
    .contents .works tr{
        height: 50px;
    }
    .contents .works .ind1{
        width: 15%;
    }
    .contents .works .ind3{
        text-align: right;
    }
    .contents .works .ind3{
        text-align: right;
    }

    /*environmental*/
    .contents #manifest{
        display: flex;
        width: 900px;
        margin: 0 auto 100px; 
    }


    /*real estate*/
    .contents #realestate{
        width: 700px;
        margin: 0 auto 100px; 
    }
    /*education*/
    .contents #education{
        width: 700px;
        margin: 0 auto 100px; 
    }

    /*company*/
    .contents #profile{
        width: 800px;
        margin: 0 auto 200px;
    }
    .contents #office{
        width: 1000px;
        margin: 0 auto;
		margin-bottom: 200px;
        padding-bottom: 100px;
        background-image: url(image/company-bg.png);
        background-repeat: no-repeat;
        background-position: right top;
    }
    .contents #office ul{
        margin-top: 80px;
    }
    /*contact*/
    .contents .main-contact{
        width: 700px;
        margin: 0 auto;
    }
    .contents .main-contact input{
        width: 400px;
    }
    .contents .main-contact h2{
        width: 100%;
    }
    .contents .main-contact{
        margin-bottom: 50px;
    }
    /*privacy*/
    .contents .privacy{
        max-width: 1000px;
        margin: 0 auto;
    }
    .contents .privacy h2{
        width: 100%;
    }
    .contents .privacy{
        margin-bottom: 50px;
    }

}

.bld {
    font-weight: bold;
}
