.txt {
    text-align: justify;
}

#sec1 {
    background: url("../img/index/s1_bg.png") no-repeat 16vw top/125% auto;
    padding: 12% 0 15%;
}

#sec1 h2 {
    width: 80%;
    margin-bottom: 15vw;
}

#sec2 {
    background: url("../img/index/s2_deco.jpg") repeat-x top center/125% auto, url("../img/index/s2_bg.jpg");
    padding: 28vw 0 28vw;
    position: relative;
}

#sec2:before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 15vw;
    background: url("../img/index/s2_deco.jpg") repeat-x bottom center/125% auto;
}

#sec2 h2 {
    margin-bottom: 10vw;
    margin-left: 5%;
}

#sec2 .box {
    border: 3px solid #39210f;
    background: url("../img/shared/bg.jpg");
    box-sizing: border-box;
    position: relative;
    z-index: 3;
    padding: 7vw 3% 10vw;
    text-align: center;
}

#sec2 .box .num {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 45%;
    top: -5vw;
}

#sec2 .box h3 {
    font-size: 8vw;
    font-weight: bold;
    border-bottom: 1.5vw solid #da2900;
    display: inline;
    font-family: 'Noto Serif JP', serif;
    text-align: center;
}

#sec2 .box .photo {
    margin: 5vw 0;
}

#sec2 .box+.box {
    margin-top: 10vw;
}

#sec3 {
    padding: 12% 0 15%;
    background: url("../img/index/s3_bga.png") repeat center top/160% auto;
}

#sec3 .group .photo {
    margin: 0 -6%;
    position: relative;
    z-index: 2;
}

#sec3 .group .box {
    /* position: relative; */
    /* z-index: 2; */
    background: url("../img/index/bg2.jpg");
    color: #fff;
    box-sizing: border-box;
    width: 85%;
    margin-top: -20vw;
    padding: 12% 4% 10%;
}

#sec3 .group .box h3 {
    font-size: 8vw;
    font-weight: bold;
    letter-spacing: 0;
    line-height: 1.8;
    text-align: center;
    padding-bottom: 2vw;
    margin-bottom: 4vw;
    border-bottom: 3px solid #da2900;
    font-family: 'Noto Serif JP', serif;
}

#sec3 .group+.group {
    margin-top: 15vw;
    border-top: 1vw dashed;
    padding-top: 10vw;
}

#sec3 .group.group1 .box {
    margin-top: -20vw;
}

#sec3 .group.group2 .box {
    margin-top: -15vw;
    margin-left: auto;
}

#sec3 .group.group3 .box {
    margin-top: -15vw;
    width: 85%;
}

#sec3 .group.group3 .box h3 {
    font-size: 7vw;
    line-height: 1.5;
}

#sec3 .group.group3 .box h3 span {
    font-size: smaller;
}

#sec3 .group.group4 .box {
    margin-top: -15vw;
    margin-left: auto;
}

#sec3 .btn {
    margin: 10vw 5% 0;
}

#sec4 {
    position: relative;
    color: #fff;
    padding-bottom: 15%;
}

#sec4 .group {
    background: url("../img/index/s4_bg.jpg") center no-repeat;
    background-size: cover;
    padding: 12% 0;
    position: relative;
}

#sec4 .group:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1.5vw;
    background: url("../img/index/line.jpg");
}

#sec4 .group:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 1.5vw;
    background: url("../img/index/line.jpg");
}

#sec4 h2 {
    text-align: center;
    margin: 0 -8% 0 -3%;
}

#sec4 .txt {
    position: relative;
    z-index: 2;
}

#sec4 .btn {
    margin: 10vw 5% 0;
}

#sec5 {
    background: url("../img/index/s5_bg.jpg");
    padding-bottom: 15%;
    padding-top: 12%;
}

#sec5 .photo {
    margin-bottom: 5vw;
}

#sec5 .box {
    background-color: #f6f1ea;
    padding: 5% 5%;
    margin-top: 5vw;
}

#sec5 .btn {
    margin: 10vw 0 0;
}

#news {
    padding: 12% 0 15%;
}

#news h2 {
    font-size: 8vw;
    font-weight: 500;
    margin-bottom: 5vw;
    text-align: center;
}

#news .box {
    margin-bottom: 5vw;
}

#news .box>div:first-of-type {
    height: 355;
}

#news .box .mt {
    margin-top: 4vw;
}


.shop_nav {
       margin-bottom: 8vw;
    text-align: center;
    margin-top: 8vw;
   font-family: 'Noto Serif JP', serif;
}
.shop_nav h3{

    margin-bottom: 10px;
     font-size: 20px;
      text-align: center;
    font-weight: bold;
}
.shop_nav li{
    font-size: 16px;
}