@charset "utf-8";

/* リセットCSS */
html,::before,::after{
    font-family: sans-serif;
    font-size: 16px;
}
*,::before,::after{
    box-sizing: border-box;
}
body{
    margin: 0;
}
img{
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
}

/* //リセットCSS ココマデ */


/* ページ全体 */
.section{
    height: auto;
}


/* header */
header{
    padding-top: 16px;
    padding-bottom: 16px;
    width: 100%;
    background-color: rgb(31, 48, 204);
    position: sticky;
    left: 0;
    top: 0;
    z-index: 10000;
   
}

.header-container{
    width: 98%;
    margin-left: auto;
    margin-right: auto;
    h1{
        margin: 0;
        padding: 0;
        line-height: 1;
    }
    .row{
    display:flex;
    justify-content: space-between;
    }
}

@media (width<768px){
    .header-container{
        text-align: center;
        h1{
            margin-bottom: 2%;
        }
        .row{
            display:flex;
            flex-direction: column;
            align-items: left;
            .head-tel{
                max-width:327px;
            }
        }
    }

}




/* MAIN */
.container{
@media (width<768px){
    padding: 0 min(4%,16px);
}
}



/* HERO */
.hero{
    position: relative;
    width: 100%;
    height: 550px;
}
img{
    width: inherit;
    height: inherit;
    object-fit: cover;
    object-position: left center;
}
.copy{
    position: absolute;
    width: fit-content;
    height: fit-content;
    top:10%;
    left:55%;
    right:5%;
    margin: auto;
    font-size: 1rem;
    font-weight: normal;
    line-height: 1.5;
    color: white;
    .welcome{
        font-size: 1.5rem;
        font-weight: bold;
        line-height: 0.5;
    }

}
@media (width<768px){
.hero{
    img{
        opacity: 0.3;
    }
}
.copy{
    color: black;
    top:5%;
    left: 2%;
    right:2%;
    font-size: 1rem;
    line-height: 1.4;
    .welcome{
        
        font-size: 1rem;
    }
}

}

/* RACE */
.race{
    width: 100%;
    height: auto;
    margin-top: 60px;
    padding-top: 60px;
    padding-bottom: 60px;
    margin-bottom: 60px;
    background-image: url(../images/home-row01.jpg);
    background-position: top;
    background-size: contain;
    background-repeat: repeat-y;
}
.race-box{
    width: 800px;
    height: auto;
    margin-left: auto;
    margin-right: auto;
    font-weight: bold;
    h2{
        font-size:2rem;
        color:  white;
        line-height: 0.5;
        text-align: center;
        .in-sugo{
            font-size: 1.4rem;
            background-color: white;
            color: black;
            padding:0 3% 0 3%;
        }
    }
    .race-box-contents{
        background-color: white;
    }
    .race-box-inner{
        width: 600px;
        margin: 0 80px;
        padding-top: 80px;
        padding-bottom: 30px;
        .race-day{
            display: block;
            background-color: black;
            color: white;
            font-size: 1.5rem;
            padding: 1% 15% 2% 15%;
        }
        h3{
            font-size: 1.5rem;   
            line-height: 0.5;
            margin: 5% 0 0 0;
            padding: 0;
        }
        .race-price{
            margin-left: 5%;
        }
        strong{
            font-size: 1.3rem;    
        }

        .entry-btn{
            position: relative;
            width: fit-content;
            margin: 5% auto;
            padding: 3% 5%;
            border: 2px solid black;
            background-color: white;
            a{
                text-decoration: none;
            }
            a:hover{
                color: #fa452c;
            }
        }

    }

}

@media (width<768px){
.race{
        background-position: top;
        background-size: auto 100%;
    .race-box{
        width: 90%;
        margin: 0 auto;
        h2{
            line-height: 1.2;
            .in-sugo{
                font-size: 1rem;
                width: fit-content;
                display: block;
                margin: auto;

            }
        }
        .race-box-contents{
            padding: 0 3%;
            .race-box-inner{
                width: 100%;
                padding-top: 3px;
                margin: 0;
                .riace-price-mobile{
                    display: block;
                }
            }
        }
    }
}
}


/* SALSE */
.seles{
    height: auto;
    padding-top: 10px;
    padding-bottom: 60px;
    background-color: rgb(31, 48, 204); 
    .seles-contents{
        color:white;
        width: 800px;
        height: auto;
        margin-left: auto;
        margin-right: auto;
        h2{
            font-size: 3rem;
        }
        .row{
            display: flex;
            flex-wrap: wrap;
            flex-direction: row;
            justify-content: space-around;
            .row3{
                width: 30%;
                a:hover{
                    opacity: 0.7;
                }
            }
        }

    }
}

@media (width<768px){
    .seles{
        .seles-contents{
        width: 100%;
  
        h2{
            font-size: 1.5rem;
            padding: 0 4%;
        }
        p{
            padding: 0 4%;
        }        
        .row{

            flex-direction: column;
            .row3{
                width: 100%;
                
                img{
                    max-width: 90%;
                    margin: 1% 5%;
                }
            }
        }
        }
    }
}

/* SHOP */
.shop{
    height: auto;
    padding-top: 10px;
    padding-bottom: 60px;
    .shop-contents{
        width: 800px;
        margin: 0 auto;
    h2{
        font-size: 3rem;
    }


    .row{
            display: flex;
            flex-wrap: wrap;
            flex-direction: row;
            justify-content: space-around;
            .row2{
                width: 48%;
                a:hover{
                    opacity: 0.7;
                }
                img{
                    width: 100%;
                }
                table{
                    width: 100%;
                    border: 1px solid black;
                    border-collapse: collapse;
                    th{
                        background-color:  rgb(31, 48, 204);
                        border: 1px solid rgb(93, 122, 228);
                        color: white;
                        font-weight: normal;
                        padding: 2% 2%;                    }
                    td{
                        border: 1px solid black;
                        padding: 2% 2%;
                    }
                }
            }
    }

    }
}

@media (width<768px){
    .shop{
        .shop-contents{
            width: 100%;
            h2{
                font-size: 1.5rem;
            }

            .row{
                flex-direction: column;
                .row2{
                    width: 100%;
                    
                    img{
                        width: 100%;
                        margin: 0 auto;
                    }
                    table{
                        th,td{
                            display: block;
                            text-align: left;
                            border: none;
                        }
                    }
                }
            }
        }
    }
}



/* CONTACT */
.contact{
    background-color: rgb(31, 48, 204); 
    .contact-contents{
        color: white;
        width: 800px;
        margin: 0 auto;
        padding-top: 30px;
        padding-bottom: 30px;

        h2{
            font-size: 3rem;   
        }

        p{
            line-height: 2;
            .tel-link{
                text-decoration: none;
                color: white;
            }
        }
        table{
            color: black;
            width: 100%;
            background-color: white;
            padding-bottom: 50px;
        }
        th{
            padding-top: 2%;
            text-align: left;
            padding-left:5%;
            vertical-align: top;
            .required{
                padding: 2px 10px;
                background-color: rgb(31, 48, 204);
                color: white;
                margin-right: 4%;
            }
            .any-required{
                padding: 2px 10px;
                background-color: rgb(142, 141, 141);
                color: white;
                margin-right: 4%;
            }
        }
        td{
            padding-top: 2%;
            vertical-align: top;
            /* フォーム */
            input[type="text"],input[type="tel"],input[type="email"], input[type="number"],textarea{
            width: 75%;
            border: 2px solid #aaa;
            border-radius: 4px;
            margin: 8px 0;
            outline: none;
            padding: 8px;
            box-sizing: border-box;
            transition: 0.3s;
            }
            input:focus-visible,textarea:focus-visible{
                border-color: dodgerBlue;
                box-shadow: 0 0 8px 0 dodgerBlue;
            }
            .submit-btn{
                display: block;
                text-align: center;
                input[type="submit"]{
                    position: relative;
                    width: fit-content;
                    margin: 5% auto;
                    padding: 3% 5%;
                    border: 2px solid black;
                    background-color: white;
                    font-weight: bold;
                    font-size: 16px;
                    color: rgb(31, 48, 204);
                    cursor: pointer;
                    &:hover{
                        color: #fa452c;
                    }

                }
            }
            .entry-check{
                color: red;
                text-align: center;
                font-weight: bolder;
            }
            
            .pay-btn-row{
                display: flex;
                justify-content: space-around;
                .pay-btn{
                    position: relative;
                    text-align: center;
                    vertical-align:middle;
                    padding-top: 2%;
                    padding-bottom: 2%;
                    padding-right: 1%;
                    padding-left: 1%;
                    
                  
                    border: 2px solid black;
                    background-color: white;
                    font-weight: normal;
                    font-size: 0.8rem;
                    color: rgb(31, 48, 204);
                    cursor: pointer;
                    a{
                        text-decoration: none;
                        &:hover{
                        color: #fa452c;
                        } 
                    }
                }
            }
        }
        .pledge{
            background-color: white;
            color: black;
            padding: 20px 35px;
            margin-bottom: 30px;
            h3{
                font-size: 2rem;
                text-align: center;
                text-decoration: underline;
            }
            ul{
                list-style-type:decimal;
            }
            label{
                display: block;
                width: 150px;
                margin: 5px auto;
                padding-top: 20px;
                padding-bottom: 20px;
                text-align: center;
                border: 2px black solid;
                font-weight: bolder;
            }
        }
    }
}
@media (width<768px){
    .contact{
        .contact-contents{
            width: 100%;
            h2{ 
                font-size: 1.5rem;
                padding: 0 4%;
            }
            
            p{
                padding: 0 4%;
            }
            table{
                width: 94%;
                margin: 0 auto;
                padding-bottom: 25px;
                td{
                    /* フォーム */
                    input[type="text"],input[type="tel"],input[type="email"],textarea {
                    font-size: 18px;
                    width: 100%;
                    }

                }
                th,td{
                    display: block;
                    text-align: left;
                    border: none;
                    padding: 0;
                    margin: 0;
                .submit-btn{
                    input[type="submit"]{
                        margin: 2% auto;
                    }
                }
                .pay-btn-row{
                    flex-direction: column;
                    .pay-btn{
                        width: 80%;
                        margin: 2% auto;
                    }
                }
            }
        }
        .pledge{
            margin-bottom: 5%;
            padding: 5% 5% 5% 8%;
            h3{
                font-size: 2rem;
                text-align: center;
                text-decoration: underline;
            }
            p{
                padding-left: 0;
            }
            ul{
                padding:5% 0;
                list-style-type:decimal;
            }
        }

    }        
}
}


/* Privacy Policy */
.ppolicy{
    width: 90%;
    margin: 0 auto;
    dd{
        margin: 0;
        font-weight: bolder;
        color: rgb(31, 48, 204);
    }
    dt{
        margin-bottom: 30px;
    }
    .close-btn{
        margin: 10px auto;
        text-align: center;
    }
}


/* FOOTER */
.footer{
    height: auto;
    padding-top: 10px;
    padding-bottom: 60px;
    .footer-contents{
        width: 800px;
        margin: 0 auto;
        h3{
            font-size: 1.5rem;
            text-align: center;
        }
        .gmap-wrap{
            width: 100%;
            height: auto;
            margin-top: 35px;
        }

        .row{
            display: flex;
            flex-wrap: wrap;
            flex-direction: row;
            justify-content: space-around;
            margin-top: 30px;
            a:hover{
                opacity: 0.7;
            }
            .row-fb{
                display: none;
            }
            .row2a{
                width: 500px;
            }
            .row2b{
                width: 280px;
                img{
                    width: 280px;
                    height: auto;
                    margin-bottom: 15px;
                }
            }
            
        }
    }
}

@media (width<768px){
    .footer{
        .footer-contents{
            width: 100%;
            h3{
                margin-bottom: 0;
            }
            .row{
                flex-direction: column;
                .row-fb{
                    display: block;
                    width: 33%;
                    height: auto;
                    margin: 0 auto 5% auto;
                }
                .row2a{
                    display: none;
                }
                .row2b{
                    width: 100%;
                    text-align: center;
                }
            }
        }
    }
}



footer{
    background-color: rgb(31, 48, 204);
    color: white;
    width: 100%;
    height: auto;
    text-align: center;
    padding-top: 20px;
    padding-bottom: 20px;
}


/* リンクバー */
.linkbar{
    display: none;
}

@media (width<768px){
.linkbar{
    display: block;
    position: sticky;
    left :0;
    bottom: 0;
    z-index: 10000;
    background-color: #aaa;
    width: 100%;
    height: auto;
    ul{
        margin: 0;
        padding: 0;
        display: flex;
        flex-wrap: nowrap;
        justify-content: center;
        width: 100%;
        height: auto;
        li{
            margin: 0;
            list-style-type: none;
            border: 1px black solid;
            width: 100%;
            height: auto;
            position: relative;
            text-align: center;
            vertical-align: middle;
            div{
                color: black;
                font-size: 0.8rem;
            }
        }
        a{
            display: block;
            text-decoration: none;
            width: 100%;
        }
        img{
            max-width: 30%;
            height: auto;
            margin: 8% auto 0 auto;
        }
    }
}
}
