@charset "UTF-8";

body{
    background-color: #FBF9F3;
    font-family: "Noto Sans JP", sans-serif;
}
html {
    font-size: 100%;
    color: #6B4126;
  }

*{
    margin: 0;
    padding: 0;
}
 

/* ----------共通点----------- */


img {
    width: 100%;
}

a{
    text-decoration: none;
    color: #6B4126;
}

li {
    list-style: none;
}

p{
     font-size: 1rem;
}

.container {
    max-width: 1100px;
    margin: auto;
}

.headline{
    display: flex;
    justify-content: center;
    align-items: center;
    margin:50px 0 20px 0;
    font-size: 2rem;
}

.headline::after,
.headline::before{
    content: "";
    width: 15%;
    margin: 0 40px;
    border: 1px solid #6B4126;
}


/* --------- ヘッター --------------- */


header{
    position: fixed;
    z-index: 20;
    top: 0;
    width: 100%;
    background-color:#ffcc00;
}

.header-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0px 20px;
}

.header-logo {
    width: 150px;
    padding: 5px 10px;
}

header .menu{
    display: flex;
}

header .menu li{
    margin: 0 30px;
}

header .menu li:hover{
    transform: scale(1.1);
    font-weight: 600;
    border-bottom: 1px solid #6B4126;
}

.hamburger{
    display: none;
}

#mask{
    display: none;
}


/* ---- メインビジュアル ------ */


.top-img {
    margin-top:80px;
}

.top-img img{
    object-fit: cover;
}


/* ----- グルメ ------ */

.gourmet-spot{
    margin: 50px 0;
}

.gourmet-text{
    max-width: 980px;
    margin: auto;
    text-align: center;
    padding: 0 10px;
}

.gourmet-content{
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 3fr));
    gap: 50px 20px;
    margin-top: 50px;
    padding: 50px;
    background-color: white;

}

/*----各スポットカードの設定----- */

.spot-list{
    padding: 15px 10px;
    box-shadow: 0px 7px 7px 3px rgba(17,17,26,0.08);
    border-radius: 10px;
}


.spot-img {
    border-radius: 10px;
}

.spot-number{
    width: 45px;
    height: 45px;
    border-radius: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    font-size: 1.7rem;
    color: #623C25; 
    background-color:#F0E5D0 ;
}
.spot-title {
    display: flex;
    align-items: center;
    margin-top: 10px;
}

.spot-list p{
    margin-top: 15px;
    padding: 0 10px;
}
.spot-name{
    margin-left: 10px;
}
.spot-name span {
    font-size: 0.85rem;
    color: chocolate;
}

.gourmet-btn{
    margin-top: 30px;
    display: inline-block;
    border: 2px solid #623C25;
    /* padding: 5px 40px; */
    line-height: 40px;
    width:100%;
    text-align: center;
    border-radius: 15px;
    transition: all 0.1s;
}


.gourmet-btn:hover{
    background-color: #f8da61;
    border: 2px solid #623C25;
    transform: scale(1.05);
    color: #623C25;
    
}

.number-btn a{
    margin: 50px 10px 0 10px;
    text-align: center;
    display: inline-block;
    width: 30px;
    height: 30px;
    background-color: #FFE476;
    border-radius: 10px;

}

 .number-btn {
    text-align: center;
    margin-bottom: 10px;
} 

/* ------------グーグルマップ------------------ */


.google-map{
    margin-bottom: 100px;
}

/* トップスライド */
.top-btn{
    position: fixed;
    bottom: 100px;
    right: 10px;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background-color: #f8da61;
}

.top-btn::after{
    position: relative;
    left: 16px;
    bottom: 10px;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-color: transparent transparent #6B4126 transparent;
    border-width: 0px 15px 28px 15px;
    }

/* --------- フッター --------------- */


footer {
    padding: 10px;
    background-color: #ffcc00;
}
footer ul{
    display: flex;
    justify-content: center;
}

footer a {
    display: inline-block;
    margin: 0 10px;
    font-size: 0.85rem;
}

footer p{
    margin-top: 15px;
    text-align: center;
}


/* ---------------レスポンシブ----------------------- */

@media(max-width:850px ){

header a{
    font-size: 1.2rem;
}
/* ハンバーガーメニュー */

    /* ボックス作成 */
.hamburger{
    width: 40px;
    height: 40px;
    position: relative;
    z-index: 30;
    display: block;
}

/* ハンバーガー三本線の作成 */
.hamburger span{
    position: absolute;
    display: block;
    width: 100%;
    height: 2px;
    background-color: #000000;
    transition: all 0.5s;
    z-index: 25px;
}

/* 三本線の位置設定 */

.hamburger span:nth-child(1){
    top: 30%;
}

.hamburger span:nth-child(2){
    top: 60%;
}

.hamburger span:nth-child(3){
     top: 90%;
}

/* クリック三本線の設定 */

.open .hamburger span:nth-child(1){
    top: 50%;
    transform: rotate(-45deg);
}

.open .hamburger span:nth-child(2){
     opacity: 0;
}

.open .hamburger span:nth-child(3){
     top: 50%;
    transform: rotate(45deg);
    }

#nav{
        position: fixed;
        z-index: 20;
        top: 0;
        right: -300px;
        padding: 20px 30px;
        width: 250px;
        height: 100vh;
        transition: 0.5s;
        text-align: center;
        opacity: 0;
        background-color: #F9ECD3;
        /* border-radius: 50px 0 0 50px; */
    }

    .open #nav{
        opacity: 1;
        right:0;
    }

    

    header .menu{
        margin-top: 80px;
        display: flex;
        flex-direction: column;
    }

    header .menu li{
        margin: 0 0 20px 0 ;
        padding: 30px 10px 0 10px;
        

    }

    .open #mask{
        display: block;
        position: fixed;
        top: 0;
        left: 0;
        opacity: 0.8;
        /* opacity: 0.8;で背景色を薄める */
        z-index: 10;
        width: 100%;
        height: 100%;
        background-color: #000000;
    }

    #mask{
        display: none;
        transition: 0.5s;
    }

    
    /* ------------------------------------- */

    .gourmet-content{
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 3fr));
    gap:  20px;
    margin-top: 50px;
    padding: 50px 20px;
    background-color: white;

    }

    .headline{
    display: block;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    margin:50px 0 20px 0;
    font-size: 1.7rem;
    }

    .headline::after,
    .headline::before{
        content: "";
        width: 10%;
        margin: 0 20px;
        border: 1px solid #6B4126;
    }


    .spot-br{
        display: none;
    }
    
}

    @media(max-width:550px ){


    .top-img {
    height: 130px;
    }

    .top-img img{
        height: 100%;
    }

    .headline{
    display: block;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    margin:50px 0 20px 0;
    font-size: 1.4rem;
    }

    .headline::after,
    .headline::before{
        display: none;
    }
    }










