main{
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    color: #5c5c5c;
}
main img{
    max-width: 100%;
    width: auto;
}
.coupon_btn{
    margin:2em auto;
    max-width: 500px;
    width: 90%;
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
}
.coupon_btn a{
    display: block;
    padding: 15px;
    width: 100%;
    text-align: center;
    color: #CDA074;
    border: 1px solid;
    transition:all .3s ease;
}
.coupon_btn a:hover{
    background: #CDA074;
    color: #fff;
}
.sec_wrap.flexbox{
    height: 100%;
    align-items: stretch;
}
/*.sec_wrap_off{
    position: relative;
    scroll-snap-align: start;
    background: #fff;
}*/
.sec_wrap .sec_cap{
    width: 40%;
    position: relative;
    text-align: left;
    display: flex;            /* Flexboxを指定 */
    justify-content: center;  /* 水平方向の中央寄せ */
    align-items: center;      /* 垂直方向の中央寄せ */
}
.sec_wrap.about{background: #E8DAB9;}
.sec_wrap.fragrance{background: #CDA074;}
.sec_wrap.wycd{background: #E8DAB9;}
.sec_wrap.wycd .sec_img{
    order: 1;
    width: 40%;
}
.sec_wrap.wycd .sec_cap{
    width: 60%;
}
.sec_wrap .sec_cap .sec_cap_inr{
    position: relative;
    z-index: 1;
    align-self: center;
    width: 80%;
    line-height: 2;
}
.sec_wrap .sec_cap .sec_cap_inr p:not(:last-of-type){
    margin-bottom: 1em;
}
.sec_wrap .sec_img{
    width: 60%;
}
.sec_wrap .sec_img img{
    object-fit: cover;
    width: 100%;
    height: 100%;
}
.sec_wrap .sec_cap h2{
    font-size: 6rem;
     -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    position: absolute;
    top: 0;
    right: 0;
    color: rgba(255,255,255,.5);
    width: 100%;
    height: 100%;
}
.keyV {
    margin-bottom: 3em;
}
.keyV .keyV_img{
    height: 50vh;
    overflow: hidden;
}
.keyV .keyV_img img{
    width: 100%;
    object-fit: cover;
    height: 100%;
}
.keyV .keyV_cap{
    width: 90%;
    margin-left: auto;
    margin-right: auto;
}
.keyV .keyV_titl{
    margin: 3em 0;
}
.keyV h1{
    font-size: 3rem;
    margin-bottom: 1em;
}
.type_box{
    margin-bottom: 2em;
}
.type_box dt{
    display: inline-block;
    margin-right: 1em;
    font-size: 1.8rem;
}
.type_list{
    font-size: 0;
}
.type_box .kazu,
.type_list li{
    display: inline-block;
    font-size: 13px;
}
.type_list li::after{
    content: "/";
}
.sec_wrap.wycd{
    counter-reset: number;
}
.point_box{
    margin-bottom: 3em;
}
.point_box dt{
    font-size: 1.8rem;
    margin-bottom: 1em;
    font-weight: bold;
}
.point_box dt .num{
    display: inline-block;
    width: 50px;
    height: 50px;
    line-height: 50px;
    text-align: center;
    border: 2px solid;
    border-radius: 50%;
    margin-right: 1em;
    position: relative;
    font-weight: normal;
}
.point_box dt .num::before{
    counter-increment: number;
    content: counter(number, decimal-leading-zero);
}
.point_box dt .num::after{
    content: "";
    width: 6px;
    height: 10px;
    background: #E8DAB9;
    display: inline-block;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translate(-50%,-50%);
}
.recommended{
    padding: 5% 0;
}
.recommended .inner1280{
    width: 100%;
}
.recommended h2{
    font-size: 4rem;
    margin-right: 1em;
}
.recommended .recommended_head{
    justify-content: flex-start;
    align-items: baseline;
    transform: translateY(100%);
}
.recommended .recommended_list{
    text-align: left;
    transform: translateX(50%);
    position: relative;
    z-index: 1;
}
.recommended .recommended_item{
    margin-bottom: 1em;
}
.workshop{
    background: url("img/workshop.png") center /cover no-repeat;
    padding: 5% 0;
    counter-reset: number;
}
.workshop .workshop_head.flexbox{
    color: #fff;
    margin-bottom: 3em;
}
.workshop .workshop_head h2{
    font-size: 4rem;
    margin-right: 1em;
}
.workshop .workshop_head .workshop_info.flexbox,
.workshop .workshop_head .titl.flexbox{
    width: auto;
    align-items: baseline;
}
.workshop_info {
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif"
}
.workshop_info .time{
    width: 70px;
    height: 70px;
    line-height: 70px;
    text-align: center;
    border: 1px solid;
    border-radius: 50%;
    margin-right: 30px;
}
.workshop_info .time span{
    font-size: 3rem;
}
.workshop_info .price{
    margin-right: 10px;
}
.workshop_list .workshop_item{
    width: calc(100% / 3 - 20px);
    aspect-ratio: 1 / 1;
    background: #fff;
    border-radius: 50%;
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif"
}
.workshop_list .workshop_img img{
    width: 100%;
}
.workshop_list .workshop_num{
    font-size: 2rem;
    margin-top: .5em;
    margin-bottom: .5em;
}
.workshop_list .workshop_num::after{
    counter-increment: number;
    content: counter(number, decimal);
    margin-left: 5px;
}
.workshop_list .workshop_cap .workshop_txt{
    padding:0em 4em;
}
.gallery{
    padding: 5% 0;
}
.gallery .txt_gallery{
    transform: translateY(50%);
    position: relative;
    z-index: 2;
    text-align: left;
}
/*.gallery .txt_gallery img{
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
}*/
.gallery .swiper-wrapper{
    height: auto;
}
.gallery .gallery_slide{
    padding-bottom: 50px;
}
.swiper-button-next, .swiper-container-rtl .swiper-button-prev {
    right: 30px;
}
.swiper-button-prev, .swiper-container-rtl .swiper-button-next{
    left: 30px;
}
.swiper-button-prev, .swiper-button-next{
    color: #fff;
}
.swiper-pagination-bullet.swiper-pagination-bullet-active{
    background: #E8DAB9;
}
.lum-lightbox{
    z-index: 999;
}
.lum-lightbox-inner{
    background: rgba(0,0,0,.8);
}
.lum-lightbox-inner img{
    max-height: initial;
    max-width: initial;
    width: auto;
}
section.shop{
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    text-align: left;
    padding: 5% 0;
}
.shop p{
    text-align: center;
}
.shop .shop_img{
    margin: 3em 0 1em;
}
.shop .shop_img img{
    width: 100%;
}
.shop .shop_titl{
    font-size: 2.6rem;
    font-weight: bold;
    margin-bottom: 15px;
}
.shop .shop_tel a{
    display: inline-block;
}
@media screen and (max-width:1024px){
    .sec_wrap .sec_img,
    .sec_wrap .sec_cap,
    .sec_wrap.wycd .sec_img,
    .sec_wrap.wycd .sec_cap{
        width: 50%;
    }
    .point_box dt .num{
        display: block;
        margin-left: auto;
        margin-right: auto;
    }
    .recommended .recommended_head{
        width: 90%;
        margin:0 auto 2em;
        transform: none;
    }
    .recommended .recommended_img{
        margin-left: auto;
        transform: translateY(-50px);
    }
    .workshop_list .workshop_item{
        width: calc(100% / 2 - 20px);
    }
    .workshop_list .workshop_item:last-child{
        margin: 0 auto;
    }
    .shop .inner900{
        width: 90%;
    }
}
@media screen and (max-width:768px){
    .recommended {
        padding-bottom: 0;
    }
    .recommended .recommended_list{
        width: 90%;
        margin-left: auto;
        margin-right: auto;
        transform: none;
    }
    .recommended .recommended_img{
        width: 100%;
        transform: none;
    }
    .lum-lightbox-inner img{
        max-width: 90%;
    }
}
@media screen and (max-width:480px){
    .sec_wrap .sec_img, 
    .sec_wrap .sec_cap,
    .sec_wrap.wycd .sec_img,
    .sec_wrap.wycd .sec_cap{
        width: 100%;
    }
    .sec_wrap .sec_img{
        aspect-ratio: 16 / 9;
    }
    .sec_wrap.wycd .sec_img{
        order: 0;
    }
    .sec_wrap.flexbox{
        height: auto;
    }
    .sec_wrap .sec_cap{
        padding: 30px 0;
    }
    .sec_wrap .sec_cap .sec_cap_inr{
        width: 90%;
    }
    .point_box dt{
        text-align: center;
    }
    .workshop_list .workshop_item{
        width: 100%;
        margin-bottom: 20px;
        border-radius: 50% 50% 0 0;
    }
    .workshop_list .workshop_cap .workshop_txt{
        padding: 0 2em 2em;
    }
    .workshop .workshop_head.flexbox{
        position: relative;
    }
    .workshop .workshop_head .titl.flexbox{
        margin-bottom: 2em;
    }
    .workshop_info .time{
        position: absolute;
        top: 0;
        right: 0;
        margin-right: 0;
    }
    .workshop_info .price{
        width: 100%;
        text-align: right;
    }
    .gallery .txt_gallery{
        transform: translateY(25%);
    }
    .swiper-pagination-fraction,
    .swiper-pagination-custom, 
    .swiper-container-horizontal > .swiper-pagination-bullets{
        width: 70%;
        left: 50%;
        transform: translateX(-50%);
        line-height: 1;
    }
}
