@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Kaisei+Decol&family=Kaisei+HarunoUmi&family=Rampart+One&family=Reggae+One&display=swap');


* {
    margin: 0;
    padding: 0;
    list-style: none;
}

img {
    width: 100%;
    vertical-align: bottom;
}


body {
    background: #D6E4EA;
    font-family: "Inter", sans-serif;
}


/* 共通ーーーーーーーーーーーーーーーsーー */

.container {
    margin: 0 auto;
    padding: 80px;
}

main h2 {
    font-size: 64px;
    color: #65BAC2;
    text-align: center;
    line-height: 1;

}

main h2 span {
    display: block;
    font-size: 24px;
    line-height: 1.3;

}





/* header------------------ */

header {
    background: url(images/fv-ims.png) center/cover;
    position: relative;
    height: 100vh
}

header h1 {
    width: 9%;
    position: absolute;
    top: 16px;
    left: 16px;

}

header h2 {
    font-size: 96px;
    color: #fff;
    position: absolute;
    top: 20%;
    left: 16px;
}

/* about us------------------ */



#aboutus {
    background: url(images/aboutus-ims.png);
}



#aboutus p {
    font-size: 32px;
    color: #092436;
    text-align: center;
    margin-top: 24px;
}

h3 {
    font-size: 64px;
    color: #092436;
    text-align: center;
    margin-top: 80px;

}





/* plan--------------------------- */

.btn {
    display: flex;
    gap: 180px;
    justify-content: center;
}

/* request-------------------------- */



#request a {
    display: inline-block;
    background: #65BAC2;
    width: 350px;
    height: 107px;
    color: #fff;
    font-size: 40px;
    border-radius: 35px;
    text-align: center;
    text-decoration: none;
    line-height: 107px;
}

dl {
    display: flex;
    width: 60%;
    margin: 24px auto 0;
}

dt {
    width: 30%;
    padding-right: 3%;
    text-align: right;
    font-size: 32px;
    line-height: 57px;

}

.form-name {
    width: 70%;
    display: flex;
    justify-content: space-between;
}
.form-name input {
    width: 47%;
    font-size: 32px;
    padding: 8px 4px;
    display: block;
}   /* ← ここで閉じる */


.form-weight,
.form-foot-size,
.form-remarks {
    width: 70%;
    font-size: 32px;
    display: flex;
    align-items: center;
}

.form-weight input,
.form-foot-size input,
.form-remarks input {
    font-size: 32px;
    padding: 8px 4px;
}
    .form-radio {
        width: 70%;
        font-size: 32px;
        /* justify-content: space-between; */
        display: flex;
        margin-right: auto;
        align-items: center;


    }

    .form-radio input {
        width: 30px;
        height: 57px;
        /* font-size: 24px; */
        display: block;
        /* margin-right: auto; */
        margin: 0 3%;
    }

    .form-toll {
        width: 70%;
        font-size: 32px;
        display: flex;
        align-items: end;

    }

    .form-toll input {
        width: 20%;
        font-size: 32px;
        padding: 8px 4px;
        display: block;
    }

    .form-remarks textarea {
    width: 100%;
    font-size: 32px;
    padding: 8px;
}

    /* map---------------------------- */

    #map iframe {
        width: 80%;
        height: 800px;
        display: block;
        margin: 0 auto 80px
    }


    /* contact----------------------------- */

    #contact h2 {
        color: #fff;
    }


    #contact {
        background: #65BAC2;
        /* display: flex; */
        /* justify-content: center; */
        /* align-items: center; */
    }

#contact img {
    width: 100%;
    height: 100px;
    object-fit: cover;
    object-position: top;
    display: block;
}

    #contact a {
        display: block;
        margin: 40px auto 0;
        width: 260px;
        height: 90px;
        background: #fff;
        text-align: center;
        text-decoration: none;
        border-radius: 10px;
        font-weight: bold;
        font-size: 32px;
        line-height: 90px;
        color: #65BAC2;
    }

    .contact-tel-title {
        font-size: 32px;
        color: #fff;
        margin-top: 40px;
        text-align: center;
    }

    .contact-tel {
        font-size: 24px;
        color: #fff;
        margin-top: 8px;
        text-align: center;
    }

    .contact-hours {
        font-size: 20px;
        color: #fff;
        margin-top: 40px;
        text-align: center;

    }

    #contact hr {
    border: none;
    border-top: 1px solid #fff;
    margin-top: 130px;
}






    /* footer------------------ */

 footer {
    background: #65BAC2;
    padding: 60px 300px;
}

.footer-container {
    display: flex;
    gap: 200px;
    align-items: flex-end;
}

.footer-logo img {
    width: 120px;
}

.footer-info p,
.footer-nav p,
.footer-nav2 p {
    color: #fff;
    font-size: 20px;
    margin-bottom: 16px;
}

.footer-left {
    width: 300px;
    margin-top: 40px;
}

.footer-logo img {
    width: 120px !important;
}

.footer-info {
    margin-top: 60px;
}

.footer-images {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-top: 160px;
}

.footer-coral {
    width: 80px;
}

.footer-fish {
    width: 300px;
}