@charset "UTF-8";

@import url('//fonts.googleapis.com/css2?family=Kiwi+Maru:wght@500&display=swap');
.font01{ font-family: 'Kiwi Maru', serif; }

br.pc-none {
    display: none;
}

#ouchi2021 {
	width: 100%;
    overflow: hidden;
    font-weight: 500;
    letter-spacing: 0.1em;
    background: url("../images/menu/ouchi2021/bg_ouchi_01.jpg") center top repeat;
}
#ouchi2021 img{ width: 100%;}
#ouchi2021 p{ margin: 0;}

/*--- animation ---*/
@keyframes fadein {
	0% { opacity: 0; }
	100% { opacity: 1; }
}
@keyframes topToBottom {
	0% { transform: translate(0, -100%); opacity: 0;}
	100% { transform: translate(0, 0); opacity: 1;}
}
@keyframes bottomToTop {
	0% { transform: translate(-85%, 100%); opacity: 0;}
	100% { transform: translate(-85%, 0); opacity: 1;}
}
@keyframes boxin{
    0%{ transform: translate(0,25%); opacity: 0; }
    100%{  transform: translate(0,0%);opacity: 1;}
}
@keyframes fuwafuwa1 {
	0% { transform: translate(0, 10px); }
	100% { transform: translate(0, -10px); }
}
@keyframes fuwafuwa2 {
	0% { transform: translate(0, -10px); }
	100% { transform: translate(0, 10px); }
}
@keyframes bounce-in {
	0% { transform: translate(0,-100%); opacity: 0; }
	50% { transform: translate(0,0); opacity: 1; }
	70% { transform: translate(0,-6%);  }
	85% { transform: translate(0,0); }
	90% { transform: translate(0,-2%); }
	95% { transform: translate(0,0); }
	100% { transform: translate(0,0); opacity: 1; }
}

/*--- mv ---*/
#ouchi2021 #mv {
	width: 100%;
    color: #142328;
    position: relative;
	opacity: 0;
    text-align: center;
    background: url("../images/menu/ouchi2021/mv_ouchi_01.png?0308") center top no-repeat, url("../images/menu/ouchi2021/mv_ouchi_02.png?0308") center bottom no-repeat;
}
#ouchi2021 #mv.in {
	animation: fadein 1.5s ease forwards;
}
#ouchi2021 #mv .roof{
    opacity: 0;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    z-index: 1;
}
#ouchi2021 #mv .roof.in{
    animation: bounce-in 1.2s ease forwards;
}	

#ouchi2021 #mv .roof img{
    max-width: 676px;
}
#ouchi2021 #mv .title-box{
    max-width: 947px;
    width: 90%;
    margin: 0 auto;
    padding: 123px 0 35px;
    position: relative;
}
#ouchi2021 #mv .title-box .title{
    max-width: 608px;
    margin: 0 auto;
}
#ouchi2021 #mv .title-box .balloon01{
    position: absolute;
    left: 0;
    top: 167px;
    width: 300px;
    animation: fuwafuwa1 1.5s ease-in-out infinite alternate;
}
#ouchi2021 #mv .title-box .balloon02{
    position: absolute;
    right: 0;
    top: 374px;
    width: 300px;
    animation: fuwafuwa2 1.5s ease-in-out infinite alternate;
}

/*--- message ---*/
#ouchi2021 .message{
    opacity: 0;
    font-family: 'Kiwi Maru', serif;
    padding-bottom: 200px;
    width: 85%;
    margin: 0 auto;
}
#ouchi2021 .message.in{
	animation:boxin 1000ms ease forwards;
}
#ouchi2021 .message p{
    font-size: 17px;
    line-height: 2.2;
}
#ouchi2021 .message p span{
    color: #f1232d;
    border-bottom: 1px solid #f1232d;
}

/*--- contents ---*/
#ouchi2021 #contents{
    padding-top: 150px;
}
#ouchi2021 #contents #item{
    width: 85%;
    max-width: 1000px;
    margin: 0 auto;
}
#ouchi2021 #contents #arrange{
    padding-bottom: 180px;
}

#ouchi2021 #contents section{
    margin-bottom: 80px;
}

#ouchi2021 #contents .sectionTitle{
    max-width: 310px;
    width: 60%;
    margin: 0 auto 40px;
}
#ouchi2021 #contents .leadCopy{
    text-align: center;
    font-size: 20px;
    margin-bottom: 30px;
    font-family: 'Kiwi Maru', serif;
}
    
/*--- menu-box ---*/
#ouchi2021 .menu-box{
    opacity: 0;
    letter-spacing: 0;
}
#ouchi2021 .menu-box.in{
    animation:boxin 1000ms ease forwards;
}
#ouchi2021 .menu-box-list{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}
#ouchi2021 .menu-box-list.snacks{
    padding-top: 20px;
}
#ouchi2021 .menu-box-list.big{
    padding-top: 23px;
}
#ouchi2021 .big .menu-box{
    width: 48.5%;
}
#ouchi2021 .big .menu-box + .menu-box{
    margin-left: 3%;
}
#ouchi2021 .small{
    justify-content: flex-start;
}
#ouchi2021 .small .menu-box{
    width: 22.7%;
    margin-bottom: 50px;
    position: relative;
}
#ouchi2021 .small .menu-box + .menu-box{
    margin-left: 3.06%;
}
#ouchi2021 .small .menu-box:nth-child(4n+1){
    margin-left: 0;
}
#ouchi2021 .small .menu-box .balloon{
    position: absolute;
    z-index: 1;
    top: -35px;
    width: 90%;
    left: 5%;
    animation: fuwafuwa2 1.5s ease-in-out infinite alternate;
}

#ouchi2021 .menu-box .image{
    position: relative;
}
#ouchi2021 .menu-box .image .caption{
    width: fit-content;
    background: #142328;
    display: inline-block;
    position: absolute;
    top: -23px;
    left: 50%;
    transform: translate(-50%);
    line-height: 1;
    font-family: 'Kiwi Maru', serif; 
    color: #fff;
    padding: 15px 20px;
    font-size: 20px;
}
#ouchi2021 .menu-box .image .mainImage img{
    border-radius: 20px;
    box-shadow: 0px 5px 10px rgb(0 0 0 / 20%)
}

#ouchi2021 .menu-box .image .sub{
    position: absolute;
}

#ouchi2021 .menu-box .image .sub01{
    right: 2%;
    top: 0;
    margin-top: 42.27%;
    max-width: 241px;
    width: 49.69%;
}
#ouchi2021 .menu-box .image .sub02{
    right: 4%;
    top: 0;
    margin-top: 50.1%;
    max-width: 181px;
    width: 37.32%;
}
#ouchi2021 .menu-box .image .sub03{
    right: 7%;
    top: 0;
    margin-top: 66%;
    max-width: 98px;
    width: 30%;
}
#ouchi2021 .menu-box .image .sub04{
    right: 5.56%;
    top: 0;
    margin-top: 41.65%;
    max-width: 117px;
    width: 24.12%;
}
#ouchi2021 .menu-box .image .icon{
    position: absolute;
    left: -12px;
    bottom: -12px;
    max-width: 55px;
}

#ouchi2021 .menu-box .info{
    padding-top: 40px;
}
#ouchi2021 .menu-box .info .title{
    font-size: 18px;
    line-height: 1.3;
    font-weight: bold;
    margin-bottom: 10px;
}
#ouchi2021 .menu-box .info .price{
    line-height: 1.5;
    font-weight: bold;
    margin-bottom: 10px;
    font-size: 15px;
}
#ouchi2021 .menu-box .info .detailList{
    font-size: 10px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}
#ouchi2021 .menu-box .info .detailList li{
    margin: 10px 10px 0 0;
    display: flex;
    align-items: center;
}

#ouchi2021 .menu-box .info .detailList .quantity{
    margin-left: 5px;
}

#ouchi2021 .menu-box .info .quantity{
    border: 1px solid #142328;
    padding: 3px 6px;
    line-height: 1;
    font-size: 10px;
    display: inline-block;
    border-radius: 4px;
}

#ouchi2021 .menu-box .info .link{
    margin-top: 10px;
}
#ouchi2021 .menu-box .info .link a{
    color: #df2622;
    display: flex;
    align-items: center;
    width: fit-content;
}
#ouchi2021 .menu-box .info .link a::after{
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    border-right: 1px solid #df2622;
    border-bottom: 1px solid #df2622;
    transform: rotate(-45deg);
}

#ouchi2021 .menu-box .info .notice{
    font-size: 10px;
    opacity: 0.6;
    mix-blend-mode: multiply;
    margin-top: 10px;
}

#ouchi2021 #arrange section{
    width: 85%;
    max-width: 800px;
    margin: 0 auto;
}
#ouchi2021 #arrange .sectionTitle{
    margin-bottom: 63px;
}

#ouchi2021 #arrange .menu-box{
    margin: -150px 0 90px 0;
    padding-top: 150px;
}
#ouchi2021 #arrange .menu-box .info{
    background: #fff;
    border-radius: 20px;
    box-shadow: 0px 5px 10px rgb(0 0 0 / 20%);
    width: 59.375%;
    margin: -60px auto 0;
    position: relative;
    z-index: 1;
    text-align: center;
    padding-bottom: 30px;
}
#ouchi2021 #arrange .menu-box .info .icon{
    position: absolute;
    left: -35px;
    top: -28px;
    width: 96px;
    z-index: 1;
}
#ouchi2021 #arrange .menu-box .info .sub{
    width: 100%;
    margin: -80px 0 30px;
}
#ouchi2021 #arrange .menu-box .info .title{
    font-size: 20px;
    line-height: 1.3;
}

/*arrange*/

#ouchi2021 #arrange .arrangeTitle{
    background: url("../images/menu/ouchi2021/bg_ouchi_02.svg") center top repeat-x, url("../images/menu/ouchi2021/bg_ouchi_03.svg") center bottom repeat-x;
    padding: 19px 0 13px;
    background-size: 27px auto;
    margin-bottom: 407px;
}
#ouchi2021 #arrange .arrangeTitle .inr{
    background: #fff;
    position: relative;
    height: 290px;
}
#ouchi2021 #arrange .arrangeTitle .inr .title{
    position: absolute;
    width: 100%;
    top: 127px;
    left: 0;
    text-align: center;
}
#ouchi2021 #arrange .arrangeTitle .inr .title img{
    max-width: 886px;
    width: 88%;
}

/*omni7*/
#ouchi2021 .omni7{
    text-align: center;
}
#ouchi2021 .omni7 .title{
    font-size: 18px;
    margin-bottom: 20px;
}
#ouchi2021 .omni7 .button a{
    display: inline-block;
    background: #fff;
    border-radius: 20px;
    margin: 0 auto;
    padding: 20px 100px;
    box-shadow: 0px 5px 10px rgb(0 0 0 / 20%);
}
#ouchi2021 .omni7 .button img{
    max-width: 250px;
}


/*-------------------------------------------
Tablet
-------------------------------------------*/
@media only screen and (max-width: 1080px){
	
}

/*-------------------------------------------
SP
-------------------------------------------*/
@media only screen and (max-width: 480px){
    
    br.pc-none {
        display: inline;
    }
    
    /*--- mv ---*/
    #ouchi2021 #mv {
        background: url(../images/menu/ouchi2021/mv_ouchi_01_sp.png?0308) center top no-repeat, url(../images/menu/ouchi2021/mv_ouchi_02_sp.png?0308) center bottom no-repeat;
        background-size: 100% auto;
    }
    #ouchi2021 #mv .title-box .title{
        width: 90%;
    }
	#ouchi2021 #mv .title-box .balloon01 {
        width: 55%;
        top: 0;
        margin-top: 24%;
    }
    #ouchi2021 #mv .title-box .balloon02 {
        width: 55%;
        top: 0;
        margin-top: 100%;
    }
    
    /*--- message ---*/
    #ouchi2021 .message {
        padding-bottom: 100px;
    }
    #ouchi2021 .message p {
        font-size: 15px;
        line-height: 2;
    }
    
    /*--- contents ---*/
    #ouchi2021 #contents {
        padding-top: 40px;
    }
    #ouchi2021 #contents section {
        margin-bottom: 40px;
    }
    #ouchi2021 #contents .sectionTitle {
        margin: 0 auto 20px;
    }
    #ouchi2021 #contents .leadCopy{
        font-size: 18px;
    }
    
    /*--- menu-box ---*/
    #ouchi2021 .menu-box-list.big {
        padding-top: 19px;
    }
    #ouchi2021 .big .menu-box {
        width: 100%;
    }
    #ouchi2021 .big .menu-box + .menu-box {
        margin-left: 0;
        margin-top: 50px;
    }
    #ouchi2021 .small{
        justify-content: space-between;
    }
    #ouchi2021 .small .menu-box {
        width: 47%;
        margin-bottom: 30px;
        margin-left: 0;
    }
    #ouchi2021 .small .menu-box + .menu-box {
        margin-left: 0;
    }
    #ouchi2021 .small .menu-box:nth-last-child(1),
    #ouchi2021 .small .menu-box:nth-last-child(2) {
        margin-bottom: 0;
    }
    #ouchi2021 .menu-box .image .caption{
        top: -19px;
        padding: 10px 15px;
        font-size: 16px;
    }
    #ouchi2021 .menu-box .image .icon{
        width: 40px;
    }
    #ouchi2021 .menu-box .info {
        padding-top: 27px;
    }    
    #ouchi2021 .menu-box .info .title {
        font-size: 16px;
    }
    #ouchi2021 .menu-box .image .sub01 {
        margin-top: 37%;
    }
    #ouchi2021 .menu-box .image .sub02 {
        margin-top: 45%;
    }
    #ouchi2021 .menu-box .image .sub03 {
        margin-top: 66%;
    }
    #ouchi2021 .menu-box .image .sub04 {
        margin-top: 40%;
    }
    
    /*arrange*/
    #ouchi2021 #contents #arrange {
        padding-bottom: 30px;
    }
    #ouchi2021 #arrange .sectionTitle {
        margin-bottom: 40px;
    }
    #ouchi2021 #arrange .arrangeTitle {
        margin-bottom: 60%;
    }
    #ouchi2021 #arrange .arrangeTitle .inr {
        height: 0;
        padding-top: 36%;
    }
    #ouchi2021 #arrange .arrangeTitle .inr .title {
        top: 0;
        margin-top: 10%;
    }
    #ouchi2021 #arrange .arrangeTitle .inr .title img {
        width: 140%;
        transform: translateX(-50%);
        position: absolute;
        left: 50%;
        display: block;
    }
    #ouchi2021 #arrange .menu-box{
        margin-bottom: 50px;
    }
    #ouchi2021 #arrange .menu-box .info {
        width: 90%;
        padding-bottom: 20px;
        margin-top: -20px;
    }
    #ouchi2021 #arrange .menu-box .info .icon {
        left: -22px;
        top: -25px;
        width: 70px;
    }
    #ouchi2021 #arrange .menu-box .info .sub {
        width: 90%;
        margin: -50px 0 20px 3%;
    }
    #ouchi2021 #arrange .menu-box .info .title {
        font-size: 16px;
    }
    
}



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

福袋バナーの設置 2021/12/20

--------------------------------------------------------------------------------------*/
	
#specialBnr {
    width: 90%;
    max-width: 676px;
    margin: 100px auto -50px;
}

#specialBnr a {
	display: block;
	border-radius: 20px;
    box-shadow: 0px 5px 10px rgba(0,0,0,.2);
	overflow: hidden;
	position: relative;
	z-index: 5;
	transition: opacity 300ms ease;
}

#specialBnr a:hover {
	opacity: .6;
}


/*-------------------------------------------
SP
-------------------------------------------*/
@media only screen and (max-width: 480px){
	
#specialBnr {
    margin: 70px auto 30px;
}

}
	
}
