@charset "utf-8";

/* ************************************************************************
*
* STYLE
*
************************************************************************ */

/*-------------共通-------------*/
body {
    word-break: break-all;
}

section {
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    padding: 1em 0;
    overflow: hidden;
}


/*////////////////////*SP*/
/*/////////////////*/
img {
    max-width: 100%;
    height: auto;
}

.pc {
    display: none;
}

.main {
    margin-top: 41px;
}

.clearfix:after {
    visibility: hidden;
    display: block;
    font-size: 0;
    content: " ";
    clear: both;
    height: 0;
}


/*-------------メイン-------------*/

.mainTxt {
    text-align: center;
    padding: 0.5em 0;
}

.mainTxt img {
    max-width: 826px;
    width: 85%;
}

/*-------------アプリ-------------*/
.apri {
    padding: 0em;
}

.sp h1 {
    text-align: center;
    width: 60%;
    margin: auto;
    padding-bottom: 0.5em;
}

.apri .sp ul {
    text-align: center;
    margin: 1em auto;
    width: 90%;
}

.apri .sp p {
    text-align: center;
    font-weight: bold;
    color: #000;
    font-size: 18px;
}

.btnGet {
    display: inline-block;
    margin: 0 0.5%;
}

.apri ul li img {
    width: 100%;
}

.apri .sp ul li img {
    height: 40px;
    width: auto;
}

/*-------------アプリの使い方-------------*/
#how {
    background: url(../images/bg_how.png) center center;
    background-size: cover;
    width: 100%;
    height: 100%;
    padding: 40px 0;
    margin-bottom: 41px;
}

#howWrap {
    position: relative;
    padding-top: 45px;
    margin-top: -45px;
}

h2 {
    text-align: center;
    font-size: 1.8em;
    letter-spacing: 0.1em;
    margin-bottom: 15px;
}

h2 img {
    max-height: 50px;
    width: auto;
}

#how p {
    text-align: center;
    z-index: 7777;
}

.youtube iframe {
    width: 100%;
}

/*-------------3つのポイント-------------*/
#point {
    padding: 45px 0 0;
    margin-top: -45px;
}

#point ul li:nth-child(1) {
    background: #79e1d6;
}

#point ul li:nth-child(2) {
    background: #e9dcf0;
}

#point ul li:nth-child(3) {
    background: #fffc9d;
}

#point dl dt {
    font-size: 1em;
    font-weight: bold;
    line-height: 1.5;
}

@media screen and (max-width: 320px) {
    #point dl dt {
        font-size: 1em;
    }
}

#point .sp li dl {
    display: table;
    padding: 3%;
    box-sizing: border-box;
    margin: auto;
}

#point .sp li dl dt,
#point .sp li dl dd {
    display: table-cell;
    vertical-align: middle;
}

#point .sp li dl dt {
    width: 73%;
    padding: 0 3%
}

#point .sp li dl dd:first-child {
    width: 18%;
}

#point .sp li dl dd:last-child {
    width: 6%;
}

/*-------------point共通-------------*/
.posecWrap {
    position: relative;
    max-width: 980px;
    margin: auto;
}

.po {
    padding: 30px 1.5em;
}

h3 {
    text-align: left;
    font-size: 1.1em;
    line-height: 1.5;
    display: table;
    vertical-align: top;
    width: 100%;
    margin: auto;
}

h3 img {
    max-width: 100%;
}

h3 .s_lef {
    width: 21%;
    display: table-cell;
}

h3 .s_rig {
    width: 79%;
    display: table-cell;
    vertical-align: middle;
    padding-left: 4.5%;
    box-sizing: border-box;
}

h4 {
    text-align: center;
    font-size: 1em;
}

h4 span {
    line-height: 1.5;
    border-bottom: 1px solid;
}

figure {
    text-align: center;
    margin: 0 0 20px;
}

figure img {
    margin: 1em 0 -20px 0;
    width: 50%;
}

.po dl,
.icon_in p {
    margin: 1.5em 0 1em;
}

.po dl dt,
.icon_in p {
    font-size: 0.9em;
    font-weight: bold;
    padding-bottom: 0.3em;
    line-height: 1.5;
}

.po dd {
    font-size: 0.9em;
    line-height: 1.5;
}

.po .note {
    padding-left: 1em;
    text-indent: -1em;
}

.icon_w {
    position: relative;
    z-index: 0;
    min-height: 100px;
}

.icon {
    position: absolute;
}

.icon img {
    max-width: 80px;
    height: auto;
    width: 100%;
}

.icon_in {
    padding-left: 70px;
}

.icon_in h4 {
    text-align: left;
}

.icon_in dl .btn {
    text-align: center;
    margin: 2em;
    background-color: #e9dcf0;
}

.btn {
    text-align: center;
    width: 80%;
    margin: 0 auto;
    max-width: 300px;
    padding-left: 4%;
}


/*-------------point1-------------*/

#point1 {
    background: #79e1d6;
}

/*-------------point2-------------*/

#point2 {
    background: #e9dcf0;
}


/*-------------point3-------------*/

#point3 {
    background: #fffc9d;
    margin: 0;
}

.card {
    padding: 1em;
    border: 1px dotted;
    padding: 2em 1em 1em;
    border: 1px dashed;
    text-align: center;
}

.card h5 {
    width: 75%;
    margin: auto;
}

.card dl {
    margin: auto;
    margin: 1.5em auto;
}

.card dt,
.card dd {
    vertical-align: middle;
}

.card .btn {
    background-color: #fffc9d;
    width: 80%;
}

#credit {
    padding-top: 40px;
    margin-top: -40px;
}

.ilumine {
    margin: 3em auto;
}

.ilumine p {
    margin-top: 1.5em;
    font-size: 1em;
    font-weight: bold;
}

.chart {
    margin: 3em auto;
}

.mile {
    margin-top: 1em;
}

.mile p {
    margin: auto;
    text-align: center;
}

.mile ul {
    max-width: 452px;
}

.mile li {
    padding-left: 2em;
    text-indent: -2em;
    line-height: 1.5;
    font-size: 0.9em;
}

.ticketlist {
    background-color: #fff;
    width: 780px;
    text-align: left;
    bottom: initial;
    top: 29%;
    left: 5%;
    width: 100%;
}

.ticketlist h3 {
    background-color: #eeeeee;
    text-align: center;
    /*    font-size: 22px;
    line-height: 2.5;*/
    letter-spacing: 1px;
    color: #000;
    margin: 0;
    font-size: 14px;
    line-height: 2;
}

.ticketlist .listWrap {
    overflow: hidden;
    padding: 25px 27px;
    box-sizing: border-box;
    padding: 5%;
}

.ticketlist .listWrap .lft {
    /*   float: left;*/
    /*   width: 350px;*/
    float: none;
    width: 100%;
}

.ticketlist .listWrap .rgt {
    /*    float: right;*/
    /* width: 350px;*/
    float: none;
    width: 100%;
}

.ticketlist dl {
    display: table;
    width: 100%;
    border-bottom: 1px dotted #eeeeee;
    /*    line-height: 2;*/
    margin: 6px 0;
    /*    font-size: 80%;*/
    /*    line-height: 1.8;*/
}

.ticketlist dl dt {
    display: table-cell;
    font-weight: bold;
    font-size: 80%;
    line-height: 1.8;
}

.ticketlist dl dt:before {
    content: "■";
    color: #eeeeee;
    font-size: 120%;
    vertical-align: middle;
    padding-top: 3%;
}

.ticketlist dl dd {
    display: table-cell;
    text-align: right;
    font-size: 80%;
    line-height: 1.8;
}

.ticketlist dl dd a {
    color: #0aa1e8;
    text-decoration: underline;
}

.ticketlist dl dd span {
    font-size: 90%;
}

.rank {
    max-width: 717.5px;
}

.rank dl {
    margin-bottom: 1em;
}

.chart ul {
    margin: auto;
    text-align: left;
}

#download {
    padding-top: 45px;
    margin-top: -45px;
}

/*-------------動作環境-------------*/
.spec {
    position: relative;
}

.spec p {
    width: 100%;
    box-sizing: border-box;
    padding: 0.5em 0;
    text-align: center;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
}

.spec dl {
    margin: auto;
    margin-top: 2em;
    margin-bottom: 9em;
    font-size: 0.9em;
    line-height: 1.5;
    max-width: 400px;
    width: 80%;
}

.spec dl dt {
    font-weight: bold;
}

.spec dl dd {
    font-size: 0.9em;
}

.spec img {
    position: absolute;
    bottom: 0;
    z-index: -999;
}



/*--------------------------ページタイトル------------------------*/
.under h1 {
    display: block;
    width: 80%;
    max-width: 552.5px;
    padding-top: 23vw;
    margin: 0 auto 6vw;
    text-align: center;
}

@media screen and (min-width: 700px) {
    .under h1 {
        margin-bottom: 30px;
        padding-top: 100px;
    }
}

@media screen and (min-width: 1100px) {
    .under h1 {
        padding-top: 150px;
    }
}

/*--------------------------FAQ------------------------*/

.faqCat ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 90%;
    max-width: 980px;
    margin: 0 auto;
    padding: 9% 0 6%;
    background: #f5f5f5;
    box-sizing: border-box;
    overflow: hidden;
}

.faqCat ul li {
    display: inline-block;
    width: 90%;
    height: 60px;
    margin: 0 auto 10px;
    padding: 0 0 0 20px;
    font-size: 1.1em;
    font-weight: bold;
    line-height: 1.3;
    letter-spacing: 0.1em;
    background: #0096d8;
    box-sizing: border-box;
    position: relative;
    transform-style: preserve-3d;
    transition: 1s ease;
    pointer-events: painted;
    cursor: pointer;
}

.faqCat ul li:before {
    content: '';
    width: 100%;
    transform-origin: left bottom;
    transform: scale(1, 0);
    transition: transform .3s;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

.faqCat ul li:nth-of-type(odd):before {
    background: #fff000;
}

.faqCat ul li:nth-of-type(even):before {
    background: #c8c9ca;
}

.faqCat ul li:hover:before {
    transform-origin: left top;
    transform: scale(1, 1);
}

.faqCat ul li:after {
    content: '';
    width: 8px;
    height: 98%;
    position: absolute;
    bottom: 6px;
    left: 5px;
}

.faqCat ul li:nth-of-type(odd):after {
    background: #fff000;
}

.faqCat ul li:nth-of-type(even):after {
    background: #c8c9ca;
}

.faqCat ul li a {
    display: inline-flex;
    align-items: center;
    width: 100%;
    height: 100%;
    color: #fff;
    font-feature-settings: "palt";
    position: relative;
}

.faqCat ul li:hover a {
    color: #000;
}

.faqCat ul li a:hover i {
    width: 100%;
    background: #fff000;
    border-top: 2px solid #fff000;
    position: absolute;
    bottom: 5px;
    left: 0;
}

.faqCat ul li a:hover i:nth-of-type(even) {
    width: 100%;
    background: #c8c9ca;
    border-top: 2px solid #0096d8;
}

.faqCat ul li dt:nth-of-type(odd) i:hover {
    background: #fff000;
}

.faqCat ul li dt:nth-of-type(even) i:hover {
    background: #c8c9ca;
}

.faqCat ul dt {
    position: relative;
}

.faqCat ul li:hover dl dt i {
    width: 100%;
    height: 2px;
    background: #fff000;
    position: absolute;
    bottom: 0;
}

.faqCat ul li>i {
    display: inline-block;
    width: 0.5rem;
    height: 0.5rem;
    border-bottom: 2px solid #ffffff;
    border-left: 2px solid #ffffff;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    position: absolute;
    top: 35%;
    right: 20px;
    transition: 0.1s;
}

.faqCat ul li:hover>i {
    border-bottom: 2px solid #000000;
    border-left: 2px solid #000000;
}

.faqCat ul dl {
    display: table;
    width: 100%;
    padding: 1em 0.8em 1em 0.6em;
    box-sizing: border-box;
}

.faqCat ul dl dt {
    display: table-cell;
    width: 97%;
    padding: 1px 0 0 15px;
    font-size: 1.15em;
    font-weight: bold;
    line-height: 1.5;
}

.faqCat ul dl dd {
    display: table-cell;
    width: 10%;
    text-align: right;
}

.acMenu {
    width: 90%;
    max-width: 980px;
    margin: 0 auto;
    padding-top: 60px;
    word-break: break-all;
}

.acMenu:last-of-type {
    margin-bottom: 3em;
}

.acMenu dl {
    font-feature-settings: "palt";
    letter-spacing: 1px;
    border-bottom: #666 1px dashed;
    position: relative;
    transition: 0.5s;
}

.acMenu dl.active {
    background-color: #f5f5f5;
    transition: 0.5s;
}

.acMenu dl dt {
    display: flex;
    padding: 1.1em 40px 1.1em 10px;
    font-weight: bold;
    font-size: 0.9em;
    line-height: 2;
    overflow: hidden;
    position: relative;
    cursor: pointer;
}

.acMenu dl .l {
    float: left;
    width: 25px;

    line-height: 1;
}

.acMenu dl dt .l {
    margin: 1px 10px 0 5px;
}

.acMenu dl dt .mQ {
    float: left;
    width: 95%;
    padding: 5px 0 0;
    line-height: 1.5;
}

.acMenu dl dd {
    display: none;
    padding: 0 38px 1.1em 10px;
    font-size: 0.85em;
    overflow: hidden;
}

.acMenu dl dd .dd_wrap {
    display: flex;
}

.acMenu dl dd .l {
    margin: 1px 10px 0 5px;
}

.acMenu dl dd .m {
    float: left;
    width: 95%;
    padding: 5px 0 0;
}

.acMenu dl dd .r {
    float: left;
    width: 100%;
    padding: 5px 0 5px;
    color: #ff0000;
}

.acMenu dl dd .r02 {
    padding: 5px 0 5px;
    color: #ff0000;
    font-weight: bold;
}

.acMenu dl dd .m a {
    border-bottom: 1px dotted #000;
}

.acMenu dl dd .m a:hover {
    color: #0090d5;
}

.acMenu dl dd .m .faqImg {
    width: 100%;
    max-width: 350px;
    margin: 10px 20px 20px 6px;
}

.acMenu dl dd .faqImg02 img {
    width: 60vw;
    display: block;
    margin: 5vw 5vw 5vw 12vw;
    text-align: center;
}

.acMenu dl span.small {
    font-size: 11px;
    vertical-align: 2px;
    font-weight: bold;
}

.acMenu dl span.indent01 {
    display: inline-block;
    text-indent: -1em;
    padding-left: 1em;
}

.acMenu dl span.indent025 {
    display: inline-block;
    text-indent: -2.8em;
    padding-left: 2.8em;
}

.acMenu dl span.indent10 {
    display: inline-block;
    margin-left: 10px;
}

.acMenu dl span.indent15 {
    display: inline-block;
    margin-left: 15px;
}

.acMenu dl span.indent20 {
    display: inline-block;
    margin-left: 20px;
}

.acMenu dl span.indent30 {
    display: inline-block;
    margin-left: 30px;
}

.acMenu dl dt::before {
    content: "";
    display: block;
    width: 26px;
    height: 26px;
    background: #0096d8;
    border-radius: 50%;
    position: absolute;
    top: 15px;
    right: 10px;
    pointer-events: painted;
    cursor: pointer;
}

.acMenu dl dt::after {
    content: "";
    display: block;
    width: 0.5rem;
    height: 0.5rem;
    border-bottom: 2px solid #fff;
    border-left: 2px solid #fff;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    position: absolute;
    top: 21px;
    right: 18px;
}

.acMenu dl.active dt::after {
    content: "";
    display: block;
    width: 0.5rem;
    height: 0.5rem;
    border-bottom: 0px;
    border-left: 0px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    position: absolute;
    top: 26px;
    right: 18px;
}

.acMenu h2 {
    line-height: 1.4;
    margin-bottom: 5px;
    padding: 0.7em 0 0.6em;
    font-size: 1.2em;
}

.acMenu:nth-child(odd) h2 {
    background: #fff000;
}

.acMenu:nth-child(even) h2 {
    background: #c8c9ca;
}

.anc {
    margin-top: -50px;
    padding-top: 50px;
}

.page_link {
    margin-top: 0;
    padding-top: 0;
}

/*下部注意分追加*/

.caution {
    font-size: 0.85em;
    width: 90%;
    max-width: 980px;
    margin: 0 auto;
    padding-bottom: 60px;
    word-break: break-all;
}

.caution span.indent001 {
    display: inline-block;
    text-indent: -1em;
    padding-left: 1em;
}

.caution a {
    border-bottom: 1px dotted #000;
}

.caution a:hover {
    color: #0090d5;
}

/*.caution a {
    display: inline-flex;
    align-items: center;
    width: 100%;
    height: 100%;
    color: #fff;
    font-feature-settings: "palt";
    position: relative;
}

.caution:hover a {
    color: #000;
}

.caution a:hover i {
    width: 100%;
    background: #fff000;
    border-top: 2px solid #fff000;
    position: absolute;
    bottom: 5px;
    left: 0;
}

.caution a:hover i:nth-of-type(even) {
    width: 100%;
    background: #c8c9ca;
    border-top: 2px solid #0096d8;
}*/

/* IE */
@media screen and (-ms-high-contrast: none) {
    .faqCat ul li {
        width: 447px;
        height: 50px;
        padding: 0 0 0 10px;
    }

    .page_link {
        margin-top: -100px;
        padding-top: 100px;
    }
}

/* Firefox */
@-moz-document url-prefix() {
    .page_link {
        margin-top: -90px;
        padding-top: 90px;
    }
}

/* safari */
@media screen and (min-width: 700px) and (-webkit-min-device-pixel-ratio:0) {

    _::-webkit-full-page-media,
    _:future,
    :root .page_link {
        margin-top: -100px;
        padding-top: 100px;
    }
}

@media screen and (min-width: 700px) {
    .faqCat ul {
        margin: 30px auto 0;
        padding: 3% 2% 2%;
    }

    .faqCat ul li {
        width: 100%;
        font-size: 1.2em;
        letter-spacing: 0;
    }

    .faqCat ul li br.sp {
        display: none;
    }

    .acMenu dl dt,
    .acMenu dl dd {
        font-size: 1em;
    }

    .acMenu dl dt::before {
        content: "";
        display: block;
        width: 26px;
        height: 26px;
        background: #0096d8;
        border-radius: 50%;
        position: absolute;
        top: 15px;
        right: 15px;
        pointer-events: painted;
        cursor: pointer;
    }

    .acMenu dl dt::after {
        content: "";
        display: block;
        width: 0.5rem;
        height: 0.5rem;
        border-bottom: 2px solid #fff;
        border-left: 2px solid #fff;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
        position: absolute;
        top: 21px;
        right: 23px;
    }

    .acMenu dl.active dt::after {
        content: "";
        display: block;
        width: 0.5rem;
        height: 0.5rem;
        border-bottom: 0px;
        border-left: 0px;
        border-top: 2px solid #fff;
        border-right: 2px solid #fff;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
        position: absolute;
        top: 25px;
        right: 23px;
    }

    .page_link {
        margin-top: -90px;
        padding-top: 90px;
    }

}

@media screen and (min-width: 1025px) {
    .faqCat ul li {
        width: 447px;
        height: 50px;
        padding: 0 0 0 10px;
    }

    .faqCat ul li:after {
        width: 12px;
        height: 12px;
        border-top: 2px solid #0096d8;
        border-left: 2px solid #0096d8;
        top: -3px;
        left: -3px;
    }

    .faqCat ul li>i {
        right: 10px;
    }

    .faqCat ul dl dt {
        padding: 1px 0 0 0;
        letter-spacing: -0.03rem;
    }

    .anc {
        margin-top: -50px;
        padding-top: 50px;
    }

}

@media screen and (min-width: 1100px) {
    .anc {
        margin-top: -80px;
        padding-top: 80px;
    }

}


/*----------------------policy-----------------------*/
.policy {
    max-width: 900px;
    width: 90%;
    margin: auto;
    line-height: 1.6;
    font-size: 0.8em;
    /* padding: 0 3em; */
}

.policy .lead {
    font-weight: normal;
    padding-bottom: 2em;
    border-bottom: 1px dashed;
    margin-bottom: 2em;
}

.policy ul {
    margin: 0.5em 0 0;
}

.policy li {
    margin: 0 0 0.5em;
}

.policy li.indent2 {
    /*text-indent: -1em;*/
    padding-left: 1em;
}

.policy li:last-of-type {
    margin-bottom: 2em;
}

.policy p {
    font-weight: bold;
    margin-top: 2em;
}

.policy .end {
    margin: 2.5em 0;
    text-align: right;
}

.indent li {
    text-indent: -2em;
    padding-left: 2em;
}

.indent li.indent3 {
    text-indent: -1em;
    padding-left: 3em;
}


/*////////////////////////////////*PC*/
/*/////////////////////////////////*/
@media screen and (min-width: 1100px) {

    /*----------(pc)メイン----------*/

    .main .pc img {
        width: 100%;
    }

    .mainTxt img {
        width: auto;
    }


    /*----------(pc)アプリ----------*/
    .apri {
        padding: 1em 0em;
    }

    .apri .pc {
        overflow: hidden;
        margin: 40px auto;
        text-align: center;
        max-width: 800px;
    }

    .apri .pc h1 {
        float: left;
        margin-right: 50px;
    }

    .pc h1 img {
        max-width: 170px;
        max-height: 170px;
        width: 100%;
    }

    .apri .pc ul {
        overflow: hidden;
        text-align: left;
        margin: 18px 0 0;
    }

    .apri .pc ul .h1Ttl {
        width: 560px;
    }

    .btnGet {
        display: inline-block;
        margin: 20px 30px 0 0;
    }


    .Google {
        width: 211px;
    }

    .Apple {
        width: 220px;
    }


    /*----------(pc)アプリの使い方----------*/

    h2 img {
        max-height: 90px;
    }

    #how {
        padding: 70px 0;
    }

    #howWrap {
        padding-top: 75px;
        margin-top: -75px;
    }

    #how h2 {
        margin: 0 0 40px;
    }

    #how p {
        position: relative;
        width: 75%;
        padding-bottom: 42.2%;
        padding-top: 0;
        height: 0;
        overflow: hidden;
        margin: auto;
        box-sizing: border-box;
    }

    #how iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }

    /*----------(pc)3つのポイント----------*/

    .mt70 {
        margin-top: 70px;
    }

    #point {
        padding: 80px 0 0;
        margin-top: -75px;
    }

    #point .pc {
        display: table;
        margin: 4em auto;
    }

    #point .pc dl {
        background: #fff;
        display: table-cell;
        text-align: center;
        width: 350px;
        padding: 1em 0;
    }

    #point .pc .p3_1,
    #point .pc .p3_3 {
        border-left: 1px solid #ccc;
        border-right: 1px solid #ccc;
    }

    #point .pc dl dt {
        font-size: 1.25em;
        font-weight: bold;
        line-height: 1.5;
        margin: 0.5em 0;
        min-height: 80px;
    }

    #point .pc .p3_1:hover {
        background: #79e1d6;
    }

    #point .pc .p3_2:hover {
        background: #e9dcf0;
    }

    #point .pc .p3_3:hover {
        background: #fffc9d;
    }

    /*----------(pc)ポイント----------*/
    h3 {
        width: 920px;
        margin: auto;
        text-align: left;
        margin-bottom: 40px;
        font-size: 2em;
        overflow: hidden;
    }

    h3 img {
        max-width: 25%;
        vertical-align: middle;
        padding-right: 1.5em;
    }

    h3 .s_lef {
        width: 10%;
    }

    h3 .s_rig {
        width: 90%;
        padding-left: 0;
    }

    h3 span.s_lef img {
        max-width: none;
        width: 120px;
    }

    h3 span.s_rig {
        line-height: 2;
    }

    h4 {
        font-size: 1.5em;
    }

    .wrap h4 {
        text-align: left;
    }

    .icon_w h4 {
        text-align: center;
        padding-right: 5em;
    }

    .po {
        padding: 5em 0;
    }

    .po .wrap {
        overflow: hidden;
        max-width: 900px;
        margin: auto;
    }

    .po .poR {
        float: right;
    }

    .po .poL {
        float: left;
    }

    .po .poTxt {
        max-width: 480px;
        line-height: 1.5;
    }

    .po dl dt,
    .icon_in p {
        font-size: 1.2em;
    }

    .po dd {
        font-size: 1em;
    }

    figure {
        max-width: 326px;
        width: 100%;
        height: auto;
    }

    figure img {
        margin: 0;
        width: 100%;
    }

    #point1 .poTxt {
        margin-top: 20px;
    }

    #point1 .poL,
    #point3 .poL {
        margin-left: 20px;
    }

    #point2 .poTxt {
        margin: 30px 0 0 70px;
    }

    #point3 .poTxt {
        margin-left: 20px;
    }

    #point3 .wrap {
        margin: 20px;
    }

    .icon_w {
        position: relative;
        z-index: 0;
        width: 780px;
        margin: 0 auto;
        padding: 0 0 10px;
    }

    .icon {
        position: absolute;
        top: 46px
    }

    .icon img {
        max-width: 150px;
        width: 100%;
        height: auto;
    }

    .icon_in {
        padding-left: 8.5em;
        margin-bottom: 4em;
    }

    .card {
        padding: 1em;
        padding: 2em 0 1em;
        border: 1px dashed;
    }

    .card dl {
        display: table;
        margin: auto;
        margin: 1.5em auto;
        width: 400px;
    }

    .card dt,
    .card dd {
        display: table-cell;
        vertical-align: middle;
    }

    .card dd img {
        max-width: 238.5px;
        width: 100%;
    }

    #credit {
        padding-top: 70px;
        margin-top: -70px;
    }

    .ilumine {
        margin: 5em auto;
    }

    .ilumine p {
        text-align: center;
    }

    .chart {
        margin: 5em auto;
    }

    .mile {
        overflow: hidden;
        width: 860px;
        margin: 1.5em auto 2em;
    }

    .mile p {
        float: left;
    }

    .mile p img {
        width: 452px;
    }

    .mile ul {
        float: left;
        width: 390px;
        box-sizing: border-box;
        padding-left: 1.5em;
    }

    .mile li {
        margin: 0 0 0.6em;
        text-indent: -2.6em;
        padding-left: 2.6em;
    }

    .ticket dl {
        text-align: center
    }

    .ticketlist {
        background-color: #fff;
        width: 780px;
        margin: 0 auto;
    }

    .ticketlist h3 {
        background-color: #eeeeee;
        text-align: center;
        font-size: 22px;
        line-height: 2.5;
        letter-spacing: 1px;
        color: #000;
        width: 780px;
        margin: 0;
    }

    .ticketlist .listWrap {
        overflow: hidden;
        padding: 25px 27px;
        box-sizing: border-box;
    }

    .ticketlist .listWrap .lft {
        float: left;
        width: 350px;
    }

    .ticketlist .listWrap .rgt {
        float: right;
        width: 350px;
    }

    .ticketlist dl {
        display: table;
        width: 100%;
        border-bottom: 1px dotted #eeeeee;
        line-height: 2;
        margin: 0;
    }

    .ticketlist dl dt {
        display: table-cell;
        font-weight: bold;
        font-size: 14px;
        line-height: 1.8;
    }

    .ticketlist dl dt:before {
        content: "■";
        color: #eeeeee;
        font-size: 120%;
        vertical-align: middle;
    }

    .ticketlist dl dd {
        display: table-cell;
        text-align: right;
        font-size: 14px;
    }

    .ticketlist dl dd a {
        color: #0aa1e8;
        text-decoration: underline;
    }

    .ticketlist dl dd span {
        font-size: 90%;
    }

    #download {
        padding-top: 75px;
        margin-top: -75px;
    }

    /*----------(pc)動作環境----------*/
    .spec dl {
        max-width: 550px;
        margin: auto;
        margin-top: 3em;
        margin-bottom: 15%;
        line-height: 1.5;
        padding: 2em;
        font-size: 1em;
        border: 1px dotted;
    }


    /*--------------------(pc)サイドイラスト--------------------*/
    .side_1 .pic {
        z-index: 8888;
        position: absolute;
    }

    .side_2 .pat {
        position: absolute;
        z-index: 7777;
    }

    /*--1--*/
    #point1 .side_1 .sox {
        top: 3%;
        right: 0%;
    }

    #point1 .side_1 .sofa {
        top: 43%;
        right: 0%;
    }

    #point1 .side_1 .tree1 {
        bottom: -6%;
        left: -6%;
    }

    /*--*/
    #point1 .side_2 .bst {
        top: -3%;
        right: -10%;
    }

    #point1 .side_2 .rdot {
        top: 45%;
        left: -20%;
    }

    #point1 .side_2 .ypat {
        bottom: 0%;
        right: -5%;
    }

    /*--2--*/
    #point2 .side_1 .ac {
        top: -2%;
        right: -8%;
    }

    #point2 .side_1 .scaf {
        top: 17%;
        left: -11%;
    }

    #point2 .side_1 .pnt {
        top: 32%;
        left: -12%;
    }

    #point2 .side_1 .girl1 {
        bottom: -6%;
        right: -12%;
    }

    #point2 .side_1 .cosme {
        bottom: -3%;
        left: -10%;
    }

    /*--*/
    #point2 .side_2 .ypat {
        top: 30%;
        right: -11%;
    }

    #point2 .side_2 .gpat {
        top: 41%;
        left: -16%;
    }

    #point2 .side_2 .rdot {
        bottom: 0%;
        right: -11%;
    }

    /*--3--*/
    #point3 .side_1 .code {
        top: 1%;
        right: -12%;
    }

    #point3 .side_1 .itm {
        top: 12%;
        left: -12%;
    }

    #point3 .side_1 .sbtn {
        top: 18%;
        right: -9%;
    }

    #point3 .side_1 .dish {
        top: 54%;
        right: -14%;
    }

    #point3 .side_1 .girl2 {
        top: 56%;
        left: -19%;
    }

    #point3 .side_1 .shoes {
        bottom: 20%;
        right: -4%;
    }

    #point3 .side_1 .book {
        bottom: 2%;
        right: -15%;
    }

    /*--*/
    #point3 .side_2 .gpat {
        top: 15%;
        right: -5%;
    }

    #point3 .side_2 .rst {
        top: 35%;
        left: -22%;
    }

    #point3 .side_2 .ypat {
        top: 50%;
        right: -11%;
    }

    #point3 .side_2 .bst {
        bottom: 19%;
        right: -11%;
    }

    #point3 .side_2 .rdot {
        bottom: 11%;
        left: -27%;
    }

    .acMenu dl dd .faqImg02 img {
        width: 30%;
        display: block;
        margin: 20px auto;
        text-align: center;
    }

    /*----------(pc)利用規約----------*/

    .policy {
        font-size: 1em;
    }

}

/*pc_end*/

@media screen and (min-width: 991px) {

    /*----------(pc)ポイント----------*/
    #point1 .poTxt {
        margin-top: 40px;
    }

    #point1 .poL,
    #point3 .poL {
        margin-left: 50px;
    }

    #point3 .poTxt {
        margin-left: 40px;
    }

    #point3 .wrap {
        margin: 40px;
        padding-top: 100px;
        margin-top: -100px;
    }

}