@charset "utf-8";

/* =============================================================
 top
============================================================= */

.introImgArea{
    position: relative;
    width: 790px;
    height: 160px;
    margin: 0 auto;
    font-size: 0;
}

.introImgArea img{
    position: absolute;
    top: 0;
    width: 200px;
    border: 4px solid #fff;
    box-sizing: border-box;
}

.introImgArea img:nth-child(2n-1){transform: rotate(-5deg);}

.introImgArea img:nth-child(2n){
    top: 22px;
    transform: rotate(5deg);
}

.introImgArea img:nth-child(1){left: 0;}
.introImgArea img:nth-child(2){left: 195px;}
.introImgArea img:nth-child(3){left: 390px;}
.introImgArea img:nth-child(4){left: 585px;}

@media only screen and (max-width:640px){
    .introImgArea{
        width: 100%;
        height: 150px;
    }

    .introImgArea img{
        width: 180px;
    }

    .introImgArea img:nth-child(1){left: calc(50% - 178px);}
    
    .introImgArea img:nth-child(4){
        top: 20px;
        left: auto;
        right: calc(50% - 178px);
    }

    .introImgArea img:nth-child(3),
    .introImgArea img:nth-child(2){display: none;}
}


.topNewsArea{
    display: block;
    width: 530px;
    margin: 0 auto;
    padding: 4px;
    background: repeating-linear-gradient(-45deg, #e99393, #e99393 3px,#ffe9e9 3px, #ffe9e9 5px);
    text-align: center;
}

.topNewsArea .innerCnt{
    padding: 5px 10px;
    background-color: #fff;
}

@media only screen and (max-width:640px){
    .topNewsArea{
        width: 100%;
        max-width: 460px;
        padding: 3px;
    }
}

.campaignInfoWrap{
    border: 1px solid #e99393;
    border-radius: 10px;
}

.campaignInfoWrap > .ttl{
    padding: 5px 0;
    border-radius: 7px 7px 0 0;
    background-color: #e99393;
    color: #fff;
    font-size: 22px;
    font-weight: 500;
    text-align: center;
}

.campaignInfoWrap .txtArea{
    padding: 30px 40px 25px;
}

.campaignInfoWrap .txtArea .cnt{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    flex-direction: row-reverse;
}

.campaignInfoWrap .txtArea .cnt .campaignTxt{
    width: 490px;
}

.campaignInfoWrap .txtArea .cnt .campaignImg{
    width: 300px;
    margin-top: 20px;
}

.campaignInfoWrap .addLineCnt{
    text-align: center;
}

.campaignInfoWrap .addLineCnt .addTxt{
    position: relative;
    display: inline-block;
    margin-bottom: 5px;
    padding: 0 25px;
}

.campaignInfoWrap .addLineCnt .addTxt::before,
.campaignInfoWrap .addLineCnt .addTxt::after{
    content: "";
    display: block;
    position: absolute;
    width: 2px;
    height: 18px;
    top: 9px;
    background-color: #321200;
}

.campaignInfoWrap .addLineCnt .addTxt::before{
    left: 5px;
    transform: rotate(-30deg);
}

.campaignInfoWrap .addLineCnt .addTxt::after{
    right: 5px;
    transform: rotate(30deg);
}

.campaignInfoWrap .addLineCnt .addBtn{
    display: block;
    width: 139px;
    margin: 0 auto;
    transition: opacity .3s;
}

.campaignInfoWrap .addLineCnt .addBtn:hover{
    opacity: .8;
}

@media only screen and (max-width:640px){
    .campaignInfoWrap{
        width: 100%;
        max-width: 450px;
        margin-left: auto;
        margin-right: auto;
    }

    .campaignInfoWrap > .ttl{
        padding: 8px 0;
        font-size: 16px;
    }

    .campaignInfoWrap .txtArea{
        padding: 15px 20px 20px;
    }

    .campaignInfoWrap .txtArea .cnt{
        display: block;
    }

    .campaignInfoWrap .txtArea .cnt .campaignTxt{
        width: 100%;
    }

    .campaignInfoWrap .txtArea .cnt .campaignImg{
        width: 100%;
        max-width: 300px;
        margin: 15px auto 0;
    }

    .campaignInfoWrap .addLineCnt .addTxt{
        margin-bottom: 6px;
        padding: 0 20px;
    }

    .campaignInfoWrap .addLineCnt .addTxt::before,
    .campaignInfoWrap .addLineCnt .addTxt::after{
        width: 1px;
        height: 16px;
        top: 6px;
    }

    .campaignInfoWrap .addLineCnt .addBtn{
        width: 125px;
    }
}

.lineInfoWrap{
    width: 560px;
    margin-left: auto;
    margin-right: auto;
    border: 1px solid #33b738;
    border-radius: 10px;
}

.lineInfoWrap > .ttl{
    padding: 5px 0;
    border-radius: 7px 7px 0 0;
    background-color: #33b738;
    color: #fff;
    font-size: 22px;
    font-weight: 500;
    text-align: center;
}

.lineInfoWrap .txtArea{
    padding: 20px 50px 25px;
}

.lineInfoWrap .addLineCnt{
    text-align: center;
}

.lineInfoWrap .addLineCnt .addTxt{
    position: relative;
    display: inline-block;
    margin-bottom: 5px;
    padding: 0 25px;
}

.lineInfoWrap .addLineCnt .addTxt::before,
.lineInfoWrap .addLineCnt .addTxt::after{
    content: "";
    display: block;
    position: absolute;
    width: 2px;
    height: 18px;
    top: 9px;
    background-color: #321200;
}

.lineInfoWrap .addLineCnt .addTxt::before{
    left: 5px;
    transform: rotate(-30deg);
}

.lineInfoWrap .addLineCnt .addTxt::after{
    right: 5px;
    transform: rotate(30deg);
}

.lineInfoWrap .addLineCnt .addBtn{
    display: block;
    transition: opacity .3s;
}

.lineInfoWrap .addLineCnt .addBtn:hover{
    opacity: .8;
}

.lineInfoWrap .addLineCnt .addBtn img{
    width: 139px;
}

@media only screen and (max-width:640px){
    .lineInfoWrap{
        width: 100%;
        max-width: 500px;
    }

    .lineInfoWrap > .ttl{
        padding: 8px 0;
        font-size: 16px;
    }

    .lineInfoWrap .txtArea{
        padding: 15px 20px 20px;
    }

    .lineInfoWrap .addLineCnt .addTxt{
        margin-bottom: 6px;
        padding: 0 20px;
    }

    .lineInfoWrap .addLineCnt .addTxt::before,
    .lineInfoWrap .addLineCnt .addTxt::after{
        width: 1px;
        height: 16px;
        top: 6px;
    }

    .lineInfoWrap .addLineCnt .addBtn img{
        width: 125px;
    }
}

.galleryLst{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: -40px;
}

.galleryLst > li{
    width: 330px;
    margin-top: 40px;
}

.galleryLst > li img{
    width: 100%;
    border-radius: 10px;
}

@media only screen and (max-width:640px){
    .galleryLst{
        margin-top: -15px;
    }

    .galleryLst > li{
        width: calc(50% - 5px);
        margin-top: 15px;
    }
}


.photoCapArea{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: -30px;
}

.photoCapArea .cnt{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 510px;
    margin-top: 30px;
}

.photoCapArea .cnt .imgArea{
    width: 150px;
}

.photoCapArea .cnt .imgArea img{
    border-radius: 5px;
}

.photoCapArea .cnt .txtArea{
    width: calc(100% - 170px);
}

@media only screen and (max-width:640px){
    .photoCapArea .cnt{
        width: 100%;
    }

    .photoCapArea .cnt .imgArea{
        width: 120px;
    }

    .photoCapArea .cnt .txtArea{
        width: calc(100% - 140px);
    }
}


.itemLst{
    display: flex;
    flex-wrap: wrap;
    margin-top: -30px;
}

.itemLst > li{
    width: 235px;
    margin: 30px 0 0 20px;
    line-height: 1.5;
    border-radius: 10px;
    background-color: #fff;
    text-align: center;
}

.itemLst > li:nth-child(4n-3){margin-left: 0;}

.itemLst > li img{
    width: 100%;
    border-radius: 10px 10px 0 0;
}

.itemLst > li .txtArea{
    padding: 10px;
}

.itemLst > li .txtArea .name{
    margin-bottom: 10px;
    font-weight: bold;
}

.itemLst > li .price{
    color: #d00;
}

.itemLst .stamp{position: relative;}

.itemLst .stampTemplate{
    margin-top: 10px;
}

.itemLst .stampTemplate .linkTxt{
    position: relative;
    padding: 2px 22px 3px 10px;
    border: 1px solid #f66c6c;
    border-radius: 10px;
    color: #f66c6c;
    font-size: 14px;
    transition: opacity .3s;
}

.itemLst .stampTemplate .linkTxt:hover{
    opacity: .8;
}

.itemLst .stampTemplate .linkTxt::after{
    content: "";
    display: block;
    position: absolute;
    top: 9px;
    right: 5px;
    width: 0;
    height: 0;
    border: 4px solid transparent;
    border-left: 6px solid #f66c6c;
    box-sizing: border-box;
}

.itemLst .stampTemplate .linkTxt > span{
    margin-left: 5px;
}

@media only screen and (max-width:640px){
    .itemLst{
        margin-top: -20px;
    }

    .itemLst > li{
        width: calc(50% - 5px);
        margin: 20px 0 0 10px;
    }

    .itemLst > li:nth-child(4n-3){margin-left: auto;}
    .itemLst > li:nth-child(2n-1){margin-left: 0;}

    .itemLst > li .txtArea{
        padding: 10px 5px;
    }

    .itemLst > li .txtArea .name{
        margin-bottom: 6px;
        font-size: 13px;
    }

    .itemLst .stampTemplate .linkTxt{
        display: inline-block;
        width: 100%;
        max-width: 130px;
        padding: 2px 14px 3px 5px;
        box-sizing: border-box;
        font-size: 11px;
    }

    .itemLst .stampTemplate .linkTxt::after{
        top: 7px;
        right: 2px;
        border-width: 4px;
        border-left-width: 5px;
    }

    .itemLst .stampTemplate .linkTxt > span{
        margin-left: 1px;
    }
}

.cmnTbl.receptionTbl{
    width: 520px;
}

.cmnTbl.receptionTbl th,
.cmnTbl.receptionTbl td{
    padding-top: 5px;
    padding-bottom: 5px;
}

@media only screen and (max-width:640px){
    .cmnTbl.receptionTbl{
        width: 100%;
    }

    .cmnTbl.receptionTbl th{
        width: 30%;
    }
}

.flowLst > li{
    position: relative;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 70px;
    padding: 40px;
    border-radius: 10px;
    background-color: #fff;
}

.flowLst > li:first-child{margin-top: 0;}

.flowLst > li::before{
    content: "";
    display: block;
    position: absolute;
    top: -60px;
    left: 50%;
    width: 30px;
    height: 30px;
    border-bottom: 3px solid #00573f;
    border-right: 3px solid #00573f;
    transform: translateX(-50%) rotate(45deg);
}

.flowLst > li:first-child::before{display: none;}

.flowLst .txtArea{
    width: 540px;
}

.flowLst .txtArea .ttl{
    margin-bottom: 10px;
    line-height: 1.6;
    color: #00573f;
    font-size: 36px;
}

.flowLst .txtArea .ttl > span{
    display: inline-block;
    vertical-align: middle;
}

.flowLst .txtArea .ttl .num{
    margin-right: 20px;
    font-size: 40px;
}

.flowLst .imgArea{
    width: 420px;
}

.flowLst .imgArea img{
    width: 100%;
    border-radius: 10px;
}

@media only screen and (max-width:640px){
    .flowLst > li{
        margin-top: 50px;
        padding: 15px 20px 20px;
    }

    .flowLst > li::before{
        top: -42px;
        width: 20px;
        height: 20px;
        border-bottom-width: 2px;
        border-right-width: 2px;
    }

    .flowLst .txtArea{
        width: 100%;
    }

    .flowLst .txtArea .ttl{
        margin-bottom: 5px;
        font-size: 22px;
    }

    .flowLst .txtArea .ttl .num{
        margin-right: 10px;
        font-size: 26px;
    }

    .flowLst .imgArea{
        width: 100%;
        max-width: 420px;
        margin: 10px auto 0;
    }

    .flowLst .imgArea img{
        width: 100%;
        border-radius: 10px;
    }
}


#notice .cntBgWhite > .ttl{
    line-height: 2;
    font-weight: bold;
    font-size: 16px;
    text-align: center;
}

.faqArea dl{
    margin-top: 20px;
    border-radius: 10px;
    background-color: #f9eeee;
}

.faqArea dl:first-child{margin-top: 0;}

.faqArea dt,
.faqArea dd{
    position: relative;
}

.faqArea dd,
.faqArea dt a{
    display:block;
    padding:15px 55px 15px 90px;
}

.faqArea dt::before,
.faqArea dt::after,
.faqArea dd::before,
.faqArea dd::after{
    content: "";
    display: block;
    position: absolute;
}

.faqArea dt::before,
.faqArea dd::before{
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background-color: #fff;
    top: 5px;
    left: 20px;
}

.faqArea dt::after,
.faqArea dd::after{
    top: -2px;
    font-size: 30px;
}

.faqArea dt::after{
    content: "Q";
    left: 35px;
    color: #00573F;
}

.faqArea dd::after{
    content: "A";
    left: 37px;
    color: #f66c6c;
}

.faqArea dt a{
    position: relative;
    color: #321200;
}

.faqArea dt a:hover{
    color: #e27777;
    cursor: pointer;
}

.faqArea dt a::before,
.faqArea dt a::after{
    content: "";
    display: block;
    position: absolute;
    width: 26px;
    height: 3px;
    top: 29px;
    right: 20px;
    background-color: #00573f;
}

.faqArea dt a::after{
    transform: rotate(90deg);
    transition: all .3s;
}

.faqArea dt a.open::after{
    display: none;
}

@media only screen and (max-width:640px){
    .faqArea dl{
        margin-top: 10px;
    }

    .faqArea dd,
    .faqArea dt a{
        padding: 12px 35px 12px 55px;
    }

    .faqArea dt::before,
    .faqArea dd::before{
        width: 32px;
        height: 32px;
        top: 5px;
        left: 10px;
    }

    .faqArea dt::after,
    .faqArea dd::after{
        top: 2px;
        font-size: 22px;
    }

    .faqArea dt::after{
        left: 18px;
    }

    .faqArea dd::after{
        left: 19px;
    }

    .faqArea dt a::before,
    .faqArea dt a::after{
        width: 16px;
        height: 2px;
        top: 22px;
        right: 10px;
    }
}

/* =============================================================
 goods_customer-photo
============================================================= */

.thumbImgClm{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items:center;
}

.thumbImgClm .txtArea{width: calc(100% - 230px);}

.thumbImgClm .imgArea{width: 200px;}
.thumbImgClm .imgArea img{border-radius: 15px;}


@media only screen and (max-width:640px){
    .thumbImgClm{
        display: block;
    }

    .thumbImgClm .txtArea{width: 100%;}

    .thumbImgClm .imgArea{
        width: 240px;
        margin: 0 auto 15px;
    }
}


.itemLst.row{
    display: block;
    margin: 0;
}

.itemLst.row li{
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin: 20px 0 0px;
    padding: 20px;
    box-sizing: border-box;
    text-align: left;
}

.itemLst.row li:first-child{margin-top: 0;}

.itemLst.row li .imgArea{width: 240px;}
.itemLst.row.imgL .imgArea{width: 330px;}

.itemLst.row li .imgArea img{border-radius: 10px;}

.itemLst.row > li .txtArea{
    width: calc(100% - 270px);
    box-sizing: border-box;
}
.itemLst.row.imgL > li .txtArea{width: calc(100% - 360px);}

.itemLst.nameLarge > li .txtArea .name{
    font-size: 18px;
}

.itemLst.row.imgL > li .price{
    font-size: 18px;
}

.itemLst.row > li .cmnTbl th{
    width: 200px;
    background-color: #f3ede9;
}

.itemLst.row.imgL > li .cmnTbl th{
    width: 25%;
}

.itemLst.row > li .cmnTbl td:last-child{width: 130px;}

@media only screen and (max-width:640px){
    .itemLst.row li{
        flex-wrap: wrap;
        flex-direction: column;
        margin: 10px 0 0px;
        padding: 10px;
    }

    .itemLst.row li .imgArea,
    .itemLst.row.imgL .imgArea{
        width: 100%;
        max-width: 400px;
        margin: 0 auto;
    }

    .itemLst.row > li .txtArea,
    .itemLst.row.imgL  > li .txtArea{width: 100%;}

    .itemLst.row.imgL > li .price{
        font-size: 16px;
        text-align: center;
    }

    .itemLst.nameLarge > li .txtArea .name{
        font-size: 16px;
        text-align: center;
    }

    .itemLst.row > li .cmnTbl th,
    .itemLst.row.imgL > li .cmnTbl th{width: 100%;}

    .itemLst.row > li .cmnTbl td:last-child{width: 100%;}
}

.reserveArea{
    position: relative;
    padding: 50px 50px 30px;
    border: 1px solid #999;
    border-radius: 10px;
}

.reserveArea > .ttl{
    position: absolute;
    top: -30px;
    left: 50%;
    padding: 0 25px;
    background: url("../images/bg_pattern_white.jpg") repeat top left / 128px 127px;
    font-size: 26px;
    transform: translateX(-50%);
    text-align: center;
}

.reserveArea > .ttl::before{
    content: "";
    display: block;
    position: absolute;
    bottom: 6px;
    left: 50%;
    transform: translateX(-50%);
    width: calc(100% - 20px);
    height: 10px;
    background: #ffff87;
    z-index: -1;
}

.telSingleCnt .tel{
    display: inline-block;
    padding-left: 40px;
    line-height: 62px;
    background: url("../images/icon_tel.png") no-repeat top 19px left / 30px;
    color: #321200;
    font-size: 32px;
    transition: color .3s, background .3s;
}

@media only screen and (max-width:640px){
    .reserveArea{
        padding: 30px 15px 20px;
    }

    .reserveArea > .ttl{
        top: -20px;
        left: calc(50% - 85px);
        width: 150px;
        padding: 0 10px;
        font-size: 20px;
        transform: none;
        z-index: 1;
    }

    .reserveArea > .ttl::before{
        bottom: 2px;
        height: 8px;
    }
}

.reserveArea .inquiryCnt{
    width: 240px;
    margin: 0 auto;
    line-height: 1.6;
    text-align: center;
}

.reserveArea .inquiryCnt .tel{
    display: inline-block;
    margin-top: 2px;
    padding-left: 32px;
    background: url("../images/icon_tel.png") no-repeat top 11px left / 25px;
    color: #321200;
    font-size: 28px;
    transition: color .3s, background .3s;
}

.reserveArea .inquiryCnt .tel:hover{
    color: #e27777;
    background-image: url("../images/icon_tel_pink.png");
}

@media only screen and (max-width:640px){
    .reserveArea .inquiryCnt{
        width: 200px;
        line-height: 1.6;
    }

    .reserveArea .inquiryCnt .tel{
        padding-left: 25px;
        background-position: top 11px left;
        background-size: 20px;
        font-size: 24px;
    }
}

/* =============================================================
 privacy
============================================================= */
#popUp #mainCnt{
    padding: 40px 0 80px;
}

.popUpArea .pageTtl{
    margin-bottom: 20px;
    padding: 10px;
    border-radius: 5px;
    background-color: #00573f;
    text-align: center;
    color: #fff;
    font-size: 20px;
}

.popUpArea .popUpTtl{
    margin-bottom: 5px;
    font-size: 18px;
}

.indentNumLst li{
    padding-left: 2.5em;
    text-indent: -2.5em;
}

.indentNumLst.long li{
    padding-left: 3em;
    text-indent: -3em;
}

.popUpArea .cmnBtn_1{
    min-width: 240px;
}

@media only screen and (max-width:640px){
    #popUp #mainCnt{
        padding: 30px 0 50px;
    }

    .popUpArea .pageTtl{
        font-size: 18px;
    }

    .popUpArea .cmnBtn_1{
        min-width: 200px;
        font-size: 16px;
    }
}


