body {
    margin: 0;
}

/*ヘッダー*/
.header {
    max-width: 1500px;
    margin: 20px 20px 30px;

    display: grid;
    grid-template-columns: 80% 20%;
    grid-template-rows: auto;
    grid-column-start: 1;
    grid-column-end: 3;
}

@media screen and (max-width: 850px) {
    .header {
        grid-template-columns: 70% 30%;

        margin: 20px 30px 30px;
    }
}

@media screen and (max-width: 500px) {
    .header {
        grid-template-columns: 60% 40%;

        margin: 20px 10px 30px;
    }
}

@media screen and (max-width: 370px) {
    .header {
        grid-template-columns: 50% 50%;

        margin: 20px 10px 30px;
    }
}

.logo {
    margin: 20px auto 30px 15px;
}

@media screen and (max-width: 850px) {
    .logo {
        margin: 0 auto 0 0;
    }
}

.logo img {
    width: auto;
    height: 120px;
}

@media screen and (max-width: 850px) {
    .logo img {
        width: auto;
        height: 70px;
    }
}

@media screen and (max-width: 500px) {
    .logo img {
        width: auto;
        height: 55px;
    }
}

@media screen and (max-width: 370px) {
    .logo img {
        width: auto;
        height: 40px;
    }
}

.menu_botan {
    margin: 20px 15px 30px auto;
}

@media screen and (max-width: 850px) {
    .menu_botan {
        margin: 0 0 0 auto;
    }
}

.menu_botan:hover {
    opacity: 0.5;
}

.menu_botan img {
    width: auto;
    height: 120px;
}

@media screen and (max-width: 850px) {
    .menu_botan img {
        width: auto;
        height: 70px;
    }
}

@media screen and (max-width: 500px) {
    .menu_botan img {
        width: auto;
        height: 55px;
    }
}

@media screen and (max-width: 370px) {
    .menu_botan img {
        width: auto;
        height: 40px;
    }
}




/*スライダー*/
.slyder_back01 {
    width: 100%;
    height: fit-content;

    background-image: url(keiraku_img/slider/slider02.png);
    background-repeat: no-repeat;
    background-size: cover;
    margin: 0;
}

.slyder_back02 {
    background-color: rgba(255, 255, 255, 0.6);
    backdrop-filter: blur(5px);
}


.slyder {
    position: relative;
    text-align: center;
    max-width: 1280px;
    margin: 0 auto;
}

.slyder div {
    margin: 0;
}

.slyder p {
    position: absolute;
    margin: 0;
    top: 0;
    left: 0;
}

.slyder img {
    width: 100%;
    height: auto;
}




.slyder_image01 {
    z-index: 5;

    animation: slyder_anime01 50s linear;
    animation-iteration-count: infinite;
}

@keyframes slyder_anime01 {
    0% {
        opacity: 1;
    }

    20% {
        opacity: 1;
    }

    25% {
        opacity: 0;
    }


    100% {
        opacity: 0;
    }

}



.slyder_image02 {
    z-index: 4;

    animation: slyder_anime02 50s linear;
    animation-iteration-count: infinite;
}

@keyframes slyder_anime02 {
    0% {

        opacity: 1;
    }

    45% {
        opacity: 1;
    }

    50% {

        opacity: 0;
    }

    100% {
        opacity: 0;
    }
}


.slyder_image03 {
    z-index: 3;

    animation: slyder_anime03 50s linear;
    animation-iteration-count: infinite;
}

@keyframes slyder_anime03 {
    0% {
        opacity: 1;
    }

    70% {
        opacity: 1;
    }

    75% {
        opacity: 0;
    }

    100% {
        opacity: 0;
    }

}


.slyder_image04 {
    z-index: 2;

    animation: slyder_anime04 50s linear;
    animation-iteration-count: infinite;
}

@keyframes slyder_anime04 {
    0% {
        opacity: 1;
    }

    95% {
        opacity: 1;
    }

    99% {
        opacity: 0;
    }

    100% {
        opacity: 0;
    }
}





/*最新情報*/

.info {
    margin: 0 0 40px;
}

.info_title {
    font-size: 1.8em;
    font-weight: bold;
    color: #fffacd;
    margin: 50px 10% 15px;
    padding: 0 auto;

    text-align: center;

    background-color: #b22222;
    border: solid 5px #b22222;
}

@media screen and (max-width: 800px) {
    .info_title {
        margin: 50px 3% 15px;
    }
}

@media screen and (max-width: 500px) {
    .info_title {
        font-size: 1.5em;
    }
}


.info_text_top {
    text-align: left;
    margin: 20px 12%;
    font-size: 0.9em;
}

.info_text_top_day {
text-decoration: underline;
text-underline-offset: 3px;
margin: 0 auto 3px;
}

@media screen and (max-width: 800px) {
    .info_text_top {
        margin: 20px 5%;
    }
}


.info details {
    text-align: center;
    margin: 40px 12% 70px;
}
@media screen and (max-width: 800px) {
    .info details{
        margin: 40px 5% 70px;
    }
}

.info summary {
    text-align: center;
    margin: 20px auto;
    font-size: 1em;
    cursor: pointer;
    list-style-type: none;

    width: fit-content;
    padding: 2px 20px;
    border: solid 2px #4b4b4b;
    border-radius: 30px;
    animation-duration: 1s;
}

.info summary:hover {
    background-color: #d2d2d2;
    color: #000;
    animation-duration: 1s;
}

@media screen and (max-width: 800px) {
    .info_text_top {
        font-size: 0.9em;
    }
}




.info_text {
    text-align: left;
    margin: 20px auto;
    border-bottom: solid 1px #a9a9a9;
    font-size: 0.9em;
}

@media screen and (max-width: 800px) {
    .info_text {
        font-size: 0.8em;
    }
}

.info_text_day {
text-decoration: underline;
text-underline-offset: 3px;
margin: 0 auto 3px;
text-decoration-color: #a9a9a9;
}


.info_text02 {
    text-align: left;
    margin: 20px auto;
    border-bottom: solid 1px #a9a9a9;
    font-size: 1.2em;
}

@media screen and (max-width: 800px) {
    .info_text02 {
        font-size: 1em;
    }
}

.info_text_red{
    color: #800000;
}

.sns {
    display: grid;
    grid-template-columns: 33% 33% 33%;
    grid-template-rows: auto;
    grid-column-start: 1;
    grid-column-end: 4;

    column-gap: 50px;

    margin: 0 48% 100px 40%;
}

@media screen and (max-width: 1000px) {
    .sns {
        margin: 0 30% 100px 17%;
    }
}

@media screen and (max-width: 700px) {
    .sns {
        margin: 0 30% 100px 11%;
    }
}

@media screen and (max-width: 500px) {
    .sns {
        margin: 0 30% 100px 7%;
    }
}

@media screen and (max-width: 370px) {
    .sns {
        margin: 0 30% 100px 5%;
    }
}

.sns_icon img {
    width: 100%;
}

.sns_icon img:hover {
    opacity: 0.5;
}







/*店舗情報、MAP枠*/
.shop_and_map {
    display: grid;
    grid-template-columns: 40% 60%;
    grid-template-rows: auto;
    grid-column-start: 1;
    grid-column-end: 3;

    margin: 0 10%;
}

@media screen and (max-width: 800px) {
    .shop_and_map {
        display: block;
        margin: 0 10px;
    }
}






/*店舗情報*/
.shop_title_oya {}

.shop_title {
    font-size: 1.8em;
    font-weight: bold;
    color: #fffacd;
    margin: 50px 0 15px;
    padding: 0 auto;

    text-align: center;

    background-color: #b22222;
    border: solid 5px #b22222;
}

@media screen and (max-width: 800px) {
    .shop_title {
        margin: 50px 3% 15px;
    }
}

@media screen and (max-width: 500px) {
    .shop_title {
        font-size: 1.5em;
    }
}

.shop_komidashi {
    font-weight: bold;
    margin: 10px 0 -2px -11px;
    text-align: left;
}

@media screen and (max-width: 800px) {
    .shop_komidashi {
        margin: 10px 0 -2px;
        text-align: center;
    }
}

@media screen and (max-width: 400px) {
    .shop_komidashi {
        font-size: 0.9em;
    }
}

.shop_text {
    text-align: center;
    margin: 0 0 20px 10px;
    text-align: left;
}

@media screen and (max-width: 800px) {
    .shop_text {
        margin: 10px 0 -2px;
        text-align: center;
    }
}

@media screen and (max-width: 400px) {
    .shop_text {
        font-size: 0.9em;
    }
}

.shop_text2 {
    text-align: center;
    margin: 10px 0 30px;
    font-size: 0.9em;
    text-align: left;
}

@media screen and (max-width: 1000px) {
    .shop_text2 {
        font-size: 0.75em;
    }
}

@media screen and (max-width: 800px) {
    .shop_text2 {
        margin: 10px 11% 120px;
        text-align: center;
    }
}








/*MAP*/
.map {
    text-align: center;
}

@media screen and (max-width: 800px) {
    .map {
        padding-bottom: 120px;
    }
}

.map_title {
    font-size: 1.8em;
    font-weight: bold;
    color: #fffacd;
    margin: 50px 0 15px 5%;
    padding: 0 auto;

    text-align: center;

    background-color: #b22222;
    border: solid 5px #b22222;
}

@media screen and (max-width: 800px) {
    .map_title {
        margin: 50px 3% 15px 3%;
    }
}


@media screen and (max-width: 500px) {
    .map_title {
        font-size: 1.5em;
    }
}

.map_center iframe {
    height: 440px;
    margin: 0 0 0 5%;
}

@media screen and (max-width: 800px) {
    .map_center iframe {
        width: 94%;
        height: 440px;
        margin: 0 0 0 0;
    }
}

@media screen and (max-width: 800px) {
    .map {
        margin: 0;
        text-align: center;
    }
}





/*Insta*/
.insta_title_oya {}

.insta_title {
    font-size: 1.8em;
    font-weight: bold;
    color: #fffacd;
    margin: 50px 10% 15px;
    padding: 0 auto;

    text-align: center;

    background-color: #b22222;
    border: solid 5px #b22222;
}

@media screen and (max-width: 800px) {
    .insta_title {
        margin: 50px 3% 15px;
    }
}

@media screen and (max-width: 500px) {
    .insta_title {
        font-size: 1.5em;
    }
}


.insta {
    display: grid;
    grid-template-columns: 33% 33% 33%;
    grid-template-rows: auto;
    grid-column-start: 1;
    grid-column-end: 4;

    column-gap: 10px;
    row-gap: 10px;

    margin: 0 10% 100px;
}

@media screen and (max-width: 800px) {
    .insta {
        grid-template-columns: 31% 31% 31%;
        margin: 0 3% 100px;
    }
}



.insta_picture {
    width: 100%;
}

.insta_picture img {
    width: 100%;
    text-align: center;
}

/* マウスオーバー時 */
.insta_picture img:hover {
    opacity: 0.5;
}






/*フッター*/
.futter {
    background-color: #800000;
    width: 100%;
    padding-top: 10px;
    padding-bottom: 100px;
}

.copywrite {
    font-size: 0.6em;
    color: #fff;
    text-align: center;
}

.copy_mark {
    font-size: 2em;
    vertical-align: -3px;
}