@charset "utf-8";
/* CSS Document */

/***************
 common
***************/
a:hover {text-decoration: none;}
.bg_skyblue {background-color: #DCEBFA;}
.blue_button {
    padding: 25px;
    color: #FFF;
    background-color: #0072C2;
}
.blue_button div {color: #FFF;}
.icon_contact {
    bottom: 20px;
    right: -130px;
    position: absolute;
    zoom: 1;
}

.water_bg {
    width: 100%;
    background-image: url(img/bg_water2.jpg);
    background-position: center top;
    background-repeat: repeat-y;
/*
    background-size: cover;
*/
}
@media screen and (min-width: 960px) {
    #main img:not(.icon_contact) {zoom: 0.5;}
}
#wpu3 h1 {
    margin: 0;
    padding: 0;
    font-size: 320%;
    font-weight: bold;
    line-height: 1;
    border: none;
    color: inherit;
}
#wpu3 h2 {
    margin: 0 0 30px 0;
    padding: 0;
    line-height: 1;
    border: none;
    color: #091C82;
    background: none;
}

.gotop #contact_icon {
    zoom: 0.8;
    margin-bottom: 50px;
}



/*************** hero ***************/
#hero {
    width: 100%;
    height: 80vh;
    background-image: linear-gradient(156deg, rgba(0, 117, 223, 0.25), rgba(255, 255, 255, 0.25));
    position: relative;
}
#hero img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#hero > div {
    top: 130px;
    left: 20%;
    width: 550px;
    padding: 30px;
    color: #FFF;
    line-height: 1.8;
    text-shadow: 1px 1px 2px #000;
    background-color: rgb(0 0 0 / 0.5);
    position: absolute;
    div {
        margin-top: 50px;
        font-size: 130%;
        font-weight: bold;
        color: inherit;
        span {
            color: inherit;
        }
    }

}



/*************** contents link ***************/
.arrow_icon {
    width: 30px;
    padding: 20px;
    font-size: 120%;
    color: #FFF;
    text-align: center;
}
#contents_link > div {
    padding: 40px;
    border: 2px solid #0072C2;
}
#contents_link li {
    width: calc(280px - 100px);
    padding: 40px;
}
#contents_link li img {
    zoom: 0.7;
}
#contents_link li div {
    font-size: 120%;
    font-weight: bold;
    color: #FFF;
}
#contents_link li:nth-child(odd) {
    background-color: #0072C2;
}
#contents_link li:nth-child(even) {
    background-color: #6EBA2C;
}



/*************** catalog download ***************/
#catalog_download {
    margin-top: 105px;
    padding-top: 50px;
    padding-bottom: 50px;
}
#catalog_download section {
    width: 990px;
    margin-left: auto;
    margin-right: auto;
}
#catalog_download dt {
    margin-top: 15px;
}
#catalog_download dt div {
    color: #091C82;
}
#catalog_download dt img {
    margin-left: 15px;
}



/*************** faq ***************/
#faq {
    padding-top: 50px;
    position: relative;
}
#faq details {
    margin-top: 25px;
    padding-bottom: 25px;
}
#faq details > summary {
    font-weight: normal;
    color: #FFF;
    background-color: #0072C2;
}
#faq details > summary::-webkit-details-marker {
    display: none;
}
#faq details > summary {
    padding: 20px 40px;
    font-weight: bold;
    position: relative;
    display: block;
    &:hover {
        cursor: pointer;
    }
    .q {
        padding-right: 10px;
        color: inherit;
        font-size: 120%;
        font-weight: bold;
    }
    .btn_plus {
        top: 37%;
        right: 10%;
        width: 18px;
        height: 18px;
        position: absolute;
        transform-origin: center center;
        transition-duration: 0.2s;

        &:before,
        &:after {
            top: 7px;
            left: 0;
            width: 18px;
            height: 4px;
            content: "";
            background-color: #FFF;
            border-radius: 10px;
            position: absolute;
            transform-origin: center center;
        }
        &:before {
            top: 0;
            left: 7px;
            width: 4px;
            height: 18px;
        }
    }
    &.is-active {
        .btn_plus {
            -webkit-transform: rotate(-180deg);
            transform: rotate(-180deg);
            &:before {
                content: none;
            }   
        }
    }
}
#faq details > div {
    margin-top: 30px;
    padding-left: 50px;
}
#faq details > div .a {
    padding-right: 10px;
    font-size: 150%;
    font-weight: bold;
}
#faq details > div .list_left > div:last-child {
    padding-top: 5px;
}

/*************** Usage Examplesage  ***************/
#usage_examples {
    margin-top: 105px;
    padding-top: 50px;
    padding-bottom: 50px;
}
#usage_examples section {
    width: 990px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
}
#usage_examples dl {
    width: 45%;
}
#usage_examples dl:nth-child(n+3) {
    margin-top: 45px;
}
#usage_examples dt {
    padding: 5px 0 5px 20px;
    font-size: 120%;
    color: #FFF;
    background-color: #0072C2;
}
#usage_examples dd img {
    width: 100%;
}

/*************** Received Acclaim  ***************/
#received_acclaim {
    position: relative;
}
#received_acclaim h2 {
    font-size: 190%;
}
#received_acclaim ul {
    margin-top: 100px;
    li:nth-child(n+2) {
        margin-top: 15px;
    }
}
