@charset "utf-8";
/* =================================================================================
 plan
================================================================================= */
/*list*/
.lstConPlan{
    margin-left:-15px;
    font-size: 0;
}

.lstConPlan li{
    display: inline-block;
    width: 47%;
    width: -webkit-calc(50% - 15px);
    width: -moz-calc(50% - 15px);
    width: calc(50% - 15px);
    height: 100%;
    margin: 0 0 20px 15px;
    vertical-align: top;
    box-sizing: border-box;
}

.lstConPlan li a{
    display: block;
    color:#544e41;
    font-size: 12px;
}

.lstConPlan li:nth-last-of-type(2),
.lstConPlan li:last-child {margin-bottom: 0;}

.lstConPlan li a span{display: block;}

.lstConPlan li a .wrapImg{
    margin-bottom: 10px;
}

.lstConPlan li img{width: 100%;}

.lstConPlan .planTtl{
    font-size: 14px;
    text-align: center;
    margin-bottom: 7px;
}

.lstConPlan .planTtl .sSize{font-size: 12px;}

@media only screen and (min-width:640px){

    .lstConPlan{margin:0 0 0 -3px;}

    .lstConPlan li{
        width: 290px;
        margin: 0 0 40px 3px;
    }

    .lstConPlan li a .wrapImg{
        display: block;
        height: 163px;
        overflow: hidden;
    }

    .lstConPlan li a{font-size: 14px;}

    .lstConPlan li a img{transition: all .8s;}

    .lstConPlan li a:hover img{transform: scale(1.1);}

    .lstConPlan .planTtl .sSize,
    .lstConPlan .planTtl {font-size: 18px;}
}

/*詳細*/
.lstPlanPoint{
    margin-bottom:20px;
    font-size: 0;
}

.lstPlanPoint li{
    display: inline-block;
    width : 47%;
    width: -webkit-calc(50% - 5px);
    width: -moz-calc(50% - 5px);
    width: calc(50% - 5px);
    margin-bottom:10px;
    font-size:14px;
    border: 1px solid #6f624e;
    vertical-align: top;
    box-sizing: border-box;
}

.lstPlanPoint li:nth-child(2n){margin-left:10px;}

.lstPlanPoint li a{
    display: block;
    position: relative;
    padding: 10px 10px 25px 10px;
    font-weight: bold;
    color:#544e41;
    box-sizing: border-box;
    text-align: center;
}

.lstPlanPoint li a:after{
    display: block;
    position: absolute;
    bottom: 10px;
    right: 50%;
    margin-right: -6px;
    border-top: 8px solid #ff882e;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    content: "";
}

.lstPlanPoint li.single a{min-height: 77px;}

.lstPlanPoint li.single span{
    display: inline-block;
    padding-top: 10px;
}

.wrapPlanExp .ttlPlan{
    margin-bottom: 10px;
    font-size:22px;
    text-align: center;
}

.imgPlan{margin-bottom:20px;}

.imgPlan img{width:100%;}

.wrapPlanExp{padding: 0 15px;}

/*キャンペーン*/
.wrapTopCampaign{
    margin-bottom:30px;
    border:1px solid #ff882e;
}

.wrapTopCampaign .ttlCampaign{
    position: relative;
    font-size: 20px;
    color:#ff882e;
    margin-top:20px;
    text-align: center;
    font-weight: bold;
}

.wrapTopCampaign .ttlCampaign:after{
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 10px;
    margin-top:-5px;
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAMAAADz0U65AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA25pVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpFNTdGN0I0RURGMDJFNzExQkQ5NEM1MEU4QjY4QzI5OCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo3M0ZBQ0JDMTRGMUIxMUU3QjFBQkJBODhGRDU0QkRBOCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo3M0ZBQ0JDMDRGMUIxMUU3QjFBQkJBODhGRDU0QkRBOCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDozNGE4ZmE1OC1mMTQ1LTVlNGItYWVhOS0xODhjZGE0MzE5NzUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RTU3RjdCNEVERjAyRTcxMUJEOTRDNTBFOEI2OEMyOTgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7BaS7zAAAABlBMVEX/iC7///+AZhdPAAAAHElEQVR42mJgYGAEAwY4g5ERGwMkjcpAUQMQYAAH2AA5ubpRyAAAAABJRU5ErkJggg==) repeat;
    background-size:4px 4px;
    content: "";
    z-index: 0;
}

.wrapTopCampaign .ttlCampaign span{
    display: inline-block;
    position: relative;
    padding: 0 15px;
    background:#fff;
    z-index: 1;
}

.wrapTopCampaign .CamCon{padding: 15px;}

.wrapTopCampaign .catch{
    color:#ff882e;
    font-weight: bold;
    font-size:16px;
}

@media only screen and (min-width:640px){
    .imgPlan{margin-bottom:30px;}

    .wrapPlanExp{
        width: 1170px;
        margin: 0 auto;
    }

    .wrapPlanExp .ttlPlan{
        margin-bottom:20px;
        font-size:35px;
    }

    .lstPlanPoint{margin:0 0 30px -30px;}

    .lstPlanPoint li{
        width: 270px;
        margin: 0 0 20px 30px;
        font-size:16px;
        text-align: center;
        transition: all .8s;
    }

    .lstPlanPoint li a{
        padding: 20px 20px 30px ;
        transition: all .8s;
    }

    .lstPlanPoint li.single a {min-height: 100%;}

    .lstPlanPoint li.single span {
        display: inline-block;
        padding-top: 0;
    }

    .lstPlanPoint li:hover{border-color:#ff882e;}

    .lstPlanPoint li:hover a{color:#ff882e;}

    .lstPlanPoint li a:after{
        top:auto;
        bottom: 10px;
        right: 50%;
        margin-top: 0;
        margin:0 -10px 0 0;
        border-top: 8px solid #ff882e;
        border-left: 10px solid transparent;
        border-right: 10px solid transparent;
        transition: all .8s;
    }

    .lstPlanPoint li:hover a:after{border-top-color: #ff882e;}

    .lstPlanPoint li:nth-child(2n){margin-left:30px;}

    .wrapTopCampaign{
        margin-bottom:50px;
        text-align: center;
    }

    .wrapTopCampaign .ttlCampaign{
        margin-top:30px;
        font-size: 30px;
    }

    .wrapTopCampaign .ttlCampaign:after{
        width: 100%;
        height: 20px;
        margin-top:-10px;
    }

    .wrapTopCampaign .ttlCampaign span{padding: 0 40px;}

    .wrapTopCampaign .CamCon{padding: 40px;}

    .wrapTopCampaign .catch{font-size:22px;}

}

.ttlPlanMiddle {
    position: relative;
    margin-bottom: 15px;
    padding:0 0 12px 35px;
    font-size: 16px;
    font-weight: bold;
    border-bottom: 1px solid #6f624e;
}

.ttlPlanMiddle:before{
    display: block;
    position: absolute;
    top: 2px;
    left: 0;
    width: 25px;
    height: 20px;
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAoCAMAAACLrFl+AAABO1BMVEX///9+fn7//v3/t4D/1LT/tHv/iC7/iTD/27///fz/sXb/izT/4Mn//Pr/r3L/jjn/5dL/rG7/kj//6tr/+/j/qmn/lUX/7+L/+vf/qGf/mUz/8+r/+fX/pWL/nVP/9/H/+PT/pF7/olv/+PL/p2T/9u//n1f/rXD/9e7/nlX/tX3///7/9Ov/nFD/ijH/xpv/k0L/vIr/mk7/jTf/3cP/7N3/k0G+g1b/8eb/5tP/693/kkC1glz/pmL/mEr/7uH/69z+iC7/oFj/6tn/8ef/qWf/+fT/6dj/kT7/8un/mk3/s3r/jzn/8+v/m0//v4//6Nf/kD3/nVL/zKX/6Nb/kDz//fv/59X/jzv/59T/jzr/5tT3hzObgGz/sHScgGv/jTb/3MH/487/jjj/5ND/483/lkb/4sz/4suvUzVRAAABUklEQVQY08XPaVtBQRjG8Zs0FCeno9BRTkkrrVqkooV2Fe279r7/J8g6gzmYU9dV/3fzPM/vxcAkGFg/IhDoD8lXSjNIPnMkmzRE3iOEkI+YAfLySgpl3oTJk5OUyj0Lkod7UulRjMhMBCUhcndLRcAr9JcbJvwaOHLJi6trKtQ0OBLOntWL8wsq3B5wJH1MyEmoRpxmqFBc4Mj+QWFzKFWJ3T0qjmRwJKmWdqkdPWF3gCPReGW7FS6PthUqrDbwZJ2uSTxRnGwwsWmBDomqzCgr+UFslQ3WoEfgm2cnkQUsLrHnskmfIDzFjqZnZtljztSIYHyC6DUZakwwMqojxsxoQjAc4ERQQlOCwaE6EfCiBUH/QI3wa2hJ4O2rEqoPAgQ9vVS4PRAikLrLQnFBkEDqKgqnDGGCjs68sDtggMDcTqw2GCIwt1lgkNT2L0SsX5FvoxklAijuRhQAAAAASUVORK5CYII=) no-repeat;
    background-size:25px 20px;
    content: "";
}

.ttlPlanShort{
    position: relative;
    margin-bottom:5px;
    padding-left:25px;
    color:#ff882e;
    font-size: 16px;
    font-weight: bold;
    vertical-align: middle;
}

.ttlPlanShort:before{
    display: block;
    position: absolute;
    top:50%;
    left: 0;
    width: 20px;
    height: 20px;
    margin-top: -10px;
    background:#ff882e;
    content: "";
}

.btnPT{
    display:inline-block;
    position: relative;
    margin-left: auto;
    padding: 5px 25px 5px 10px;
    font-size:12px;
    color: #fff;
    background:#211c16;
}

.btnPT:after{
    display: block;
    position: absolute;
    top: 50%;
    right: 10px;
    margin-top: -3px;
    border-top: 6px solid #fff;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
    content: "";
}

@media only screen and (min-width:640px){
    .ttlPlanMiddle {
        margin-bottom: 20px;
        padding:0 0 15px 55px;
        font-size: 24px;
    }

    .ttlPlanMiddle:before{
        top: 1px;
        width: 40px;
        height: 32px;
        background-size:40px 32px;
    }

    .ttlPlanShort{
        margin-bottom:10px;
        padding-left:30px;
        font-size: 18px;
    }

    .ttlPlanShort:before{margin-top: -11px;}

    .btnPT:hover{background: #ff882e;}

}

/*room*/
.wrapRoomArea{
    margin-bottom: 20px;
    padding: 15px;
    border: 1px solid #6f624e;
}

.wrapRoomArea:last-child{margin-bottom: 0;}

.roomMv{margin-bottom: 20px;}

.roomMv .imgArea{margin-bottom: 20px;}

.wrapRoomArea .imgRoom{margin-bottom: 20px;}

.roomMv .imgArea img,
.wrapRoomArea .imgRoom img,
.roomMv .imgArea img {
    width: 100%;
    vertical-align: top;
}

.roomMv .txtArea .roomName{
    margin-bottom:10px;
    font-size: 24px;
}

.roomMv .txtArea .roomName span{
    font-size: 14px;
    margin-left:10px;
}

.txtArea .studioArea{
    margin-bottom:15px;
    padding-bottom: 15px;
    text-align: left;
    border-bottom: 1px solid #6f624e;
    font-size:12px;
    box-sizing: border-box;
}

.wrapRoomArea .btnCmn02{font-size:14px;}

@media only screen and (min-width:640px){
    .wrapRoomArea{
        margin-bottom:40px;
        padding: 40px;
    }

    .roomMv .txtArea {
        float: left;
        width:500px;
        font-size:14px;
        background: #fff;
        box-sizing: border-box;
    }

    .roomMv .imgArea{
        float: right;
        width:550px;
    }

    .roomMv .txtArea .roomName {
        margin-bottom:10px;
        font-size: 30px;
    }

    .roomMv .txtArea .roomName span{
        font-size: 20px;
        margin-left:10px;
    }

    .txtArea .studioArea{font-size:14px;}

    .wrapRoomArea .imgRoom{margin-bottom: 30px;}

    .wrapRoomArea .btnCmn02{font-size:16px;}
}


/*mypage*/
.wrapMypage{border: 1px solid #ff882e;}

.wrapMypage .ttlMypage{
    color: #fff;
    background:#ff882e;
    padding: 10px 0 8px;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
}

.wrapMypage .pointArea{padding: 15px;}

.wrapMypage .pointArea li{
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #ff882e;
}

.wrapMypage .pointArea li:last-child{
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.pointArea .imgArea img{width:100%;}

.pointArea .txtArea{margin-bottom:20px;}

.pointArea .ttlPoint{
    margin-bottom: 10px;
    font-size: 16px;
    font-weight: bold;
    padding-left: 30px;
    text-indent: -30px;
}

.pointArea .ttlPoint .num{
    display: inline-block;
    width: 20px;
    height: 20px;
    line-height: 21px;
    margin-right: 10px;
    text-align: center;
    text-indent: 0;
    color:#fff;
    background:#ff882e;
}

@media only screen and (min-width:640px){
    /*mypage*/
    .wrapMypage .ttlMypage{
        padding: 15px 0 13px;
        font-size: 24px;
    }

    .wrapMypage .pointArea{padding: 40px;}

    .wrapMypage .pointArea li{
        margin-bottom: 30px;
        padding-bottom: 30px;
    }

    .pointArea .txtArea{
        width: 630px;
        float: left;
    }

    .pointArea .ttlPoint{
        margin-bottom: 10px;
        font-size: 22px;
    }

    .pointArea .ttlPoint .num{
        width: 30px;
        height: 30px;
        line-height: 31px;
    }

    .pointArea .imgArea {
        width:380px;
        float: right;
    }
}

/*年齢別で見る七五三*/
.wrapAgeArea{border:1px solid #6f624e;}

.wrapAgeArea .ttlAge{
    font-size: 18px;
    font-weight: bold;
    padding: 10px 0 5px;
    border-bottom:1px solid #6f624e;
    text-align: center;
}

.wrapAgeArea .wrapAge{padding: 10px;}

.wrapAgeArea .wrapAge li{
    display: block;
    margin-bottom: 20px;
    border:1px solid #6f624e;
    box-sizing: border-box;
}

.wrapAgeArea .wrapAge li:last-child{margin-bottom: 0;}

.wrapAgeArea .wrapAge li img{
    display: block;
    width:100%;
}

.wrapAgeArea .wrapAge .ageCon{
    display: block;
    padding: 15px;
    color:#544e41;
}

.wrapAgeArea .wrapAge .ageCon .ttlAgePage{
    display: block;
    margin-bottom:10px;
    font-weight: bold;
    font-size: 16px;
}

.wrapAgeArea .wrapAge .detail{
    display: block;
    position: relative;
    padding: 10px 20px;
    color:#fff;
    font-weight: bold;
    background:#211c16;
    text-align: center;
}

.wrapAgeArea .wrapAge .detail:after{
    display: block;
    position: absolute;
    top: 50%;
    right: 10px;
    margin-top: -3px;
    border-top: 8px solid #fff;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    -webkit-transform: rotate(180deg);
    transform: rotate(-90deg);
    content: "";
}

@media only screen and (min-width:640px){
    .wrapAgeArea .ttlAge{
        font-size: 24px;
        padding: 15px 0 10px;
    }

    .wrapAgeArea .wrapAge{padding: 40px;}

    .wrapAgeArea .wrapAge li{
        float: left;
        width: 336px;
        margin:0 40px 0 0;
    }

    .wrapAgeArea .wrapAge li:last-child{margin: 0;}

    .wrapAgeArea .wrapAge li .imgAge{
        display: block;
        overflow: hidden;
    }

    .wrapAgeArea .wrapAge li img{transition: all .8s;}

    .wrapAgeArea .wrapAge .ageCon{
        font-size: 14px;
        padding: 20px;
    }

    .wrapAgeArea .wrapAge .ageCon .ttlAgePage{font-size: 16px;}

    .wrapAgeArea .wrapAge .detail{transition: all .8s;}

    .wrapAgeArea .wrapAge li:hover{border:1px solid #ff882e;}

    .wrapAgeArea .wrapAge li a:hover img{transform: scale(1.1);}

    .wrapAgeArea .wrapAge li a:hover .detail{background:#ff882e;}

}

/*よくある質問*/
.wrapPhotQues{
    padding: 15px;
    border:1px solid #6f624e;
}

.wrapPhotQues dt{
    position: relative;
    margin-bottom:10px;
    padding-left: 25px;
}

.wrapPhotQues dt:before{
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    margin-top:-2px;
    color:#6f624e;
    font-weight: bold;
    font-size:18px;
    content: "Q.";
}

.wrapPhotQues dd{
    position: relative;
    margin-bottom:20px;
    padding:0 0 20px 25px;
    border-bottom:1px dashed #6f624e;
}

.wrapPhotQues dd:last-child{
    margin-bottom:0;
    padding:0 0 0 25px;
    border-bottom:none;
}

.wrapPhotQues dd:before{
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    margin-top:-2px;
    color:#ff882e;
    font-weight: bold;
    font-size:18px;
    content: "A.";
}

@media only screen and (min-width:640px){
    .wrapPhotQues{padding: 40px;}
}

.columnArea{
    padding: 15px;
    border:1px solid #6f624e;
}

.columnArea img{width:100%;}

.columnArea .ttlPbm{
    position: relative;
    margin-bottom:15px;
    padding:0 0 15px 30px;
    font-weight: bold;
    font-size:16px;
    border-bottom:1px dashed #6f624e;
}

.columnArea .ttlPbm:before{
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    margin-top:-2px;
    color:#ff882e;
    font-weight: bold;
    font-size:18px;
    content: "Q.";
}

@media only screen and (min-width:640px){

    .columnArea{padding: 40px;}

    .columnArea .ttlPbm{
        margin-bottom:20px;
        padding:0 0 20px 30px;
        font-size:20px;
    }

    .columnArea .ttlPbm:before{
        margin-top:-2px;
        font-size:24px;
    }
}


/* =================================================================================
 shootingSetPlan 202204
================================================================================= */

.mB_50sp30{margin-bottom: 50px !important;}
.bdrGray{border: 1px solid #f2f2f2 !important;}
.fSize18sp12{font-size: 18px !important;}

@media only screen and (max-width:640px){
.mB_50sp30{margin-bottom: 30px !important;}
.fSize18sp12{font-size: 12px !important;}
}

/* planTtl
------------------------------------------------------- */
.shootingSetPlan .planTtl_1{
    line-height: 1.2;
    margin-bottom: 40px;
    font-size: 50px;
    font-weight: normal;
    text-align: center;
}

.planTtl_2{
    font-family: 'Noto Sans JP', sans-serif;
    position: absolute;
    top: 0;
    left: 0;
    width: 360px;
    height: 280px;
    line-height: 1.3;
    padding: 10px;
    box-sizing: border-box;
    background-color: #ffbe8d;
    font-size: 50px;
    font-weight: 500;
}

.planTtl_2 > span{
    position: relative;
    display: block;
    top: 50%;
    left: 50%;
    width: 100%;
    text-align: center;
    transform: translate(-50% , -50%);
}

.planTtl_3{
    line-height: 1.2;
    margin-bottom: 25px;
    padding-bottom: 10px;
    border-bottom: 2px solid #ccc;
    box-sizing: border-box;
    font-size: 24px;
}

.planTtl_4{
    position: relative;
    margin-bottom: 10px;
    padding-left: 20px;
    box-sizing: border-box;
    font-size: 18px;
}

.planTtl_4::before{
    content: "";
    display: block;
    position: absolute;
    top: 8px;
    left: 0;
    width: 12px;
    height: 12px;
    background-color: #ffbe8d;
    transform: rotate(45deg);
}


@media only screen and (max-width:640px){

    .shootingSetPlan .planTtl_1{
        margin-bottom: 30px;
        font-size: 32px;
    }

    .planTtl_2{
        position: static;
        width: 100%;
        height: auto;
        font-size: 24px;
    }

    .planTtl_2 > span{
        position: static;
        transform: none;
    }

    .planTtl_3{
        margin-bottom: 15px;
        padding-bottom: 5px;
        font-size: 18px;
    }

    .planTtl_4{
        line-height: 1.2;
        padding-left: 15px;
        font-size: 14px;
    }

    .planTtl_4::before{
        top: 3px;
        width: 10px;
        height: 10px;
    }
}


/* tab
------------------------------------------------------- */
.shootingSetPlan .tabArea{
    display: flex;
    justify-content: center;
}

.shootingSetPlan .tabArea .tab{
    position: relative;
    width: 360px;
    height: 110px;
    line-height: 1.1;
    margin-left: 20px;
    padding: 30px 10px 20px;
    border-radius: 9px;
    box-sizing: border-box;
    background-color: #ddd;
    font-size: 30px;
    font-weight: bold;
    text-align: center;
    cursor: pointer;
    transition: opacity .2s;
}

.shootingSetPlan .tabArea .tab:hover{opacity: .7;}

.shootingSetPlan .tabArea .tab:first-child{margin-left: 0;}

.shootingSetPlan .tabArea .tab.active{background: #ffbe8d;}

.shootingSetPlan .tabArea .tab.active::after{
    content: "";
    display: block;
    position: absolute;
    bottom: -28px;
    left: 50%;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 28px 28px 0 28px;
    border-color: #ffbe8d transparent transparent transparent;
    transform: translateX(-50%);
}

.shootingSetPlan .tabArea .tab .smallTxt{font-size: 24px;}

.shootingSetPlan .tabArea .tab .addTxt{
    margin-top: 10px;
    font-size: 16px;
    font-weight: normal;
}

.shootingSetPlan .tabArea .tab .price{
    display: block;
    position: absolute;
    top: -20px;
    left: 50%;
    min-width: 180px;
    height: 38px;
    padding: 10px;
    border: 2px solid #ccc;
    box-sizing: border-box;
    background-color: #fff;
    font-size: 18px;
    text-align: center;
    transform: translateX(-50%);
}

.shootingSetPlan .tabArea .tab.active .price{border-color: #ffbe8d;}


@media only screen and (max-width:640px){

    .shootingSetPlan .tabArea{
        max-width: 440px;
        margin: 0 auto;
    }

    .shootingSetPlan .tabArea .tab{
        width: calc(50% - 5px);
        height: 85px;
        margin-left: 10px;
        padding: 20px 5px 10px;
        font-size: 18px;
    }

    .shootingSetPlan .tabArea .tab.active::after{
        bottom: -14px;
        border-width: 14px 14px 0 14px;
    }

    .shootingSetPlan .tabArea .tab .smallTxt{font-size: 14px;}

    .shootingSetPlan .tabArea .tab .addTxt{
        margin-top: 5px;
        font-size: 10px;
    }

    .shootingSetPlan .tabArea .tab .price{
        top: -10px;
        min-width: 100px;
        height: 20px;
        padding: 4px 5px;
        border-width: 1px;
        font-size: 10px;
        font-weight: normal;
    }
}


/* planArea
------------------------------------------------------- */

.planArea{display: none;}

.planArea.show{display:block;}

.planArea.show{
    animation: fadeInUp 1.5s;
    opacity: 1;
}

@keyframes fadeInUp{
    0%{
        opacity: 0;
        transform: translateY(-10px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

.planArea .planCnt{
    position: relative;
    margin-bottom: 40px;
}

.planArea .planCnt:last-child{margin-bottom: 0;}

.planArea .innerWrap{
    position: relative;
    padding: 60px 35px 40px;
    border: 2px solid #ffbe8d;
    box-sizing: border-box;
}

.planArea .introTxtArea{margin-left: calc(50% - 182px);}

.planArea .supplementTxt{
    margin-bottom: 40px;
    font-size: 24px;
    color: #ff882e;
}

.planArea .recommendArea{
    position: relative;
    padding: 55px 20px 20px;
    border: 1px solid #ccc;
    box-sizing: border-box;
}

.planArea .recommendArea .ttl{
    display: inline-block;
    position: absolute;
    top: 10px;
    left: -10px;
    min-width: 320px;
    line-height: 1.2;
    padding: 3px 20px 2px;
    box-sizing: border-box;
    background-color: #ffbe8d;
    font-size: 18px;
    font-weight: bold;
    color: #fff;
    letter-spacing: .2em;
}

.checkMarkLst li{
    position: relative;
    padding-left: 20px;
    box-sizing: border-box;
    font-size: 16px;
}

.checkMarkLst li::before{
    content: "";
    display: block;
    position: absolute;
    top: 4px;
    left: 0;
    width: 16px;
    height: 14px;
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAaCAYAAADWm14/AAAAAXNSR0IArs4c6QAAAdtJREFUSEu9lr1PwkAYh39vNcSEiZ3NSUHqxOrkaOLg4GaiG6NRqIkDMSYWGBwcHIwSNyY1MU4mxtmtiDq5+A+waEIM7ZkrLSm1X7QHjKXp89z7eYQp/VijkKb99o8bR9Pgczj6eIBEZapoL07mxAVMuI4nAEUALfT6W1R9/7UlJirggnMmT8E9oKukvGn8wcQEPOCOyNMjCIc8HRMRCIbbHvoyj4JwgWhwapKibQtPQTQ4zklpl4QXYRz4vwiwen6eyp3PcWdDXPiIAIfDkJ7NNiHjjCqdjygiSeBDAQc8a0FbYKxEB6/dIImkcFPAA86fdwG6ADNUPwkR8IGAWvgGkPY+Kd1B0vfcdSEKbgnItwBbDZA4JUXbtQVFwgcCtUIWjK4sCa9A8MVxAzKOIElfjsXiVx4jfR5WyOYkZGpOBmYUAGsBkWgCLGdtNSHw0TasLqYwN3sNYNPn67wjMgEnGuvknpOQ1eQiDFYHYSUsdK7/Y8E9d4FVZA0AOwBSEURiw32XkTkbdOkyQiQSwQO3IavlF2BIFRA2fAozMTx0HbOTpQxI4i26Lirn7pSGXkjMwmQ4dswJISf37ILAxaPKPBI952UiQoGGvhIageEIVnOyfZMN/eoYL/wB8WjWG4S1Hs4AAAAASUVORK5CYII=) no-repeat center left / 100% auto;
}

.checkMarkLst li:last-child{margin-bottom: 0;}

.planDetailLst{
    display: flex;
    flex-wrap: wrap;
    margin-top: -20px;
}

.planDetailLst li{
    width: calc(100% / 4 - 15px);
    margin: 20px 0 0 20px;
    padding: 20px 10px;
    border: 1px solid #ccc;
    border-radius: 5px;
    box-sizing: border-box;
    font-size: 14px;
}

.planDetailLst li:first-child,
.planDetailLst li:nth-child(5n){
    margin-left: 0;
}

.planDetailLst li .imgArea{margin-bottom: 20px;}

.planDetailLst li .imgArea img{
    width: 100%;
    border: 1px solid #f2f2f2;
    box-sizing: border-box;
}

.planDetailLst li .txtArea .txt{text-align: justify;}

.planDetailLst [data-id="linkPopMovie"]{text-align: right;}

.planDetailLst .movieLink{
    position: relative;
    display: inline-block;
    padding-right: 10px;
    font-weight: bold;
    transition: .2s;
}

.planDetailLst .movieLink::after{
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 5px 0 5px 6px;
    border-color: transparent transparent transparent #ff882e;
    transform: translateY(-50%);
}

.planDetailLst .movieLink:hover{opacity: .7;}


@media only screen and (max-width:640px){

    .planArea .planCnt{margin-bottom: 20px;}

    .planArea .innerWrap{padding: 15px;}

    .planArea .introTxtArea{margin-left: 0;}

    .planArea .supplementTxt{
        margin-bottom: 15px;
        font-size: 14px;
        text-align: center;
    }

    .planArea .recommendArea{padding: 40px 10px 10px;}

    .planArea .recommendArea .ttl{
        left: -5px;
        min-width: 180px;
        padding: 3px 10px 2px;
        font-size: 14px;
        letter-spacing: 0;
    }

    .checkMarkLst li{
        padding-left: 15px;
        font-size: 12px;
    }

    .checkMarkLst li::before{
        width: 12px;
        height: 10px;
    }

    .planDetailLst{margin-top: -10px;}

    .planDetailLst li{
        width: 100%;
        margin: 10px 0 0 0;
        padding: 15px 10px;
        font-size: 12px;
    }

    .planDetailLst li{display: flex;}

    .planDetailLst li .imgArea{
        width: 120px;
        margin-bottom: 0;
    }

    .planDetailLst li .txtArea{
        width: calc(100% - 130px);
        margin-left: 10px;
    }

    .planDetailLst .movieLink::after{border-width: 4px 0 4px 5px;}
}


.planPriceArea .priceLst li{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 25px;
    color: #ff882e;
}

.planPriceArea .priceLst li:last-child{margin-bottom: 0;}

.planPriceArea .priceLst li > div{min-height: 80px;}

.planPriceArea .priceLst li .season{
    position: relative;
    width: 240px;
    line-height: 1.3;
    padding: 22px 10px;
    box-sizing: border-box;
    background-color: #ffe2cc;
    font-size: 28px;
}

.planPriceArea .priceLst li .season > span{
    position: relative;
    display: inline-block;
    top: 0;
    left: 50%;
    font-weight: bold;
    transform: translateX(-50%);
}

.planPriceArea .priceLst li .price{
    display: flex;
    width: calc(100% - 280px);
    font-weight: bold;
}

.planPriceArea .priceLst li .price > p{
    margin-left: 40px;
    align-self: baseline;
}

.planPriceArea .priceLst li .price > p:first-child{margin-left: 0;}

.planPriceArea .priceLst li .price .normal{
    font-size: 36px;
    color: #f44040;
}

.planPriceArea .priceLst li .price .normal .number{font-size: 52px;}

.planPriceArea .priceLst li .price .holiday{
    font-size: 24px;
    color: #544e41;
}

.planPriceArea .priceLst li .price .holiday .number{font-size: 32px;}


@media only screen and (max-width:640px){

    .planPriceArea .priceLst li{
        display: block;
        margin-bottom: 20px;
    }

    .planPriceArea .priceLst li > div{min-height: auto;}

    .planPriceArea .priceLst li .season{
        width: 100%;
        margin-bottom: 10px;
        padding: 5px 10px;
        font-size: 18px;
        text-align: center;
    }

    .planPriceArea .priceLst li .season > span{
        position: static;
        transform: none;
    }

    .planPriceArea .priceLst li .price{
        display: block;
        width: 100%;
        text-align: center;
    }

    .planPriceArea .priceLst li .price > p{margin-left: 0;}

    .planPriceArea .priceLst li .price .normal{font-size: 22px;}

    .planPriceArea .priceLst li .price .normal .number{font-size: 32px;}

    .planPriceArea .priceLst li .price .holiday{font-size: 14px;}

    .planPriceArea .priceLst li .price .holiday .number{font-size: 20px;}
}


/* notesArea
------------------------------------------------------- */

.notesArea{
    padding: 20px 0;
    border: 2px solid #544e41;
    box-sizing: border-box;
    background-color: #f2f2f2;
    font-size: 14px;
}

.notesArea .innerWrap{
    padding: 20px 40px;
    border: 2px dotted #544e41;
    border-right: none;
    border-left: none;
    box-sizing: border-box;
}

.notesArea .ttl{
    margin-bottom: 20px;
    font-size: 24px;
    text-align: center;
}

.notesArea .notesLst li{text-align: justify;}

.notesArea .notesLst > li{margin-bottom: 20px;}

.notesArea .notesLst > li:last-child{margin-bottom: 0;}

.notesArea .notesLst .planTtl_4{
    margin-bottom: 5px;
    padding-left: 18px;
    font-size: 16px;
    font-weight: bold;
}

.notesArea .notesLst .planTtl_4::before{
    top: 6px;
    width: 11px;
    height: 11px;
}


@media only screen and (max-width:640px){

    .notesArea{padding: 10px 0;}

    .notesArea .innerWrap{padding: 20px 15px;}

    .notesArea .ttl{font-size: 18px;}

    .notesArea .notesLst .planTtl_4{
        padding-left: 15px;
        font-size: 14px;
    }

    .notesArea .notesLst .planTtl_4::before{
        top: 4px;
        width: 8px;
        height: 8px;
    }
}


/* reserveArea
------------------------------------------------------- */

.reserveArea{text-align: center;}

.reserveArea .receptionTxt{
    margin-bottom: 20px;
    font-size: 24px;
    font-weight: bold;
}

.reserveArea .receptionTxt > span{
    position: relative;
    display: inline-block;
    padding: 0 35px;
    box-sizing: border-box;
}

.reserveArea .receptionTxt > span::before,
.reserveArea .receptionTxt > span::after{
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    width: 2px;
    height: 35px;
    background-color: #544e41;
}

.reserveArea .receptionTxt > span::before{
    left: 10px;
    transform: translate(0 , -50%) rotate(-35deg);
}

.reserveArea .receptionTxt > span::after{
    right: 10px;
    transform: translate(0 , -50%) rotate(35deg);
}

.reserveArea .linkWrap{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 700px;
    margin: 0 auto;
}

.reserveArea .linkWrap a{
    width: 340px;
    margin-left: 20px;
    box-sizing: border-box;
    font-size: 18px;
    transition: .2s;
}

.reserveArea .linkWrap a:first-child{margin-left: 0;}

    .reserveArea .linkWrap a:hover{opacity: .7;}

.reserveArea .webLink{
    position: relative;
    padding: 30px 10px;
    background-color: #ff882e;
    color: #fff;
}

.reserveArea .webLink::after{
    content: "";
    display: block;
    position: absolute;
    bottom: 10px;
    left: 50%;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 10px 0 10px;
    border-color: #fff transparent transparent transparent;
    transform: translateX(-50%);
}

.reserveArea .webLink .guideTxt{
    font-size: 24px;
    font-weight: bold;
}

.reserveArea .telLink{
    padding: 20px 10px;
    border: 1px solid #ccc;
    font-weight: bold;
    color: #544e41;
}

.reserveArea .telLink .tel{
    font-size: 24px;
    color: #1a6da7;
}

.reserveArea .telLink .time{font-size: 14px;}


@media only screen and (max-width:640px){

    .reserveArea .receptionTxt{
        margin-bottom: 10px;
        font-size: 16px;
    }

    .reserveArea .receptionTxt > span::before,
    .reserveArea .receptionTxt > span::after{
        height: 100%;
    }

    .reserveArea .receptionTxt > span::before{
        transform: translate(0 , -50%) rotate(-30deg);
    }

    .reserveArea .receptionTxt > span::after{
        transform: translate(0 , -50%) rotate(30deg);
    }

    .reserveArea .linkWrap{
        width: 100%;
        max-width: 450px;
    }

    .reserveArea .linkWrap a{
        width: 100%;
        min-height: 90px;
        margin: 10px 0 0;
        font-size: 14px;
    }

    .reserveArea .linkWrap a:first-child{margin-top: 0;}

    .reserveArea .webLink{padding: 20px 25px 10px 20px;}

    .reserveArea .webLink::after{
        bottom: 50%;
        left: auto;
        right: 10px;
        border-width: 7px 0 7px 7px;
        border-color: transparent transparent transparent #fff;
        transform: translate(0 , 50%);
    }

    .reserveArea .webLink .guideTxt,
    .reserveArea .telLink .tel{
        font-size: 22px;
    }

    .reserveArea .telLink{
        padding: 8px 10px;
        font-weight: normal;
    }

    .reserveArea .telLink .tel{font-weight: bold;}

    .reserveArea .telLink .time{font-size: 12px;}
}



/* clear fix
------------------------------------------------------- */
.wrapAgeArea .wrapAge:after,
.pointArea li:after,
.roomMv:after{
    content:"";
    display:block;
    clear:both;
    height:0;
}

/* EOF */