@charset "UTF-8";
/* CSS Document */


/* --- C O N T E N T S --- */

.cont {
    width: 100%;
    height: auto;
    margin: 54px 0 0 0; /* header H */
    display: block;
    position: relative;
    min-height: calc(100vh - (60px + 200px));
    overflow: hidden;
}
.ct-title {
    width: 100%;
    height: auto;
    display: block;
    text-align: center;
    margin: 100px 0 90px 0;
    
    font-family: itc-avant-garde-gothic-pro, sans-serif;
    font-weight: 300;
    font-style: normal;
    font-size: 2.5rem;
    letter-spacing: 0.1em;
    line-height: 1em;
    color: #d971aa;
    
    /*-webkit-text-shadow: 0px 1px 1px rgba(0, 0, 0, 0.9);
    text-shadow: 0px 1px 1px rgba(0, 0, 0, 0.9);*/
    
    /* JS */
    will-change: opacity, transform;
    opacity: 0;
    transform: scale(1.6);
    
    transition: all 1.0s cubic-bezier(0.04, 0.68, 0.15, 1) 0.2s;
    -webkit-transition: all 1.0s cubic-bezier(0.04, 0.68, 0.15, 1) 0.2s;
}
.cont.appr .ct-title {
    opacity: 1;
    transform: scale(1);
}

.ct-title.tckt {
    margin: 100px 0 90px 0;
}




/* --- I N T R O D U C T I O N --- */

.cont.ct-intro .ct-title {
    color: #fff;
    -webkit-text-shadow: 0px 1px 1px rgba(0, 0, 0, 0.9);
    text-shadow: 0px 1px 1px rgba(0, 0, 0, 0.9);
}
.cont.ct-intro {
    width: 100%;
    height: 100%;
    position: relative;
}
.cont.ct-intro::after {
    content: "";
    display: block;
    margin: 0;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url("../img/bg-intro.jpg") no-repeat center center;
    background-size: cover;
    z-index: -1;
    
    /* JS */
    transition: all 7.0s cubic-bezier(0.04, 0.68, 0.15, 1);
    -webkit-transition: all 7.0s cubic-bezier(0.04, 0.68, 0.15, 1);
    will-change: transform;
    transform: scale(1);
}
.cont.appr.ct-intro::after {
    transform: scale(1.2);
}
.intro-main {
    width: 90%;
    height: auto;
    margin: 0 auto;
    padding: 0 0 120px 0;
    text-align: center;
}
.intro-main.int-fst {
    will-change: opacity, transform;
    opacity: 0;
    transform: translateY(80px);
    
    transition: all 3.5s cubic-bezier(0.04, 0.68, 0.15, 1) 0.2s;
    -webkit-transition: all 3.5s cubic-bezier(0.04, 0.68, 0.15, 1) 0.2s;
}
.cont.appr .intro-main.int-fst {
    opacity: 1;
    transform: translateY(0);
}
.intro-main h1, .intro-main h2, .intro-main p {
    font-weight: 600;
    letter-spacing: 0.08em;
    
    -webkit-text-shadow: 0px 2px 3px rgba(0, 0, 0, 0.5);
    text-shadow: 0px 2px 3px rgba(0, 0, 0, 0.5);
}
.intro-main h2 {
    display: block;
    margin: 0 0 0.7em 0;
    font-size: 1.5rem;
    line-height: 1em;
    color: #fff;
}
.intro-main h1 {
    display: block;
    margin: 0 0 0.7em 0;
    font-size: 2rem;
    line-height: 1.5em;
    color: #ff89c3;
}
.intro-main p strong {
    color: #ff89c3;
    font-size: 1.3em;
}
.intro-main p {
    display: inline-block;
    font-size: 1.05rem;
    line-height: 2.6em;
    color: #fff;
}
.intro-main p i {
    display: inline-block;
    margin: 0 0.2em;
    width: 2em;
    height: 1em;
    position: relative;
}
.intro-main p i::before {
    content: "";
    display: block;
    margin: 0;
    width: 100%;
    height: 1px;
    position: absolute;
    top: 60%;
    left: 0;
    background: #fff;
}
.brIT_pc {
    display: inherit;
}
.brIT_sp {
    display: none;
}

.intro-main p.intro-txt {
    font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    line-height: 2.2em;
}
.int-line {
    width: 80%;
    height: 3px;
    display: block;
    margin: 0 auto;
    background: url("../img/linedot_wt.png") repeat-x;
    background-size: auto 100%;
}
.intro-main p b {
    color: #ff9b96;
    font-weight: 600;
}
.intro-main p span.txt-s {
    font-size: 0.8em;
}

.st-BT {
    width: 100%;
    height: auto;
    display: block;
    margin: 0 0 150px 0;
    text-align: center;
}
.st-BT span {
    display: inline-block;
    margin: 0 auto;
    
    padding: 0.7em 3em 0.6em;
    background: #fef8ff;
    border: 2px solid #f670b9;
    border-radius: 40px;
}
.st-BT span p {
    font-size: 1.2rem;
    letter-spacing: 0.08em;
    line-height: 1em;
    color: #d971aa;
    font-weight: bold;
}
.st-BT span, .st-BT span p {
    transition: all 0.2s ease-out;
}
.st-BT a:hover span {
    background: #f670b9;
}
.st-BT a:hover span p {
    color: #fff;
}
.mdW-cmt.stmd {
    padding: 35px 40px 45px 40px;
    border: 2px solid #f670b9;
    background: #fff;
    
    font-size: 1.2rem;
}
.mdW-cmt.stmd .brIT_pc {
    display: none;
}
.mdW-cmt.stmd h1 {
    color: #737ac4;
    text-align: left;
    font-size: 1.3em;
    line-height: 1.4em;
    margin: 0 0 1.5em 0;
}
.mdW-cmt.stmd p {
    color: #d971aa;
}





/* --- C H A R A C T E R --- */

.cont.ct-chara::before, .cont.ct-chara::after {
    content: "";
    display: block;
    width: 100%;
    height: 100vh;
    position: fixed;
    z-index: -1;
}
.cont.ct-chara::before {
    top: 0;
    left: 0;
    background: url("../img/bg-introLT.jpg") no-repeat top left transparent;
    background-size: 50% auto;
}
.cont.ct-chara::after {
    bottom: 0;
    right: 0;
    background: url("../img/bg-introRB.jpg") no-repeat bottom right transparent;
    background-size: 50% auto;
}
.cont.ct-chara_v2::before {
    content: "";
    display: block;
    width: 100%;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    z-index: -1;
    background: url("../img/bg-brt.jpg") no-repeat top center;
    background-size: cover;
}
.ctr-name {
    width: 100%;
    height: auto;
    margin: 0 0 50px 0;
    text-align: center;
}
.ctr-name h1 {
    display: block;
    margin: 0 0 10px 0;
    padding: 0 0 15px 0;
    position: relative;

    font-family: itc-avant-garde-gothic-pro, sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 1.8rem;
    letter-spacing: 0.1em;
    line-height: 1em;
    
    /* JS */
    transform: translateY(-30px);
    opacity: 0;
}
.ctr-name h1::before {
    content: "";
    display: block;
    width: 210px;
    height: 4px;
    margin: 0;
    position: absolute;
    left: 50%;
    bottom: 0;
    margin-left: -105px;
}
.ctr-name p {
    display: block;
    margin: 0;

    font-weight: 600;
    font-style: normal;
    font-size: 1.0rem;
    letter-spacing: 0.02em;
    line-height: 1em;
    
    /* JS */
    transform: translateY(30px);
    opacity: 0;
}

.ctr-name h1, .ctr-name p {
    will-change: opacity, transform;
    
    transition: all 2.5s cubic-bezier(0.04, 0.68, 0.15, 1) 0.2s;
    -webkit-transition: all 2.5s cubic-bezier(0.04, 0.68, 0.15, 1) 0.2s;
}
.ctr-name.appr h1, .ctr-name.appr p {
    transform: translateY(0);
    opacity: 1;
}

.ctr-name.ctr1 h1, .ctr-name.ctr1 p,
.cr-thum-wrap.ctr1 .cr-name p {
    color: #ff9b96;
}
.cr-thum-wrap.ctr1 .cr-thum-pic,
.cr-thum-wrap.ctr1 .cr-name {
    border-color: #ff9b96;
}
.ctr-name.ctr1 h1::before {
    background: url("../img/linedot_pnk.png") repeat-x center center;
    background-size: auto 100%;
}
.cr-thum-wrap.ctr1 .cr-name::before, .cr-thum-wrap.ctr1 .cr-name::after {
    background: url("../img/star_pnk.png") no-repeat center center;
    background-size: 100% auto;
}

.ctr-name.ctr2 h1, .ctr-name.ctr2 p,
.cr-thum-wrap.ctr2 .cr-name p {
    color: #cd91be;
}
.cr-thum-wrap.ctr2 .cr-thum-pic,
.cr-thum-wrap.ctr2 .cr-name {
    border-color: #cd91be;
}
.ctr-name.ctr2 h1::before {
    background: url("../img/linedot_ppl.png") repeat-x center center;
    background-size: auto 100%;
}
.cr-thum-wrap.ctr2 .cr-name::before, .cr-thum-wrap.ctr2 .cr-name::after {
    background: url("../img/star_ppl.png") no-repeat center center;
    background-size: 100% auto;
}


/* --- KASHIHARA --- */

.ctr-name.ctr3 h1, .ctr-name.ctr3 p,
.cr-thum-wrap.ctr3 .cr-name p {
    color: #d4b452;
}
.cr-thum-wrap.ctr3 .cr-thum-pic,
.cr-thum-wrap.ctr3 .cr-name {
    border-color: #d4b452;
}
.ctr-name.ctr3 h1::before {
    background: url("../img/linedot_y.png") repeat-x center center;
    background-size: auto 100%;
}
.cr-thum-wrap.ctr3 .cr-name::before, .cr-thum-wrap.ctr3 .cr-name::after {
    background: url("../img/star_y2.png") no-repeat center center;
    background-size: 100% auto;
}

/* --- KASHIHARA --- */



.cr-thum-wrap {
    width: min(1500px,100%);
    height: auto;
    margin: 0 auto;
    padding: 0 0 60px 0;
    
    display: flex;
    display: -webkit-flex;
    
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    
    justify-content: center;
    -webkit-box-pack: center;
}
.cr-thum {
    width: 20%;
    height: auto;
    margin: 0 20px 80px 0;
    display: block;
    position: relative;
    
    /* JS */
    will-change: opacity, transform;
    opacity: 0;
    transform: translateY(50px);
}
.cr-thum:nth-of-type(4n) {
    margin: 0 0 20px 0;
}
.ctr1 .cr-thum:nth-of-type(1) { order: 2; }
.ctr1 .cr-thum:nth-of-type(2) { order: 3; }
.ctr1 .cr-thum:nth-of-type(3) { order: 1; }
.ctr1 .cr-thum:nth-of-type(4) { order: 4; }

.ctr2 .cr-thum:nth-of-type(1) { order: 2; }
.ctr2 .cr-thum:nth-of-type(2) { order: 1; }
.ctr2 .cr-thum:nth-of-type(3) { order: 3; }


/* --- KASHIHARA --- */

.ctr3 .cr-thum:nth-of-type(1) { order: 1; }

/* --- KASHIHARA --- */


.cr-thum-pic {
    width: 100%;
    height: auto;
    display: block;
    margin: 0;
    position: relative;
    border: 1px solid;
    border-radius: 8px;
}
.cr-thum-pic::after {
    content: "";
    display: block;
    padding-bottom: 100%;
}
.cr-thum-pic div {
    width: 94%;
    height: auto;
    margin: 0;
    display: block;
    position: absolute;
    top: 3%;
    left: 3%;
    overflow: hidden;
    border-radius: 6px;
    z-index: 1;
}
.cr-thum-pic div img {
    transition: all 0.15s ease-out;
    -webkit-transition: all 0.15s ease-out;
}
.cr-thum-pic div span {
    width: 100%;
    height: 100%;
    display: block;
    background: rgba(0,0,0,0.5);
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    
    will-change: opacity;
    opacity: 0;
    
    transition: all 0.15s ease-out;
    -webkit-transition: all 0.15s ease-out;
}
.cr-thum-pic div span::after {
    content: "DETAIL";
    display: block;
    width: 100%;
    height: 0;
    text-align: center;
    position: absolute;
    left: 0;
    top: 50%;
    margin-top: -0.5em;
    
    font-family: itc-avant-garde-gothic-pro, sans-serif;
    font-weight: 300;
    font-style: normal;
    font-size: 1.3rem;
    line-height: 1em;
    letter-spacing: 0.2em;
    color: #fff;
    
    will-change: opacity, transform;
    transform: scale(1.5);
    
    transition: all 0.15s ease-out;
    -webkit-transition: all 0.15s ease-out;
}

.cr-thum a:hover .cr-thum-pic div img {
    transform: scale(1.15);
}
.cr-thum a:hover .cr-thum-pic div span {
    opacity: 1;
}
.cr-thum a:hover .cr-thum-pic div span::after {
    transform: scale(1);
}
.cr-name {
    width: 94%;
    height: auto;
    margin: 15px auto 0 auto;
    padding: 0.8em 0;
    display: block;
    position: relative;
    text-align: center;
    border-radius: 30px;
    border: 1px solid;
    background: transparent;
}
.cr-name::before, .cr-name::after {
    content: "";
    display: block;
    margin: 0;
    width: 18px;
    height: 18px;
    position: absolute;
    top: 50%;
    margin-top: -9px;
}
.cr-name::before { left: 6px; }
.cr-name::after  { right: 6px; }

.cr-name p {
    display: inline-block;
    margin: 0.15em 0 0 0;
    
    font-size: 1.1rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    line-height: 1em;
    color: #fff;
}

.mdW {
    display: none;
}
.mdW-close {
    width: 70px;
    height: 70px;
    position: fixed;
    top: 50px;
    right: 50px;
    margin: 0;
    cursor: pointer;
    
    font-size: 0.0001rem;
    color: transparent;
    border: 1px solid transparent;
    background: transparent;
    z-index: 10;
    
    transition: all 0.15s ease-out;
    -webkit-transition: all 0.15s ease-out;
}
.mdW-close::before,
.mdW-close::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    width: 4px;
    height: 100%;
    background: #fff;
    
    transform-origin: center center;
}
.mdW-close::before {
    left: calc(50% - 2px);
    transform: skewX(45deg);
}
.mdW-close::after {
    right: calc(50% - 2px);
    transform: skewX(-45deg);
}
.mdW-close:hover {
    transform: scale(0.8);
}
.mdW-close:hover::before,
.mdW-close:hover::after {
    width: 5px;
}

.CRdt-wrap {
    width: 100%;
    height: auto;
    min-height: 100vh;
    position: relative;
    overflow: hidden;
    
    display: flex;
    display: -webkit-flex;
    
    flex-wrap: nowrap;
    -webkit-flex-wrap: nowrap;
    
    justify-content: center;
    -webkit-box-pack: center;
    
    align-items: center;
    -webkit-box-align: center;
}
.CRdt-wrap::before {
    content: "";
    display: block;
    width: 100%;
    height: 100vh;
    position: fixed;
    right: 0;
    top: 0;
    z-index: -2;
    
    will-change: transform;
    transform-origin: bottom center;
    transform: translateY(180%) skewY(-15deg);
}
.CRdt-wrap::after {
    content: "";
    display: block;
    width: 100%;
    height: 100vh;
    position: fixed;
    left: 0;
    top: 0;
    z-index: -1;
    
    will-change: transform;
    transform-origin: top center;
    transform: translateY(-180%) skewY(-15deg);
}

.CRdt-wrap.ctr1::before { background: #ff8885; }
.CRdt-wrap.ctr1::after  { background: #ff9b96; }

.CRdt-wrap.ctr2::before { background: #c17eb3; }
.CRdt-wrap.ctr2::after  { background: #cd91be; }

/* --- KASHIHARA --- */

.CRdt-wrap.ctr3::before { background: #dbbe65; }
.CRdt-wrap.ctr3::after  { background: #e2cb84; }

/* --- KASHIHARA --- */


.CRdt-wrap.appr::before, .CRdt-wrap.appr::after {
    transition: all 0.6s cubic-bezier(0.04, 0.68, 0.15, 1);
    -webkit-transition: all 0.6s cubic-bezier(0.04, 0.68, 0.15, 1);
}

.CRdt-wrap.appr::before {
    transform: translateY(calc(50% - 2px)) skewY(-15deg);
}
.CRdt-wrap.appr::after {
    transform: translateY(calc(-50% + 2px)) skewY(-15deg);
}

.CRdt-wrap i {
    width: 100%;
    height: 100vh;
    margin: 0;
    position: absolute;
    top: 0;
    left: 0;
}
.CRdt-wrap i::after {
    content: "";
    width: calc(100% - 50px);
    height: calc(100% - 10px);
    position: fixed;
    margin: 0;
    top: 0;
    left: 0;
    
    /* JS */
    will-change: opacity, transform;
    transition: all 3s cubic-bezier(0.04, 0.68, 0.15, 1) 0.25s;
    -webkit-transition: all 3s cubic-bezier(0.04, 0.68, 0.15, 1) 0.25s;
    opacity: 0;
    transform: translateX(100px);
}

.CRdt-wrap i.dt_HN::after {
    background: url("../img/cr-nmbg_hinano.png") no-repeat right bottom;
    background-size: 80% auto;
}
.CRdt-wrap i.dt_LL::after {
    background: url("../img/cr-nmbg_lilia.png") no-repeat right bottom;
    background-size: 80% auto;
}
.CRdt-wrap i.dt_MO::after {
    background: url("../img/cr-nmbg_mio.png") no-repeat right bottom;
    background-size: 80% auto;
}
.CRdt-wrap i.dt_SB::after {
    background: url("../img/cr-nmbg_subaru.png") no-repeat right bottom;
    background-size: 80% auto;
}
.CRdt-wrap i.dt_YK::after {
    background: url("../img/cr-nmbg_yukari.png") no-repeat right bottom;
    background-size: 80% auto;
}
.CRdt-wrap i.dt_SN::after {
    background: url("../img/cr-nmbg_sana.png") no-repeat right bottom;
    background-size: 80% auto;
}
.CRdt-wrap i.dt_NA::after {
    background: url("../img/cr-nmbg_noa.png") no-repeat right bottom;
    background-size: 80% auto;
}

/* --- KASHIHARA --- */

.CRdt-wrap i.dt_AS::after {
    background: url("../img/cr-nmbg_azumi.png") no-repeat right bottom;
    background-size: 80% auto;
}

/* --- KASHIHARA --- */



.CRdt-wrap.appr i::after {
    opacity: 1;
    transform: translateX(0);
}

.CRdt {
    width: 70%;
    height: auto;
    margin: 0;
    padding: 30px 0;
    position: relative;
    
    display: flex;
    display: -webkit-flex;
    
    flex-wrap: nowrap;
    -webkit-flex-wrap: nowrap;
}
.CRdt-pic {
    width: 55%;
    height: auto;
    margin: 0;
    position: relative;
    display: block;
}
.CRdt-pic::after {
    content: "";
    display: block;
    padding-bottom: 168.75%;
}
.CRdt-pic p {
    width: 13%;
    height: auto;
    display: block;
    margin: 0;
    position: absolute;
    top: 10%;
    left: -12%;
    
    /* JS */
    will-change: opacity, transform;
    opacity: 0;
    transform: translateY(-80px);
    
    transition: all 4.4s cubic-bezier(0.04, 0.68, 0.15, 1) 0.2s;
    -webkit-transition: all 4.4s cubic-bezier(0.04, 0.68, 0.15, 1) 0.2s;
}
.CRdt-pic span {
    width: 100%;
    height: auto;
    display: block;
    margin: 0;
    position: absolute;
    top: 0;
    left: 0;
    
    /* JS */
    will-change: opacity, transform;
    opacity: 0;
    
    transition: all 3.4s cubic-bezier(0.04, 0.68, 0.15, 1);
    -webkit-transition: all 3.4s cubic-bezier(0.04, 0.68, 0.15, 1);
}
.CRdt-pic span:nth-of-type(1) {
    filter: drop-shadow(2px 2px 4px rgba(0,0,0,0.25));
    z-index: 1;
    
    /* JS */
    transform: translateY(-130px);
}
.CRdt-pic span:nth-of-type(2) {
    /* JS */
    transform: translateY(130px);
}

.CRdt-pic.appr span, .CRdt-pic.appr p {
    opacity: 1;
    transform: translateY(0);
}

.CRdt-txt {
    width: 45%;
    height: auto;
    margin: 0;
    
    display: flex;
    display: -webkit-flex;
    
    flex-wrap: nowrap;
    -webkit-flex-wrap: nowrap;
    
    justify-content: center;
    -webkit-box-pack: center;
    
    align-items: center;
    -webkit-box-align: center;
    
    /* JS */
    will-change: opacity, transform;
    opacity: 0;
    transform: translateY(80px);
    
    transition: all 2.4s cubic-bezier(0.04, 0.68, 0.15, 1);
    -webkit-transition: all 2.4s cubic-bezier(0.04, 0.68, 0.15, 1);
}
.CRdt-txt.appr {
    opacity: 1;
    transform: translateY(0);
}

.CRdt-txt div {
    width: 100%;
    height: auto;
    margin: 0;
    /*padding-bottom: 50px;*/
    display: block;
}
.CRdt-txt div article {
    width: 100%;
    height: 20px;
    margin: 0 0 20px 0;
    position: relative;
    
    font-family: itc-avant-garde-gothic-pro, sans-serif;
    font-weight: 700;
    font-style: normal;
    font-size: 0.9rem;
    letter-spacing: 0.5em;
    line-height: 1em;
    color: #fff;
    display: flex;
    display: -webkit-flex;
    
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    
    align-items: center;
    -webkit-box-align: center;
}
.CRdt-txt div article::before, .CRdt-txt div article::after {
    content: "";
    display: inline-block;
    background: url("../img/star_wt.png") no-repeat center center;
    background-size: 100% auto;
    width: 14px;
    height: 14px;
    margin: 0 0.5em 0.1em 0;
}
.CRdt-txt div h1, .CRdt-txt div p {
    width: 100%;
    height: auto;
    display: block;
}
.CRdt-txt div h1 {
    margin: 0 0 15px 0;

    font-size: 2rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1.4em;
    color: #fff;
    filter: drop-shadow(1px 1px 2px rgba(0,0,0,0.15));
}
.CRdt-txt div span {
    display: inline-block;
    margin: 0 0 35px 0;
    padding: 0.5em 1.2em 0.5em 1.2em;
    position: relative;
    
    font-size: 1.1rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    line-height: 1em;
    color: #fff;
    border: 1px solid #fff;
    border-radius: 30px;
}
.CRdt-txt div span::before {
    content: "CV.";
    display: inline-block;
    font-size: 0.85em;
    letter-spacing: 0.15em;
    margin-right: 0.4em;
}
.CRdt-txt div p {
    margin: 0;
    padding: 30px 0 0 0;
    position: relative;
    
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    line-height: 2em;
    color: #fff;
}
.CRdt-txt div p::before {
    content: "";
    display: block;
    margin: 0;
    width: 100%;
    height: 4px;
    position: absolute;
    top: 0;
    left: 0;
    background: url("../img/linedot_wt.png") repeat-x left center;
    background-size: auto 100%;
}








/* --- M O V I E --- */

.cont.ct-movie::before, .cont.ct-movie::after {
    content: "";
    display: block;
    width: 100%;
    height: 100vh;
    position: fixed;
    z-index: -1;
}
.cont.ct-movie_v2::before {
    content: "";
    display: block;
    width: 100%;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    z-index: -1;
    background: url("../img/bg-brt.jpg") no-repeat top center;
    background-size: cover;
}
.cont.ct-movie::before {
    top: 0;
    left: 0;
    background: url("../img/bg-introLT.jpg") no-repeat top left transparent;
    background-size: 50% auto;
}
.cont.ct-movie::after {
    bottom: 0;
    right: 0;
    background: url("../img/bg-introRB.jpg") no-repeat bottom right transparent;
    background-size: 50% auto;
}
.mv-tptitle {
    width: min(400px,50%);
    height: auto;
    display: block;
    margin: 0 auto;
    padding: 50px 0 0 0;
    
    /* JS */
    will-change: opacity, transform;
    opacity: 0;
    transform: translateY(-60px);
}
.ct-movie .ct-title, .ct-movie_v2 .ct-title {
    margin: 50px 0 50px 0;
}


.mv-menu {
    width: min(800px,80%);
    height: auto;
    margin: 0 auto;
    
    display: flex;
    display: -webkit-flex;
    
    flex-wrap: nowrap;
    -webkit-flex-wrap: nowrap;
    
    justify-content: center;
    -webkit-box-pack: center;
}
.mv-menu div {
    width: 22%;
    height: 45px;
    display: block;
    margin: 0 20px 0 0;
    
    /* JS */
    will-change: opacity, transform;
    opacity: 0;
    transform: translateY(40px);
}
.mv-menu div:nth-last-of-type(1) {
    margin: 0;
}
.mv-menu div span {
    width: 100%;
    height: 100%;
    border: 1px solid #d971aa;
    color: #d971aa;
    background: rgba(217,113,170,0);
    border-radius: 3px;
    
    display: flex;
    display: -webkit-flex;
    
    flex-wrap: nowrap;
    -webkit-flex-wrap: nowrap;
    
    justify-content: center;
    -webkit-box-pack: center;
    
    align-items: center;
    -webkit-box-align: center;
    
    will-change: transform;
    transition: all 0.2s ease-out;
    -webkit-transition: all 0.2s ease-out;
}
.mv-menu div span p {
    display: inline-block;
    margin: 0;
    
    font-family: itc-avant-garde-gothic-pro, sans-serif;
    font-weight: 300;
    font-style: normal;
    font-size: 1.1rem;
    letter-spacing: 0.05em;
    line-height: 1em;
}
.mv-menu div a span {
    border-color: #d971aa;
    color: #d971aa;
}
.mv-menu div a:hover span {
    background: #d971aa;
    color: #fff;
    transform: scale(0.95);
}
.mv-menu div.atv span {
    background: #d971aa;
    color: #fff;
}

.mv-wrap {
    width: min(1200px,80%);
    height: auto;
    margin: 0 auto;
    padding: 50px 0;
    
    display: flex;
    display: -webkit-flex;
    
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    
    justify-content: center;
    -webkit-box-pack: center;

    /* JS */
    transition: all 1.5s cubic-bezier(0.04, 0.68, 0.15, 1) 0.6s;
    -webkit-transition: all 1.5s cubic-bezier(0.04, 0.68, 0.15, 1) 0.6s;
    
    will-change: opacity, transform;
    opacity: 0;
    transform: translateY(80px);
}
.cont.appr .mv-wrap {
    opacity: 1;
    transform: translateY(0);
}
.mv {
    width: calc(50% - 20px);
    height: auto;
    display: block;
    margin: 0 40px 40px 0;
    padding: 15px 0;
    position: relative;
}
.mv:nth-of-type(2n) {
    margin: 0 0 40px 0;
}
.mv::before {
    content: "";
    display: block;
    margin: 0;
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, rgba(255,155,150,1) 0%, rgba(115,130,195,1) 100%);
    position: absolute;
    left: 0;
    top: 0;
}

.mv div {
    width: 100%;
    height: auto;
    margin: 0;
    position: relative;
    border-radius: 8px;
    overflow: hidden;
    
    display: flex;
    display: -webkit-flex;
    
    justify-content: center;
    -webkit-box-pack: center;
    
    align-items: center;
    -webkit-box-align: center;
}
.mv div::after {
    content: "";
    display: block;
    width: 80px;
    height: 80px;
    border-radius: 50%;
    border: 3px solid #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    margin: -40px 0 0 -40px;
    box-sizing: border-box;
    opacity: 0;
    z-index: 2;
}
.mv span {
    width: 46px;
    height: 46px;
    position: absolute;
    top: 50%;
    left: 50%;
    margin: -23px 0 0 -23px;
    z-index: 2;
    color: #fff;
    opacity: 0;
    
    display: flex;
    display: -webkit-flex;
    
    flex-wrap: nowrap;
    -webkit-flex-wrap: nowrap;
    
    justify-content: center;
    -webkit-box-pack: center;
    
    align-items: center;
    -webkit-box-align: center;
}
.mv span::after {
    content: "\f04b";
    display: block;
    margin: 0 0 0 0.15em;
    font: var(--fa-font-solid);
    font-size: 2rem;
    letter-spacing: 0;
    line-height: 1em;
}
.mv a div::after, .mv a span {
    opacity: 0.6;
}
.mv div i {
    width: 100%;
    height: 100%;
    display: block;
    margin: 0;
    background: rgba(0,0,0,0.5);
    opacity: 0.25;
    
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}
.mv p {
    width: 100%;
    height: auto;
    display: block;
    margin: 15px 0 0 0;
    padding: 15px 0 0 0;
    position: relative;
    
    font-family: itc-avant-garde-gothic-pro, sans-serif;
    font-weight: 300;
    font-style: normal;
    font-size: 1.1rem;
    letter-spacing: 0.04em;
    line-height: 1em;
    color: #d971aa;
}
.mv p::before {
    content: "";
    display: block;
    margin: 0;
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, rgba(255,155,150,1) 0%, rgba(115,130,195,1) 100%);
    position: absolute;
    left: 0;
    top: 0;
}
.mv h3 {
    display: inline-block;
    margin: 0.5em 0 0 0;
    
    font-size: 1.0rem;
    letter-spacing: 0.03em;
    line-height: 1.5em;
    font-weight: normal;
    color: #000;
}


.mv div, .mv div::after, .mv span, .mv div img, .mv div i {
    will-change: transform, opacity;
    -webkit-transition: all 0.5s cubic-bezier(0.37, 0.58, 0, 1);
    transition: all 0.5s cubic-bezier(0.37, 0.58, 0, 1);
}
.mv a:hover div img {
    transform: scale(1.1);
}
.mv a:hover div::after {
    transform: scale(0.9);
    opacity: 1;
}
.mv a:hover span {
    transform: scale(1.2);
    opacity: 1;
}
.mv a:hover div i {
    opacity: 1;
}






/* --- S T A F F  &  C A S T --- */

.cont.ct-staff {
    margin: 0; /* header H */
    padding: 54px 0 0 0;
    background: url("../img/bg-staff.jpg") no-repeat top center;
    background-size: cover;
}
.cont.ct-staff .ct-title {
    color: #ff9b96;
    -webkit-text-shadow: 0px 1px 1px rgba(0, 0, 0, 0);
    text-shadow: 0px 1px 1px rgba(0, 0, 0, 0);
}
.stcs-wrap {
    width: min(80%,700px);
    height: auto;
    margin: 0 auto;
    padding: 0 0 80px 0;
    overflow: hidden;
    
    display: flex;
    display: -webkit-flex;
    
    flex-wrap: nowrap;
    -webkit-flex-wrap: nowrap;
    
    justify-content: center;
    -webkit-box-pack: center;
}
.stcs {
    width: 40%;
    margin: 0 5% 0 5%;
    height: auto;
    display: block;
    text-align: center;
    font-weight: 600;
    
    /* JS */
    opacity: 0;
    transform: translateY(50px);
}
.stcs .spc {
    width: 100%;
    height: 36px;
    display: block;
    margin: 0;
}
.stcs h2 {
    width: 100%;
    height: auto;
    display: block;
    margin: 0 0 1.3em 0;
    padding: 0.3em 0;
    border: 1px solid #ff9b96;
    border-radius: 30px;
    position: relative;
    
    font-family: itc-avant-garde-gothic-pro, sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: 1.1rem;
    line-height: 1em;
    letter-spacing: 0.08em;
    color: #ff9b96;
}
.stcs h2::before, .stcs h2::after {
    content: "";
    display: block;
    width: 14px;
    height: 14px;
    background: url("../img/star_pnk.png") no-repeat center center;
    background-size: 100% auto;
    position: absolute;
    top: 50%;
    margin: -7px 0 0 0;
}
.stcs h2::before { left: 6px; }
.stcs h2::after  { right: 6px; }

.stcs h3 {
    width: 100%;
    height: auto;
    display: block;
    margin: 0 0 0.3em 0;
}
.stcs b {
    display: inline-block;
    margin: 0;
    
    font-size: 0.8rem;
    line-height: 1.3em;
    letter-spacing: 0.01em;
    color: #cd91be;
}
.stcs p {
    display: inline-block;
    margin: 0 0 1.2em 0;
    position: relative;
    
    font-size: 1.2rem;
    line-height: 1.3em;
    letter-spacing: 0.05em;
    font-weight: 700;
    color: #000;
    word-wrap: break-word;
}
.stcs span.txt-s {
    font-size: 0.7em;
    letter-spacing: 0.02em;
}
.stcs a {
    display: inline-block;
    margin: 0;
    position: relative;
}
.stcs a::after {
    content: "\f4ad";
    font: var(--fa-font-solid);
    display: inline-block;
    position: absolute;
    top: 10px;
    right: -38px;
    margin-top: -0.5em;
    
    color: #ff9b96;
    font-size: 1.6rem;
    line-height: 1em;
    letter-spacing: 0;
}
.mdW-cmt {
    width: 100%;
    height: auto;
    margin: 0;
    padding: 35px 40px 45px 40px;
    display: block;
    overflow: hidden;
    border: 1px solid #ff9b96;
    border-radius: 8px;
}
.mdW-cmt h4 {
    width: 100%;
    height: auto;
    margin:  0 0 16px 0;
    padding: 0 0 25px 0;
    display: block;
    position: relative;
    
    font-size: 1.3rem;
    line-height: 1em;
    letter-spacing: 0.05em;
    font-weight: 600;
    color: #000;
}
.mdW-cmt h4::after {
    content: "";
    display: block;
    width: 100%;
    height: 4px;
    background: url("../img/linedot_pnk.png") repeat-x left center;
    background-size: auto 100%;
    position: absolute;
    bottom: 0;
    left: 0;
}

.mdW-cmt h4 span  {
    width: 100%;
    height: auto;
    display: block;
    padding: 0.3em 1em;
    margin: 0 0 0.82em 0;
    
    font-size: 0.9rem;
    line-height: 1em;
    letter-spacing: 0.05em;
    font-weight: 600;
    color: #cd91be;
}
.mdW-cmt p {
    display: inline-block;
    text-align: left;
    margin: 0;
    
    font-size: 1rem;
    line-height: 1.9em;
    letter-spacing: 0.03em;
    font-weight: 600;
    color: #000;
    
    font-feature-settings: normal;
}






/* --- G O O D S --- */

.cont.ct-goods {
    margin: 0; /* header H */
    padding: 54px 0 0 0;
    position: relative;

    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1rem;
    font-weight: 400;
    line-height: 2em;
    letter-spacing: 0.06em;
    color: #000;
}
.cont.ct-goods::after {
    content: "";
    display: block;
    width: 100%;
    height: 100vh;
    background: url("../img/bg-staff.jpg") no-repeat top center;
    background-size: cover;
    position: fixed;
    left: 0;
    top: 0;
    z-index: -1;
}
.cont.ct-goods .ct-title {
    color: #ff9b96;
    -webkit-text-shadow: 0px 1px 1px rgba(0, 0, 0, 0);
    text-shadow: 0px 1px 1px rgba(0, 0, 0, 0);
}
.gds-wrap {
    width: min(80%,1000px);
    height: auto;
    margin: 0 auto;
    padding: 0 0 80px 0;
    overflow: hidden;
    display: block;
}
.gds-wrap h1 {
    width: 100%;
    height: auto;
    display: block;
    margin: 0 0 1.8em 0;
    padding: 0 0 0.8em 0;
    position: relative;
    
    font-size: 1.4rem;
    font-weight: 600;
    line-height: 1.6em;
    letter-spacing: 0.04em;
    color: #000;
}
.gds-wrap h1::after {
    content: "";
    display: block;
    width: 100%;
    height: 2px;
    background: url("../img/event/linedot_pk.png") repeat-x center left;
    background-size: auto 100%;
    position: absolute;
    bottom: 0;
    left: 0;
}
.gds-wrap span.nm-txt {
    width: 100%;
    height: auto;
    display: block;
    margin: 0;
}
.gditem-wrap {
    width: 100%;
    height: auto;
    margin: 50px 0 50px 0;
    position: relative;
    
    display: flex;
    display: -webkit-flex;
    
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    
    /*justify-content: flex-start;
    -webkit-box-pack: start;*/
    
    justify-content: center;
    -webkit-box-pack: center;
    
    align-content: flex-start;
}
.gditem-wrap::after {
    content: "";
    display: block;
    width: 100%;
    height: 2px;
    background: url("../img/event/linedot_pk.png") repeat-x center left;
    background-size: auto 100%;
    position: absolute;
    bottom: 0;
    left: 0;
}
.gditem {
    width: calc((100% / 3) - 27px);
    height: auto;
    margin: 0 40px 60px 0;
    display: block;
}
.gditem-wrap section:nth-of-type(3n) {
    margin: 0 0 60px 0;
}
.gditem article {
    width: 100%;
    height: auto;
    display: block;
    margin: 0;
    border: 1px solid #cd91be;
    border-radius: 6px;
    overflow: hidden;
    z-index: 0;
    box-sizing: border-box;
}
.gditem h2 {
    width: 100%;
    height: auto;
    display: block;
    margin: 22px 0 20px 0;
    padding: 0 0 20px 0;
    position: relative;
    
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1.5em;
    letter-spacing: 0.01em;
    color: #f95766;
}
.gditem h2::after {
    content: "";
    display: block;
    width: 100%;
    height: 2px;
    background: url("../img/event/linedot_pk.png") repeat-x left top;
    background-size: auto 100%;
    margin: 0;
    position: absolute;
    bottom: 0;
    left: 0;
}
.gditem h2 p {
    display: inline-block;
    margin: 0;
    
    font-size: 0.8rem;
    font-weight: 600;
    line-height: 1.3em;
}
.gditem h3 {
    display: inline-block;
    margin: 0;
    
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1.9em;
    letter-spacing: 0.03em;
}
.gdstxt {
    width: 100%;
    height: auto;
    margin: 20px 0 0 0;
    
    display: flex;
    display: -webkit-flex;
    
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    
    align-content: flex-start;
}
.gdstxt span {
    width: 50px;
    height: 20px;
    display: block;
    margin: 0 0 10px 0;
    box-sizing: border-box;
    text-align: center;
    border-radius: 3px;
    
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 18px;
    letter-spacing: 0;
    color: #fff;
    background: #cd91be;
}
.gdstxt p {
    width: calc(100% - 50px);
    height: auto;
    display: block;
    margin: 0 0 10px 0;
    padding: 0 0 0 15px;
    box-sizing: border-box;
    
    font-size: 0.8rem;
    font-weight: 400;
    line-height: 1.5em;
    letter-spacing: 0.03em;
}
.mdW {
    display: none;
}
.md-pic {
    width: min(750px,100%);
    height: auto;
    margin: 0 auto;
    padding: 80px 0;
    display: block;
}
.md-pic img {
    margin: 0 0 50px 0;
}
.md-pic img:nth-last-of-type(1) {
    margin: 0;
}

.gds-wrap h4 {
    width: 100%;
    height: auto;
    display: block;
    text-align: center;
    margin: 0 0 80px 0;
    
    font-size: 1.1rem;
    font-weight: 600;
    line-height: 1.5em;
    letter-spacing: 0.03em;
}
.gds-wrap h4 p {
    display: inline-block;
    margin: 0;
    
    font-size: 0.8em;
    font-weight: 400;
    line-height: 1.0em;
}
.gds-wrap strong {
    font-weight: 600;
}
.gds-wrap b {
    display: inline-block;
    margin: 0;
    
    font-size: 0.8rem;
    font-weight: 400;
    line-height: 1.9em;
}
.gds-wrap p.txt_pnk {
    display: inline;
    color: #f95766;
}
.gds-wrap p.txt_blu {
    display: inline;
    color: #9680de;
}
.gds-wrap ul {
    list-style: square;
    margin: 0.5em 0 1em 0;
    padding: 0 0 0 1.5em;
}
.gds-wrap ul li {
    margin: 0 0 0.5em 0;
    
    font-size: 0.8rem;
    font-weight: 400;
    line-height: 1.7em;
}
.gds-wrap a.txtlnk {
    color: #000;
    text-decoration: underline;
}
.gd-img {
    width: 400px;
    height: auto;
    display: inline-block;
    margin: 1.5em 0 1em 0;
    border: 1px solid #cd91be;
    border-radius: 8px;
    overflow: hidden;
    z-index: 1;
}


.tbox {
    display: inline-block;
    margin: 0 0 1em 0;
    padding: 0.5em 2.5em 0.6em 2.5em;
    border-radius: 20px;
    position: relative;
    border: 2px solid #ff9b96;
    
    font-size: 1.0em;
    font-weight: 500;
    line-height: 1em;
    letter-spacing: 0.04em;
    color: #fff;
    z-index: 1;
}
.tbox::after {
    content: "";
    display: block;
    margin: 0;
    border-radius: 20px;
    
    position: absolute;
    top: 3px;
    left: 3px;
    width: calc(100% - 6px);
    height: calc(100% - 6px);
    background: #ff9b96;
    z-index: -1;
}
.tbox-wt {
    display: inline-block;
    margin: 0 0 0.4em 0;
    padding: 0.32em 1.7em 0.4em 1.7em;
    border-radius: 20px;
    border: 1px solid #000;
    
    font-size: 0.9em;
    line-height: 1em;
    letter-spacing: 0.04em;
}
.gdsBT-wrap {
    width: 100%;
    height: auto;
    margin: 30px auto 30px auto;
    
    display: flex;
    display: -webkit-flex;
    
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    
    justify-content: flex-start;
    -webkit-box-pack: start;
}
.gdsBT-wrap div {
    width: calc((100% / 2) - 15px);
    height: auto;
    display: block;
    margin: 0 30px 0 0;
}
.gdsBT-wrap div:nth-last-of-type(1) {
    margin: 0;
}
.gdsBT-wrap div span {
    width: 100%;
    height: 70px;
    margin: 0;
    padding: 0 10px;
    border-radius: 6px;
    -webkit-box-shadow: 0px 3px 5px 1px rgba(0, 0, 0, 0.3);
    box-shadow: 0px 3px 5px 1px rgba(0, 0, 0, 0.3);
    
    display: flex;
    display: -webkit-flex;
    
    flex-wrap: nowrap;
    -webkit-flex-wrap: nowrap;
    
    justify-content: center;
    -webkit-box-pack: center;
    
    align-items: center;
    -webkit-box-align: center;
    
    background: #000;
    color: #fff;
}
.gdsBT-wrap div span p {
    display: inline-block;
    margin: 0;
    
    font-size: 1.1em;
    line-height: 1em;
    font-weight: 500;
    letter-spacing: 0.03em;
}
.gdsBT-wrap div span, .gdsBT-wrap div span p {
    transition: all 0.2s ease-in-out;
    -webkit-transition: all 0.2s ease-in-out;
}
.gdsBT-wrap div a:hover span {
    background: #f98178;
    color: #fff;
    transform: translateY(5px);
    -webkit-box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0);
    box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0);
}

.gd-menu {
    width: min(1000px,80%);
    height: auto;
    margin: 0 auto 80px auto;
    
    display: flex;
    display: -webkit-flex;
    
    flex-wrap: nowrap;
    -webkit-flex-wrap: nowrap;
    
    justify-content: center;
    -webkit-box-pack: center;
}
    
.gd-menu div {
    width: 22%;
    height: auto;
    display: block;
    margin: 0 20px 0 0;
    
    /* JS */
    will-change: opacity, transform;
    opacity: 0;
    transform: translateY(40px);
}
.gd-menu div:nth-last-of-type(1) {
    margin: 0;
}
.gd-menu div span {
    width: 100%;
    height: 100%;
    border: 1px solid #cd91be;
    color: #cd91be;
    background: #fff;
    border-radius: 3px;
    padding: 10px 20px;
    
    display: flex;
    display: -webkit-flex;
    
    flex-wrap: nowrap;
    -webkit-flex-wrap: nowrap;
    
    justify-content: center;
    -webkit-box-pack: center;
    
    align-items: center;
    -webkit-box-align: center;
    
    will-change: transform;
    transition: all 0.2s ease-out;
    -webkit-transition: all 0.2s ease-out;
}
.gd-menu div span p {
    display: inline-block;
    margin: 0;
    text-align: center;
    
    font-size: 0.9rem;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1.3em;
}
.gd-menu div a span {
    border-color: #cd91be;
    color: #cd91be;
}
.gd-menu div a:hover span {
    background: #cd91be;
    color: #fff;
    transform: scale(0.95);
}
.gd-menu div.atv span {
    background: #cd91be;
    color: #fff;
}

.gd-menu.tckt {
    margin: 70px auto 0 auto;
}







/* --- T I C K E T --- */

.tck-wrap {
    width: min(80%,1000px);
    height: auto;
    margin: 0 auto;
    padding: 0 0 80px 0;
    overflow: hidden;
    display: block;
}
.tck-txt {
    width: 100%;
    height: auto;
    margin: 0 0 80px 0;
    display: block;
}
.tck-txt.ctg1 {
    width: calc(100% - 60px);
    margin: 0 0 80px 60px;
    position: relative;
}
.tck-txt.ctg2 {
    width: calc(100% - 60px);
    margin: 0 0 60px 60px;
    padding: 60px 0 0 0;
    position: relative;
}
.tck-txt.ctg1.scd {
    margin: 120px 0 80px 60px;
}
.tck-txt.ctg2::before {
    content: "";
    display: block;
    width: 100%;
    height: 3px;
    position: absolute;
    top: 0;
    left: 0;
    background: url("../img/linedot_ppl.png") repeat-x center;
    background-size: auto 100%;
}
.tck-title {
    width: 100%;
    height: 50px;
    display: block;
    text-align: center;
    margin: 0 0 40px 0;
    position: relative;
}
.tck-title::after {
    content: "";
    display: block;
    margin: 0;
    width: 100%;
    height: 4px;
    background: url("../img/linedot_ppl_cn.png") repeat-x center center;
    background-size: auto 100%;
    margin-top: -2px;
    
    position: absolute;
    top: 50%;
    left: 0;
}
.tck-title span {
    width: 280px;
    height: 100%;
    background: #7382c3;
    border-radius: 40px;
    
    display: flex;
    justify-content: center;
    align-items: center;
    
    position: absolute;
    left: 50%;
    top: 0;
    margin: 0 0 0 -140px;
    z-index: 1;
}
.tck-title span::before,
.tck-title span::after {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    background: #fff;
    border-radius: 50%;
    
    position: absolute;
    top: 50%;
    margin: -4px 0 0 0;
}
.tck-title span::before { left: 12px; }
.tck-title span::after  { right: 12px; }

.tck-title span h4 {
    display: inline-block;
    margin: 0;
    
    font-size: 1.4rem;
    font-weight: bold;
    letter-spacing: 0.06em;
    line-height: 1em;
    color: #fff;
}
.tck-ctg {
    width: 100%;
    height: auto;
    display: block;
    margin: 0 0 50px 0;
    position: relative;
    z-index: 1;
}
.tck-ctg::after {
    content: "";
    display: block;
    width: 100%;
    height: 2px;
    background: #cd91be;
    
    position: absolute;
    top: 50%;
    left: 0;
    margin: -1px 0 0 0;
    z-index: -1;
}
.tck-ctg span {
    display: inline-block;
    margin: 0;
    padding: 0.4em 2em;
    background: #fff;
    border: 2px solid #cd91be;
    color: #cd91be;
    border-radius: 50px;
    
    font-size: 1.5rem;
    letter-spacing: 0.08em;
    line-height: -1.7rem;
    font-weight: bold;
    z-index: 1;
}
.tck-wrap p {
    display: block;
    margin: 0 0 1.0em 0;
    
    font-size: 1rem;
    letter-spacing: 0.08em;
    line-height: 2.0em;
    font-weight: normal;
}
.tck-wrap p b {
    display: inline-block;
    margin: 0;
    padding: 0 0 0 1.5em;
    
    font-size: 0.85em;
    letter-spacing: 0.08em;
    line-height: 2.0em;
    font-weight: normal;
    color: #666;
}
.tck-wrap p strong {
    font-size: 1.2em;
    letter-spacing: 0.08em;
    font-weight: bold;
}
.tck-wrap h2 {
    display: inline-block;
    margin: 0;
    position: relative;
    
    font-size: 1.5rem;
    letter-spacing: 0.08em;
    line-height: 1em;
    font-weight: bold;
    color: #7382c3;
}
.tck-wrap h2::before {
    content: "\f005";
    display: inline-block;
    margin: 0 0.3em 0 0;
    font: var(--fa-font-solid);
}
.tck-wrap h3 {
    display: inline-block;
    margin: 0;
    
    font-size: 1.2rem;
    letter-spacing: 0.08em;
    line-height: 1.6em;
    font-weight: bold;
}
img.tck-pst {
    width: min(500px,90%);
    height: auto;
    margin: 1em 0;
    display: block;
    overflow: hidden;
    box-sizing: border-box;
    border: 2px solid #cd91be;
    border-radius: 8px;
    z-index: 1;
}
.tck-ctg2 {
    width: 100%;
    height: auto;
    display: block;
    margin: 0 0 1.0em 0;
}
.tck-ctg2 span {
    display: inline-block;
    margin: 0;
    padding: 0.5em 2em;
    background: #fff;
    border: 2px solid #cd91be;
    border-radius: 30px;
    
    font-size: 1em;
    letter-spacing: 0.08em;
    line-height: 1em;
    font-weight: bold;
    color: #cd91be;
}

.tckBT {
    width: 100%;
    height: auto;
    display: block;
    margin: 0 0 2.0em 0;
}
.tckBT span {
    display: inline-block;
    margin: 0;
    padding: 0.5em 3em;
    background: #cd91be;
    border-radius: 10px;
    
    transition: all 0.15s ease-in-out;
}
.tckBT span p {
    display: inline-block;
    margin: 0;
    position: relative;
    
    font-size: 1rem;
    letter-spacing: 0.08em;
    line-height: 1em;
    font-weight: bold;
    color: #fff;
    
    transition: all 0.15s ease-in-out;
}
.tckBT span p::after {
    content: "\f0da";
    display: inline-block;
    margin: 0 0 0 0.5em;
    font: var(--fa-font-solid);
    
    font-size: 1em;
    letter-spacing: 0;
    line-height: 1em;
}
.tckBT a:hover span {
    background: #000;
}
.mvtk-wj {
    width: 100%;
    padding: 20px 0 0 0;
    
    display: flex;
    justify-content: center;
}




/* --- E V E N T --- */

.evt-title {
    width: 40%;
    height: auto;
    display: block;
    margin: 70px auto;
}
.evt-wrap {
    width: min(80%,1000px);
    height: auto;
    margin: 0 auto;
    padding: 0 0 80px 0;
    overflow: hidden;
    display: block;
    
    font-size: 1rem;
    letter-spacing: 0.08em;
    line-height: 2.0em;
    font-weight: normal;
}
.evt-wrap p {
    display: block;
    margin: 0 0 1.0em 0;
    
    font-size: 1rem;
    letter-spacing: 0.08em;
    line-height: 2.0em;
    font-weight: normal;
}
.evt-wrap p b {
    display: inline-block;
    margin: 0;
    padding: 0 0 0 1.5em;
    
    font-size: 0.85em;
    letter-spacing: 0.08em;
    line-height: 2.0em;
    font-weight: normal;
    color: #666;
}
.evt-wrap p strong {
    font-size: 1.2em;
    letter-spacing: 0.08em;
    font-weight: bold;
}
.evt-wrap h2 {
    display: inline-block;
    margin: 0;
    position: relative;
    
    font-size: 1.5rem;
    letter-spacing: 0.08em;
    line-height: 1em;
    font-weight: bold;
    color: #7382c3;
}
.evt-wrap h2::before {
    content: "\f005";
    display: inline-block;
    margin: 0 0.3em 0 0;
    font: var(--fa-font-solid);
}
.evt-wrap h3 {
    display: inline-block;
    margin: 0;
    
    font-size: 1.2rem;
    letter-spacing: 0.08em;
    line-height: 1.6em;
    font-weight: bold;
}
.evt-txt {
    width: 100%;
    height: auto;
    margin: 0 0 60px 0;
    padding: 60px 0 0 0;
    display: block;
    position: relative;
}
.evt-txt::before {
    content: "";
    display: block;
    width: 100%;
    height: 3px;
    position: absolute;
    top: 0;
    left: 0;
    background: url("../img/linedot_ppl.png") repeat-x center;
    background-size: auto 100%;
}

.evt-wrap2 {
    width: min(80%,1000px);
    height: auto;
    margin: 0 auto;
    padding: 0 0 80px 0;
    overflow: hidden;
    display: block;
    
    font-size: 1rem;
    letter-spacing: 0.08em;
    line-height: 2.0em;
    font-weight: normal;
}
.evt-wrap2 h1 {
    width: 100%;
    height: auto;
    margin: 0 0 1.8em 0;
    
    font-size: 1.5rem;
    letter-spacing: 0.08em;
    line-height: 1.5em;
    font-weight: bold;
    color: #7382c3;
    text-align: center;
}
.evt-wrap2 p.evtTOP {
    display: block;
    margin: 0 0 3.0em 0;
    
    font-size: 1rem;
    letter-spacing: 0.08em;
    line-height: 2.0em;
    font-weight: normal;
}
.evt-wrap2 b {
    display: inline-block;
    margin: 0;
    
    font-size: 0.85em;
    letter-spacing: 0.08em;
    line-height: 1.7em;
    font-weight: normal;
    color: #666;
}
.evt-wrap2 i {
    color: #7382c3;
}
.evt-wrap2 a {
    color: #000;
    font-weight: normal;
    text-decoration: underline;
    transition: all 0.15s ease-in-out;
}
.evt-wrap2 a:hover {
    color: #cd91be;
    text-decoration: none;
}
.evt-wrap2 .tbox {
    border: 2px solid #939fd5;
    color: #fff;
}
.evt-wrap2 .tbox::after {
    background: #939fd5;
}
.tck-ctg3 {
    width: 100%;
    height: auto;
    display: block;
    margin: 0 0 1.0em 0;
}
.tck-ctg3 span {
    display: inline-block;
    margin: 0;
    padding: 0.5em 2em;
    border: 2px solid #939fd5;
    border-radius: 30px;
    
    font-size: 1em;
    letter-spacing: 0.08em;
    line-height: 1em;
    font-weight: bold;
    color: #939fd5;
}
.evt-wrap2 .tckBT {
    margin: 0.5em 0 0.5em 0;
}
.evt-wrap2 ul {
    padding: 0 0 0 1.5em;
    margin: 0;
}
.evt-wrap2 ul li {
    margin: 0 0 0.7em 0;
    
    font-size: 0.9em;
    letter-spacing: 0.06em;
    line-height: 1.7em;
}

.evt-tbl-wrap {
    width: 100%;
    height: auto;
    display: block;
    margin: 0;
    border: 1px solid #c6cce5;
    
    font-size: 1em;
    letter-spacing: 0.06em;
    line-height: 1.7em;
}
.evt-tbl {
    width: 100%;
    height: auto;
    border-bottom: 1px solid #c6cce5;
    margin: 0;
    
    display: flex;
    flex-wrap: nowrap;
}
.evt-tbl.fst {
    background: #c6cce5;
    color: #fff;
}
.evt-tbl.fst > div:nth-of-type(1) {
    border-right: 1px solid #fff;
}
.evt-tbl.lst {
    border-bottom: none;
}
.evt-tbl > div {
    width: 50%;
    height: auto;
    display: block;
    text-align: center;
    margin: 0;
    
    padding: 0.8em 1em;
}
.evt-tbl > div:nth-of-type(1) {
    border-right: 1px solid #c6cce5;
}
.evt-wrap2 h6 {
    width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
    text-align: center;
    
    font-family: itc-avant-garde-gothic-pro, sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: 1.8rem;
    line-height: 1em;
    letter-spacing: 0.08em;
    color: #ff9b96;
}

.evt-wrap2 h2, .evt-wrap3 h2 {
    width: 100%;
    height: auto;
    margin: 0 0 1.8em 0;
    display: block;
    text-align: center;
}
.evt-wrap2 h2 > span, .evt-wrap3 h2 > span {
    display: inline-block;
    margin: 0 auto;
    padding: 0.4em 2em;
    border-radius: 50px;
    
    font-size: 1.5rem;
    letter-spacing: 0.08em;
    line-height: 1.5em;
    font-weight: bold;
    color: #7382c3;
    border: 2px solid #7382c3;
    text-align: center;
}
.evt-sch {
    width: 100%;
    height: auto;
    margin: 0;
    padding: 30px 0 80px 0;
    display: block;
    position: relative;
}
.evt-sch::before, .evt-sch::after {
    content: "";
    display: block;
    width: 100%;
    height: 3px;
    position: absolute;
    left: 0;
    top: 0;
    background: url("../img/linedot_ppl.png") repeat-x center;
    background-size: auto 100%;
}
.evt-sch div {
    width: 100%;
    height: auto;
    margin: 0 0 30px 0; 
    padding: 0 0 30px 0; 
    display: block;
    position: relative;
}
.evt-sch div::before {
    content: "";
    display: block;
    width: 100%;
    height: 3px;
    position: absolute;
    left: 0;
    bottom: 0;
    background: url("../img/linedot_ppl.png") repeat-x center;
    background-size: auto 100%;
}
.evt-sch div h4 {
    display: inline-block;
    margin: 0;
    padding: 0 0 0 1.5em;
    position: relative;
    
    font-size: 1.0rem;
    font-weight: bold;
    letter-spacing: 0.01em;
    line-height: 1.4em;
}
.evt-sch div h4::after {
    content: "\f073";
    display: inline-block;
    margin: 0;
    font: var(--fa-font-solid);
    position: absolute;
    top: 50%;
    left: 0;
    margin-top: -0.5em;
    
    font-size: 1.2em;
    letter-spacing: 0;
    line-height: 1em;
    color: #d5a7d0;
}
.evt-sch div span {
    display: inline-block;
    margin: 0.6em 0;
    padding: 0.7em 1.2em;
    border-radius: 8px;
    
    font-size: 1.1rem;
    font-weight: bold;
    line-height: 1.4em;
    letter-spacing: 0.02em;
    color: #fff;
}
.evt-sch div span.ppl { background: #cd91be; }
.evt-sch div span.pnk { background: #ff9b96; }
.evt-sch div span.blu { background: #7eafe1; }

.evt-sch div article {
    display: inline-block;
    margin: 0 1em 0 0;
    padding: 0.4em 0.7em 0.4em 0.8em;
    border-radius: 4px;
    
    font-size: 0.8rem;
    font-weight: bold;
    line-height: 1em;
    letter-spacing: 0.05em;
    color: #fff;
    background: #444;
}
.evt-box {
    width: 100%;
    height: auto;
    margin: 80px 0 0 0;
    padding: 0 0 30px 0;
    display: block;
}
.evt-box h3 {
    width: 100%;
    height: auto;
    display: block;
    margin: 0 0 1.4em 0;
    padding: 1em 0;
    position: relative;
    border-top:    3px solid;
    border-bottom: 3px solid;
    
    font-size: 1.4rem;
    letter-spacing: 0.02em;
    line-height: 1.4em;
}
.evt-box h3 > b {
    display: inline-block;
    margin: 0.5em 0 0 0;
    
    font-size: 0.8em;
    letter-spacing: 0.02em;
    line-height: 1.4em;
    color: #000;
}
.evt-box h3::before, .evt-box h3::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    position: absolute;
    left: 0;
}
.evt-box h3::before {
    top: 3px;
}
.evt-box h3::after {
    bottom: 3px;
}
.evt-box > span {
    display: inline-block;
    margin: 0 0 0.5em 0;
    padding: 0.4em 2.0em 0.4em 2.0em;
    border-radius: 20px;
    position: relative;
    border: 2px solid;
    background: #fff;
    
    font-size: 0.9em;
    font-weight: bold;
    line-height: 1em;
    letter-spacing: 0.05em;
}
.evt-box > article {
    display: inline-block;
    margin: 0 1em 0 0;
}
.evt-box > article p {
    display: inline-block;
    margin: 0;
    padding: 0.4em 0.7em 0.4em 0.8em;
    border-radius: 4px;
    
    font-size: 0.8rem;
    line-height: 1em;
    letter-spacing: 0.05em;
    color: #444;
    border: 1px solid #444;
}

.evt-box.ppl h3 { border-color: #cd91be; }
.evt-box.ppl h3::before, .evt-box.ppl h3::after, .evt-box.ppl .tckBT span { background: #cd91be; }
.evt-box.ppl > span { border-color: #cd91be; color: #cd91be;}
.evt-box.ppl > i { color: #cd91be; }

.evt-box.pnk h3 { border-color: #ff9b96; }
.evt-box.pnk h3::before, .evt-box.pnk h3::after, .evt-box.pnk .tckBT span { background: #ff9b96; }
.evt-box.pnk > span { border-color: #ff9b96; color: #ff9b96;}
.evt-box.pnk > i { color: #ff9b96; }

.evt-box.blu h3 { border-color: #7eafe1; }
.evt-box.blu h3::before, .evt-box.blu h3::after, .evt-box.blu .tckBT span { background: #7eafe1; }
.evt-box.blu > span { border-color: #7eafe1; color: #7eafe1;}
.evt-box.blu > i { color: #7eafe1; }

.evt-wrap3 {
    width: min(80%,800px);
    height: auto;
    margin: 0 auto;
    padding: 0 0 80px 0;
    overflow: hidden;
    display: block;
    
    font-size: 1rem;
    letter-spacing: 0.04em;
    line-height: 1.8em;
    font-weight: normal;
}
.evt-wrap3 section {
    width: 100%;
    height: auto;
    margin: 0 0 50px 0;
    
    display: flex;
    flex-wrap: wrap;
    
    background: #fdf8fe;
    border: 1px solid #cd91be;
    border-radius: 10px;
}
.evt-wrap3 section:nth-last-of-type(1) {
    margin: 0;
}
.evt-wrap3 section div {
    height: auto;
    margin: 0;
}
.evt-wrap3 section div:nth-of-type(1) {
    width: 40%;
    padding: 30px;
    
    display: flex;
    justify-content: center;
    align-items: center;
}
.evt-wrap3 section div:nth-of-type(1) span {
    width: 100%;
    height: auto;
    display: block;
    overflow: hidden;
    border-radius: 8px;
    z-index: 0;
    margin: 0;
}
.evt-wrap3 section div:nth-of-type(2) {
    width: 60%;
    display: block;
    padding: 30px 30px 30px 0;
}
.evt-wrap3 section div h1 {
    width: 100%;
    height: auto;
    display: block;
    margin: 0 0 0.9em 0;
    padding: 0 0 0.9em 0;
    position: relative;
    
    font-size: 1.3rem;
    font-weight: bold;
    letter-spacing: 0.02em;
    line-height: 1.4em;
    color: #cd91be;
}
.evt-wrap3 section div h1::after {
    content: "";
    display: block;
    width: 100%;
    height: 3px;
    position: absolute;
    left: 0;
    bottom: 0;
    background: url("../img/linedot_ppl.png") repeat-x left center;
    background-size: auto 100%;
}
.evt-wrap3 section div article {
    width: 100%;
    height: auto;
    display: block;
    margin: 0;
}
.evt-wrap3 section div article span {
    display: inline-block;
    margin: 0.5em 0;
    padding: 0.5em 1.5em;
    
    font-size: 0.8rem;
    font-weight: bold;
    letter-spacing: 0.05em;
    line-height: 1em;
    color: #cd91be;
    background: #fff;
    border: 1px solid #cd91be;
    
    border-radius: 2em;
}
.evt-wrap3 section div ul {
    padding: 0 0 0 1em;
    margin: 1.5em 0 0 0;
    list-style: none;
}
.evt-wrap3 section div ul li {
    margin: 0 0 0.5em 0;
    
    font-size: 0.8rem;
    letter-spacing: 0.03em;
    line-height: 1.6em;
    position: relative;
}
.evt-wrap3 section div ul li::before {
    content: "";
    display: block;
    width: 6px;
    height: 6px;
    background: #cd91be;
    position: absolute;
    left: -1em;
    top: 0.5em;
    border-radius: 50%;
}






/* --- D I S C O G R A P H Y --- */

.cont.ct-disco {
    margin: 0; /* header H */
    padding: 54px 0 0 0;
    position: relative;

    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1rem;
    font-weight: 400;
    line-height: 2em;
    letter-spacing: 0.06em;
    color: #000;
}
.cont.ct-disco::after {
    content: "";
    display: block;
    width: 100%;
    height: 100vh;
    background: url("../img/bg-staff.jpg") no-repeat top center;
    background-size: cover;
    position: fixed;
    left: 0;
    top: 0;
    z-index: -1;
}
.cont.ct-disco .ct-title {
    color: #ff9b96;
    -webkit-text-shadow: 0px 1px 1px rgba(0, 0, 0, 0);
    text-shadow: 0px 1px 1px rgba(0, 0, 0, 0);
}
.ct-disco .ct-title {
    margin: 100px 0 60px 0;
}
.ds-menu {
    width: min(1000px,80%);
    height: auto;
    margin: 0 auto 60px auto;
    
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
}
    
.ds-menu div {
    width: 40%;
    height: auto;
    display: block;
    margin: 0 20px 0 0;
    
    /* JS */
    will-change: opacity, transform;
    opacity: 0;
    transform: translateY(40px);
}
.ds-menu div:nth-last-of-type(1) {
    margin: 0;
}
.ds-menu div span {
    width: 100%;
    height: 100%;
    border: 1px solid #cd91be;
    color: #cd91be;
    background: #fff;
    border-radius: 3px;
    padding: 10px 20px;
    
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    
    will-change: transform;
    transition: all 0.2s ease-out;
}
.ds-menu div span p {
    display: inline-block;
    margin: 0;
    text-align: center;
    
    font-size: 0.9rem;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1.7em;
}
.ds-menu div a span {
    border-color: #cd91be;
    color: #cd91be;
}
.ds-menu div a:hover span {
    background: #cd91be;
    color: #fff;
    transform: scale(0.95);
}
.ds-menu div.atv span {
    background: #cd91be;
    color: #fff;
}

.dsc-wrap {
    width: min(80%,1000px);
    height: auto;
    margin: 0 auto;
    padding: 0 0 80px 0;
    display: block;
}
.msc-title {
    width: 100%;
    height: auto;
    display: block;
    margin: 0;
    padding: 30px 0;
    text-align: center;
    border-top: 2px solid #cd91be;
    border-bottom: 2px solid #cd91be;
}
.msc-title h1 {
    width: 100%;
    height: auto;
    display: block;
    margin: 0;
    
    font-size: 1.4rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.7em;
    color: #cd91be;
}
.msc-title p {
    display: inline-block;
    margin: 0;
    
    font-size: 1.2rem;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 1em;
    color: #000;
}
.msc-works {
    width: 100%;
    height: auto;
    margin: 60px 0 60px 0;
    
    display: flex;
    flex-wrap: nowrap;
}
.msc-worksL, .msc-worksR {
    width: 50%;
    height: auto;
    margin: 0;
}
.msc-worksL {
    padding: 0 5% 0 0;
}
.msc-worksL div {
    width: 100%;
    height: auto;
    margin: 0 0 30px 0;
}
.msc-ST .msc-worksL div {
    margin: 0;
}
.msc-worksL p {
    display: inline-block;
    margin: 30px 0 0 0;
    
    font-size: 1rem;
    font-weight: 400;
    letter-spacing: 0.03em;
    line-height: 1.8em;
    color: #000;
}
.buyBT {
    width: 100%;
    display: block;
    margin: 0 0 15px 0;
    padding: 1em 1em;
    text-align: center;
    border-radius: 5px;
    background: #cd91be;
    
    font-size: 0.9rem;
    font-weight: 500;
    letter-spacing: 0.01em;
    line-height: 1em;
    color: #fff;
    
    transition: all 0.2s ease-out;
}
.buyBT i {
    display: inline-block;
    margin: 0 0.5em 0 0;
}
.dsc-wrap a:hover .buyBT {
    background: #000;
    transform: translateY(3px);
}
.buyBT.stm {
    width: min(300px,100%);
    margin: 1em 0 0 0;
}
.mscW-st {
    width: 100%;
    height: auto;
    display: block;
    margin: 0 0 20px 0;
}
.mscW-st p {
    display: inline-block;
    margin: 0;
    padding: 0.3em 1.5em;
    border: 1px solid #cd91be;
    border-radius: 20px;
    background: #fff;
    
    font-size: 0.8rem;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1em;
    color: #cd91be;
}
.msc-worksR h2 {
    width: 100%;
    height: auto;
    display: block;
    margin: 0 0 15px 0;
    
    font-size: 1.1rem;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 1.3em;
    color: #cd91be;
}
.msc-worksR h2 b {
    width: 100%;
    height: auto;
    display: block;
    margin: 0.4em 0 0 0;
    padding: 0;
    
    font-size: 0.8rem;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1.3em;
    color: #cd91be;
}
.msc-works ol {
    padding: 0 0 0 1.5em;
    margin: 0;
}
.msc-works ol li {
    margin: 0 0 1.2em 0;
    
    font-size: 0.9rem;
    letter-spacing: 0.05em;
    line-height: 1.8em;
    color: #000;
}
.msc-works ol li b {
    font-weight: bold;
}
p.wrk-txt {
    width: 100%;
    height: auto;
    display: block;
    margin: 0;
    
    font-size: 0.9rem;
    font-weight: 400;
    letter-spacing: 0.02em;
    line-height: 1.8em;
    color: #000;
}
p.wrk-txt.txtSP_CT {
    text-align: inherit;
}
p.wrk-txt b {
    font-size: 0.8em;
    font-weight: 400;
    letter-spacing: 0.02em;
    line-height: 1.6em;
    color: #cd91be;
}
.wrk-line {
    width: 100%;
    height: 2px;
    margin: 40px 0;
    display: block;
    background: url("../img/linedot_ppl.png") repeat-x left center;
    background-size: auto 100%;
}
.msc-bonus {
    width: 100%;
    height: auto;
    margin: 60px 0 0 0;
    display: block;
}
.msc-bonus h3 {
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0.6em 0 0.7em 0;
    text-align: center;
    border-radius: 50px;
    border: 2px solid #cd91be;
    
    font-size: 1.2rem;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1em;
    color: #cd91be;
}
p.bns-txt {
    width: 100%;
    height: auto;
    display: block;
    margin: 30px 0;
    text-align: center;
    
    font-size: 1rem;
    letter-spacing: 0.04em;
    line-height: 1.8em;
    color: #000;
}

.shop-wrap {
    width: 100%;
    height: auto;
    display: block;
    margin: 0;
    /*border-top: 2px solid #cd91be;*/
}
.shop-wrap div {
    width: 100%;
    height: auto;
    margin: 0;   
    border-bottom: 2px solid #cd91be;
    
    display: flex;
    display: -webkit-flex;
    
    flex-wrap: nowrap;
    -webkit-flex-wrap: nowrap;
}
.shop-wrap div span {
    height: auto;
    margin: 15px 0;
    padding: 0;
    
    display: flex;
    display: -webkit-flex;
    
    flex-wrap: nowrap;
    -webkit-flex-wrap: nowrap;
    
    justify-content: flex-start;
    -webkit-box-pack: start;
    
    align-items: center;
    -webkit-box-align: center;
    
    font-size: 0.9rem;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1.4em;
    color: #cd91be;
}
.shop-wrap div span:nth-of-type(1) {
    width: 30%;
    padding: 0 1em 0 5.5%;
    position: relative;
    background: url("../img/linedot_ppl.png") repeat-y right top;
    background-size: 2px auto;
}
.shop-wrap div span:nth-of-type(1)::after {
    content: "\f290";
    position: absolute;
    display: block;
    width: auto;
    height: auto;
    top: 50%;
    left: 4%;
    margin-top: -0.5em;
    
    font: var(--fa-font-solid);
    color: #cd91be;
    font-size: 1.1em;
    line-height: 1em;
    letter-spacing: 0;
}
.shop-wrap div span:nth-of-type(2) {
    width: 50%;
    padding: 0 1em 0 8%;
}
.shop-wrap div span:nth-of-type(3) {
    width: 20%;
    
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
}
.shop-wrap div span:nth-of-type(3) img {
    margin: 0 0 5px 0;
}
.shop-wrap div span:nth-of-type(3) img:nth-last-of-type(1) {
    margin: 0;
}
.shop-wrap div span p {
    display: inline-block;
    margin: 0;
    
    font-size: 0.9rem;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1.4em;
    color: #cd91be;
}
.shop-wrap div span p b {
    font-size: 0.8em;
    font-weight: 500;
}
.shop-wrap div span a p, .shop-wrap div span p a, .wrk-txt a {
    text-decoration: underline;
    color: #cd91be;
    
    transition: all 0.15s linear;
    -webkit-transition: all 0.15s linear;
}
.shop-wrap div span a:hover p, .shop-wrap div span p a:hover, .wrk-txt a:hover {
    color: #000;
}
.msc-img {
    width: 40%;
    height: auto;
    display: block;
    margin: 0 auto 60px auto;
}
.ds-ft {
    width: 100%;
    height: auto;
    margin: 20px 0 0 0;
    display: block;
    
    font-size: 0.7rem;
    letter-spacing: 0.04em;
    line-height: 1.8em;
    color: #cd91be;
}






/* --------- F A D E  I N --------- */

.fd-Vt {
    opacity: 0;
    
    -webkit-transform: translateY(80px);
    transform: translateY(80px);
   
    transition: all 1s cubic-bezier(0.04, 0.68, 0.15, 1);
    -webkit-transition: all 1s cubic-bezier(0.04, 0.68, 0.15, 1);
}
.fd-Vt_appr {
    opacity: 1;
    
	-webkit-transform: translateY(0);
    transform: translateY(0);
}











/* --------- < 1000px > --------- */

@media (max-width: 1000px) {

.intro-main {
    width: calc(100% - 40px);
    text-align: left;
    padding: 0 0 80px 0;
}
.intro-main h1, .intro-main h2 {
    text-align: center;
}
.brIT_pc {
    display: none;
}

.intro-main.int-sch {
    text-align: center;
}
.int-line {
    width: 100%;
}
.md-pic {
    width: calc(100% - 50px);
}

}





/* --------- < 800px > --------- */

@media (max-width: 800px) {

.cont {
    margin: 0;
}
.cont.ct-staff, .cont.ct-goods, .cont.ct-disco {
    padding: 0;
}

.intro-main h2 {
    margin: 0 0 0.5em 0;
    font-size: 1.2rem;
}
.intro-main h1 {
    margin: 0 0 0.5em 0;
    font-size: 1.6rem;
}
.intro-main p {
    font-size: 1rem;
}

.cr-thum {
    width: 40%;
    margin: 0 20px 50px 0;
}
.cr-thum:nth-of-type(4n), .cr-thum:nth-of-type(2n) {
    margin: 0 0 50px 0;
}
.ctr1 .cr-thum:nth-of-type(1) { order: 1; }
.ctr1 .cr-thum:nth-of-type(2) { order: 2; }
.ctr1 .cr-thum:nth-of-type(3) { order: 3; }
.ctr1 .cr-thum:nth-of-type(4) { order: 4; }

.ctr2 .cr-thum:nth-of-type(1) { order: 1; }
.ctr2 .cr-thum:nth-of-type(2) { order: 2; }
.ctr2 .cr-thum:nth-of-type(3) { order: 3; }

/* --- KASHIHARA --- */

.ctr3 .cr-thum:nth-of-type(1) { order: 1; }
	
/* --- KASHIHARA --- */
	
	
.CRdt-wrap {
    padding: 20px 0 40px;
}
.CRdt {
    width: calc(100% - 40px) ;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    padding: 0 0 150px 0;
}
.CRdt-pic {
    width: 70%;
    margin: 0 auto;
}
.CRdt-pic span {
    width: 100%;
    left: 0;
}
.CRdt-pic p {
    width: 14%;
}
.CRdt-txt {
    width: 100%;
    margin: 0;
}
.CRdt-txt div {
    text-align: center;
}
.CRdt-txt div article {
    justify-content: center;
    -webkit-box-pack: center;
}

.mv-menu div {
    height: 40px;
}
.mv-menu div span p {
    font-size: 0.9rem;
}
.mv {
    width: calc(100% - 40px);
    margin: 0 auto 40px auto;
}
.mv:nth-of-type(2n) {
    margin: 0 auto 40px auto;
}

.stcs-wrap {
    width: calc(100% - 40px);
}
.stcs {
    width: 38%;
}
.stcs b {
    font-size: 0.7rem;
}
.stcs p {
    margin: 0 0 1.2em 0;
    font-size: 1.0rem;
}
.mdW-cmt h4 span {
    padding: 0 1em;
    margin: 0 0 1em 0;
    
    font-size: 0.8rem;
    letter-spacing: 0.02em;
}

.gds-wrap {
    width: calc(100% - 60px);
}
.gditem {
    width: calc((100% / 2) - 20px);
    margin: 0 40px 60px 0;
}
.gditem-wrap section:nth-of-type(3n) {
    margin: 0 40px 60px 0;
}
.gditem-wrap section:nth-of-type(2n) {
    margin: 0 0 60px 0;
}

.gd-menu {
    width: 100%;
    margin: 0 auto 60px auto;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
}
.gd-menu div {
    width: 80%;
    margin: 0 0 15px 0;
}
.gd-menu div span {
    padding: 15px 10px;
}
.gd-menu div span p {
    font-size: 0.85rem;
}
.gd-menu.tckt {
    margin: 60px auto 0 auto;
}
.gd-menu.tckt div {
    width: 60%;
    margin: 0 0 12px 0;
}
.gd-menu.tckt div:nth-last-of-type(1) {
    margin: 0;
}

.evt-title {
    width: 60%;
    margin: 70px auto;
}
.tck-wrap, .evt-wrap {
    width: calc(100% - 60px);
}

.ds-menu {
    width: 100%;
    flex-wrap: wrap;
}
.ds-menu div {
    width: 80%;
    margin: 0 0 15px 0;
}
.msc-worksL {
    width: 60%;
}
.msc-worksR {
    width: 40%;
}
.msc-worksR h2 {
    font-size: 1rem;
}
p.wrk-txt {
    font-size: 0.8rem;
}
.buyBT {
    padding: 1em 1em;
    
    font-size: 0.7rem;
    letter-spacing: 0;
}
.shop-wrap div span {
    font-size: 0.8rem;
}
.msc-img {
    width: 80%;
}
.evt-wrap3 section div:nth-of-type(1) {
    width: 100%;
    padding: 30px 30px 0 30px;
    display: block;
}
.evt-wrap3 section div:nth-of-type(2) {
    width: 100%;
    padding: 30px;
}


}





/* --------- < 600px > --------- */

@media (max-width: 600px) {

.tbox {
    width: 80%;
    height: auto;
    display: block;
    margin: 0 auto -0.5em auto;
    padding: 0.8em 0 0.8em 0;
    border-radius: 20px;
    text-align: center;
}
.gd-img {
    width: 80%;
    display: block;
    margin: 1.7em auto 0 auto;
}
.evt-wrap2 .tbox {
    width: auto;
    display: inline-block;
    margin: 0 0 1em 0;
    padding: 0.5em 2.5em 0.6em 2.5em;
    border-radius: 20px;
    position: relative;
}

}






/* --------- < 500px > --------- */

@media (max-width: 500px) {

.cont {
    margin: 0;
    padding: 0 15px;
    min-height: calc(100vh - 120px);
}
.ct-title {
    margin: 70px 0 50px 0;
    font-size: 1.5rem;
}
.ct-title.tckt {
    margin: 50px 0;
}
.intro-main {
    width: 100%;
    padding: 0 0 20px 0;
}
.intro-main h1, .intro-main h2, .intro-main p {
    letter-spacing: 0.06em;
    
    -webkit-text-shadow: 0px 2px 2px rgba(0, 0, 0, 0.4);
    text-shadow: 0px 2px 2px rgba(0, 0, 0, 0.4);
}
.intro-main h2 {
    margin: 0;
    font-size: 0.75rem;
    line-height: 1em;
    letter-spacing: 0.02em;
}
.intro-main h1 {
    margin: 0 0 1.2em 0;
    font-size: 1.2rem;
    line-height: 1.6em;
}
.intro-main p {
    margin: 0;
    font-size: 0.82rem;
    line-height: 2em;
}

.intro-main.int-sch {
    padding: 0 0 60px 0;
    text-align: left;
}
.intro-main p.intro-txt {
    font-size: 0.8rem;
    line-height: 1.9em;
    
    padding-bottom: 30px;
}
.intro-main.int-sch p {
    font-size: 0.75rem;
    line-height: 1.9em;
    margin: 20px 0;
}
.int-line {
    height: 2px;
}
.st-BT {
    margin: 0 0 80px 0;
}
.st-BT span {
    padding: 0.5em 2em 0.5em;
}
.st-BT span p {
    font-size: 0.8rem;
    letter-spacing: 0.06em;
}
.mdW-cmt.stmd {
    padding: 25px 20px 30px 20px;
    font-size: 1.0rem;
}
.mdW-cmt.stmd h1 {
    font-size: 1.0em;
}


.brIT_sp {
    display: inherit;
}

.CRdt-wrap::before {
    transform: translateY(180%) skewY(-30deg);
}
.CRdt-wrap::after {
    transform: translateY(-180%) skewY(-30deg);
}
.CRdt-wrap.appr::before {
    transform: translateY(calc(50% - 2px)) skewY(-30deg);
}
.CRdt-wrap.appr::after {
    transform: translateY(calc(-50% + 2px)) skewY(-30deg);
}

.ctr-name {
    margin: 0 0 30px 0;
}
.ctr-name h1 {
    margin: 0 0 10px 0;
    padding: 0 0 13px 0;
    font-size: 1.1rem;
    letter-spacing: 0.08em;
}
.ctr-name h1::before {
    height: 3px;
    margin-left: -100px;
}
.ctr-name h1::before {
    width: 200px;
}
.ctr-name p {
    font-size: 0.7rem;
}
.cr-thum-wrap {
    padding: 0 0 50px 0;
}
.cr-thum {
    margin: 0 20px 30px 0;
}
.cr-thum:nth-of-type(4n), .cr-thum:nth-of-type(2n) {
    margin: 0 0 30px 0;
}
.cr-thum-pic {
    border-radius: 6px;
}
.cr-thum-pic div {
    border-radius: 4px;
}
.cr-thum-pic div span::after {
    font-size: 0.9rem;
}
.cr-name {
    width: 100%;
    margin: 12px auto 0 auto;
    padding: 0.2em 0;
    border-radius: 20px;
}
.cr-name::before, .cr-name::after {
    width: 10px;
    height: 10px;
    margin-top: -5px;
}
.cr-name::before { left: 4px; }
.cr-name::after  { right: 4px; }

.cr-name p {
    margin: 0.2em 0 0 0;
    font-size: 0.72rem;
    letter-spacing: 0.05em;
}

.CRdt-wrap {
    padding: 20px 0 40px;
}
.CRdt-wrap i::after {
    width: calc(100% - 25px);
    height: calc(100% - 8px);
}
.CRdt-wrap i.dt_HN::after {
    background-size: 100% auto;
}

.CRdt {
    width: calc(100% - 40px);
    padding: 0 0 60px 0;
}
.CRdt-pic {
    width: 78%;
}
.CRdt-pic p {
    width: 14%;
}
.CRdt-txt div article {
    height: auto;
    margin: 0 0 10px 0;
    font-size: 0.8rem;
    letter-spacing: 0.4em;
}
.CRdt-txt div article::before, .CRdt-txt div article::after {
    width: 12px;
    height: 12px;
}
.CRdt-txt div h1 {
    margin: 0 0 10px 0;
    font-size: 1.3rem;
    letter-spacing: 0.08em;
}
.CRdt-txt div span {
    margin: 0 0 20px 0;
    padding: 0.5em 1.5em 0.4em 1.5em;
    
    font-size: 0.8rem;
    letter-spacing: 0.07em;
}
.CRdt-txt div p {
    padding: 20px 0 0 0;
    font-size: 0.8rem;
    letter-spacing: 0.12em;
    line-height: 1.6em;
}
.CRdt-txt div p::before {
    height: 3px;
}

.mdW-close {
    width: 32px;
    height: 32px;
    top: 20px;
    right: 20px;
}
.mdW-close::before,
.mdW-close::after {
    width: 4px;
}
.mdW-close::before {
    left: calc(50% - 2px);
    transform: skewX(45deg);
}
.mdW-close::after {
    right: calc(50% - 2px);
    transform: skewX(-45deg);
}
.mdW-close:hover {
    transform: scale(0.8);
}
.mdW-close:hover::before,
.mdW-close:hover::after {
    width: 4px;
}

.mv-tptitle {
    width: 40%;
    padding: 30px 0 0 0;
}
.ct-movie .ct-title, .ct-movie_v2 .ct-title {
    margin: 40px 0 40px 0;
}

.mv-menu {
    width: 100%;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
}
.mv-menu div {
    width: calc(50% - 30px);
    height: 32px;
    margin: 0 15px 15px 0;
}
.mv-menu div:nth-of-type(2n){
    margin: 0!important;
}
.mv-menu div span p {
    font-size: 0.85rem;
}

.mv-wrap {
    width: 100%;
    padding: 30px 0 0 0;
}
.mv {
    width: calc(100% - 40px);
    margin: 0 auto 25px auto;
    padding: 10px 0;
}
.mv:nth-of-type(2n) {
    margin: 0 auto 30px auto;
}
.mv div {
    border-radius: 6px;
}
.mv div::after {
    width: 60px;
    height: 60px;
    margin: -30px 0 0 -30px;
}
.mv span {
    width: 32px;
    height: 32px;
    margin: -16px 0 0 -16px;
}
.mv span::after {
    font-size: 1.5rem;
}
.mv p {
    margin: 10px 0 0 0;
    padding: 10px 0 0 0;
    font-size: 0.9rem;
}
.mv h3 {
    margin: 0.4em 0 0 0;
    font-size: 0.8rem;
}



.stcs-wrap {
    width: 100%;
    padding: 0 0 50px 0;
    
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
}
.stcs {
    width: 100%;
    margin: 0;
    text-align: center;
}

.stcs h2 {
    width: 80%;
    margin: 0 auto 1.2em auto;
    font-size: 1rem;
}
.stcs h2::before, .stcs h2::after {
    width: 12px;
    height: 12px;
    margin: -6px 0 0 0;
}

.stcs h3 {
    margin: 0 0 0.2em 0;
}
.stcs .spc {
    height: 30px;
}
.stcs b {
    font-size: 0.8rem;
}
.stcs p {
    margin: 0 0 1.2em 0;
    font-size: 1rem;
    letter-spacing: 0.03em;
}
.stcs a::after {
    right: -35px;
    font-size: 1.5rem;
}
.mdW-cmt {
    padding: 25px 20px 30px 20px;
}
.mdW-cmt h4 {
    margin:  0 0 0.8em 0;
    padding: 0 0 1em 0;
    
    font-size: 1.1rem;
    line-height: 1.3em;
}
.mdW-cmt h4::after {
    height: 3px;
}
.mdW-cmt h4 span  {
    padding: 0;
    margin: 0 0 1em 0;
    
    font-size: 0.7rem;
}
.mdW-cmt p {
    font-size: 0.75rem;
}


.cont.ct-goods {
    font-size: 0.8rem;
    line-height: 1.9em;
    letter-spacing: 0.03em;
}
.gds-wrap {
    width: calc(100% - 40px);
    padding: 0 0 50px 0;
}
.gds-wrap h1 {
    margin: 0 0 20px 0;
    padding: 0 0 15px 0;
    font-size: 1.0rem
}
.gditem-wrap {
    margin: 30px 0;
}
.gditem {
    width: calc(100% - 60px);
    margin: 0 auto 40px auto;
}
.gditem-wrap section:nth-of-type(3n),
.gditem-wrap section:nth-of-type(2n) {
    margin: 0 auto 50px auto;
}
.gditem h2 {
    margin: 14px 0 15px 0;
    padding: 0 0 15px 0;
    font-size: 1.0rem;
}
.gditem h2 p {
    font-size: 0.7rem;
}
.gditem h3 {
    font-size: 0.75rem;
    font-weight: 400;
}
.gdstxt {
    margin: 15px 0 0 0;
}
.gdstxt span {
    width: 44px;
    height: 18px;
    margin: 0 0 8px 0;
    
    font-size: 0.6rem;
    line-height: 18px;
}
.gdstxt p {
    width: calc(100% - 44px);
    margin: 0 0 8px 0;
    padding: 0 0 0 10px;
    font-size: 0.75rem;
}
.md-pic {
    width: calc(100% - 50px);
    padding: 60px 0;
}
.md-pic img {
    margin: 0 0 30px 0;
}

.gds-wrap h4 {
    margin: 0 0 50px 0;
    font-size: 0.9rem;
}
.gds-wrap h4 p {
    margin: 8px 0 0 0;
    font-size: 0.7rem;
    line-height: 1.4em;
}
.gds-wrap b {
    font-size: 0.7rem;
    line-height: 1.7em;
}
.gds-wrap ul {
    margin: 0.3em 0 1em 0;
    padding: 0 0 0 1.5em;
}
.gds-wrap ul li {
    font-size: 0.7rem;
    line-height: 1.7em;
}

.tbox {
    width: 80%;
    height: auto;
    display: block;
    margin: 0 auto -0.5em auto;
    padding: 0.8em 0 0.8em 0;
    border-radius: 20px;
    text-align: center;
}
.gdsBT-wrap {
    margin: 10px auto 15px auto;
}
.gdsBT-wrap div {
    width: calc((100% / 2) - 5px);
    margin: 0 10px 0 0;
}
.gdsBT-wrap div span {
    height: 50px;
    border-radius: 6px;
    -webkit-box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.25);
    box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.25);
}
.gdsBT-wrap div span p {
    font-size: 0.8em;
    font-weight: 700;
    letter-spacing: 0.02em;
}
.gdsBT-wrap div a:hover span {
    transform: translateY(2px);
}

.gd-menu {
    margin: 0 auto 40px auto;
}
.gd-menu div {
    margin: 0 0 12px 0;
}
.gd-menu div span {
    padding: 12px 12px;
}
.gd-menu div span p {
    font-size: 0.7rem;
}
.gd-menu.tckt {
    margin: 30px auto 0 auto;
}

.tck-wrap, .evt-wrap {
    width: calc(100% - 40px);
    padding: 0 0 50px 0;
}
.tck-txt {
    margin: 0 0 30px 0;
    padding: 0;
}
.tck-txt.ctg1 {
    width: 100%;
    margin: 0 0 30px 0;
}
.tck-txt.ctg1.scd {
    margin: 60px 0 30px 0;
}
.tck-txt.ctg2 {
    width: 100%;
    margin: 0 0 30px 0;
    padding: 30px 0 0 0;
}
.tck-txt.ctg2::before {
    height: 3px;
}
.tck-ctg {
    margin: 0 0 20px 0;
    text-align: center;
}
.tck-ctg::after {
    display: none;
}
.tck-ctg span {
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0.25em 0 0.3em;
    border-radius: 40px;
    font-size: 1.0rem;
    line-height: -1.0rem;
}
.tck-wrap p, .evt-wrap p {
    font-size: 0.82rem;
    letter-spacing: 0.06em;
    line-height: 1.9em;
}
.tck-wrap p b, .evt-wrap p b {
    padding: 0.5em 0 0 0;
    
    font-size: 0.85em;
    letter-spacing: 0.06em;
    line-height: 1.9em;
}
.tck-wrap p strong, .evt-wrap p strong {
    font-size: 1.2em;
    letter-spacing: 0.08em;
    font-weight: bold;
}
.tck-title {
    height: 36px;
    margin: 0 0 30px 0;
}
.tck-title::after {
    height: 4px;
    margin-top: -2px;
}
.tck-title span {
    width: 180px;
    margin: 0 0 0 -90px;
}
.tck-title span::before,
.tck-title span::after {
    width: 6px;
    height: 6px;
    margin: -3px 0 0 0;
}
.tck-title span::before { left: 10px; }
.tck-title span::after  { right: 10px; }

.tck-title span h4 {
    font-size: 1.0rem;
}
.tck-wrap h2, .evt-wrap h2 {
    font-size: 1.08rem;
}
.tck-wrap h3, .evt-wrap h3 {
    font-size: 0.9rem;
}
img.tck-pst {
    width: 100%;
}
.tck-ctg2 {
    margin: 0 0 0.8em 0;
}
.tck-ctg2 span {
    padding: 0.15em 2em;
}
.tckBT {
    margin: 0 0 2.0em 0;
}
.tckBT span {
    width: calc(100% - 20px);
    display: block;
    margin: 0 auto;
    
    padding: 0.5em 0;
    border-radius: 8px;
    text-align: center;
}
.tckBT span p {
    font-size: 0.85rem;
}
.mvtk-wj {
    padding: 10px 0 0 0;
}

.evt-title {
    width: 80%;
    margin: 40px auto;
}
.evt-txt {
    margin: 0 0 30px 0;
    padding: 30px 0 0 0;
}
.evt-txt::before {
    height: 3px;
}

.cont.ct-disco {
    font-size: 0.8rem;
    line-height: 1.9em;
    letter-spacing: 0.03em;
}
.ds-menu {
    margin: 0 auto 30px auto;
}
.ds-menu div {
    width: calc(100% - 40px);
    margin: 0 0 15px 0;
}
.ds-menu div span {
    padding: 0.6em 1em;
}
.ds-menu div span p {
    font-size: 0.7rem;
}

.dsc-wrap {
    width: calc(100% - 40px);
    padding: 0 0 40px 0;
}
.ct-disco .ct-title {
    margin: 70px 0 50px 0;
}
.msc-title {
    padding: 15px 0;
}
.msc-title h1 {
    font-size: 0.9rem;
}
.msc-title p {
    font-size: 0.8rem;
    letter-spacing: 0.03em;
}
.msc-works {
    margin: 30px 0 30px 0;
    flex-wrap: wrap;
}
.msc-worksL, .msc-worksR {
    width: 100%;
}
.msc-worksL {
    padding: 0;
    margin: 0 0 30px 0;
}
.msc-worksL div {
    margin: 0 0 20px 0;
}
.buyBT {
    width: 100%;
    margin: 0 0 10px 0;
    font-size: 0.8rem;
}
.msc-worksL p {
    font-size: 0.8rem;
    margin: 10px 0 0 0;
}
.msc-works ol li {
    margin: 0 0 1.0em 0;
    font-size: 0.8rem;
}
.msc-ST {
    flex-wrap: wrap;
}
.msc-ST:nth-of-type(n+2) {
    margin: 30px 0 0 0;
    padding: 30px 0 0 0;
}
.mscW-st {
    margin: 0 0 15px 0;
    text-align: center;
}
.mscW-st p {
    padding: 0.3em 3em;
    font-size: 0.7rem;
    letter-spacing: 0.2em;
}
.msc-worksR h2 {
    margin: 0 0 10px 0;
    font-size: 0.9rem;
    letter-spacing: 0.04em;
}
.msc-worksR h2 b {
    margin: 0.3em 0 0 0;
    font-size: 0.7rem;
}
p.wrk-txt {
    font-size: 0.7rem;
    line-height: 1.7em;
}
p.wrk-txt.txtSP_CT {
    text-align: center;
}
.wrk-line {
    margin: 20px 0;
}
.msc-bonus {
    margin: 50px 0 0 0;
}
.msc-bonus h3 {
    border: 1px solid #cd91be;
    font-size: 0.8rem;
    letter-spacing: 0.15em;
}
p.bns-txt {
    margin: 1em 0;
    text-align: center;
    font-size: 0.8rem;
}

.shop-wrap div { 
    border-bottom: 1px solid #cd91be;
}
.shop-wrap div span {
    margin: 8px 0;
    }
.shop-wrap div span:nth-of-type(1) {
    padding: 0 1em 0 0;
    background: url("../img/dotlineV_bl.png") repeat-y right top;
    background-size: 1px auto;
}
.shop-wrap div span:nth-of-type(1)::after {
    display: none;
}
.shop-wrap div span:nth-of-type(2) {
    padding: 0 1em 0 1em;
}
.shop-wrap div span:nth-of-type(3) {
    width: 20%;
}
.shop-wrap div span p {
    margin: 8px 0;
    font-size: 0.6rem;
    letter-spacing: 0.01em;
}
.msc-img {
    margin: 0 auto 50px auto;
}
.ds-ft {
    margin: 20px 0 0 0;
    font-size: 0.6rem;
}

.evt-wrap2 {
    width: calc(100% - 40px);
    padding: 0 0 50px 0;
    
    font-size: 0.82rem;
    letter-spacing: 0.06em;
    line-height: 1.9em;
}
.evt-wrap2 h1 {
    margin: 0 0 1.2em 0;
    
    font-size: 1.2rem;
    letter-spacing: 0.08em;
    line-height: 1.5em;
    font-weight: bold;
    color: #7382c3;
    text-align: center;
}
.evt-wrap2 p.evtTOP {
    display: block;
    margin: 0 0 2.0em 0;
    
    font-size: 0.82rem;
    letter-spacing: 0.06em;
    line-height: 1.9em;
}
.evt-wrap2 .tbox {
    width: 100%;
    height: auto;
    display: block;
    margin: 0 0 -0.7em 0;
    padding: 0.8em 0;
    border-radius: 20px;
    font-size: 1.0em;
}
.tck-ctg3 {
    width: 100%;
    height: auto;
    display: block;
    margin: 0 0 1.0em 0;
}
.tck-ctg3 span {
    width: 100%;
    height: auto;
    display: block;
    text-align: center;
    padding: 0.7em 2em;
}
.evt-wrap2 .tckBT {
    margin: 0.6em 0;
}

.evt-tbl-wrap {
    font-size: 0.8rem;
    letter-spacing: 0.04em;
    line-height: 1.4em;
}
.evt-tbl > div {
    padding: 0.8em 0.5em;
}
.evt-wrap2 h6 {
    font-size: 1.2rem;
}

.evt-wrap2 h2, .evt-wrap3 h2 {
    margin: 0 0 1.2em 0;
}
.evt-wrap2 h2 > span, .evt-wrap3 h2 > span {
    padding: 0.6em 1em 0.7em;
    border-radius: 30px;
    
    font-size: 1.0rem;
    letter-spacing: 0.02em;
    line-height: 1em;
}
.evt-sch {
    padding: 20px 0 60px 0;
}
.evt-sch div {
    margin: 0 0 20px 0; 
    padding: 0 0 20px 0; 
}
.evt-sch div h4 {
    padding: 0 0 0 1.8em;
    font-size: 0.8rem;
    line-height: 1.5em;
}
.evt-sch div span {
    width: 100%;
    height: auto;
    margin: 0.7em 0;
    padding: 0.6em 1.0em;
    border-radius: 6px;

    font-size: 0.8rem;
    text-align: center;
}
.evt-sch div article {
    font-size: 0.65rem;
}
.evt-box {
    margin: 30px 0 0 0;
    padding: 0 0 30px 0;
}
.evt-box h3 {
    padding: 0.8em 0;
    font-size: 1rem;
    line-height: 1.5em;
}
.evt-box h3 > b {
    margin: 0.5em 0 0 0;
    font-size: 0.8em;
    line-height: 1.5em;
}
.evt-box > span {
    width: 120px;
    text-align: center;
    margin: 0 auto 0.5em auto;
    padding: 0.6em 1.0em 0.6em 1.0em;
    border: 1px solid;
    font-size: 0.7rem;
}
.evt-box > article {
    width: 100%;
    height: auto;
    display: block;
    margin: 0.3em 0;
}
.evt-box > article p {
    padding: 0.4em 0.7em 0.4em 0.8em;
    
    font-size: 0.65rem;
    letter-spacing: 0.05em;
}
.evt-wrap2 .tckBT {
    margin: 0.8em 0 0.8em 0;
}
.evt-txt.evt2 {
    margin: 15px 0 30px 0;
    padding: 50px 0 0 0;
}

.evt-wrap3 {
    width: calc(100% - 40px);
    padding: 0 0 60px 0;
    font-size: 0.82rem;
}
.evt-wrap3 section {
    margin: 0 0 30px 0;
}
.evt-wrap3 section div:nth-of-type(1) {
    width: 100%;
    padding: 15px 15px 0 15px;
}
.evt-wrap3 section div:nth-of-type(2) {
    width: 100%;
    padding: 15px 15px 15px 15px;
}
.evt-wrap3 section div h1 {
    margin: 0 0 0.8em 0;
    padding: 0 0 1em 0;
    font-size: 0.9rem;
}
.evt-wrap3 section div article span {
    margin: 0.5em 0;
    font-size: 0.7rem;
}
.evt-wrap3 section div ul {
    margin: 1.2em 0 0 0;
}
.evt-wrap3 section div ul li {
    margin: 0 0 0.7em 0;
    font-size: 0.7rem;
}
.evt-wrap3 section div ul li::before {
    width: 4px;
    height: 4px;
    top: 0.7em;
}

}


.ds-menu{
    flex-wrap: wrap;
    justify-content: stretch;
}
/* 4カラムver */
.ds-menu div:nth-last-of-type(1),
.ds-menu div{
    margin: 0 20px 20px 0;
    width: 23.5%;
}
.ds-menu div:nth-child(4n){
    margin: 0 0 20px;
}
/* 4カラムここまで */


/* 5カラムver */
/* 5カラムに変更するときは、4カラム指定箇所をコメントアウトしてください */
/*
.ds-menu div:nth-last-of-type(1),
.ds-menu div{
    margin: 0 20px 20px 0;
    width: 18.4%;
}
.ds-menu div:nth-child(5n){
    margin: 0 0 20px;
}
*/
@media (max-width: 500px) {
    .ds-menu{
        justify-content: center;
    }
    .ds-menu div:nth-last-of-type(1),
    .ds-menu div{
        width: calc(100% - 40px);
        margin: 0 0 15px 0;
    }
    .ds-menu div:nth-child(5n),
    .ds-menu div:nth-child(4n){
        margin: 0 0 15px 0;
    }
}







