@charset "utf-8";

/* ------------------------------

    (o,o) < やあ！
    /)  )
     " "
------------------------------ */

html,body {
    height: 100%;
}
html {
    background-color: #fdfcee;
}
body {
    overflow-y: scroll;
    color: #777777;
    font-family: sans-serif;
}
.clear {
    clear: both;
}
a:hover,
a:hover i {
    color: #e83a93 !important;
}

header {
    padding: 12px 0;
    
    position: fixed;
    top: 0;
    
    width: 100%;
    background: #fdfcee;
    
    z-index: 2000;
}
#logo a {
    display: block;
    position: absolute;
    left: calc(20% - 165px);
    
    width: 160px;
    height: 22px;
    background-image: url('../img/hiyocopilot_logo.svg');
    background-size: contain;
    background-repeat: no-repeat;
}
#logo a span {
    display: none;
}
nav {
    width: 65%;
    margin: 0 auto;
    text-align: center;
}
nav ul li a {
    color: #e5838b;
    text-decoration: none;
    font-size: 16px;
}
nav ul li {
    display: inline-block;
    margin-right: 47px;
}
nav ul li:last-child {
    margin-right: 0;
}

.page {
    width: 100%;
}
#home {
    background-image: url('../img/home_bg.svg');
    background-size: auto 100%;
    background-position: center bottom;
    background-repeat: repeat-x;
    
    width: 100%;
    height: 100%;
}
.page-wrapper {
    width: 65%;
    margin: 0 auto;
    padding: 70px 0 100px;
}
.page-wrapper-gray {
    width: 100%;
    background-color: #f9f8e4;
}
h2.page-info-title {
    text-align: center;
    padding-bottom: 50px;
    font-size: 20px;
    letter-spacing: 0.01em;
}
h2.page-info-title span {
    color: #e83a93;
}
dt,dd,p {
    font-size: 12px;
    line-height: 1.8em;
}
.page-info {
    margin-bottom: 0;
}
#works .page-info {
    margin-bottom: 0;
}
.page-info p {
    text-align: center;
}

.page img {
    max-width: 100%;
}
#works_slide_wrapper {
    position: relative;
    width: 100%;
}
#works_slide_wrapper:before {
    content:"";
    display: block;
    padding-top: 56%;
}
#works_slide {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}

#works_slide {
    width: 100%;
    height: auto;
    margin-top: -100px;
    margin-bottom: -300px;
    background-image: url('../img/works_img.jpg');
    background-repeat: repeat-x;
    -webkit-background-size: contain;
    background-size: contain;
    -webkit-animation: bgscroll 1000s linear infinite;
    animation: bgscroll 1000s linear infinite;
}

@-webkit-keyframes bgscroll {
    100% {background-position: -40000px 0;}
}

@keyframes bgscroll {
    100% {background-position: -40000px 0;}
}

.page-main-left,
.page-main-right {
    width: 48%;
    float: left;
}
.page-main-left {
    margin-right: 4%;
}
.page-main-left p {
    
}
#img_about_us {
    width: 100%;
}

#works {
    /* margin-top: -40px; */
}

#img_map,
#about_us_info {
    display: block;
    width: 100%;
    margin: 0 auto;
}
#about_us_info {
    margin-top: 60px;
    color: #a1a19c;
}
#about_us .page-main-left p {
    
}
#about_us h3 {
    padding-bottom: 20px;
}
#about_us h4 {
    padding-bottom: 24px;
}
#about_us_company_name {
    
}
#about_company dl {
}
#about_company dt {
    display: block;;
    width: 100px;
    float: left;
    padding-bottom: 10px;
}
#about_company dt:last-of-type {
    padding-bottom: 120px;
}
#about_company dd {
    display: block;
    padding-bottom: 10px;
}
#about_company dd:after {
    content: '';
    clear: left;
}


#about_us_info dt {
    width: 80px;
    float: left;
}
#about_us_info dd {
    margin-bottom: 10px;
    font-size: 12px;
}
#about_us_info dd:after {
    content: '';
    clear: left;
}
#google_map_link {
    float: right;
    margin-top: -60px;
}
#google_map_link a {
    display: block;
    padding-left: 26px;
    line-height: 21px;
    height: 24px;
    background-image: url('../img/Google_map_pin.png');
    background-repeat: no-repeat;
    background-size: 18px;
    text-decoration: none;
    
    color: #a1a19c;
}

.input-text {
    line-height: 3em;
}
.input-text,
#form_content {
    width: calc(100% - 28px);
    padding: 0 14px;
    background: #eeeeee;
    border: none;
    margin-bottom: 20px;
}
#form_content {
    padding: 10px 14px;
    height: 146px;
}
#form_submit {
    margin-top: 30px;
    text-align: center;
}
#form_submit span {
    background: #e83a93;
    padding: 15px 40px;
    color: #fff;
    cursor: pointer;
}
.form-part {
    position: relative;
}
.ex_red {
    font-size: 9px;
    top: 2px;
    left: 2px;
    color: red;
    position: absolute;
}
#contact_form {
}
#sns_link {
    margin-top: 20px;
    text-align: center;
}
#sns_link li {
    display: inline-block;
    font-size: 32px;
    margin-right: 30px;
}
#sns_link li:last-child {
    margin-right: 0;
}
#sns_link .fa-tumblr-square {
    color: #35465c;
}
#sns_link .fa-instagram {
    color: #777;
}

#sns_link .fa-shopping-cart {
    color: #777;
}
#footer_copyright {
    margin-top: 45px;
    margin-bottom: 100px;
    text-align: center;
    
    font-size: 12px;
    color: #bbbab7;
}

.only-on-smartphone {
    display: none;
}
.only-on-pc {
    display: block;
}

#scroll_to_top {
    position: fixed;
    right: 60px;
    bottom: 20px;
    display: block;

    opacity: 0;
    cursor: default;
    pointer-events : none;

    -webkit-animation-duration: 0.2s;
    animation-duration: 0.2s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    text-align: center;
}
    @-webkit-keyframes fadeIn { 0% { opacity: 0; } 100% { opacity: 1; } }
    @keyframes fadeIn { 0% { opacity: 0; } 100% { opacity: 1; } }

    @-webkit-keyframes fadeOut { 0% { opacity: 1; } 100% { opacity: 0; } }
    @keyframes fadeOut { 0% { opacity: 1; } 100% { opacity: 0; } }

    #scroll_to_top.fadeIn {
        -webkit-animation-name: fadeIn;
        animation-name: fadeIn;

        cursor: pointer;
        pointer-events : auto;
    }
    #scroll_to_top.fadeOut {
        -webkit-animation-name: fadeOut;
        animation-name: fadeOut;

        cursor: default;
        pointer-events : none;
    }

    #scroll_to_top i.fa {
        font-size: 40px;
        cursor: pointer;
    }
    #scroll_to_top span {
        margin-top: -10px;
        font-size: 14px;
        line-height: 50px;
        display: block;
        text-align: center;
    }
    #scroll_to_top {
        color: #e5838b;
    }
    #scroll_to_top:hover {
        color: #e83a93;
    }
    
@media screen and (max-width: 1023px) {
    .only-on-smartphone {
        display: block;
    }
    .only-on-pc {
        display: none !important;
    }
    #logo_baloon {
        display: block;
        width: 100px;
        height: 60px;
        background-image: url('../img/logo_baloon.svg');
        background-repeat: no-repeat;
        background-size: contain;
        margin: 20px auto;
        
        animation: float_baloon 6s linear infinite;
        transform-origin: 50% 50%;
    }
    @keyframes float_baloon {
        0% { transform: translateY(0) }
        33.33333% { transform: translateY(7px) }
        100% { transform: translateY(0) }
    }
    #logo a {
        position: relative;
        margin: 0 auto;
        left: auto;
    }
    #nav_open_button {
        display: block;
        position: absolute;
        top: 13px;
        right: 20px;
        font-size: 21px;
    }
    nav {
        position: absolute;
        top: -400px;
        right: 0;
        width: 100%;
        
        padding-top: 10px;
        padding-bottom: 22px;
        
        background: rgba(255, 255, 255, 0.9);
        
        opacity: 0;
        transition: all 500ms;
    }
    nav ul {
    }
    nav ul li {
        display: block;
        margin-right: 0;
        line-height: 2.2em;
    }
    #nav_close_button {
        position: absolute;
        top: 12px;
        right: 20px;
    }
    #nav_close_button {
        font-size: 24px;
        color: #e5838b;
    }
    
    .page-wrapper {
        width: 80%;
    }
    .page-main-left,
    .page-main-right {
        width: 100%;
        float: none;
    }
    .page-main-left {
        margin-right: 0;
    }
    #about_us .page-main-right {
        margin-top: 20px;
    }

    #works_slide {
        width: 100vw;
        height: calc(100vw / 16 * 9);

        -webkit-animation: none;
        animation: none;
    }
    #about_company dt:last-of-type {
        padding-bottom: 220px;
    }
/*
    #works_img_smartphone {
        width: 100vw;
        max-width: 100vw;
        margin-top: -100px;
    }
*/  
    #img_map,
    #about_us_info {
        width: 100%;
    }
    #google_map_link {
        margin-top: 20px;
    }
    #footer_copyright {
        margin-bottom: -50px;
    }
}