/*body{
    background: url(../img/mv_bg.png) no-repeat left top / cover;
}*/

.wrapper{
    width: 1280px;
    margin: auto;
    display: flex;
    justify-content: space-between;
}

main{
    width: 1040px;
    padding-right: 240px;
    position: relative;
}

a#online,
a#shop,
a#tradition,
a#info{
    display: block;
    position: absolute;
    top: -80px;
}
a#access{
    display: block;
    position: absolute;
    top: 0;
}

.mv {
    padding: 0 0 28px;
    margin-bottom: 80px;
}
.mv p{
    padding: 28px 0;
}
.mv h2{
    text-align: center;
    line-height: 0;
    padding: 22px 0;
}


/* online */
.online{
    width: 100%;
    margin-bottom: 110px;
}
.online a{
    display: block;
    width: 100%;
    box-sizing: border-box;
    background: #FCF7ED;
}
.online a .online_wrap{
    padding: 22px 60px 22px 55px;
    background: url(../img/onlineshop_bg.png) no-repeat right top / 100% auto;
}
.online a .online_wrap ul{
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
}
.online a .online_wrap ul li dl{
    padding-top: 18px;
}
.online a .online_wrap ul li dl dt{
    margin-bottom: 20px;
}


.contents{
    height: 240px;
    margin: 160px 0 0 80px;
    background: #FCF7ED url(../common/img/pattern_bg.png) repeat;
    position: relative;
}
.contents .photo img{
    margin: -80px 0 0 -80px;
}
.contents.shop dl dt{
    position: absolute;
    right: 100px;
    top: 30px;
}
.contents.shop dl dd{
    position: absolute;
    left: 35px;
    bottom: 35px;
}
.contents.tradition dl dt{
    position: absolute;
    right: 90px;
    top: 35px;
}
.contents.tradition dl dd{
    position: absolute;
    left: 30px;
    bottom: 30px;
}
.contents.info dl dt{
    position: absolute;
    right: 100px;
    top: 55px;
}
.contents.info dl dd{
    position: absolute;
    left: 35px;
    bottom: 18px;
}

.access{
    margin: 80px 0 160px;
    background: #FCF7ED url(../common/img/pattern_bg.png) repeat;
    padding: 45px 40px 45px 45px;
    position: relative;
}
.access ul{
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: center;
}
.access ul li dl dt{
    text-align: center;
    margin-bottom: 35px;
}

.onlineshop{
    margin-bottom: 160px;
}
.onlineshop h2{
    text-align: center;
    margin-bottom: 80px;
}
.onlineshop a{
    display: block;
}

.contents2{
    height: 400px;
    margin: 160px 0 0 80px;
    background: #FCF7ED url(../common/img/pattern_bg.png) repeat;
    position: relative;
}
.contents2 .photo img{
    margin: -80px 0 0 -80px;
}
.contents2.otameshi dl dt{
    position: absolute;
    right: 55px;
    top: -100px;
}
.contents2.otameshi dl dd{
    position: absolute;
    left: 25px;
    bottom: 30px;
}
.contents2.choinomi dl dt{
    position: absolute;
    right: 55px;
    top: -100px;
}
.contents2.choinomi dl dd{
    position: absolute;
    left: 25px;
    bottom: 30px;
}
.contents2.oden dl dt{
    position: absolute;
    right: 55px;
    top: -100px;
}
.contents2.oden dl dd{
    position: absolute;
    left: 25px;
    bottom: 30px;
}
.contents2.variety dl dt{
    position: absolute;
    right: 25px;
    top: -100px;
}
.contents2.variety dl dd{
    position: absolute;
    left: 25px;
    bottom: 30px;
}