@charset "utf-8";

/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align: baseline;
    background:transparent;
}
ul ,ol {
    list-style: none;
}
html {
    font-size: 14px;
    width: 100%;
    scroll-behavior: smooth;
    /* overflow: scroll; */
}
@media screen and (max-width: 768px) {
    html {
        overflow-x: hidden;
    }
}

body {
    line-height:1;
    font-family: 'Noto Sans JP';
    background: #f7f2eb;
    min-width: 1000px;
    overflow-x: hidden;
}
@media screen and (max-width: 1000px) {
    body {
        overflow-x: scroll;
    }
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 
    display:block;
}

nav ul {
    list-style:none;
}

blockquote, q {
    quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}

a {
    margin:0;
    padding:0;
    font-size:100%;
    background:transparent;
    text-decoration: none;
    color: #333;
}
a:hover {
    /* text-decoration: underline */
}
/* change colours to suit your needs */
ins {
    background-color:#ff9;
    color:#000;
    text-decoration:none;
}

/* change colours to suit your needs */
mark {
    background-color:#ff9;
    color:#000; 
    font-style:italic;
    font-weight:bold;
}

del {
    text-decoration: line-through;
}

abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}

table {
    border-collapse:collapse;
    border-spacing:0;
}

/* change border colour to suit your needs */
hr {
    display:block;
    height:1px;
    border:0;
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}

input, select {
    vertical-align:middle;
}
* {
    box-sizing: border-box;
    /* -webkit-backface-visibility: hidden; */
    /* backface-visibility: hidden; */
}
img {vertical-align: bottom; max-width: 100%; height: auto;}

a.btn{ display:inline-block; text-align: center; margin:2em auto 0; min-width:400px;  font-weight:bold;  position:relative; font-size:140%;  }
a.btn > span{ display:block; background-color:#000; color:#fff; padding:1.5em; border-radius:200px; z-index:1; position:relative; transition:.3s; }
a.btn > span b{ font-size:120%; }
a.btn:after{ content:""; position: absolute; left: 6px; top: 6px;z-index: 0; width: 100%; height: 100%; background: repeating-linear-gradient(-45deg, #f49c00, #f49c00 3px, #fff 3px, #fff 6px); opacity: .5; border-radius:200px;  }
a.btn > span:before{ content:"→"; color: #f49c00; position: absolute; right: 20px; top: calc(50% - .5em); font-weight: 900; font-size:100%; transition:.3s; }
a.btn:hover > span{ background-color:#f49c00; transform:translate(6px,6px); }
a.btn:hover > span:before{ color:#000; right:10px; }

a.btn.inquiry{ margin-top:1em; }
a.btn.apply,a.btn.inquiry{ min-width:600px; font-size:180%; }
a.btn.applylink{ min-width:600px; font-size:160%; pointer-events:none; }
a.btn.apply > span{ border:4px solid #000; background: url(../images/apply_icon_b.svg) no-repeat 1em center #f49c00; background-size:16% auto; }
a.btn.applylink > span{ border:4px solid #999; background: url(../images/apply_link_btn_icon1.png) no-repeat 1em center #999; background-size:38px auto; }
a.btn.inquiry > span{ border:4px solid #000; background: url(../images/inquiry_icon.png) no-repeat 2em center #fff; background-size:10% auto; color:#000; }
a.btn.apply > span:before,a.btn.applylink > span:before,a.btn.inquiry > span:before{ border:3px solid #fff; color: #fff; border-radius:100px; font-size:90%; padding:8px; top: calc(50% - 1em); }
a.btn.inquiry > span:before{ border-color: #f49c00; color: #f49c00; }

a.btn.applylink.on{ pointer-events:auto; }
a.btn.applylink.on > span{ border-color: #000; background-color:#f49c00; }
a.btn.applylink:after{ opacity:0; transition:.3s; }
a.btn.applylink.on:after{ opacity:.5; }

a.btn.apply{ pointer-events:none; }
a.btn.apply:before,a.btn.applylink:before{ content:"2/3（月）11時 受付開始"; content:"今シーズンの受付は終了しました"; position:absolute; left:-1%; top:calc(50% - 1.8em); z-index:2; display:block; background-color:rgba(0, 0, 0, .8); color:#fff; text-align:center; box-sizing: border-box; width:102%; height:auto; padding:1.3em; font-size:90%; border-radius:.2em; }

a.btn.apply:hover > span{ background-color:#f2bc00; }
a.btn.apply + p,a.btn.applylink + p{ margin-top:1.5em; }

.tac{ text-align:center; }
.mb0{ margin-bottom:0 !important; }
.mt10{ margin-top:10px !important; }
.mt20{ margin-top:20px !important; }

#wrap {
    position: relative;
    width: 100%;
    height: 100%;
}
/*Header*/
#gHeader{ position: relative !important; }
#header { position:absolute; left:50%; top:82px; transform: translateX(-50%); z-index:100; padding-top:15px; min-width:1000px; z-index: 1001; }
#header.sc { position:fixed; top:0; }
#headTop {
    display: flex;
    background: #fff;
    border-radius: 200px;
    border: 3px solid #000;
    justify-content: space-between;
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 0 0 15px;
    height: 74px;
    align-items: center;
    box-shadow: 0 0 10px rgba(0, 0, 0, .2);
    overflow: hidden;
}
#headTop #logo {
    padding: 0 15px;
    width: 200px;
}
#headTop #logo a {
    transition: .5s
}
#headTop #logo a:hover {
    opacity: .75;
}


#rightNav {
    display: flex;
    align-self: center;
    border-radius: 8px;
    overflow: hidden;
    margin-left: 10px;
}
#rightNav li {
    margin-right: 2px;
    height: 50px;
}
#rightNav li:last-child { margin-right: 0; }
#rightNav li:last-child a{ min-width: 80px; }
#rightNav li a {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    min-width: 70px;
    align-content: center;
    font-size: 10px;
    font-weight: 600;
    background: #e5e5e5;
    transition: .25s;
    padding: 0;
    flex-direction: column;
}

#rightNav li a .inner {
    display: flex;
    justify-content: center;
    align-items: center;
    align-content: center;
    flex-direction: column;
}
#rightNav li a:not(.current):hover {
    background-color:#999; color:#fff;
}
#rightNav li a.current { background-color:#f59b00; color:#fff; }
#rightNav li a .img {
    margin-bottom: 5px;
}
#rightNav li a img {
    margin-right: 0;
    vertical-align: middle;
    height: 22px;
}
#headTop a.game{ background: rgb(249,190,62); background: linear-gradient(135deg, rgba(249,190,62,1) 0%, rgba(248,152,40,1) 100%); font-size:12px; width: 80px; color:#000; height:100%; font-weight: 600; text-align:center; padding-right:4px; margin-left:1em; transition:.3s; }
#headTop a.game img{ height:26px; margin-top:10px; }
#headTop a.game .text{ display:block; margin-top:5px; }
#headTop a.game:hover{ filter:brightness(1.2) saturate(110%); }

#nav {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
}
#nav li {
    text-align: lwft;
    padding: 0px 1.2em;
    position: relative;
    height: 100%;
}

#nav a {
    display: block;
    padding: 1.2em 0;
    font-size: 110%;
    font-weight: 900;
    color: #000;
    position: relative;
    word-break: keep-all;
    transition: .3s;
    height: 100%;
}
#nav a b{ font-size:115%; }
#nav a img{ height:8px; width:auto; display:block; margin-top:8px; }
#nav a:hover {
    color: #f59b00
}
#nav li.current a{  }
#nav a:after {
    content: "";
    width: 0;
    height: 5px;
    background: #f59b00;
    position: absolute;
    bottom: 0;
    left: 50%;
    transition: .5s;
}
#nav li.current a:after,
#nav li a:hover:after {
    width: 100%;
    left: 0;
}
@media screen and (max-width: 1280px) { 
    #header { width:96%; }
    #headTop #logo { width:160px; padding: 0 10px; }
    #nav { font-size:1vw; }
}
@media screen and (max-width: 1100px) { 
    #nav { font-size:80%; }
    #nav li { padding: 0 .8em; }
    #nav a {  padding: 1.4em 0; }
    #rightNav li a { min-width: 50px; padding:0 .3em; }
    #rightNav li:last-child a{ min-width: 70px; }
}

/*FixHeader*/
#fixHeaderWrap {
    position: fixed;
    width: 100%;
    left: 0;
    top: 0;
    background: #fff;
    z-index: 1090;
    box-shadow: 0 5px 10px rgba(0, 0, 0, .15);
    min-width: 1000px;
    /* display: none; */
    height: 51px;
    transition: .5s;
    transform: translateY(-120%);
    padding: 0 10px;
    /* background: #313131; */
    top: 70px;
}
#fixHeaderWrap.on {
    transform: translateY(0%)
}
#fixHeader {
    display: flex;
    max-width: 1120px;
    align-items: center;
    justify-content: space-between;
    margin: auto;
    min-width: 1000px;
    height: 100%;
}
#fixHeadLogo {
    width: 155px;
}
#fixHeadLogo img {
    width: 100%;
    height: auto;
}
#fixNavWrap {
    display: flex;
    width: calc(100% - 198px);
    justify-content: space-between;
    padding-left: 3%;
}
#fixNav {
    display: flex;
    align-items: center;
    width: 100%;
    justify-content: space-around;
    padding: 0 2%;
}
#fixNav li {
    padding: 0 10px;
}
#fixNav li.spMenu {
    display: none;
}
#fixNav li a {
    display: block;
    padding: 0 0;
    font-size: 13px;
    font-weight: 600;
    font-style: italic;
    word-break: keep-all;
}
#fixRightNav {
    display: flex;
}
#fixRightNav li {
    margin-right: 3px;
    width: 42px;
    height: 30px;
}
#fixRightNav a {
    display: flex;
    transform: skewX(-15deg);
    justify-content: center;
    align-items: center;
    height: 100%;
    align-content: center;
    font-size: 13px;
    font-weight: 600;
    background: #e5e5e5;
    transition: .25s;
}
#fixRightNav a:hover {
    background: #f59b00;
}

#fixRightNav a div {
    transform: skewX(15deg);
}
#fixRightNav a img {
    vertical-align: bottom;
}
#fixRightNav a .img ,#fixRightNav a .text {/* transform: skewX(15deg); */}
#fixRightNav a .text {
    display: none
}

/* Footer */
#footer {
    position: relative;
}
#footer.top {
    padding-top: 10%;
    margin-top: -10%;
    overflow: hidden;
}
#footer #pageTop {
    /* position: absolute; */
    right: 0;
    display: block;
    /* top: 50%; */
    /* margin-top: -40px; */
    z-index: 1010;
}
#footer #pageTop img {
    transition: .5s
}
#footer #pageTop:hover img {
    opacity: .75
}
#footLogoArea {
    background: #313131;
    color: #ccc;
    padding: 55px 40px;
    padding: 35px 40px;
    position: relative;
    z-index: 1000;
}
#footLogoArea {
    /* max-width: 1120px; */
    /* margin: auto; */
}
#footLogoAreaInner {
    position: relative;
    /* max-width: 1120px; */
    margin: auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
#footLogoAreaInner .rightWrap {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
#footLogoAreaInner .leftWrap {
    /* width: 100%; */
}
#footLogoArea #footLogo {
    /* max-width: 1120px; */
    margin: 0 auto 15px;
}
#footLogoArea #footLogo a {
    transition: .5s
}
#footLogoArea #footLogo a:hover {
    opacity: .8
}
#footLogoArea #copy {
    font-size: 11px;
    /* max-width: 1120px; */
    margin: auto;
}

a.inquiry-btn{ background-color:#fff; border-radius:4px; font-weight:900; padding:.6em 1.5em; margin-right:2em; box-shadow:0 2px 0 #333; font-size:110%; text-align:center; display:flex; align-items:center; justify-content:center; transition:.3s; }
a.inquiry-btn:before{content: ""; width: 2em; height: 1.5em; background: url(../images/inquiry_icon.png) no-repeat center center; background-size: cover; margin-right: .5em; }
a.inquiry-btn:hover{ background-color:#ccc; }
a.inquiry-btn + p{ font-size: 90%; margin-top:.5em; }

@media screen and (max-width: 768px) {
    /* common */
    body {
        min-width: 0;
        overflow-x: hidden;
        width: 100%;
    }
    #filter {
        position: fixed;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0,.7);
        z-index: 1001;
        display: none;
    }
    a.inquiry-btn { margin:0 auto; }
    /* Header */
    #header {
        top: 107px;
        width: auto;
        min-width: 100px;
        height: auto;
        padding: 0;  transform:translateX(0); left: auto; right: 0;
    }
    #header.on{  }
    #fixHeaderWrap {
        display: block;
    }
    #fixHeadLogo {
        width: 156px;
        width: 312px;
        width: 42.9%;
        max-width: 312px;
        padding: 10px 0;
        max-width: 180px;
    }
    #fixHeadLogo img {
        width: 100%;
    }

#headTop { display:block; height:100vh; border-radius:0; width:280px; position: absolute; left:auto; right:-300px; border-width:0 0 0 3px;  margin:0; padding:0 1em; transition:.3s; }
.on #headTop { right:0; }
#headTop #logo { width:70%; padding: 20px 0 10px; }
#nav { display:block; height:auto; }
#nav li { height:auto; margin-bottom:.5em; }
#nav a { height:auto; font-size:140%; padding: .8em 0; }
#nav a::after { height:3px; }
#rightNav { margin: 15px 0; flex-wrap: wrap; justify-content: space-between; }
#rightNav li{ width:49.5%; margin:0 0 1.2%; height:auto; }
#rightNav li:nth-child(3),
#rightNav li:nth-child(4){ margin-bottom:0; }
#rightNav li a { min-width:10px !important; font-size:11px; padding: .8em .5em; height:auto; }
#headTop a.game { display:flex; justify-content: center; align-items: center; gap: 1em; width: 100%; margin:0; border-radius:5px; height:auto; padding: .8em; font-size:120%; }
#headTop a.game img { margin-top:0; }
#headTop a.game .text { margin-top:0; }


    #spMenuBtn,
    #spMenuBtn span {
        display: inline-block;
        transition: all .4s;
        box-sizing: border-box;
    }
    #spMenuBtn {
        position: absolute;
        width: 30px;
        padding-bottom: 32px;
        height: auto;
        display: block;
        top: 6px;
        right: 10px;
    }
    #spMenuBtn:after{ content:""; width:51px; height:47px; background:#fff; border:3px solid #000; border-width: 0 0 4px 4px; border-radius: 0 0 0 10px; position:absolute; right: -10px; top:-6px; transition:.3s; }
    #spMenuBtn span {
        position: absolute;
        left: 0;
        width: 100%;
        height: 0;
        background-color: #000;
        padding-bottom: 3px;
        z-index: 1;
    }
    #spMenuBtn.on:after { background-color:#555; }
    #spMenuBtn.on span{ background-color:#fff; }
    #spMenuBtn span:nth-of-type(1) {
        top: 18%;
    }
    #spMenuBtn span:nth-of-type(2) {
        top: 46%;
    }
    #spMenuBtn span:nth-of-type(3) {
        bottom: 16%;
    }
    #spMenuBtn.on span:nth-of-type(1) {
        transform: translateY(310%) rotate(-45deg);
    }
    #spMenuBtn.on span:nth-of-type(2) {
        opacity: 0;
    }
    #spMenuBtn.on span:nth-of-type(3) {
        transform: translateY(-310%) rotate(45deg);
    }
    /* FixHeader */
    #fixHeaderWrap  {
        min-width: 0;
        padding: 0px 0px;
        height: auto;
        transform: translateY(0%)!important;
        transition: none;
        top: 107px;
        /* position: sticky; */
        /* top: 0; */
        position: absolute;
        /* height: 70px; */
    }
    #fixHeaderWrap.on {
        position: fixed;
        top: 0;
    }
    #fixNavWrap {
        display: block;
        position: absolute;
        right: -230px;
        top: 100%;
        width: 230px;
        background: #fff;
        /* display: none; */
        transition: 0.7s right;
        /* right: 0; */
        height: calc(100vh - 40px);
        overflow: auto;
        padding: 0 0 40px;
    }
    #fixNavWrap.on {
        right: 0;
    }
    #fixHeader {
        min-width: 0;
        padding: 0 20px;
        height: 70px;
    }
    #fixNav {
        display: block;
        padding: 0;
    }
    #fixNav li {
        padding: 0;
        border-top: 1px solid #ccc;
    }
    #fixNav li a {
        display: flex;
        font-size: 15px;
        height: 50px;
        width: 100%;
        align-items: center;
        align-content: center;
        padding: 0 25px;
    }
    #fixNav li.spMenu {
        display: flex;
    }
    #fixNav li.spMenu a {
        background: #f59b00;
        height: 60px;
        line-height: 1;
        flex-wrap: wrap;
        color: #fff;
        position: relative;
        /* pointer-events: none; */
    }
    /* #fixNav li.spMenu a:after {
    content: "COMING SOON";
    font-size: 82.5%;
    display: inline-block;
    padding: 0.8em 5em;
    position: absolute;
    background: rgba(0,0,0,0.6);
    left: 50%;
    top: 50%;
    transform: rotate(-4.5deg) translate(-50%,-50%);
    word-break: keep-all;
    white-space: nowrap;
} */
    #fixNav li.spMenu a > span:not(.small) {
        font-size: 27px;
        padding-right: 1.2em;
        position: relative;
        display: inline-block;
    }
    #fixNav li.spMenu a > span:not(.small):before ,
    #fixNav li.spMenu a > span:not(.small):after {
        right: 0.4em;
        top: 50%;
        content: ">";
        position: absolute;
        margin-top: -0.5em;
        font-style: normal;
        font-weight: 100;
        font-size: 0.8em;
        color: #ffffff;
        transform: scale(1,2.05);
    }
    #fixNav li.spMenu a > span:not(.small):after {
        right: 0;
        opacity: .5
    }
    #fixNav li.spMenu a .small {
        width: 100%;
        font-size: 10px;
        margin-bottom: 3px;
    }
    #fixNav li.spMenu a .large {
        font-size: 17px;
    }
    #fixRightNav {
        padding: 20px 10px;
        justify-content: center;
        flex-wrap: wrap;
    }
    #fixRightNav li {
        width: 48%;
        height: 50px;
        margin: 0 2px 3px;
    }
    #fixRightNav a {
        flex-wrap: wrap;
    }
    #fixRightNav a div {
        transform: skewX(15deg);
        text-align: center;
    }
    #fixRightNav a .img {
        margin-bottom: 5px;
        width: 100%;
        text-align: center;
        display: inline-block;
        transform: skewX(0);
    }
    #fixRightNav a .text {
        display: block;
        font-size: 10px;
        /* width: 100%; */
        text-align: center;
        transform: skewX(0);
        margin-left: -0.4em;
    }

    /* Footer */
    #footer {
        padding: 0;
        text-align: right;
        position: relative;
        overflow: visible;
        padding-bottom: 0;
        background: #313131;
        overflow: visible!important;
    }
    #footer:after {
        /*         content: "";
        width: 100%;
        height: 80px;
        display: block;
        position: absolute;
        background: #313131;
        left: 0;
        top: -40px;
        transform: rotate(-5.5deg); */
    }
    #footer #pageTop {
        display: none;
    }
    #footLogoArea {
        /* transform: skewy(-5.5deg); */
        padding: 0% 3% 2%;
    }
    #footLogoAreaInner {
        padding-top: 30px;
        margin-top: -30px;
        flex-direction: column-reverse;
        justify-content: flex-end;
        align-items: flex-end;
        justify-content: flex-end;
    }
    #footLogoAreaInner .rightWrap {
        margin-bottom: 10px;
        width: 100%;
    }
    #contactAreaWrap {
        width: 100%; padding-right: 0 !important;
    }
    #contactArea .label { padding:5px 10px !important; }
    #contactArea .tel { font-size:5vw !important; }
    #contactArea .time { font-size:3vw !important; padding: 4px 0 !important; }

    #contactArea {
        justify-content: center !important;
    }
    #footLogoAreaInner .leftWrap {
        width: 100%;
        text-align: center;
        padding: 1em 0;
    }
    #footLogoArea #footLogo {
        margin-bottom: 1.5%;
        
    }
    #footLogoArea #footLogo a {
        width: 30%;
        display: inline-block;
        max-width: 183px;
        min-width: 100px;
    }
    #footLogoArea #footLogo a img {
        width: 100%;
    }
    #footLogoArea #copy {
        font-size: 11px;
        /* transform: skewy(5.5deg); */
    }
}
@media screen and (max-width: 480px) {
    
    a.btn.apply > span,a.btn.applylink > span,a.btn.inquiry > span { border-width:3px; }

}
/*TOP PAGE*/
#mainVisual {
    position: relative;
    overflow: hidden;
}
#mainVisual .mainImg {
    width: 100%;
    /* margin-bottom: -8%; */
    position: relative;
    /* z-index: 10 */
    /* opacity: 0; */
    /* transition: 1.5s; */
    z-index: -1;
    /* transition-delay: 2.5s; */
}
#mainVisual .pc .layer {
    position: absolute;
    width: 100%;
    /* transition: 10s; */
    transition-duration: 20s;
    /* opacity: .5; */
    transition-timing-function: cubic-bezier(0.7, 0.85, 0.65, 0.91);
    /* transition-timing-function: linear; */
    left: 0;
    /* top: 5%; */
    /* transition: none!important; */
}

#mainVisual .pc .layer1 {/* top: 6%; */transform: scale(1.2) translate(0,6%);transform: scale(1) translate(-0.5%,0%);transform-origin: center 90%;}
#mainVisual .pc .layer2 {/* left: -4%; */transform: scale(1) translate(-1%,0%);transform-origin: center 90%;}
#mainVisual .pc .layer2_2 {/* left: -4%; */transform: scale(1) translate(0.5%,0%);transform-origin: center 90%;}
#mainVisual .pc .layer3 {/* left: 4%; */transform: scale(1) translate(2%,0%);transform-origin: center 90%;}
#mainVisual .pc .layer3_2 {/* left: 4%; */transform: scale(1) translate(3%,0%);transform-origin: center 90%;}
#mainVisual .pc .layer4 {/*     top: 5%; *//* transform: scale(0.8); */transform: scale(1) translate(4%,0%);transform-origin: center 90%;}
#mainVisual.on .pc .layer {
    /* opacity: 1; */
    left: 0;
    top: 0;
    transform: scale(1) translate(0);
}
#mainVisual .pc .mask {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
}
#opening {
    background: #fff;
    position: fixed;
    z-index: 9990;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    /* transition: 1s;
    transition-delay: 1.5s; */
    /* display: none; */
}
#video {
    /* position: fixed; */
    /* width: 100%; */
    /* height: 100%; */
    /* left: 0; */
    /* top: 0; */
    /* display: flex; */
    /* z-index: 9999; */
    /* background: rgba(0,0,0,1); */
    /* padding: 50px 0; */
}
#videoFill {
    position:absolute;
    width: 64px;
    height: 64px;
    right: 0;
    top: 0px;
    z-index: 9999;
    display: block;
}
#videoFill:after,
#videoFill:before {
    content: "";
    width: 100%;
    height: 2px;
    background: #fff;
    position: absolute;
    display: block;
    left: 0;
    top: 50%;
    margin-top: -1px;
    z-index: 1;
}
#videoFill:after {
    transform: rotate(45deg)
}
#videoFill:before {
    transform: rotate(-45deg)
}
#videoWrap {
    position: relative;
    width: 100%;
    /* height: 100%; */
    /* padding-bottom: 56.25%; */
    /* left: 10%; */
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    padding: 50px 0;
    margin: auto;
    max-width: 900px;
}
#videoWrap h2 {
    width: 100%;
    font-size: 25px;
    margin-bottom: 15px;
}
#videoInner {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 56.25%;
    /* left: 5%; */
    /* max-height: 100%; */
}
#videoWrap iframe {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}
@media screen and (max-width: 768px) {
    #videoWrap h2 {
        font-size: 2.5vw;
        text-align: left;
    }
}
#titleLogo {
    position: absolute;
    left: 50%;
    width: 40%;
    top: 50%;
    /* max-width: 800px; */
    transform: translate(-50%,-50%);
    /* transition: 1s;
    transition-delay: 0s;
    opacity: 0; */
    display: none;
}
@media screen and (max-width: 768px) {
    #titleLogo {
        width: 65%;
    }
}
#opening.load  {
    /* opacity: 0; */
}
.load #titleLogo {
    opacity: 1;
}
#mainVisual.load img,
#mainVisual.load #titleLogo,
.load #planNav {
    opacity: 1;
}
#planNav {
    background: url(../images/plan_nav_bg.png) no-repeat center right;
    background-size: contain;
    position: absolute;
    right: 0;
    bottom: -1px;
    width: 66.7%;
    height: 0;
    padding-bottom: 11.4%;
    /* opacity: 0; */
    /* transition: 1s opacity 4s; */
}
#planNav a {
    position: absolute;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #f59b00;
    font-weight: 600;
    align-content: center;
    z-index: 100;
    padding-left: 38%;
    /* pointer-events: none; */
}
#planNav a > span {
    display: flex;
    align-items: center;
    font-size: 1vw;
    position: relative;
}
/* #planNav a > span:after {
content: "COMING SOON";
font-size: 82.5%;
display: inline-block;
padding: 0.8em 5em;
position: absolute;
background: rgba(0,0,0,0.6);
left: 50%;
top: 50%;
transform: rotate(-4.5deg) translate(-50%,-50%);
white-space: nowrap;
} */
#planNav a .small {
    font-size: 100%;
    margin-right: 0.4em;
    margin-top: .1em;
}
#planNav a .medium {
    font-size: 173.3%;
    display: flex;
    align-items: center;
}
#planNav a .large {
    font-size: 153.8%;
    font-style: italic;
    margin-top: -.1em;
    position: relative;
    padding-right: 1.25em;
}
#planNav a .large:before ,
#planNav a .large:after {
    content: ">";
    /*     width: 0.6em;
    height: 0.6em; 
    border: 1px solid #fff;
    border-width: 2px 2px 0 0;*/
    position: absolute;
    /* transform: rotate(45deg); */
    transform-origin: center;
    right: 0.4em;
    top: 50%;
    margin-top: -0.55em;
    font-style: normal;
    font-weight: 100;
    font-size: 0.9em;
    transform: scale(1,2.05);
}
#planNav a .large:after {
    right: 0;
    opacity: .5
}
#topCont {
    width: 100%;
    margin-top: -7%;
    position: relative;
}
#topCont section {
    display: flex;
    align-items: center;
    margin-bottom: -7.9%;
    position: relative;
    width: 100%;
    overflow: hidden;
}
#topCont #plan5 {margin-bottom: 0;}
#topCont section:after {
    content: "";
    width: 34.2%;
    padding-bottom: 11.4%;
    position: absolute;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    left: 50%;
    bottom: 4.8%;
    z-index: 10;
    transform: translate(-50%,0);
    opacity: 0;
    transition: .75s opacity 1.5s;
    /* transition-delay: 1.5s; */
}
#topCont section.on:after {
    opacity: 1;
}
#topCont section:nth-child(even):after {
    bottom: 3%;
}
#topCont section#plan1:after {background-image: url(../images/plan1_text.png)}
#topCont section#plan3:after {background-image: url(../images/plan2_text.png)}
#topCont section#plan4:after {background-image: url(../images/plan3_text.png)}
#topCont section#plan5:after {background-image: url(../images/plan4_text.png)}
/* #topCont section#plan5:after {background-image: url(../images/plan5_text.png)} */
#topCont section:nth-child(even) {
    flex-direction: row-reverse
}
#topCont section .imgArea {
    width: 50%;
    position: relative;
}
#topCont section .imgArea:after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    position: absolute;
    top: 50%;
    margin-top: -40px;
    transition: .75s .75s;
    opacity: 0;
}
#topCont section:nth-child(odd) .imgArea:after {
    border-width: 40px 50px 40px 0;
    border-color: transparent #ffffff transparent transparent;
    right: -50px;
}
#topCont section:nth-child(even) .imgArea:after {
    border-width: 40px 0 40px 50px;
    border-color: transparent transparent transparent #ffffff;
    left: -50px;
}
#topCont section.on:nth-child(odd) .imgArea:after {
    right: 0;
    opacity: 1;
}
#topCont section.on:nth-child(even) .imgArea:after {
    left: 0;
    opacity: 1;
}
#topCont section .imgArea img {
    width: 100%;
    opacity: 0;
    transform: translate(20%,1.8%);
    transition: 1s;
}
#topCont section:nth-child(even) .imgArea img {
    transform: translate(-20%,1.8%);
}

#topCont section.on .imgArea img {
    transform: translate(0);
    opacity: 1;
}
#topCont section .textArea {
    width: 50%;
    /* display: inline-flex; */
    /* flex-wrap: wrap; */
    transform: scale(1.15);
    opacity: 0;
    transition: .75s .75s;
    transition-property: transform , opacity;
}
#topCont section.on .textArea {
    opacity: 1;
    transform: scale(1);
}
#topCont section:nth-child(even) .textArea {
    text-align: right;
}
#topCont section .textArea .textAreaInner {
    display: inline-block;
    flex-wrap: wrap;
    text-align: left;
}
#topCont section:nth-child(even) .textArea .textAreaInner {
    padding-right: 8%;
    padding-left: 5%;
}
#topCont section:nth-child(odd) .textArea .textAreaInner {
    padding-left: 8%;
    padding-right: 5%;
}
#topCont section .textHead {
    display: flex;
    margin-bottom: 30px;
    padding-left: 105px;
    background-repeat: no-repeat;
    background-position: left center;
    min-height: 90px;
    align-items: center;
    flex-wrap: wrap;
    transition: .75s
}
#topCont section .textHead:hover {
    opacity: .75
}
#topCont section#plan1 .textHead {background-image: url(../images/plan1_icon.svg)}
#topCont section#plan2 .textHead {background-image: url(../images/plan2_icon.svg)}
#topCont section#plan3 .textHead {background-image: url(../images/plan3_icon.svg)}
#topCont section#plan4 .textHead {background-image: url(../images/plan4_icon.svg)}
#topCont section#plan5 .textHead {background-image: url(../images/plan5_icon.svg)}
#topCont section .textHead h2 {
    font-size: 42px;
    font-weight: 700;
    font-style: italic;
    letter-spacing: 2px;
    margin-bottom: 0.4em;
    position: relative;
    padding-right: 0.95em;
    /* width: 100%; */
    word-break: keep-all;
}
@media screen and (min-width: 1000px) and (max-width: 1280px) {
    #topCont section .textHead h2 {
        font-size: 3.4vw;
    }
}
@media screen and (max-width: 999px) {
    #topCont section .textHead h2 {
        font-size: 33px;
    }
}
#topCont section .textHead h2 .small {
    font-size: 71.4%;
    font-weight: 900;
    position: relative;
    word-break: keep-all;
}

#topCont section .textHead h2:before ,
#topCont section .textHead h2:after {
    right: 0.4em;
    top: 50%;
    content: ">";
    position: absolute;
    margin-top: -0.5em;
    font-style: normal;
    font-weight: 100;
    font-size: 0.8em;
    color: #f59b00;
    transform: scale(1,2.05) translateX(0);
    display: block;
    transition: 0.75s;
}
#topCont section .textHead h2:after {
    right: 0;
    opacity: .5;
    transition-delay: .1s
}
#topCont section .textHead h2:before {
    transition-delay: 0s
}
#topCont section .textHead:hover h2:before ,
#topCont section .textHead:hover h2:after {
    transform: scale(1,2.05) translateX(5px);
}
#topCont section .textHead:hover h2:after {
    transition-delay: 0s
}
#topCont section .textHead:hover h2:before {
    transition-delay: .1s
}
#topCont section .textHead .lead {
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
}
#topCont section .planList {
    width: 100%;
    display: inline-block;
    /* text-align: center; */
}
#topCont section .planList li {
    position: relative;
    overflow: hidden;
    max-width: 368px;
    background: rgba(255,255,255,.8);
    z-index: 100;
    margin: 0 auto 10px;
}
#topCont section .planList li:before ,
#topCont section .planList li:after {
    content: "";
    display: block;
    width: 30px;
    height: 30px;
    border-width: 1px;
    border-style: solid;
    position: absolute;
    background: #fff;
    transform: rotate(45deg);
    z-index: 1;
}
#topCont section .planList li:before {
    left: -20px;
    top: -20px
}
#topCont section .planList li:after {
    right: -20px;
    bottom: -20px
}
#topCont section .planList li > div {
    display: flex;
    justify-content: space-between;
    padding: 10px 30px;
    font-style: italic;
    border-width: 1px;
    border-style: solid;
    /* vertical-align: bottom; */
    align-items: flex-end;
    font-size: 18px;
}
#topCont section .planList li > div .text {
    font-weight: 400;
    align-self: center;
}
#topCont section .planList li > div .text span {
    font-size: 77.7%;
    margin-left: 10px
}
#topCont section .planList li > div .price {
    font-size: 133.3%;
    font-weight: 700;
}
#topCont section .planList li.type1 {color: #dd0041}
#topCont section .planList li.type2 {color: #006835}
#topCont section .planList li.type3 {color: #74c2e6}
#footer:not(.top) #planFootNav {
    display: none
}
#planFootNav {
    background: #141414;
    position: fixed;
    bottom: 0;
    width: 140%;
    height: 0;
    padding: 0 20% 11%;
    transform: rotate(-4.5deg);
    transform: rotate(4.5deg);
    transform-origin: right bottom;
    transform-origin: left bottom;
    overflow: hidden;
    z-index: 110;
    transition: 0.5s ease-out right;
    right: 0;
}
#planFootNav.off {
    right: 100%;
}
#planFootNav.on {
    position: absolute;
    bottom: auto;
    top: -5.3%;
}
#planFootNav a {
    transform: rotate(4.5deg);
    transform: rotate(-4.5deg);
    position: absolute;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #f59b00;
    font-weight: 600;
    align-content: center;
    z-index: 100;
    padding-right: 4%;
    padding-bottom: 1.6%;
    right: -8%;
    top: -9%;
    padding-right: 0;
    padding-left: 4%;
    right: auto;
    left: -8%;
    /* top: 0; */
    /* pointer-events: none; */
}
#planFootNavInner {
    display: flex;
    align-items: baseline;
    font-size: 1.1vw;
    position: relative;
}
/* #planFootNavInner:after {
content: "COMING SOON";
font-size: 82.5%;
display: inline-block;
padding: 0.8em 5em;
position: absolute;
background: rgba(0,0,0,0.6);
left: 50%;
top: 50%;
transform: rotate(-4.5deg) translate(-50%,-50%);
} */
#planFootNav a .small {
    font-size: 100%;
    margin-right: 0.4em;
    margin-top: .1em;
}
#planFootNav a .medium {
    font-size: 173.3%;
    display: flex;
    align-items: baseline;
}
#planFootNav a .large {
    font-size: 153.8%;
    font-style: italic;
    margin-top: 0em;
    position: relative;
    padding-right: 1.25em;
}
#planFootNav a .large:before ,
#planFootNav a .large:after {
    content: ">";
    /*     width: 0.6em;
    height: 0.6em; 
    border: 1px solid #fff;
    border-width: 2px 2px 0 0;*/
    position: absolute;
    /* transform: rotate(45deg); */
    transform-origin: center;
    right: 0.4em;
    top: 50%;
    margin-top: -0.55em;
    font-style: normal;
    font-weight: 100;
    font-size: 0.9em;
    transform: scale(1,2.05);
}
#planFootNav a .large:after {
    right: 0;
    opacity: .5
}
#ticketNaviBtn {
    position: fixed;
    bottom: 0;
    z-index: 1000;
    text-align: right;
    width: 100%;
    right: 0;
    pointer-events: none;
    display: none;
}
#ticketNaviBtn.on {
position: absolute;
bottom: calc(100%);
}
#ticketNaviBtn.off {
    
}
#ticketNaviBtn a {
    display: block;
    background: #000;
    padding: 30px 30px;
    border-radius: 50px 0 0 0;
    color: #fff;
    transform-origin: right top;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 10px rgba(0,0,0,0.2);
    transition: .25s;
    transition-property: background,border;
    display: inline-flex;
    pointer-events: all;
    margin-right: -4px;
}

#ticketNaviBtn a:hover {
    background: #f2bc00;
}
#ticketNaviBtn a:hover> div:after { transform:translateX(10px); }
#ticketNaviBtn a > div {
    display: flex; align-items: center; justify-content: center; gap: 10px; font-weight: 900; position: relative;
}
#ticketNaviBtn a > div:after { content:"→"; font-size:150%; border:3px solid #fff; border-radius:100px; padding:6px; transition:.3s; }
#ticketNaviBtn a > div p.img img {
    width: 100px
}
#ticketNaviBtn .text {
  font-size: 180%;
  text-align: center;
}

@media screen and (max-width: 768px) {
    #ticketNaviBtn { width:20%;  }
    #ticketNaviBtn a { padding: 1.2em; margin:0; border-radius: 2em 0 0 0; font-size: 3vw;}
    #ticketNaviBtn a > div { display:block; }
    #ticketNaviBtn a > div:after{ display:none; }
    #ticketNaviBtn .text { font-size: 100%; margin-top:.5em; }

    a.btn{ min-width:200px; width: 90%; font-size:3.2vw;  }
    a.btn.apply,a.btn.applylink,a.btn.inquiry{ min-width:200px;  font-size:4vw; width:100%; }
    a.btn.apply > span{ background-size:16% auto; }
    a.btn.applylink > span{ background-size:28px auto; }
    a.btn.apply > span:before,a.btn.applylink > span:before{ border-width:2px; color: #fff; font-size:90%; padding:.5em; top: calc(50% - 1.2em); }
    a.btn.inquiry > span:before{ border-width:2px; font-size:90%; padding:.5em; top: calc(50% - 1.2em); }

    #mainVisual {
        overflow: hidden;
        padding-bottom: 8%;
        padding-top: 10.4%;
        padding-top: 70px;
    }
    #mainVisual .mainImg {
        margin-bottom: 0
    }
    #planNav {
        background: #141414;
        width: 140%;
        height: 0;
        padding: 0 0 20%;
        transform: rotate(5deg);
        transform-origin: left center;
        right: auto;
        bottom: -0.8%;
        left: -20%;
        overflow: hidden;
        z-index: 11;
    }
    #planNav a {
        transform: rotate(-5deg);
        transform-origin: left top;
        padding-left: 17.5%;
        justify-content: flex-start;
        left: 0;
        align-items: flex-end;
        padding-bottom: 2.2%;
    }
    #planNav a > span {
        font-size: 2.3vw;
        flex-wrap: wrap;
    }
    #planNav a > span:after {
        left: 0;
        font-size: 100%;
        transform: rotate(-4.5deg) translate(0,-50%);
    }
    #planNav a .small {
        width: 100%;
        margin-bottom: 0.3em;
    }
    #planNav a .medium {
        font-size: 197%;
        letter-spacing: .05em;
    }
    #planNav a .large {
        margin-left: .05em;
        font-size: 145%;
        padding-right: 1.2em;
    }
    #topCont {
        /* margin-top: 3.3%; */
        margin-top: 0;
    }
    #topCont section {
        margin-bottom: 0;
        display: block;
    }
    #topCont section:after {
        transform: none;
        left: auto;
        right: 8%;
        width: 50%;
        background-position: center bottom;
        transition: .5s opacity 1.25s;
    }
    #topCont section.on:after {
        opacity: 1
    }
    #topCont section:nth-child(odd):after {
        top: 0;
        bottom: auto;
        padding-bottom: 54.1%;
    }
    #topCont section:nth-child(even):after {
        top: 0;
        bottom: auto;
        padding-bottom: 58.2%;
    }
    #topCont section .imgArea {
        width: 100%;
    }
    #topCont section .imgArea img {
        transition: .75s
    }
    #topCont section .imgArea:after {
        content: none;
    }
    #topCont section .textArea {
        width: 100%;
        padding: 2.5% 0 13%;
        transition: .75s .5s;
    }
    #topCont #plan5 .textArea {
        padding-bottom: 8%;
        padding-bottom: calc(8% + 80px);
    }
    #topCont section .textArea .textAreaInner {
        padding: 0 5%!important;
        width: 100%;
        text-align: center;
    }
    #topCont section .textHead {
        display: inline-flex;
        text-align: left;
        background-size: 64px 64px;
        padding-left: 80px;
        margin-bottom: 4%;
        min-height: 64px
    }
    #topCont section .textHead h2 {
        font-size: 6.5vw;
        display: inline-block;
        padding-right: 1.3em;
        margin-bottom: 0.3em;
    }
    #topCont section .textHead h2 span {
        font-size: 75%
    }
    #topCont section .textHead .lead {
        font-size: 2.25vw;
    }
    #topCont section .planList {
        padding: 0 3.5%;
    }
    #topCont section .planList li {
        margin: 0 auto 15px;
    }
    #topCont section .planList li > div {
        font-size: 17px;
        padding: 10px 6%;
    }
    #planFootNav {
        display: none!important
    }
}
@media screen and (max-width: 480px) {
    #mainVisual {
        padding-top: 60px;
    }
    #topCont section .textArea .textAreaInner {
        padding: 0 10px!important;
    }
    #topCont section .textHead {
        padding-left: 60px;
        background-size: 50px 50px;
        min-height: 50px
    }
    #topCont section .textHead .lead {
        font-size: 12px;
    }
}
@media screen and (max-width: 400px) {
    #topCont section .planList li > div {
        font-size: 15px;
        padding: 10px 13px;
    }
}

/* 下層プランページ 共通  */
#underMainArea {
    overflow: hidden;
    background: #eee;
}
#underMainArea > h1{ background-color:#f59b00; color:#fff; height:300px; text-align:center; display:flex; align-items:center; justify-content:center; font-size:300%; font-weight:900; letter-spacing:0.1em; border-bottom:4px solid #000; text-shadow:4px 4px 0 rgba(0, 0, 0, .2); }
#underMainArea > h1 span{ margin-top:70px; }
#underMainArea.end > h1 span{ margin-top:80px; }
#underMainArea h1 span > span{ display:block; margin-top:1em !important; font-size:40%; background-color:rgba(0, 0, 0, .8); text-shadow:none; padding:.5em 2em; }
#underMainVisual {
    position: relative;
}
#underMainVisual > img {
    width: 100%;
    height: 700px;
    object-fit: cover;
}
/*plan2のみ*/
#com {
    position: absolute;
    z-index: 50;
    bottom: 14px;
    width: 100%;
    left: 0;
    font-size: 11px;
    color: #555;
    text-align: right;
    padding-right: 11px;
}
/* MV ラベル */
#planLabel {
    position: absolute;
    width: 100%;
    bottom: -30px;
}
#planLabel .textHeadInner {
    width: 100%;
    max-width: 1120px;
    margin: auto;
}
#planLabel .textHeadInner .bgWrap {
    display: inline-block;
    padding: 0;
    position: relative;
    z-index: 10;
    width: 50%;
}
#planLabel .textHeadInner .bgWrap .bgInner {
    display: flex;
    position: relative;
    align-items: center;
    gap: 20px;
    border-radius: 20px;
    padding: 25px 20px;
    border: 5px solid #000;
    z-index: 2;
    background: #fff;
}
#planLabel .textHeadInner .bgWrap:after{ content:""; position: absolute; left: 8px; top: 8px;z-index: -1; width: 100%; height: 100%; background: repeating-linear-gradient(-45deg, #f49c00, #f49c00 4px, #fff 4px, #fff 7px); opacity: .8; border-radius:20px; transition:.3s; }
#planLabel .textHeadInner .bgWrap .bgInner .txt img{ display:block; margin:8px 0 12px;  }
#planLabel .textHeadInner .bgWrap .bgInner .txt img:first-child{ width: 400px; }
#planLabel .textHeadInner .bgWrap .bgInner .txt img:nth-child(2){ height:12px; width:auto; }
#planLabel .textHeadInner .bgWrap .bgInner .txt img.plan2_sub{ position:absolute; right:1.4em; top:47%; transform: translateY(-50%); width:34%; height: auto; margin:0; }

#plan-fuki{ position:absolute; bottom: 100%; left:-50px; z-index:10; width:320px; }

#planLabel .textHeadInner .bgWrap .bgInner .left {
    
}
#planLabel .textHeadInner .bgWrap .bgInner .left img {
    width: 85px;
}

@media screen and (max-width: 1280px) { 
    #underMainVisual > img { height:600px; }
    #planLabel { bottom:-20px; }
    #planLabel .textHeadInner { width:90%; }
}

#planLabel .textHeadInner h2 {
    font-size: 42px;
    font-weight: 700;
    font-style: italic;
    letter-spacing: 0px;
    margin-bottom: 0.4em;
    position: relative;
    /* width: 100%; */
    word-break: keep-all;
}
#planLabel.planlist .textHeadInner h2 {
    color: #fff;
    font-size: 36px;
    padding: 0 20px;
}
#planLabel .textHeadInner h2 .small {
    font-size: 71.4%;
    font-weight: 900;
    position: relative;
    word-break: keep-all;
}
#planLabel .textHeadInner .lead {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.7;
    word-break: keep-all;
}
#planLabel .textHeadInner .lead span {
    font-size: 125%;
    word-break: keep-all;
    white-space: nowrap;
}

/* 座席表 */
#seatArea {
    background: #ebe2d7;
    text-align: right;
    padding: 20px 0 40px;
    transform-origin: left top;
    border-bottom: 4px solid #000;
}
#seatAreaInner {
    max-width: 1120px;
    margin: auto;
    position: relative;
    padding-right: 360px;
    padding-top: 3%;
}
#seatAreaInner #seatImgWrap {
    position: absolute;
    right: 0;
    bottom: 0
}
#floatSeatDetail {
    position: absolute;
    text-align: left;
    width: 100%;
    height: 100%;
}
#floatSeatDetail li {
    position: absolute;
    width: 350px;
    background: #fff;
    padding: 15px;
    font-size: 16px;
    box-shadow: 2px 2px 10px -5px black;
    left: 50%;
    margin-left: -175px;
    bottom: 65%;
    transition: .75s;
    opacity: 0;
    transform: translate(0,0);
    z-index: 1;
    border-radius: 10px;
}
#floatSeatDetail li.on {
    transform: translate(0,-30px);
    opacity: 1;
    z-index: 2;
}
#floatSeatDetail li:before ,
#floatSeatDetail li:after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 18px 18px 0 18px;
    border-color: #ffffff transparent transparent transparent;
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -18px;
    margin-top: -1px;
}
#floatSeatDetail li:after {
    z-index: 1;
}
#floatSeatDetail li:before {
    border-color: #000 transparent transparent transparent;
    margin-left: -16px;
    margin-top: 0px;
    opacity: .25;
}
#floatSeatDetail li .ttl {
    position: relative;
    padding: 4px 10px;
    margin-bottom: 10px;
    font-weight: 900;
}
#floatSeatDetail li .ttl span {
    margin-left: 10px
}
#floatSeatDetail li .ttl:after {
    content: "";
    width: 4px;
    height: 100%;
    position: absolute;
    display: block;
    left: 0;
    top: 0;
}
#floatSeatDetail li#seatA .ttl:after {background: #dd0041}
#floatSeatDetail li#seatB .ttl:after {background: #006835}
#floatSeatDetail li#seatC .ttl:after {background: #7dcef4}

#floatSeatDetail li .img {
    margin-bottom: 12px;
}
#floatSeatDetail li .text {
    font-size: 75%;
    line-height: 1.5;
}
#floatSeatDetail li .text .large {
    display: block;
    font-size: 125%;
}

#seatAreaInner > ul {
    display: inline-flex;
}
#seatAreaInner > ul li.text {
    font-weight: 700;
    color: #333;
    margin-right: 15px;
    text-align: center;
}
#seatAreaInner > ul li:not(.text) {
    background: #fff;
    width: 130px;
    margin: 0 5px;
    box-shadow: 0 0 5px -1px rgba(0, 0, 0, 0.5);
    font-size: 18px;
    border-radius: 10px;
    overflow: hidden;
}
#seatAreaInner > ul li .seat {
    height: 90px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    align-content: center;
    justify-content: center;
    position: relative;
}
#seatAreaInner > ul li.text .seat {
    line-height: 1.6
}
#seatAreaInner > ul li .price {
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    padding: 10px 0;
}
#seatAreaInner > ul li.text .price span {
    font-size: 75%;
}
#seatAreaInner > ul li:not(.text) .seat {
    text-align: center;
    font-size: 100%;
    color: #fff;
    text-shadow: 1px 1px 0px rgba(0, 0, 0, .2);
    padding-bottom: 29px;
    font-weight: bold;
}
#seatAreaInner > ul li:not(.text) .seat:before {
    content: "";
    display: block;
    width: 26px;
    height: 26px;
    /*     border: 2px solid #fff;
    border-radius: 20px; */
    position: absolute;
    bottom: 8px;
    left: 50%;
    margin-left: -13px;
    background: url(../images/seat_btn_img.png) no-repeat;
    background-size: 26px;
}
#seatAreaInner > ul li:not(.text) .on .seat:before {
    background-image: url(../images/seat_btn_img_off.png);
}
#seatAreaInner > ul li:not(.text) .seat:after {
    /* content: "+"; */
    font-size: 16px;
    display: block;
    position: absolute;
    bottom: 16px;
}
#seatAreaInner > ul li.seatA .seat {
    background: #dd0041;
}
#seatAreaInner > ul li.seatB .seat {
    background: #006835;
}
#seatAreaInner > ul li.seatC .seat {
    background: #7dcef4;
}
#seatAreaInner > ul li:not(.text) .seat span {
    font-size: 66%;
    width: 100%;
    margin-top: 5px;
}
#seatAreaInner > ul li:not(.text) .price {
    font-size: 130%;
    font-weight: 700;
    text-align: center;
    color: #000;
    padding: 10px 0;
}
#seatAreaInner > ul li .price b { font-weight: 700; padding-bottom:.3em; position:relative; padding-left:.8em; }
#seatAreaInner > ul li .price b:before{ content:""; position:absolute; left:-.2em; top:.15em; width:.8em; height:.8em; background-repeat:no-repeat; background-position: center center; background-size:contain;   }
#seatAreaInner > ul li.seatA .price b:first-child:before{ background-image:url(../images/seat_a1.svg); }
#seatAreaInner > ul li.seatA .price b:before{ background-image:url(../images/seat_a2.svg); }
#seatAreaInner > ul li.seatB .price b:first-child:before{ background-image:url(../images/seat_b1.svg); }
#seatAreaInner > ul li.seatB .price b:before{ background-image:url(../images/seat_b2.svg); }
#seatAreaInner > ul li.seatC .price b:first-child:before{ background-image:url(../images/seat_c1.svg); }
#seatAreaInner > ul li.seatC .price b:before{ background-image:url(../images/seat_c2.svg); }

/* 特典エリア 共通 */

#underCont {
    max-width: 1000px;
    padding: 70px 10px;
    margin: auto;
}
.numList {
    display: flex;
    justify-content: space-between;
    margin-bottom: 30px;
}
.numList li {
    background: #000;
    color: #fff;
    text-align: center;
    font-size: 30px;
    letter-spacing: 1px;
    padding: 10px 0;
    width: 100%;
    border-radius: .2em;
    font-weight: bold;
}
.numList.c4 li {
    width: calc((100% - 60px) / 4);
}
.numList li span {
    font-size: 18px;
}
.privilegeCont li .label {
    position: absolute;
    background: #f59b00;
    color: #fff;
    font-size: 14px;
    text-align: center;
    overflow: hidden;
    left: 15px;
    top: 0;
    font-weight: bold;
    padding: 6px 20px 8px;
    border-radius: 100px;
}
.ippan .privilegeCont li .label {
    left: 0;
}

.privilegeCont li .label span {
    font-size: 20px;
    margin-left: 2px;
}

#underCont:not(.ippan) .privilegeCont {
    display: flex;
    justify-content: space-between;
}
.privilegeCont > li {
    width: 33%;
    width: calc(100% / 3);
    position: relative;
    padding: 30px 20px 15px;
    text-align: center;
    border-left: 1px solid #898989;
}
.privilegeCont.col2 > li {
    width: 50%
}
.privilegeCont > li.wide {
    width: 66%;
    width: calc(100% / 3 * 2);
}
.privilegeCont > li.ptn2 {
    border: 1px solid #000; background: #fff; border-radius: 5px;
}
.privilegeCont > li:first-child {
    border-left: none
}
.privilegeCont.col1 > li {
    width: 100%;
    padding: 20px 0;
    margin-bottom: 20px;
    border-bottom: 1px solid #898989;
    border-left: none
}
.privilegeCont > li:not(.noIcon):before ,
.privilegeCont > li:not(.noIcon):after {
    content: "";
    position: absolute;
    display: block;
    width: 40px;
    height: 7px;
    background: #f59b00;
    bottom: 50%;
    left: 0;
    margin-left: -20px;
    margin-bottom: -3px;
}
.privilegeCont > li:not(.noIcon):after {
    width: 7px;
    height: 40px;
    margin-left: -4px;
    margin-bottom: -20px;
}
.ippan .privilegeCont > li:not(.noIcon):before ,
.ippan .privilegeCont > li:not(.noIcon):after {
    bottom: 100%;
    left: 50%;
    margin-left: -20px;
    margin-bottom: 17px;
}
.ippan .privilegeCont > li:not(.noIcon):after {
    margin-left: -3px;
    margin-bottom: 0px;
}
.privilegeCont .itemBox .floatTtl {
    margin: -.725em 0;
    font-size: 15px;
    font-weight: 600;
}
.privilegeCont .itemBox .floatTtl .large {
    font-size: 146.6%
}
.privilegeCont .itemBox.colType {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0 2em;
    
}
.privilegeCont .itemBox .itemImg {
    margin: 25px 0 15px;
}
.privilegeCont .itemBox .itemImg img {
    width: 100%;
    max-width: 290px; border-radius: .6em;
}
.privilegeCont .itemBox .itemTextArea {
    font-size: 18px;
}
.privilegeCont .itemBox.colType .itemTextArea {
    font-size: 24px
}
.privilegeCont .itemBox.colType .itemTextArea .itemText{ text-align:left; }
.privilegeCont .itemBox .itemTextArea .itemText b,.itemBox .floatTtl b,.planWrap:not(.ippan) .tableArea > p:not(.label)  b{ display:inline-block; font-size:85%; color:#fdffba; background-color:#40b240; border-radius:.2em; padding:.2em .5em; }
.itemBox .floatTtl b{ font-size:110%; padding: .4em .5em; }
.privilegeCont .itemBox .itemTextArea .itemText {
    font-weight: 600;
    line-height: 1.4;
    margin-bottom: 10px;
    word-break: keep-all;
}
.privilegeCont .itemBox .itemTextArea .itemText span.large {
    font-size: 133%;
    display: inline-block;
}
.privilegeCont .itemBox .itemTextArea .itemText span.orange {
    color: #f59b00
}
.privilegeCont .comments {
    text-align: left;
    font-size: 12px;
    color: #444;
    display: inline-block;
    line-height: 1.3;
}
.privilegeCont .comments.tac {
    text-align: center;
}
.privilegeCont .comments li {
    padding-left: 1em;
    text-indent: -1em;
    margin-bottom: 8px;
}

.privilegeCont li .wideInner {
    width: 90%;
    max-width: 500px;
    margin: auto;
    text-align: left;
} 
.privilegeCont li .mainText {
    margin: 25px 0 15px;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.4;
    padding: 20px 10px;
    background: #fdebcc;
    /* width: 80%; */
    /* max-width: 500px; */
    text-align: center;
}
.privilegeCont li .mainText .large {
    font-size: 133.3%;
    word-break: keep-all;
}
.privilegeCont li .mainText .large span {
    display: block;
}
.privilegeCont li .dateDetail {
    margin-top: 20px;
    padding: 20px;
    border: 1px dashed #000;
}
.privilegeCont li .dateDetail .detailList {
    font-size: 14px
}
.privilegeCont li .dateDetail .detailList > dt {
    float: left;
    width: 5em;
    font-weight: 600;
    border-right: 1px solid #f59b00;
    clear: both;
}
.privilegeCont li .dateDetail .detailList > dd {
    margin-left: 6em;
    margin-bottom: 15px
}
.privilegeCont li .dateDetail .detailList > dd:last-child {
    margin-bottom: 0;
}
.privilegeCont li .dateDetail .detailList > dd > div {
    margin-bottom: 6px;
    /* display: flex; */
    /* align-items: flex-end; */
}
.privilegeCont li .dateDetail .detailList > dd > div.flx {
    display: flex;
}
.privilegeCont li .dateDetail .detailList > dd > div > p{

}
.privilegeCont li .dateDetail .detailList > dd > div > p > span {
    display: block;
    margin-bottom: 5px;
    word-break: keep-all;
}
.privilegeCont li .dateDetail .detailList > dd .small {
    font-size: 85.7%;
}
.privilegeCont li .dateDetail .detailList > dd .large {
    font-size: 128.57%;
    font-weight: bold
}

#academyArea {
    border: 2px solid #000;
    margin-top: 40px;
}
#acTopInner {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 25px 0;
}
#acTopInner .text {
    padding: 0 20px;
    font-size: 18px;
    font-weight: 600;
    text-align: center;
    line-height: 1.4;
    word-break: keep-all;
}
#acTopInner .text .large {
    font-size: 133.3%;
    display: inline-block;
}
#acTopInner .text .comments {
    text-align: left;
    font-size: 10px;
    margin-top: 10px;
    color: #555;
}
#acBtm {
    background: #eee;
    padding: 40px;
}
#acBtm p {
    max-width: 770px;
    width: 90%;
    margin: auto;
    line-height: 1.6;
}
/* フッター上 オレンジエリア */
#planFootArea {
    border-top: 5px solid #000;
    background: #ebe2d7;
    padding: 5% 25px 130px;
    text-align: center;
}
#planFootArea h2 {
    color: #3f2d22;
    text-align: center;
    font-size: 24px;
    max-width: 720px;
    position: relative;
    margin: 0 auto 2%;
    vertical-align: middle;
    font-weight: 900;
}
#planFootArea h2:after {
    content: "";
    display: block;
    width: 100%;
    height: 2px;
    background: #3f2d22;
    position: absolute;
    top: 50%;
    left: 0;
}
#planFootArea h2 span {
    display: inline-block;
    background: #ebe2d7;
    position: relative;
    z-index: 1;
    letter-spacing: 0.25em;
    padding: 0 1em;
}
#planFootArea #planList {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 960px;
    margin: auto;
}
#planList li {
    width: calc((100% - 90px) / 4);
    width: calc((100% - 60px) / 3);
    max-width: 300px;
}
#planList li a {
    display: block;
    vertical-align: bottom;
    position: relative;
}
#planList li .img {
    margin-bottom: 10px;
    vertical-align: bottom;
}
#planList li img {
    width: 100%;
    border-radius: 1.5em;
    transition: .5s;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    display: block;
}
#planList li a:hover img {
    opacity: 0.75;
}
#planList li .text {
    display: block;
    position: relative;
    font-weight: 900;
    color: #000;
    font-size: 130%;
}

#planList li a:before{ content:"→"; color: #f49c00; position: absolute; right: 10px; bottom: 0; font-weight: 900; font-size:150%; transition:.3s; z-index:1; }
#planList li a:hover:before{ right:0; }

@media screen and (min-width: 769px) {
    #seatAreaInner #seatImgWrap {
        display: block!important;
    }
}
@media screen and (max-width: 768px) {
    #underMainArea{ font-size:3vw; }
    #underMainVisual {  }
    #underMainVisual > img{ object-fit:unset; width:100%; height:auto; }
    #underCont {
        padding: 70px 10px 100px;
    }
    #com {
        text-align: center;
        bottom: 10px;
        font-size: 10px;
        position: static;
        margin-bottom: -3%;
        margin-top: 5px;
        padding-right: 0;
    }
    #com .dib{
        text-align: left;
        display: inline-block;
        line-height: 1.2;
    }

    #planLabel .textHeadInner .bgWrap { width: 70%; }
    #plan-fuki { width:70%; left: -5%; }
    #planLabel .textHeadInner .bgWrap .bgInner { padding:5%; gap:10px; }


    #planLabel .textHeadInner .bgWrap .bgInner .left {
        margin-top: 0;
    }
    #planLabel .textHeadInner .bgWrap .bgInner .right {
        padding-right: 10px;
        min-width: 250px
    }
    #planLabel .textHeadInner .bgWrap .bgInner .txt img:nth-child(2) { height: 10px;}
    #planLabel .textHeadInner .bgWrap .bgInner .left{ width: 25%; max-width:85px; }
    #planLabel .textHeadInner .bgWrap .bgInner .left img { width:100%; }
    #planLabel .textHeadInner .bgWrap .bgInner h1{ width:75%; }
    #planLabel .textHeadInner .bgWrap .bgInner .txt img.plan2_sub{ right:.5em; width:33%; }

    /* 座席図料金 */
    #seatArea {
        transform: none;
        margin-bottom: 0;
    }
    #seatAreaInner {
        transform: none;
        padding: 7% 0 0;
        text-align: center;
    }
    #seatBtns {
        cursor: pointer;
        /* flex-wrap: wrap; */
        justify-content: center;
        max-width: 600px;
        position: relative;
        padding-bottom: 70px;
    }
    #seatBtns a {
        pointer-events: none;
    }
    #seatAreaInner > ul li.text .seat { line-height:1.4; }
    #seatAreaInner > ul li#btn {
        width: 90%;
        width: calc(100% - 20px);
        /* width: 100%; */
        margin: 0;
        padding: 15px 10px;
        background: #f59b00;
        color: #fff;
        position: absolute;
        left: 10px;
        bottom: 0;
        text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.25);
    }
    #seatAreaInner > ul li#btn:before ,
    #seatAreaInner > ul li#btn:after {
        content: "";
        width: 20px;
        height: 2px;
        background: #fff;
        position: absolute;
        right: 10px;
        top: 50%;
        margin-top: -2px;
        /*         transition: .25s */
    }
    #seatBtns li#btn:before {
        width: 20px;
        transform: rotate(-90deg)
    }
    #seatBtns.on li#btn:before {
        /*         width: 0;
        right: 20px; */
        transform: rotate(0deg)
    }
    #seatAreaInner > ul li:not(.text) .seat {
        padding-bottom: 0
    }
    #seatAreaInner > ul li:not(.text) .seat:before {
        width: 20px;
        height: 20px;
        bottom: 14px;
        display: none
    }
    #seatAreaInner #seatImgWrap {
        position: static;
        display: none;
        width: 94%; margin: 0 auto;
        padding-top: 30px;
    }
    #floatSeatDetail {
        display: flex;
        align-items: flex-start;
        /* align-content: stretch; */
        height: auto;
        box-shadow: 2px 2px 10px -5px black;
        background: #fff;
        position: relative;
        margin-bottom: 30px;
        width: auto;
        justify-content: center;
        border-radius: 5px;
    }
    #floatSeatDetail li:before ,
    #floatSeatDetail li:after {
        content: none
    }
    #floatSeatDetail:before ,
    #floatSeatDetail:after {
        content: "";
        display: block;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 18px 18px 0 18px;
        border-color: #ffffff transparent transparent transparent;
        position: absolute;
        top: 100%;
        left: 50%;
        margin-left: -18px
    }
    #floatSeatDetail:after {
        z-index: 1;
    } 
    #floatSeatDetail:before {
        border-color: #000 transparent transparent transparent;
        margin-left: -16px;
        margin-top: 2px;
        opacity: .25;
    }
    #floatSeatDetail li {
        opacity: 1;
        transform: none;
        position: relative;
        bottom: auto;
        margin-left: 0;
        left: auto;
        width: 33%;
        width: calc(100% / 3);
        padding: 10px 7px;
        box-shadow: none;
        transform: none!important;
        font-size: 2.4vw;
    }
    #floatSeatDetail li img {
        width: 100%;
    }
    #floatSeatDetail li .text .large {
        margin-bottom: 5px
    }
    #floatSeatDetail li .ttl span {
        margin-left: 0
    }
    #planFootArea {
        padding: 6% 20px 15%;
    }
    #planFootArea h2 {
        margin-bottom: 6%;
        font-size: 3vw;
    }
    #planFootArea h2 span {
        letter-spacing: 0.1em;
        padding: 0 0.9em;
    }
    #planFootArea #planList li {
        width: calc((100% - 30px) / 2);
        width: 48%;
        margin-bottom: 4%;
        font-size: 3vw;
    }

    #planFootArea #planList li:nth-child(n+3) {
        margin-bottom: 0;
    }
    .numList li {
        width: 100%!important
    }

    /* 特典 */
    .privilegeCont {
        flex-wrap: wrap;
    }
    .privilegeCont > li {
        width: 100%!important;
        border-left: none;
        border-bottom: 1px solid #898989;
        padding: 20px;
        margin-bottom: 20px;
    }
    .privilegeCont > li:last-child {
        margin-bottom: 0
    }
    .privilegeCont li .wideInner {
        padding-bottom: 20px;
        max-width: 100%;
        width: 100%;
    }
    .privilegeCont > li .itemBox {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-wrap: wrap;
    }
    .privilegeCont .itemBox .floatTtl {
        width: 100%;
        font-size: 130%;
        margin: 0;
    }
    .privilegeCont .itemTextArea {
        width: 50%;
        width: 100%;
    }
    .privilegeCont .colType .itemTextArea {
        width: 50%
    }
    .privilegeCont > li:not(.noIcon):before,
    .privilegeCont > li:not(.noIcon):after {
        bottom: 100%;
        left: 50%;
        margin-left: -20px;
        margin-bottom: 17px;
    }
    .privilegeCont > li:not(.noIcon):after {
        margin-left: -3px;
        margin-bottom: 0px;
    }
    #planList li .text { font-size:100%; }
    #planList li a::before { bottom:-.1em; font-size: 130%; }

    .privilegeCont .itemBox.colType .itemTextArea{  font-size:18px; }
    .privilegeCont .itemBox.colType .itemTextArea .itemText{ text-align:center; }

}
@media screen and (max-width: 640px) {
    #planLabel .textHeadInner h2 {
        font-size: 7.5vw;
    }
    #planLabel.planlist .textHeadInner h2 {

        font-size: 6.75vw;
    }
    #planLabel .textHeadInner .lead {
        font-size: 14px;
    }
    #acTopInner .leftImg img {
        width: 66px;
    }
    #acTopInner .text {
        font-size: 16px
    }
    #acTopInner .rightImg img {
        width: 44.5px;
    }
    #acBtm {
        padding: 20px
    }
}
.sp1{ display:none; }
@media screen and (max-width: 580px) {
    #planFootArea h2 {
        font-size: 15px
    }
    .sp1{ display:block; }
    #seatAreaInner > ul {
        display: flex;
        justify-content: center;
        padding: 0px 10px 65px;
    }
    #seatAreaInner > ul li.text {
        margin-right: 10px;
        word-break: keep-all;
        font-size: 3vw;
    }
    #seatAreaInner > ul li:not(.text) {
        width: 30%;
        margin: 0 5px;
        font-size: 120%;
    }
    #seatAreaInner > ul li:not(.text) .price {
        font-size: 130%
    }
    #seatAreaInner > ul li.text .seat { height:auto; padding:1.5em 0 !important; }
    #seatAreaInner > ul li .seat { height:auto; padding:1em 0 !important; }
    #seatAreaInner > ul li .price { height:auto; padding:.6em 0; }
    #seatAreaInner > ul li .price  span{ line-height:2; }
    #seatAreaInner > ul li:not(.text) .price { height:auto; }
}
@media screen and (max-width: 480px) {
    #planLabel .textHeadInner .bgWrap .bgInner { border-width:4px; }
    #planLabel .textHeadInner .bgWrap::after { top:5px; left:5px; }
    #planLabel .textHeadInner h2 {
        font-size: 6.75vw;
    }
    #planLabel .textHeadInner .lead {
        font-size: 13px;
        word-break: break-all;
    }
    .privilegeCont > li .itemBox {
        flex-wrap: wrap;
        /* padding: 0; */
    }
    .privilegeCont > li .itemBox .itemTextArea {
        width: 100%;
    }
    .privilegeCont li .mainText {
        font-size: 16px
    }
    .privilegeCont li .dateDetail {
        padding: 10px;
    }
    .privilegeCont li .dateDetail .detailList > dt {
        float: none;
        border-right: none;
        border-bottom: 1px solid #f59b00;
        padding: 0 0 5px 5px
    }
    .privilegeCont li .dateDetail .detailList > dd {
        margin-left: 0;
        padding: 5px
    }
    #acTopInner {
        flex-wrap: wrap;
        justify-content: space-around;
    }
    #acTopInner .text {
        order: 1;
        width: 100%;
        margin-bottom: 20px
    }
    #acTopInner .leftImg {
        order: 2;
        width: 50%;
        text-align: center
    }
    #acTopInner .rightImg {
        order: 3;
        width: 50%;
        text-align: center;
    }
    #acTopInner .leftImg img {
        width: 100%;
        max-width: 132px;
    }
    #acTopInner .rightImg img {
        width: 100%;
        max-width: 95px
    }

    #acTopInner .text .comments {
        text-align: center;
    }
}
@media screen and (max-width: 420px) {
    #planFootArea #planList {
        justify-content: center;
    }
    #planFootArea #planList li {
        width: 100%;
        margin-bottom: 10%!important;
        font-size: 16px;
    }
    #planFootArea #planList li:last-child {
        margin-bottom: 0!important;
    }
    #planFootArea {
        
padding-bottom: calc(15% + 100px);
    }
}

/* ノーマルプラン */
.ippan .privilegeCont .cont1 .itemBox {
    display: inline-flex;
    align-items: center;
}
.ippan .privilegeCont .cont1 .itemBox p:not(.img) {
    font-size: 20px;
    font-weight: 600;
}
.ippan .privilegeCont .cont1 .itemBox p:not(.img) span {
    font-size: 150%;
}
.ippan .privilegeCont .cont1 .itemBox img {
    width: 82px;
}

.ippan .privilegeCont .cont2 {
    padding: 40px 0;
}
.ippan .privilegeCont .cont2 .contList {
    display: flex;
    margin-bottom: 25px;
}
.ippan .privilegeCont .cont2 .contList li {
    width: 25%;
    border-right: 1px solid #898989;
    padding: 25px 0;
}
.ippan .privilegeCont .cont2 .contList li .inner p {
    line-height: 1.6;
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 5px;
}.ippan .privilegeCont .cont2 .contList li .inner p .orange {
    color: #f59b00;
}
.ippan .privilegeCont .cont2 .contList li .inner .priceWrap {
    font-size: 25px;
    font-weight: 600;
    font-style: italic;
    letter-spacing: -1px;
}
.ippan .privilegeCont .cont2 .contList li .inner .priceWrap .num {
    font-size: 200%;
}
.ippan .privilegeCont .cont2 .contList li .inner .priceWrap .off {
    font-size: 120%;
}
.ippan .privilegeCont .cont2 .tableWrap {
    background: #eee;
    padding: 30px;
}
.ippan .privilegeCont .cont2 .tableWrap .ttl {
    font-size: 20px;
    font-weight: bold;
    text-align: left;
    letter-spacing: 1px;
    margin-bottom: 20px;
}
.ippan .privilegeCont .cont2 .tableWrap .ttl a {
    pointer-events: none;
    color: #000;
}
.ippan .privilegeCont .cont2 .tableWrap .ttl span {
    color: #f59b00;
    margin-right: 10px
}
.ippan .privilegeCont .cont2a {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}
.ippan .privilegeCont .cont2a .itemBox {
    display: flex;
    justify-content: center;
    align-items: center;
}
.ippan .privilegeCont .cont2a .itemBox .text {
    font-weight: bold;
    font-size: 20px;
    text-align: left;
    line-height: 1.6;
    padding-left: 30px;
}
.ippan .privilegeCont .cont2a .itemBox .text span {
    font-size: 140%;
    display: block;
    word-break: keep-all;
}
#ippanTable {
    width: 100%;
    font-size: 14px;
    table-layout: fixed;
}
#ippanTable tr {
    border-top: 1px solid #000
}
#ippanTable tr:last-child {
    border-bottom: 1px solid #000
}
#ippanTable th {
    padding: 8px 3px;
    width: 10%;
    word-break: keep-all;
    white-space: nowrap;
    vertical-align: middle;
}
#ippanTable th .seatBd {
    border-bottom: 3px solid #fff;
    display: inline-block;
    padding: 5px 2px;
}
#ippanTable th .seatBd.typeA {
    border-color: #dd0041
}
#ippanTable th .seatBd.typeB {
    border-color: #0e6735
}
#ippanTable th .seatBd.typeC {
    border-color: #7dcef4
}
#ippanTable td {
    padding: 13px 0;
    letter-spacing: 1px;
    vertical-align: middle;
}
#ippanTable td span:not(.sp) {
    color: #e60012;
    margin-left: 10px;
    font-size: 11px;
    display: inline-block;
}
#ippanTable td span.sp {
    display: none
}
#ippanTable th:first-child ,
#ippanTable td:first-child {
    text-align: left;
    width: 19%;
}
#ippanTable + p.anno {
    text-align: left;
    margin-top: 1em;
    color: #e60012;
    line-height: 1.2;
    font-size: 12px;
    padding-bottom: 1em
}
@media screen and (min-width: 769px) {
    .ippan .privilegeCont .cont2 .tableWrap .tableInner {
        display: block!important;
    }
}
@media screen and (max-width: 768px) {
    #underCont.ippan {
        padding: 40px 3% 60px;
    }
    .ippan .privilegeCont .cont2 .contList {
        flex-wrap: wrap;
        justify-content: space-between;
    }
    .ippan .privilegeCont .cont2 .contList li {
        width: calc((100% - 20px) / 2);
        border-right: none;
    }
    .ippan .privilegeCont .cont2 .contList li .ttl {
        border: 1px solid #000;
        padding: 10px;
        font-size: 24px;
        margin-bottom: 30px;
    }
    .ippan .privilegeCont .cont2 .contList li .ttl span {
        font-size: 30px;
    }
    /*table*/
    .ippan .privilegeCont .cont2 .tableWrap {
        padding: 10px 5px 0;
    }
    .ippan .privilegeCont .cont2 .tableWrap .tableInner {
        display: none;
        /* position: absolute; */
        top: 0;
    }
    .ippan .privilegeCont .cont2 .tableWrap .ttl {
        margin-bottom: 0;
        padding-bottom: 10px;
        font-size: 18px;
    }
    .ippan .privilegeCont .cont2 .tableWrap .ttl a {
        pointer-events: auto;
        display: block;
        padding: 10px;
        position: relative;
    }
    .ippan .privilegeCont .cont2 .tableWrap .ttl a:after {
        content: "+";
        color: #666;
        position: absolute;
        right: 0;
        font-size: 245%;
        top: 50%;
        margin-top: -0.5em;
    }
}
@media screen and (max-width: 640px) {
    .ippan .privilegeCont .cont1 .itemBox p:not(.img) {
        font-size: 3.65vw;
        line-height: 1.2;
    }
    /*teble*/
    #ippanTable,
    #ippanTable tr:not(.pc),
    #ippanTable tbody,
    #ippanTable thead {
        display: block;
        width: 100%!important;
    }
    #ippanTable tbody {
        display: flex;
        flex-wrap: wrap;
    }
    #ippanTable tr:not(.pc) {
        /* width: 50%!important; */
        border-color: #999;
    }
    #ippanTable th:not(:first-child) {
        display: none;
    }
    #ippanTable th:first-child {
        width: 100%;
        text-align: center;
        display: block;
    }
    #ippanTable th:first-child br.sp {
        display: none
    }
    #ippanTable td {
        display: flex;
        width: 100%!important;
        align-items: center;
        justify-content: space-between;
        font-size: 16px;
        max-width: 300px;
        margin: auto;
        border-bottom: 1px dotted #808080;
        padding: 8px 0;
    }
    #ippanTable tr td:last-child {
        border-bottom: none
    }
    #ippanTable td:first-child {
        font-size: 140%;
        justify-content: center;
        font-weight: 700;
        flex-wrap: wrap;
    }
    #ippanTable td span:not(.sp) {
        margin-top: 5px;
        width: 100%;
        text-align: center;
    }
    #ippanTable td span.sp {
        display: block;
        padding: 4px 0 4px 5px;
        border-left: 3px solid #000;
    }
    #ippanTable td span.typeA {
        border-color: #dd0041
    }
    #ippanTable td span.typeB {
        border-color: #0e6735
    }
    #ippanTable td span.typeC {
        border-color: #7dcef4
    }
}
@media screen and (max-width: 580px) {
    .ippan .privilegeCont .cont2a .itemBox .text {
        font-size: 3.6vw;
        padding-left: 15px;
    }
}
@media screen and (max-width: 480px) {
    .ippan .privilegeCont .cont2 .contList li .ttl {
        font-size: 5.2vw;
    }
    .ippan .privilegeCont .cont2 .contList li .ttl span {
        font-size: 125%
    }
    .ippan .privilegeCont .cont2 .contList li .inner .priceWrap {
        font-size: 6.2vw;
    }
}

/* プラン一覧 */
#underCont.planlist {
    max-width: 1000px;
    padding: 50px 10px 80px;
}
#plan.planlistInner {
    margin-bottom: 100px;
}
.planlistInner > h3 {
    font-size: 30px;
    text-align: center;
    margin-bottom: 1.5em;
    position: relative;
    padding-bottom: 20px;
    font-weight: 900;
    padding-top: 70px;
    margin-top: -70px;
}
.planlistInner > h3:after {
    content: "";
    width: 2.25em;
    height: 4px;
    display: block;
    background: #f59b00;
    position: absolute;
    left: 50%;
    margin-left: -1.125em;
    bottom: 0
}
.planWrap.ippan {
    margin-bottom: 70px;
    background: #fff;
    padding: 5px;
}
.planWrap .planInner > a {
    display: block;
    text-align: center
}
.planWrap .planInner h4 {
    display: flex;
    font-size: 24px;
    align-items: center;
    /* align-content: center; */
    margin-bottom: 7px;
    height: 1.6em;
    color: #000;
}
.planWrap .planInner h4 .img {
    padding-right: .1em;
}
.planWrap .planInner h4 .img img {
    width: 30px
}
.planWrap .planInner h4 .text {
    position: relative;
    padding-right: 1em;
    /* height: 2em; */
    align-self: center;
    line-height: 0.8;
    font-weight: 900;
    text-align: left;
}
.planWrap .planInner h4 .text:before ,
.planWrap .planInner h4 .text:after {
    right: 0.4em;
    top: 50%;
    content: ">";
    position: absolute;
    margin-top: -0.5em;
    font-style: normal;
    font-weight: 100;
    font-size: 0.8em;
    color: #f59b00;
    transform: scale(1,2.05);
    line-height: 1;
}
.planWrap .planInner h4 .text:after {
    right: 0;
    opacity: .5
}
.planWrap .planInner h4 .text span {
    font-size: 55%;
    display: inline-block;
    /* display: none!important; */
}
.planWrap table {
    /* border-spacing: 2px; */
    /* border-collapse: separate; */
    width: 100%;
    table-layout: fixed;
}
.planWrap p.label {
    background: #000;
    color: #fff;
    padding: 10px;
    text-align: center;
    font-weight: 600;
    font-size: 20px;
}
.planWrap p.label span {
    font-size: 70%;
}
.planWrap > ul {
    display: flex;
    justify-content: space-between
}
.planWrap > ul > li {
    width: calc((100% - 30px) / 4);
    width: calc((100% - 20px) / 3);
    /* display: flex; */
    align-items: stretch;
    position: relative;
    background: #fff;
    padding: 5px 5px;
}
.planWrap > ul > li:not(:last-child):after {
    /* content: ""; */
    display: block;
    position: absolute;
    width: 1px;
    height: 102%;
    left: 100%;
    top: -1%;
    background: #000;
    margin-left: 4px;
}
.planWrap > ul > li .planInner {
    /* display: flex; */
    flex-direction: column;
    justify-content: flex-start;
    /* height: 100%; */
    /* position: relative; */
}
.planWrap .tableArea {
    text-align: center;
    font-weight: 600;
}
.planWrap:not(.ippan) .tableArea {
    border-bottom: 1px solid #000
}
.planWrap .tableArea table tr:not(:first-child) {
    border-bottom: 1px solid #000
}
.planWrap .tableArea table th {
    padding: 0 1px;
}
.planWrap .tableArea td {
    padding: 30px 0;
    font-size: 16px;
    font-weight: 600;
    vertical-align: middle;
}
.planWrap .tableArea td.noItem {
    background: #e9e9e9;
}
.planWrap .planInner tr.cont2 td {
    padding: 20px 0;
}
.planWrap .tableArea .price td {
    padding: 30px 0
}
.planWrap.ippan .tableArea .price td {
    padding: 0
}
.planWrap.ippan .tableArea .price td .ttl {
    padding: 40px 0 20px;
    text-align: center;
    font-size: 22px;
}
.planWrap.ippan #ippanTable tr:last-child {
    border-bottom: none
}
.planWrap .tableArea td:not(:first-child) {
    border-left: 1px solid #000
}
.planWrap .tableArea td .large {
    font-size: 125%
}
.planWrap .planInner .orange {
    color: #f59b00;
    font-weight: 900;
    display: inline-block;
    /* word-break: keep-all; */
}
.planWrap .planInner .gray {
    color: #555;
}
.planWrap .planInner tr.cont2 .orange {
    display: block;
    font-size: 75%;
    margin-top: 5px;
    font-style: normal;
}
.planWrap .tableArea ul.price {
    display: flex;
    justify-content: center;
    padding: 10px 0px;
}
.planWrap:not(.ippan) .tableArea ul.price {
    flex-wrap: wrap;
    justify-content: left;
    height: 12em;
    align-items: center;
    align-content: center;
    margin-top: auto;
}
.planWrap.ippan .tableArea ul.price li {
    margin-bottom: 0;
    padding: 0 10px;
    min-width: 0;
    width: auto;
}
.planWrap .tableArea .price li {
    display: flex;
    margin-bottom: 8px;
    font-size: 12px;
    align-items: flex-end;
    justify-content: space-between;
    align-items: center;
    min-width: 80%;
    width: 100%;
}
.planWrap .tableArea .price li:last-child {
    margin-bottom: 0;
}
.planWrap .tableArea .price li .type {
    padding: 2px 5px;
    border-left: 3px solid #000;
}
.planWrap .tableArea .price li.seatA .type {border-color: #dd0041;}
.planWrap .tableArea .price li.seatB .type {border-color: #0e6735}
.planWrap .tableArea .price li.seatC .type {border-color: #7dcef4}


.planWrap .tableArea .price li .yen {
    font-size: 15px;
    padding-left: 0.75em;
}
.planWrap .tableArea .price li .yen span {
    font-size: 12px;
}

.planWrap .tableArea .price li .yen b{ position:relative; padding-left:1em; line-height:1.3; }
.planWrap .tableArea .price li .yen b:before{ content:""; position:absolute; left:-.1em; top:.3em; width:.8em; height:.8em; background-repeat:no-repeat; background-position: center center; background-size:contain;  }
.planWrap .tableArea .price li.seatA .yen b:first-child:before{ background-image:url(../images/seat_a1.svg); }
.planWrap .tableArea .price li.seatA .yen b:before{ background-image:url(../images/seat_a2.svg); }
.planWrap .tableArea .price li.seatB .yen b:first-child:before{ background-image:url(../images/seat_b1.svg); }
.planWrap .tableArea .price li.seatB .yen b:before{ background-image:url(../images/seat_b2.svg); }
.planWrap .tableArea .price li.seatC .yen b:first-child:before{ background-image:url(../images/seat_c1.svg); }
.planWrap .tableArea .price li.seatC .yen b:before{ background-image:url(../images/seat_c2.svg); }

.planWrap:not(.ippan) .tableArea > p:not(.label) {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    align-content: center;
    justify-content: center;
    border-bottom: 1px dashed #7d7d7d;
    line-height: 1.35;
}
.planWrap:not(.ippan) .tableArea .cont1 {
    height: 8em;
}
.planWrap:not(.ippan) .tableArea .cont2 {
    height: 8.5em;
}
.planWrap:not(.ippan) .tableArea .cont3 {
    height: 17em;
}
.planWrap .tableArea .attention {
    font-size: 11px;
    font-weight: 400;
    display: inline-block;
    padding: 5px 1em 0 2em;
    padding: 5px 1em 0 2em;
    text-indent: -1em;
    /* text-align: left; */
    color: #555;
    text-align: left;
    display: block;
}

.planWrap:not(.ippan) .tableArea .cont3 .attention {
    font-size: 11px;
    font-weight: 400;
    display: inline-block;
    padding: 5px 1em 0 2em;
    text-indent: -1em;
    /* text-align: left; */
    /* color: crimson; */
}

.planlistInner .comments {
    margin-top: 15px
}
.planlistInner .comments li {
    font-size: 12px;
    color: #555;
    /* text-align: right; */
    padding: 5px 0px 0 1em;
    text-indent: -1em;
    line-height: 1.2;
}

/* 対象試合一覧 */
#underCont.apply {
    padding: 30px 10px 100px;
}
#underCont.apply .infoWrap {
    text-align: center;
    margin-bottom: 20px
}
#underCont.apply .info {
    border: 2px solid #e5004f;
    color: #e5004f;
    font-size: 20px;
    text-align: center;
    padding: 20px;
    display: inline-block;
    margin: auto;
    line-height: 1.3;
}
#gameTop {
    display: flex;
    justify-content: space-between;
    padding: 20px 0;
}
#gameTop .img img:nth-child(2) {
    display: block;
    margin-top: 10px;
    width: 87%;
    margin: 10px 0 0px auto;
}
#gameTop ul li {
    font-size: 12px;
    color: #555;
    margin-bottom: 5px;
    padding-left: 1em;
    text-indent: -1em;
    padding-right: 1em;
    line-height: 1.2
}
.calendarWrap > li {
    padding: 20px 0;
    margin-bottom: 30px;
}
.calendarWrap .header {
    color: #e5004f;
    font-size: 18px;
    font-weight: 600;
    padding-bottom: 10px;
    border-bottom: 1px solid #7d7d7d;
    margin-bottom: 20px;
    line-height: 1.2;
}
.calendarWrap .header span {display: inline-block}
.calendarWrap .calendarArea {
    display: flex;
    justify-content: space-between;
    /* align-items: flex-end; */
}

.calendarWrap .calendarArea li {
    width: calc((100% - 20px) / 2);
    position: relative;
    /* opacity: 0.3; */
}

.calendarWrap .calendarArea li:after {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    /* background: rgba(0, 0, 0, 0.2); */
}
.calendarWrap .calendarArea li img {
    width: 100%;
    max-width: 480px;
    /* opacity: .7; */
}
.calendarWrap li .btnWrap {
    text-align: center;
    margin-top: 30px;
    position: relative;
}
.calendarWrap li .btnWrap .btn {
    display: inline-block;
    background: #adadad;
    background: #f89828;
    color: #fff;
    /* color: #adadad; */
    width: 90%;
    max-width: 400px;
    height: 60px;
    line-height: 60px;
    font-size: 22px;
    font-style: italic;
    font-weight: 600;
    position: relative;
    overflow: hidden;
    transition: .25s;
    /* pointer-events: none; */
    /* opacity: 0.4; */
}
.calendarWrap li .btnWrap .btn.off {
    background: #adadad;
    pointer-events: none;
    opacity: .75
}
.calendarWrap li .btnWrap .btn.off span:before ,
.calendarWrap li .btnWrap .btn.off span:after {
    content: none;
}
.calendarWrap li .btnWrap .btn:hover {
    background: #ff7713;
}
.calendarWrap li .btnWrap .btn:before ,
.calendarWrap li .btnWrap .btn:after {
    content: "";
    width: 50px;
    height: 50px;
    background: #fff;
    display: block;
    position: absolute;
    transform: rotate(45deg)
}
.calendarWrap li .btnWrap .btn:before {
    left: -35px;
    top: -35px;
}
.calendarWrap li .btnWrap .btn:after {
    right: -35px;
    bottom: -35px;
}
.calendarWrap li .btnWrap .btn span {
    display: inline-block;
    line-height: 1;
    width: 100%;
    padding: 0 1em;
    opacity: 0;
    opacity: 1;
}

.calendarWrap li .btnWrap .btn span:before ,
.calendarWrap li .btnWrap .btn span:after {
    right: 1.2em;
    top: 50%;
    content: ">";
    position: absolute;
    margin-top: -0.55em;
    font-style: normal;
    font-weight: 100;
    font-size: 1.2em;
    color: #ffffff;
    transform: scale(1,2.05) translateX(0);
    transition: 0.75s;
}
.calendarWrap li .btnWrap .btn span:after {
    right: 0;
    opacity: .5;
    transition-delay: .1s
}
.calendarWrap li .btnWrap .btn span:before {
    transition-delay: 0s
}
.calendarWrap li .btnWrap .btn:hover span:before ,
.calendarWrap li .btnWrap .btn:hover span:after {
    transform: scale(1,2.05) translateX(5px);
}
.calendarWrap li .btnWrap .btn:hover span:before {
    transition-delay: .1s
}
.calendarWrap li .btnWrap .btn:hover span:after {
    transition-delay: 0s
}
.calendarWrap li .btnWrap .btn span:after {
    right: 0.8em;
    opacity: .5;
}



#gameAreaBtn {
    text-align: center;
    margin-top: 60px;
    position: relative;
}
#gameAreaBtn:after {
    content: "受付は終了しました";
    content: none;
    position: absolute;
    display: flex;
    left: 10%;
    top: 0;
    width: 80%;
    height: 100%;
    font-size: 2rem;
    font-weight: bold;
    color: #fff;
    background: rgba(255,255,255,0.2);
    /* max-width: 600px; */
    justify-content: center;
    align-items: center;
    align-content: center;
    /* text-shadow: 0px 0 5px rgba(0, 0, 0, 1); */
}
#gameAreaBtn .btn {
    display: inline-block;
    background: #adadad;
    background: #000;
    color: #fff;
    /* color: #adadad; */
    width: 80%;
    max-width: 600px;
    height: 80px;
    line-height: 80px;
    font-size: 26px;
    font-style: italic;
    font-weight: 600;
    position: relative;
    overflow: hidden;
    transition: .25s;
    /* pointer-events: none; */
    /* opacity: 0.4; */
}
#gameAreaBtn .btn.off {
    background: #adadad;
    pointer-events: none;
    opacity: .75
}
#gameAreaBtn .btn.off span:before ,
#gameAreaBtn .btn.off span:after {
    content: none;
}
#gameAreaBtn .btn:hover {
    background: rgba(0, 0, 0, .75);
}
#gameAreaBtn .btn:before ,
#gameAreaBtn .btn:after {
    content: "";
    width: 50px;
    height: 50px;
    background: #fff;
    display: block;
    position: absolute;
    transform: rotate(45deg)
}
#gameAreaBtn .btn:before {
    left: -30px;
    top: -30px;
}
#gameAreaBtn .btn:after {
    right: -30px;
    bottom: -30px;
}
#gameAreaBtn .btn span {
    display: inline-block;
    line-height: 1;
    width: 100%;
    padding: 0 1em;
    opacity: 0;
    opacity: 1;
}

#gameAreaBtn .btn span:before ,
#gameAreaBtn .btn span:after {
    right: 1.2em;
    top: 50%;
    content: ">";
    position: absolute;
    margin-top: -0.55em;
    font-style: normal;
    font-weight: 100;
    font-size: 1.2em;
    color: #f59b00;
    transform: scale(1,2.05) translateX(0);
    transition: 0.75s;
}
#gameAreaBtn .btn span:after {
    right: 0;
    opacity: .5;
    transition-delay: .1s
}
#gameAreaBtn .btn span:before {
    transition-delay: 0s
}
#gameAreaBtn .btn:hover span:before ,
#gameAreaBtn .btn:hover span:after {
    transform: scale(1,2.05) translateX(5px);
}
#gameAreaBtn .btn:hover span:before {
    transition-delay: .1s
}
#gameAreaBtn .btn:hover span:after {
    transition-delay: 0s
}
#gameAreaBtn .btn span:after {
    right: 0.8em;
    opacity: .5;
}

.faq #gameAreaBtn {
    /* margin-top: 0!important; */
}
.faq #gameAreaBtn a {
    /* width: 80%; */
    /* max-width: 390px; */
    /* height: 56px; */
    /* line-height: 56px; */
    /* font-size: 18px; */
    /* margin-bottom: 10px; */
}
.faq #gameAreaBtn .btn:before {
    left: -35px;
    top: -35px;
}
.faq #gameAreaBtn .btn:after {
    right: -35px;
    bottom: -35px;
}

.faq #gameAreaBtn .anno {
    color: red;
    font-weight:bold
}
@media screen and (max-width: 768px) {
    #underMainArea > h1 { font-size:7vw; height: 5em;  }
    #underMainArea > h1 span { margin-top:0 !important; }
    .planWrap .planInner h4 {
        font-size: 4vw;
    }
    .planWrap.ippan .tableArea .price td .ttl {
        font-size: 3.75vw;
        padding: 1.5em 0 1em;
    }
    .planWrap > ul {
        flex-wrap: wrap;
        margin-bottom: -30px
    }
    .planWrap > ul > li {
        width: calc((100% - 20px) / 2);
        margin-bottom: 30px;
    }
    .planWrap:not(.ippan) .tableArea .cont1 ,
    .planWrap .p2 .tableArea > p:not(.label) ,
    .planWrap .p3 .tableArea > p:not(.label) ,
    .planWrap .p2 .tableArea > .price ,
    .planWrap .p3 .tableArea > .price  {
        height: auto!important;
        padding: 20px 10px;
    }

    #gameAreaBtn:after {
        width: 100%;
        left: 0;
        font-size: 1.5rem;
    }
    #underCont.planlist,
    #underCont.faq ,
    #underCont.apply {
        padding-bottom: 150px;
    }

}
@media screen and (max-width: 640px) {
    .planWrap .tableArea td .priceWrap {
        text-align: center;
    }
    .planWrap .tableArea td ul.price {
        flex-wrap: wrap;
        /* display: inline-block; */
        justify-content: flex-start;
        margin-top: 5px;
        display: flex;
        width: 100%;
        max-width: 300px;
        margin: auto;
    }
    .planWrap.ippan .tableArea ul.price li:not(:last-child) {
        margin-bottom: 10px;
    }
    .planWrap.ippan .tableArea ul.price li {
        width: 100%;
    }
    #gameTop {
        flex-wrap: wrap;
        padding: 5px 0;
    }
    #gameTop ul {
        margin-bottom: 15px;
    }
    #gameTop .img img {
        width: 100%;
        max-width: 320px;
    }
    .calendarWrap > li:last-child {
        padding-bottom: 0
    }
    .calendarWrap .calendarArea {
        flex-wrap: wrap;
    }
    .calendarWrap .calendarArea li {
        width: 47.5%;
        margin-bottom: 20px;
    }
    .calendarWrap .calendarArea li:last-child {
        margin-bottom: 0
    }
    #gameAreaBtn .btn {
        width: 95%
    }
    .planWrap.ippan #ippanTable tr:not(.o640) {

        /* width: 50%!important; */
    }
    .planWrap.ippan #ippanTable td {
        border-left: none;
        font-weight: 400;
    }
}
@media screen and (max-width: 600px) {
    .planWrap .planInner h4 .img {
        width: 12%;
    }
    .planWrap .planInner h4 .img img {
        width: 100%
    }
    .planWrap .planInner h4 {
        font-size: 24px;
        height: auto;
    }
    .planWrap > ul > li {
        width: 100%;
        margin-bottom: 30px;
    }
    .planWrap:not(.ippan) .tableArea > p:not(.label) ,
    .planWrap:not(.ippan) .tableArea ul.price {
        height: auto;
        padding: 20px 0;
    }
    .planWrap .tableArea table th:first-child {
        width: 20%
    }
    .planWrap .tableArea table th:nth-child(2) {
        width: 25%
    }
    .planWrap .tableArea table th:nth-child(3) {
        width: 55%
    }
    .planWrap .tableArea tr.cont1 td {
        line-height: 1.25;
        padding: 20px 0px;
        font-size: 100%;
    }
    .planWrap .tableArea tr.cont1 td > span {
        /* word-break: keep-all; */
        /* display: block; */
    }
    .planWrap .tableArea .attention {
        width: 100%;
        line-height: 1.4;
        /* text-align: left; */
        text-indent: 0;
    }
    .planWrap:not(.ippan) .tableArea .cont3 .attention {
        width: 100%;
        line-height: 1.4;
    }
    .planWrap:not(.ippan) .tableArea ul.price {
        width: auto;
        margin: auto;
        display: inline-flex;
        max-width: 300px;
    }
    .planWrap:not(.ippan) .tableArea ul.price li {
        width: 100%;
    }
    .calendarWrap li .btnWrap .btn {
        font-size: 4.3vw;
        height: 50px;
        line-height: 50px;
    }
    #gameAreaBtn .btn {
        width: 100%;
        font-size: 4.7vw;
        height: auto;
        line-height: 1;
        padding: 1.6em 0;
    }
    #gameAreaBtn .btn:before {
        left: -35px;
        top: -35px;
    }
    #gameAreaBtn .btn:after {
        right: -35px;
        bottom: -35px;
    }
    .faq #gameAreaBtn a {
        /* font-size: 16px; */
        /* padding: 1.12em 0; */
        /* height: auto; */
        /* line-height: 1; */
        /* width: 100%; */
    }
    .faq #gameAreaBtn .btn:before {
        left: -38px;
        top: -38px;
    }
    .faq #gameAreaBtn .btn:after {
        right: -38px;
        bottom: -38px;
    }
}
@media screen and (max-width: 420px) {
    .calendarWrap .calendarArea li {
        width: 100%;
        text-align: center;
        margin-bottom: 10%;
    }
}

/* お申込み方法 */
#contactAreaWrap {
    text-align: right;
    padding-right: 20px;
}
#contactArea {
    display: inline-flex;
    align-items: flex-end;
    align-content: center;
    /* justify-content: flex-end; */
    /* padding: 0 0 15px; */
    flex-wrap: wrap;
    /* align-items: flex-start; */
    display: flex;
    word-break: keep-all;
    white-space: nowrap;
}
#contactArea .label {
    display: flex;
    align-items: center;
    align-content: center;
    padding: 5px 20px;
    border: 1px solid #000;
    font-size: 12px;
    font-weight: 600;
    word-break: keep-all;
    background: #fff;
    color: #000
}
#contactArea .detailWrap {
    display: flex;
    /* flex-direction: column; */
    text-align: left;
    flex-wrap: wrap;
} 

#contactArea .detailWrap p.text {
    padding: .5em .5em 0;
    font-size: 120%;
    color: #f00;
}
#contactArea .detail {
    display: flex;
    align-items: flex-end;
    align-content: flex-end;
    /* flex-wrap: wrap; */
}
#contactArea .label .img {
    margin-right: 5px
}
#contactArea .label .text {
    margin-bottom: 2px
}
#contactArea .tel {
    font-size: 26px;
    font-weight: bold;
    padding: 2px 7px;
}
#contactArea .time {
    font-size: 14px;
    /* margin-left: 10px; */
    padding: 4px 7px;
}
.applyFlow > li {
    position: relative;
    overflow: hidden;
    z-index: 0;
}
.applyFlow > li .flowInner {
    display: flex;
    border: 3px solid #000;
    background-color: #fff;
    border-bottom: none;
    padding: 30px 25px;
    align-items: center;
    overflow: hidden;
    position: relative;
    z-index: -1
}
.applyFlow > li .flowInner p.img {
    width: 80px;
    text-align: center;
}
.applyFlow > li .flowInner .img.yen img {
    width: 50%
}
.applyFlow > li .flowInner.btnPtn {
    padding-right: 330px;
}
.applyFlow > li:not(:first-child):after {
    content: "";
    display: block;
    width: 27px;
    height: 27px;
    left: 50%;
    top: -16px;
    margin-left: -13px;
    transform: rotate(45deg);
    background: #fff;
    border: 3px solid #000;
    position: absolute;
    z-index: 1
}
.applyFlow > li:last-child {
    border-bottom: 3px solid #000;
}
.applyFlow > li .textArea {
    padding-left: 20px;
    width: calc(100% - 100px);
}
.applyFlow > li .textArea .ttl {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 0.5em;
}
.applyFlow > li .textArea .ttl span {
    font-size: 120%;
    margin-left: 10px;
    display: inline-block;
}
.applyFlow > li .textArea .red {
    color: #e5004f;
}
.applyFlow > li .textArea .text {
    font-size: 14px;
    line-height: 1.4;
}
.applyFlow > li .textArea .comments {
    font-size: 12px;
    color: #555;
    line-height: 1.35;
    margin-top: 0.35em;
}
.applyFlow > li .textArea .comments li {
    /* padding-left: 1em; */
    /* text-indent: -1em; */
}
.applyFlow > li .textArea .comments li:not(:first-child) {
    margin-top: 5px
}
.linkBtnArea {position: absolute;right: 30px;top: 50%;margin-top: -25px;z-index: 1;}
.linkBtnArea a {
    display: flex;
    align-items: center;
    align-content: center;
    background: #535353;
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    width: 280px;
    height: 50px;
    justify-content: center;
    transition: .5s
}
.linkBtnArea a:hover {
    opacity: .75
}
.linkBtnArea a .img {
    margin-right: 4px;
}
#attentionArea {
    background: #dbdfe1;
    padding: 20px 30px;
    margin-top: 25px;
}
#attentionArea > ul > li:not(:last-child) {
    margin-bottom: 30px
}
#attentionArea .ttl {
    color: #e5004f;
    font-size: 14px;
    font-weight: 600;
    display: flex;
    align-items: center;
    align-content: center;
    padding-bottom: 6px;
    border-bottom: 1px solid #fff;
}
#attentionArea .ttl .img {
    margin-right: 5px
}
#attentionArea .box {
    font-size: 12px;
    line-height: 1.6;
}
#attentionArea .box > p:first-child {
    margin-top: 12px;
}
#attentionArea .box .bold {
    font-weight: 600
}
#attentionArea .num li {
    padding-left: 1em;
    text-indent: -1em
}
#checkAreaWrap {
    padding-top: 70px;
    margin-top: -40px;
}
#checkArea {
    padding: 15px 10px;
    margin: 0 auto;
    text-align: center;
    border: 2px solid #dbdfe1;
    background-color: #fff;
    font-size: 15px;
}
#checkArea label {
    cursor: pointer;
}
#checkArea p {
    color: #f00;
    margin-top: 10px;
    font-size: 110%;
    font-weight: bold;
}
#checkArea.off label {
    cursor: default;
}
#checkArea input{
    display: none;
}
#checkArea span {
    padding-left: 25px;
    position:relative;
    margin-right: 20px;
    color: #000;
    max-width: 100%;
    display: inline-block;
    line-height: 1.3;
}
#checkArea span:before{
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    width: 1em;
    height: 1em;
    border: 1px solid #333;
    margin-top: -.5em;
}
#checkArea input:checked + span {
    color: #000000;
}
#checkArea input:checked + span:after{
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 5px;
    width: 7px;
    height: 14px;
    transform: rotate(40deg);
    border-bottom: 3px solid #fc5900;
    border-right: 3px solid #fc5900;
    margin-top: -13px;
}
#applyLinkBtns {
    display: flex;
    justify-content: center;
    margin-top: -10px;
    padding-top: 40px;
    align-items: flex-end;
    flex-wrap: wrap;
}
#applyLinkBtns > li {
    width: calc((100% - 40px) / 4);
    position: relative;
    overflow: hidden;
    margin: 0 5px 20px;
    margin-bottom: 0;
}
#applyLinkBtns > li.wide {
    width: 80%;
    max-width: 600px;
}
#applyLinkBtns > li.ptn2 {
    width: 50%;
}

#applyLinkBtns > li a {
    display: flex;
    align-items: center;
    justify-content: center;
    align-content: center;
    padding: 0px;
    overflow: hidden;
    background-color: #b5b5b5;
    width: 100%;
    height: 100%;
    color: #535353;
    font-size: 20px;
    font-weight: 900;
    border-radius: 100px;
    height: 100px;
    position: relative;
    pointer-events: none;
    flex-wrap: wrap;
    text-align: center;
    color: #fff;
}
#applyLinkBtns > li a::after {
  content: "";
  position: absolute;
  left: 6px;
  top: 6px;
  z-index: 0;
  width: 100%;
  height: 100%;
  background: repeating-linear-gradient(-45deg, #f49c00, #f49c00 3px, #fff 3px, #fff 6px);
  opacity: .5;
  border-radius: 200px;
}
#applyLinkBtns.on > li:not(.off) a {
    background-color: #f59b00;
    pointer-events: auto;
    transition: .25s;
    color: #fff;
}
#applyLinkBtns.on > li.ptn2 a {
    background-color: #535353;
    color: #fff;
}
#applyLinkBtns.on > li:not(.off) a:hover {
    background-color: rgba(245, 155, 0, .75)
}
#applyLinkBtns.on > li.ptn2 a:hover {
    background-color: rgba(83, 83, 83, .75)
}
#applyLinkBtns > li.ptn2 a {
    padding: 0;
    height: 50px;
}
#applyLinkBtns li a .leftImg {
    position: absolute;
    left: 4%;
    top: 50%;
    transform: translate(0,-50%);
    /* width: 26px; */
}

#applyLinkBtns li.ptn2 a .leftImg {
    width: 22px
}

#applyLinkBtns li a .leftImg img {
    width: 100%
}
#applyLinkBtns li.ptn2 .onImg {
    display: none;
}
#applyLinkBtns.on li.ptn2 .offImg {
    display: none;
}
#applyLinkBtns.on li.ptn2 .onImg {
    display: block;
}
#applyLinkBtns li .cap {
    text-align: center;
    padding: 0px 20px 0;
    font-size: 1.25rem;
    margin-bottom: 5px;
    width: 100%;
    /* color: #333; */
    font-style: initial;
}
#applyLinkBtns li.off a > * {
    /* opacity: .5; */
}
#applyLinkBtns li.off .cap {
    position: absolute;
    /* transform: rotate(-10deg); */
    font-size: 1.5rem;
    z-index: 10;
    color: #fff;
    opacity: 1;
    left: 0;
    top: 50%;
    margin-top: -.5em;
    margin-bottom: 0;
}
#applyLinkBtns li:not(.off) .cap {
    /* color: #555 */
}
#applyLinkBtns li.ptn1 a {
    background-image: url(../images/apply_link_btn_icon3.png);
    background-repeat: no-repeat;
    background-position: center right 12px;
}
#applyLinkBtns > li a .large {
    font-size: 122%;
}
#applyLinkBtns > li a .small {
    font-size: 83.333%;
    font-style: normal;
    display: inline-block;
    width: 100%;
    text-align: center;
    margin-bottom: 3px;
}
#applyLinkBtns > li a .anno {
    font-size: 70%;
    font-style: normal;
    display: inline-block;
    width: 100%;
    text-align: center;
    margin-top: 6px;
    /* font-weight: normal; */
}
#applyLinkBtns li.ptn2 .text {
    padding-left: 15px
}
@media screen and (max-width: 768px) {
    #attentionArea {
        padding: 15px;
    }
    .applyFlow > li .flowInner.btnPtn {
        padding-right: 270px
    }
    .linkBtnArea a {
        width: 210px;
        font-size: 14px;
        height: 40px
    }
    .linkBtnArea a .img {
        margin-top: 2px
    }
    #applyLinkBtns {
        flex-wrap: wrap;
        justify-content: space-around
    }
    #applyLinkBtns > li {
        width: calc((100% - 40px) / 2);
        margin-bottom: 20px;
        min-width: 230px;
    }
    #applyLinkBtns > li.ptn2 {
        width: 100%
    }
    .applyFlow > li .textArea .ttl span {
        margin-left: 0px;
        margin-top: 10px;
        display: block;
    }

}
@media screen and (max-width: 600px) {
    .linkBtnArea {
        width: 100%;
        right: 0;
        top: auto;
        bottom: 30px;
    }
    .linkBtnArea a {
        width: 90%;
        margin: auto;
    }
    .applyFlow > li .flowInner.btnPtn {
        padding: 30px 25px 90px;
    }
    #applyLinkBtns > li {
        width: calc((100% - 40px) / 2);
        margin-bottom: 20px;
        min-width: 100px;
    }
}
@media screen and (max-width: 480px) {
    .applyFlow > li .flowInner {
        padding: 20px 12px;
    }
    .applyFlow > li .flowInner .textArea {
        padding-left: 12px;
    }
    .applyFlow > li:not(:first-child):after {
        width: 19px;
        height: 19px;
        top: -15px;
        margin-left: -9px;
    }
    #applyLinkBtns > li {
        width: 100%;
        margin-bottom: 20px;
        min-width: 100px;
    }
}

/* 適性診断 */
.simulation .leadText {
    text-align: right;
    font-size: 18px;
    line-height: 1.6;
    margin-bottom: 40px;
}
#simulationAreaWrap {
    margin-bottom: 150px;
}
#simulationAreaWrap #simuL1 .simuInner {
    display: block;
}
#simulationAreaWrap .simuInner {
    display: none;
}
#simulationAreaWrap ul.simuList {
    display: flex;
    width: 100%;
    justify-content: space-between;
    margin-bottom: 90px;
}
#simulationAreaWrap ul.simuList.c2 > li {
    width: calc((100% - 20px) / 2);
}
#simulationAreaWrap ul.simuList.c3 > li {
    width: calc((100% - 40px) / 3);
}
#simulationAreaWrap ul.simuList.c4 > li {
    width: calc((100% - 60px) / 4);
}

#simulationAreaWrap ul.simuList > li a {
    display: flex;
    height: 230px;
    align-content: center;
    align-items: center;
    justify-content: center;
    border: 3px solid #000;
    background-color: #fff;
    font-size: 20px;
    font-weight: bold;
    position: relative;
    border-radius: 1em;
    transition: .3s;
}
#simulationAreaWrap .simuInner#simuL2-1 li a {
    flex-wrap: wrap;
    height: auto;
}
#simulationAreaWrap .simuInner#simuL2-1 li a img {
    width: 100%
}
#simulationAreaWrap .simuInner#simuL2-1 li a .inner {
    padding: 10px 0
}
#simulationAreaWrap .simuInner#simuL2-1 li a .bottomText {
    background: #313131 url(../images/apply_link_btn_icon3.png) no-repeat center right 20px;
    display: block;
    width: 100%;
    color: #fff;
    font-size: 16px;
    text-align: center;
    padding: 12px 0px;
}
#simulationAreaWrap ul.simuList.check > li a {
    opacity: 0.4;
}
#simulationAreaWrap ul.simuList > li a:hover ,
#simulationAreaWrap ul.simuList > li.active a {
    border-color: #f59b00;
    opacity: 1;
}
#simulationAreaWrap ul.simuList > li.active a {
    pointer-events: none;
}
#simulationAreaWrap .simuInner:not(#simuL2-1) li a:after {
    content: "";
    display: block;
    position: absolute;
    width: 24px;
    height: 24px;
    border: 2px solid #f59b00;
    border-width: 0 0 4px 4px;
    transform: rotate(-45deg);
    left: 50%;
    bottom: 15px;
    margin-left: -13px
}
#simulationAreaWrap ul.simuList > li a:hover {

}
#simulationAreaWrap ul.simuList > li a .inner {
    text-align: center;
    line-height: 1.25
}
#simulationAreaWrap ul.simuList > li a .large {
    font-size: 120%;
}
#ansArea {
    display: none;
    padding-bottom: 0px;
}
#ansArea .planTtl {
    text-align: center;
    font-size: 30px;
    font-weight: 600;
    margin-bottom: 40px;
    opacity: 0;
    transform: translateY(-50px);
    transition: 1.5s; 
}
#ansArea.on .planTtl {
    opacity: 1;
    transform: translateY(0);
}
#ansArea .planTtl p {
    display: inline-block;
    position: relative;
    padding: 0px 11px;
}
#ansArea .planTtl p .ttlInner {
    display: inline-block;
    position: relative;
    padding: 0 10px;
}
#ansArea .planTtl p:before ,
#ansArea .planTtl p:after {
    content: "";
    display: block;
    height: 1.3em;
    width: 2px;
    background: #f59b00;
    opacity: .6;
    position: absolute;
    bottom: -4px;
}
#ansArea .planTtl p .ttlInner:before ,
#ansArea .planTtl p .ttlInner:after {
    content: "";
    display: block;
    height: 2.1em;
    width: 4px;
    background: #f59b00;
    position: absolute;
    bottom: -4px;
}
#ansArea .planTtl p:before ,
#ansArea .planTtl p .ttlInner:before {
    transform: rotate(27deg);
    right: 0px;
    transform-origin: left bottom;
}
#ansArea .planTtl p:after ,
#ansArea .planTtl p .ttlInner:after {
    transform: rotate(-27deg);
    left: 0;
    transform-origin: right bottom;
}
#ansArea .planTtl .orange {
    font-size: 130%;
    color: #f59b00;
}
#ansArea > ul > li {
    margin-bottom: 35px;
    display: none;
    opacity: 0;
    transform: translateY(-50px);
}
#ansArea ul li.on {
    opacity: 1;
    transform: translateY(0);
    transition: 1s .75s;
} 

#simulationAreaWrap #ansArea .simuInner {
    display: block;
    opacity: 0;
    transform: translateY(-50px);
    padding-top: 100px;
    position: relative;
}
#simulationAreaWrap #ansArea .simuInner .simuList li {
    display: block!important;
}
#simulationAreaWrap #ansArea .simuInner:before ,
#simulationAreaWrap #ansArea .simuInner:after {
    content: "";
    display: block;
    position: absolute;
    width: 2.8rem;
    height: 4px;
    left: 50%;
    top: 48px;
    background: #f59b00;
    margin-left: -1.4rem;
}
#simulationAreaWrap #ansArea .simuInner:after {
    transform: rotate(90deg);
}
#ansArea ul li.on .simuInner {
    opacity: 1!important;
    transform: translateY(0)!important;
    transition: 1s .75s;
}
#ansArea ul li a {
    display: block;
    border: 4px solid #000;
    transition: .25s;
    border-radius: 1em;
    overflow: hidden;
    background-color: #fff;

}
#ansArea ul li a:hover {
    border-color: #f59b00;
} 
#ansArea ul li a .inner {
    display: flex;
    align-items: center;
}
#ansArea ul li a .inner .imgArea {
    padding: 26px;
    background: #f59b00;
}
#ansArea ul li a .inner .textArea {
    padding: 0 40px;
    width: 100%;
}
#ansArea ul li a .inner .textArea .textInner {
    position: relative;
}
#ansArea ul li a .inner .textArea .textInner:before ,
#ansArea ul li a .inner .textArea .textInner:after {
    right: 0.4em;
    top: 50%;
    content: ">";
    position: absolute;
    margin-top: -0.5em;
    font-style: normal;
    font-weight: 300;
    font-size: 2.7em;
    color: #f59b00;
    transform: scale(1,2.05) translateX(0);
    display: block;
    transition: 0.75s;
}
#ansArea ul li a .inner .textArea .textInner:after {
    right: 0;
    opacity: .5;
    transition-delay: .1s
}
#ansArea ul li a .inner .textArea .textInner:before {
    transition-delay: 0s
}
#ansArea ul li a:hover .inner .textArea .textInner:before ,
#ansArea ul li a:hover .inner .textArea .textInner:after {
    transform: scale(1,2.05) translateX(5px);
}
#ansArea ul li a:hover .inner .textArea .textInner:after {
    transition-delay: 0s
}
#ansArea ul li a:hover .inner .textArea .textInner:before {
    transition-delay: .1s
} 
#ansArea ul li a .inner .textArea .ttl {
    font-size: 34px;
    font-weight: 900;
    margin-bottom: 13px;
    transition: .25s
}
#ansArea ul li a:hover .inner .textArea .ttl {
    color: #f59b00
}
#ansArea ul li a .inner .textArea .text {
    font-size: 16px
}
#ansArea ul li a .inner .textArea .comments {
    font-size: 12px;
    margin-top: 10px;
    margin-bottom: -10px;
    padding-left: 1em;
    text-indent: -1em;
}
#ansArea ul li a .inner .textArea .ttl span {
    font-size: 71%;
    word-break: keep-all;
    display: inline-block;
}
@media screen and (max-width: 768px) {
    .simulation .leadText {
        font-size: 16px
    }
    #simulationAreaWrap { margin-bottom: 30px; }
    #simulationAreaWrap ul.simuList { margin-bottom:0; }
    #ansArea .planTtl {
        padding: 0 20px;
        font-size: 24px;
    }
    #ansArea ul li a .inner .imgArea {
        width: 35%;
        padding: 15px;
        display: flex;
        align-self: stretch;
        align-items: center;
    }
    #ansArea ul li a .inner .textArea {
        width: 65%;
        padding: 10px 0.7em 10px 20px;
    }
    #ansArea ul li a .inner .textArea .textInner {
        padding-right: 3em;
    }
    #ansArea ul li a .inner .imgArea img {
        width: 100%
    }
    #ansArea ul li a .inner .textArea .ttl {
        font-size: 32px;
        margin-bottom: 10px;
        margin-left: -0.2em;
    }
    #ansArea ul li a .inner .textArea .text {
        font-size: 14px;
    }
    #ansArea ul li a .inner .textArea .comments {
        margin-bottom: -5px;
        margin-top: 10px;
        font-size: 11px;
    }
    #simulationAreaWrap .simuInner#simuL2-1 li a .bottomText {
        background-position: center right 10px;
        padding: 12px 35px;
    }
}
@media screen and (max-width: 768px) {
    #simulationAreaWrap ul.simuList.c4 > li {
        width: calc((100% - 30px) / 4);
    }
}
@media screen and (max-width: 640px) {
    #simulationAreaWrap ul.simuList {
        flex-wrap: wrap;
        justify-content: space-around;
    }
    #simulationAreaWrap ul.simuList.c4 > li ,
    #simulationAreaWrap ul.simuList.c3 > li ,
    #simulationAreaWrap ul.simuList.c2 > li{
        width: calc((100% - 40px) / 2);
        margin-bottom: 20px
    }
    #simulationAreaWrap #simuL2-1 li{
        width: 100%;
        max-width: 480px;
        margin-bottom: 20px
    }
    #ansArea ul li a .inner {
        display: block;
    }
    #ansArea ul {
        display: flex;
        /* width: 50%; */
        /* flex-wrap: wrap; */
        justify-content: space-around;
    }
    #ansArea ul li {
        width: 65%;
        padding: 2%;
    }
    #ansArea ul li a {
        /* height: 100%; */
    }
    #ansArea ul li a .inner .imgArea {
        width: 100%;
    }
    #ansArea ul li a .inner .textArea {
        width: 100%;
        padding: 15px 0.7em 15px 10px;
    }
    #ansArea ul li a .inner .textArea .ttl {
        font-size: 28px;
    }
    #ansArea ul li a .inner .textArea .text {
        font-size: 13px;
    }
    #ansArea ul li a .inner .textArea .comments {
        margin-bottom: -5px;
        margin-top: 10px;
        font-size: 10px;
    }
}
@media screen and (max-width: 580px) {
    #simulationAreaWrap ul.simuList > li a {
        font-size: 18px;
        height: 200px;
    }
    #ansArea ul {
        flex-wrap: wrap;
    }
    #ansArea ul li {
        width: 100%;
        max-width: 320px;
    }
}
@media screen and (max-width: 480px) {
    #ansArea ul li a .inner .textArea .ttl {
        font-size: 24px;
    }
    #ansArea .planTtl {
        font-size: 20px
    }
    #simulationAreaWrap ul.simuList > li a {
        font-size: 16px;
        height: 150px;
    }
    #simulationAreaWrap .simuInner:not(#simuL2-1) li a:after {
        width: 13px;
        height: 13px;
        margin-left: -6px;
        bottom: 10px;
    }
    #simulationAreaWrap ul.simuList.c4 > li ,
    #simulationAreaWrap ul.simuList.c3 > li ,
    #simulationAreaWrap ul.simuList.c2 > li{
        width: calc((100% - 20px) / 2);
        margin-bottom: 20px
    }
    #ansArea ul li a .inner .textArea {
        padding: 20px 0.7em 20px 10px;
    }
    #ansArea ul li a .inner .textArea .textInner {
        padding-right: 2em
    }
    #ansArea ul li a .inner .textArea .textInner:before,
    #ansArea ul li a .inner .textArea .textInner:after {
        font-size: 1.75em;
    }
}

/* よくあるご質問 */
#faqCategoryList h3 {
    font-size: 30px;
    text-align: center;
    margin-bottom: 40px;
    position: relative;
    padding-bottom: 15px;
    font-weight: 900;
    padding-top: 70px;
    margin-top: -70px;
}
#faqCategoryList h3:after {
    content: "";
    width: 2.25em;
    height: 2px;
    display: block;
    background: #f59b00;
    position: absolute;
    left: 50%;
    margin-left: -1.125em;
    bottom: 0
}
#faqCategoryList > li:not(:last-child) {
    margin-bottom: 70px;
}

#faqCategoryList .faqList > li {
    padding: 0 20px 25px;
    margin-bottom: 30px;
    border-bottom: 1px solid #ccc;
    font-size: 18px;
}


#faqCategoryList .faqList li .q {
    margin-bottom: 1em;
    position: relative;
    line-height: 1.6;
    font-weight: bold;
    color: #666;
    margin-bottom: 20px;
    padding-left: 25px;
    /* padding-bottom: 15px; */
    padding-left: 35px;
    font-size: 115%;
    margin-bottom: 30px;
}
#faqCategoryList .faqList li .q:after,
#faqCategoryList .faqList li .a:after {
    content: "";
    position: absolute;
    left: -16px;
    top: 50%;
    margin-top: -20px;
    width: 35px;
    background: url(../images/q_bg.png) no-repeat center;
    background-size: contain;
    height: 40px;
    left: -10px;
    top: 0;
    margin-top: -3px;
}

#faqCategoryList .faqList li .a {
    padding-left: 25px;
    position: relative;
    line-height: 1.6;
    padding-left: 0;
    font-size: 80%;
    padding-left: 35px;
}
#faqCategoryList .faqList li .a .num {
    margin-top: 5px;
}
#faqCategoryList .faqList li .a .num li {
    padding-left: 1em;
    text-indent: -1em;
    margin-bottom: 3px
}
#faqCategoryList .faqList li .a:after {
    background: url(../images/a_bg.png) no-repeat center;
    background-size: contain;
    top: 0;
    /* margin-top: -10px; */
}

@media screen and (max-width: 580px) {
    #faqCategoryList h3{ font-size:6vw; }
    #faqCategoryList .faqList li .q { font-size:4.5vw; }
    a.btn.apply + p,a.btn.applylink + p{ font-size:2.6vw; }
}

.food-drink {
    margin-top: 3rem;
    font-size: 1.125rem;
    text-align: center;
    line-height: 1.5;
    padding-bottom: 70px;
    /* display: flex; */
    /* flex-direction: column; */
    /* align-items: center; */
}
.food-drink p.ttl {
    font-weight: bold;
}
.food-drink p.text {
    margin-top: 0.25rem;
    display: inline-block;
    text-align: left;
}

/* 共通class */
.dilb {
    display: inline-block;
}
@media screen and (min-width: 769px) {
    .sp {display: none;}
}
@media screen and (max-width: 768px) {
    .pc {display: none;}
}
@media screen and (min-width: 641px) {
    .u640 { display: none;}
}
@media screen and (max-width: 640px) {
    .o640 { display: none;}
}
@media screen and (min-width: 481px) {
    .u480 { display: none;}
}
@media screen and (max-width: 480px) {
    .o480 { display: none;}
}