@charset "UTF-8";

/*
variable
------------------------------*/
:root,* {
    box-sizing: border-box;

    --ticket-base:#f0634e;

    --text:#231815;
    --text-light:#9d9d9d;
    --text-333:#333333;

/*
*    SVG Icon URL ▼ usage ▼
*
*    .facebook-icon::before,.facebook-icon::after{
*        background: var(--facebook-svg);
*    }
*/
    --weibo-svg    : url('data:image/svg+xml;base64,PHN2ZyBpZD0i44Os44Kk44Ok44O8XzEiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDEwMCAxMDAiPjxkZWZzPjxzdHlsZT4uY2xzLTF7ZmlsbDojZmZmO308L3N0eWxlPjwvZGVmcz48dGl0bGU+d2VpYm88L3RpdGxlPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTc1LjMzLDM0LjM3QTUuMzgsNS4zOCwwLDAsMCw3MCwzMi42MWEzLDMsMCwwLDEtMi4yNy0uNDEsMi41NywyLjU3LDAsMCwxLTEuMjUtMS44NiwyLjksMi45LDAsMCwxLC40LTIuMjQsMi44NCwyLjg0LDAsMCwxLDEuODYtMS4yOCwxMS41LDExLjUsMCwwLDEsNiwuMjgsMTEuMjQsMTEuMjQsMCwwLDEsNS4wOCwzLjI5LDExLjUxLDExLjUxLDAsMCwxLDIuNzQsNS40NiwxMS4xMywxMS4xMywwLDAsMS0uMzMsNS45MSwyLjk0LDIuOTQsMCwwLDEtMS40OCwxLjcxLDIuODcsMi44NywwLDAsMS0yLjI0LjIsMi45NCwyLjk0LDAsMCwxLTEuNzEtMS40OCwyLjg3LDIuODcsMCwwLDEtLjItMi4yNEE1LjM0LDUuMzQsMCwwLDAsNzUuMzMsMzQuMzdaTTkzLjg0LDQ1LjUzYTMuMzUsMy4zNSwwLDAsMS0xLjcxLDIsMy4yMSwzLjIxLDAsMCwxLTIuNjEuMjEsMy40MiwzLjQyLDAsMCwxLTItMS43MSwzLjM3LDMuMzcsMCwwLDEtLjI2LTIuNjIsMTYuODQsMTYuODQsMCwwLDAtMy41Mi0xNi42QTE2LjM3LDE2LjM3LDAsMCwwLDc2LjI5LDIyYTE3LjMsMTcuMywwLDAsMC04LjcxLS40MywzLjQ3LDMuNDcsMCwwLDEtNC4xMi0yLjY3LDMuMjksMy4yOSwwLDAsMSwuNDgtMi41OSwzLjM1LDMuMzUsMCwwLDEsMi4xOS0xLjQ4LDI0LDI0LDAsMCwxLDEyLjI3LjU4LDIzLDIzLDAsMCwxLDEwLjQ2LDYuNzYsMjMuMjMsMjMuMjMsMCwwLDEsNS42NiwxMS4xOUEyMywyMywwLDAsMSw5My44NCw0NS41M1pNODEuNjIsNjguOGEyNC44NCwyNC44NCwwLDAsMS01LjQ5LDYuODksNDEuODUsNDEuODUsMCwwLDEtOC40Nyw1LjkxLDQ2Ljg1LDQ2Ljg1LDAsMCwxLTExLjM3LDQuMTcsNTguMTgsNTguMTgsMCwwLDEtMTMuNjEsMS41Niw1Nyw1NywwLDAsMS0xMy44My0xLjY4QTQ5LjE2LDQ5LjE2LDAsMCwxLDE2Ljc2LDgxYTI1LjksMjUuOSwwLDAsMS04LjYzLTcuNTksMTcsMTcsMCwwLDEtMy4yNy0xMEEyNi4xNSwyNi4xNSwwLDAsMSw4LjM2LDUxYTU1LjgyLDU1LjgyLDAsMCwxLDkuOTMtMTNxOC41MS04LjUxLDE3LjE4LTExLjg3dDEyLjQuMzVxMy4yNywzLjIxLDEsMTAuNTFhMS41NSwxLjU1LDAsMCwwLDAsMSwuNjIuNjIsMCwwLDAsLjUxLjM1LDIsMiwwLDAsMCwuNzMsMCw1LDUsMCwwLDAsLjY3LS4xN2wuMzEtLjFhMzIuMjYsMzIuMjYsMCwwLDEsMTIuMzctM2MzLjU5LDAsNi4xNSwxLDcuNywzLjA3czEuNSw1LjA5LDAsOWE2LjQ5LDYuNDksMCwwLDEtLjIzLDEsLjUyLjUyLDAsMCwwLC4yMy42MywyLjMyLDIuMzIsMCwwLDAsLjYuMzdsLjg2LjMxYTIyLDIyLDAsMCwxLDUuMTcsMi4zNiwxMy4xNiwxMy4xNiwwLDAsMSw0LDQuMSwxMC41NywxMC41NywwLDAsMSwxLjcxLDUuODZBMTUuMjQsMTUuMjQsMCwwLDEsODEuNjIsNjguOFpNNjMuNTEsNTNBMjQuNzgsMjQuNzgsMCwwLDAsNTMsNDcuNTRhMzguMzEsMzguMzEsMCwwLDAtMTMuOC0xUTI4LDQ3LjY1LDIwLjYzLDUzLjYxVDE0LDY2LjkxYTEzLjE2LDEzLjE2LDAsMCwwLDQuNDgsOC41NUEyNC42NywyNC42NywwLDAsMCwyOC45Myw4MWEzOC4zNSwzOC4zNSwwLDAsMCwxMy44MSwxUTU0LDgwLjg1LDYxLjMyLDc0Ljg5VDY4LDYxLjU4QTEzLjExLDEzLjExLDAsMCwwLDYzLjUxLDUzWk01Mi4zLDY5LjYzYTE0LjQxLDE0LjQxLDAsMCwxLTcuOTUsNy41NCwxNS42OCwxNS42OCwwLDAsMS0xMS4yNy42MSwxMS4zOSwxMS4zOSwwLDAsMS03LjQyLTYuMzdBMTAuNjYsMTAuNjYsMCwwLDEsMjYsNjJhMTQuODUsMTQuODUsMCwwLDEsNy42Mi03QTE1LjkzLDE1LjkzLDAsMCwxLDQ0LjIsNTRhMTEuOTIsMTEuOTIsMCwwLDEsOCw2QTEwLjQ2LDEwLjQ2LDAsMCwxLDUyLjMsNjkuNjNaTTQyLjg0LDYyYTIsMiwwLDAsMC0xLjQ0LDAsMiwyLDAsMCwwLTEuMDguOTNjLS41NywxLS4zNSwxLjc5LjY2LDIuMjZhMi4xLDIuMSwwLDAsMCwxLjQ2LDAsMiwyLDAsMCwwLDEuMS0uOTQsMS41MSwxLjUxLDAsMCwwLC4xOC0xLjMzQTEuNDUsMS40NSwwLDAsMCw0Mi44NCw2MlpNMzcuMSw2NC4zNWE1LjA5LDUuMDksMCwwLDAtMy42NywwLDUuNSw1LjUsMCwwLDAtMywyLjMxLDQuMjEsNC4yMSwwLDAsMC0uNjUsMy40NCwzLjczLDMuNzMsMCwwLDAsMi4xNiwyLjU0LDQuODksNC44OSwwLDAsMCwzLjc1LjEzLDUuNzUsNS43NSwwLDAsMCwzLjE0LTIuMzksNC4xOCw0LjE4LDAsMCwwLC41Ni0zLjQ3QTMuNzYsMy43NiwwLDAsMCwzNy4xLDY0LjM1WiIvPjwvc3ZnPg==');
    --facebook-svg : url(data:image/svg+xml;base64,PHN2ZyBpZD0i44Os44Kk44Ok44O8XzEiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDEwMCAxMDAiPjxkZWZzPjxzdHlsZT4uY2xzLTF7ZmlsbDojZmZmO308L3N0eWxlPjwvZGVmcz48dGl0bGU+ZmFjZWJvb2s8L3RpdGxlPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTg5LDguNjdIMTIuNGE0LDQsMCwwLDAtNC4xNCwzLjcyVjg5LjI4QTQsNCwwLDAsMCwxMi40LDkzSDUzLjI4VjU3SDQ1LjE0VjQzaDguMTRWMzMuOWMwLTYuOCw1LjczLTEzLDE0LjU5LTEzSDgxLjIxdjE0SDcyLjA2Yy0xLjc3LDAtMi40OS4yNS0yLjQ5LDIuMTF2Nkg4MC4zOGwtLjg2LDE0aC0xMFY5M0g4OWEzLjU3LDMuNTcsMCwwLDAsMy41OS0zLjcyVjEyLjM5QTMuNTYsMy41NiwwLDAsMCw4OSw4LjY3WiIvPjwvc3ZnPg==);
    --twitter-svg  : url(data:image/svg+xml;base64,PHN2ZyBpZD0i44Os44Kk44Ok44O8XzEiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDEwMCAxMDAiPjxkZWZzPjxzdHlsZT4uY2xzLTF7ZmlsbDojZmZmO308L3N0eWxlPjwvZGVmcz48dGl0bGU+dHdpdHRlcjwvdGl0bGU+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNODcuMTUsMzEuODNjMCwuMjgsMCwuNTcsMCwuODVzMCwuNzUsMCwxLjEyYy0uMzksOS4zNC0zLjU2LDMyLjIzLTI0LjI1LDQ2LTkuMTEsNi4wNy0xOS41MSw3LjQtMjcuNDgsNy41N2E0OS42OSw0OS42OSwwLDAsMS0yOC45NS04LjNjMTAuMTQuNzgsMTguMDUtMS44OCwyNi44My03LjY0LTEzLjYyLS43My0xNy4zOS0xMy4yNi0xNy4zOS0xMy4yNmEyMi4yNiwyMi4yNiwwLDAsMCw3LjY1LDBDOSw1NC4xNiw5LDM5LjkzLDksMzkuOTNhNjUuMTUsNjUuMTUsMCwwLDAsOC43NywyLjVjLTEzLjUxLTEwLjc0LTYtMjQuNjMtNi0yNC42M0MyMS42NSwyOC44NywzMy4wNSwzNS4wOSw0OS45MSwzN0ExOC44NywxOC44NywwLDAsMSw4MiwxOS42N2M3LjMyLTEuMzQsMTEuMjctNC41MiwxMS4yNy00LjUyQTE3Ljg5LDE3Ljg5LDAsMCwxLDg1LjksMjUuNTRhMjUuMzUsMjUuMzUsMCwwLDAsOS42LTIuNjNBMTcuODIsMTcuODIsMCwwLDEsODcuMTUsMzEuODNaIi8+PC9zdmc+);
    --insta-svg    : url(data:image/svg+xml;base64,PHN2ZyBpZD0i44Os44Kk44Ok44O8XzEiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDEwMCAxMDAiPjxkZWZzPjxzdHlsZT4uY2xzLTF7ZmlsbDojZmZmO2ZpbGwtcnVsZTpldmVub2RkO308L3N0eWxlPjwvZGVmcz48dGl0bGU+aW5zdGFncmFtPC90aXRsZT48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik01MS4zMiwxMy44OGMxMC4xNiwwLDExLjQzLDAsMTUuNDIuMjNhMjcuNTcsMjcuNTcsMCwwLDEsOS4wOCwxLjczLDE4LjQ3LDE4LjQ3LDAsMCwxLDYuNjIsNC4zMiwxOC4yMiwxOC4yMiwwLDAsMSw0LjMxLDYuNjIsMjcuMjksMjcuMjksMCwwLDEsMS43NCw5LjA4Yy4xOCw0LC4yMyw1LjI2LjIzLDE1LjQxczAsMTEuNDMtLjIzLDE1LjQyYTI3LjI5LDI3LjI5LDAsMCwxLTEuNzQsOS4wOEExOS4xLDE5LjEsMCwwLDEsNzUuODIsODYuN2EyNy4yOSwyNy4yOSwwLDAsMS05LjA4LDEuNzRjLTQsLjE4LTUuMjYuMjMtMTUuNDIuMjNzLTExLjQzLDAtMTUuNDItLjIzYTI3LjIyLDI3LjIyLDAsMCwxLTkuMDctMS43NCwxOC4xNCwxOC4xNCwwLDAsMS02LjYyLTQuMzEsMTguMzgsMTguMzgsMCwwLDEtNC4zMi02LjYyLDI3LjgsMjcuOCwwLDAsMS0xLjc0LTkuMDhjLS4xOC00LS4yMi01LjI2LS4yMi0xNS40MnMwLTExLjQyLjIyLTE1LjQxYTI3LjgsMjcuOCwwLDAsMSwxLjc0LTkuMDhBMTkuMjEsMTkuMjEsMCwwLDEsMjYuODMsMTUuODRhMjcuNSwyNy41LDAsMCwxLDkuMDctMS43M2M0LS4xOSw1LjI3LS4yMywxNS40Mi0uMjNabTAsNi43NGMtMTAsMC0xMS4xNywwLTE1LjExLjIyYTIwLjY1LDIwLjY1LDAsMCwwLTYuOTQsMS4yOCwxMi40MSwxMi40MSwwLDAsMC03LjEsNy4xLDIwLjg1LDIwLjg1LDAsMCwwLTEuMjksNi45NGMtLjE4LDQtLjIxLDUuMTMtLjIxLDE1LjExczAsMTEuMTcuMjEsMTUuMTFhMjAuODYsMjAuODYsMCwwLDAsMS4yOSw3LDExLjY1LDExLjY1LDAsMCwwLDIuOCw0LjMsMTEuNDMsMTEuNDMsMCwwLDAsNC4zLDIuNzksMjAuNTksMjAuNTksMCwwLDAsNi45NCwxLjI5YzMuOTQuMTgsNS4xMy4yMiwxNS4xMS4yMnMxMS4xNywwLDE1LjExLS4yMmEyMC42LDIwLjYsMCwwLDAsNi45NS0xLjI5LDExLjM5LDExLjM5LDAsMCwwLDQuMjktMi43OSwxMS42NSwxMS42NSwwLDAsMCwyLjgtNC4zLDIwLjg2LDIwLjg2LDAsMCwwLDEuMjktN2MuMTgtMy45NC4yMi01LjEyLjIyLTE1LjExczAtMTEuMTYtLjIyLTE1LjExYTIwLjg1LDIwLjg1LDAsMCwwLTEuMjktNi45NCwxMS42NSwxMS42NSwwLDAsMC0yLjgtNC4zLDExLjUzLDExLjUzLDAsMCwwLTQuMjktMi44LDIwLjY3LDIwLjY3LDAsMCwwLTYuOTUtMS4yOGMtMy45NC0uMTgtNS4xMi0uMjItMTUuMTEtLjIyWm0wLDExLjQ1YTE5LjIxLDE5LjIxLDAsMSwxLTE5LjIsMTkuMiwxOS4yLDE5LjIsMCwwLDEsMTkuMi0xOS4yWm0wLDMxLjY3QTEyLjQ3LDEyLjQ3LDAsMSwwLDM4Ljg2LDUxLjI3LDEyLjQ3LDEyLjQ3LDAsMCwwLDUxLjMyLDYzLjc0Wk03NS43NywzMS4zMWE0LjQ5LDQuNDksMCwxLDEtNC40OS00LjQ4LDQuNDksNC40OSwwLDAsMSw0LjQ5LDQuNDhaIi8+PC9zdmc+);
    --wechat-svg   : url(data:image/svg+xml;base64,PHN2ZyBpZD0i44Os44Kk44Ok44O8XzEiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDEwMCAxMDAiPjxkZWZzPjxzdHlsZT4uY2xzLTF7ZmlsbDojZmZmO308L3N0eWxlPjwvZGVmcz48dGl0bGU+d2VjaGF0PC90aXRsZT48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik01NS42OCw1NGEyLjU0LDIuNTQsMCwxLDAsMi41NCwyLjY1QTIuNTgsMi41OCwwLDAsMCw1NS42OCw1NFoiLz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik01MCw0MC41YTMsMywwLDEsMC0uMDgtNi4wOSwzLjE0LDMuMTQsMCwwLDAtMy4wNywzLjA5QTMuMDcsMy4wNywwLDAsMCw1MCw0MC41WiIvPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTMwLjUzLDM0LjQxYTMsMywwLDEsMC0uMTksNi4wOCwzLjEsMy4xLDAsMCwwLDMuMjEtMi45NEEzLjE0LDMuMTQsMCwwLDAsMzAuNTMsMzQuNDFaIi8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNNzEuNSw1NEEyLjU0LDIuNTQsMCwwLDAsNjksNTYuMzhhMi41LDIuNSwwLDEsMCw1LC4yMkEyLjUzLDIuNTMsMCwwLDAsNzEuNSw1NFoiLz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik04MC4xNyw4LjgzSDIxLjA2QTEyLjY2LDEyLjY2LDAsMCwwLDguNCwyMS41VjgwLjZBMTIuNjYsMTIuNjYsMCwwLDAsMjEuMDYsOTMuMjdIODAuMTdBMTIuNjYsMTIuNjYsMCwwLDAsOTIuODMsODAuNlYyMS41QTEyLjY2LDEyLjY2LDAsMCwwLDgwLjE3LDguODNaTTMzLjM2LDY0LjE3YTQuNzQsNC43NCwwLDAsMC0yLjU2LjQzYy0yLjM3LDEuMzQtNC42NCwyLjg1LTcuMzMsNC41My40OS0yLjIzLjgxLTQuMTksMS4zOC02LjA3QTIuMzEsMi4zMSwwLDAsMCwyMy44LDYwYy04LjE4LTUuNzgtMTEuNjMtMTQuNDItOS0yMy4zMkMxNy4xNCwyOC40NiwyMywyMy40NiwzMSwyMC44NmMxMC44Ny0zLjU1LDIzLjA5LjA3LDI5LjcsOC43YTIwLjI5LDIwLjI5LDAsMCwxLDQuMjQsMTAuNzZjLTYuODEuMzYtMTIuNzQsMi40Mi0xNy41NSw3LjA5YTIwLjg1LDIwLjg1LDAsMCwwLTYuNDcsMTcuNjZDMzguMjIsNjQuNzQsMzUuOCw2NC4zOCwzMy4zNiw2NC4xN1ptNDgsMTEuMThjLTIuMSwxLjg3LTIuODYsMy40LTEuNTEsNS44NmE2LjY4LDYuNjgsMCwwLDEsLjQyLDEuNmMtMi4xNS0xLTQuMTMtMi40LTYuMjQtMi42MnMtNC4zMSwxLTYuNSwxLjIxYTIxLjcyLDIxLjcyLDAsMCwxLTE3LjYzLTUuNzVjLTkuNC04LjY5LTguMDYtMjIsMi44Mi0yOS4xNSw5LjY2LTYuMzMsMjMuODQtNC4yMiwzMC42NSw0LjU3Qzg5LjI3LDU4LjczLDg4LjU3LDY4LjkxLDgxLjMxLDc1LjM1WiIvPjwvc3ZnPg==);


font-family: -apple-system, 'PingFang TC','Segoe UI','LiHei Pro','Microsoft JhengHei',微軟正黑體,"Helvetica Neue",Helvetica,Arial,sans-serif;

}



.bg-gray{
    background:#efefef;
}
.bg-black{
    background:#000;
}

a.btn{
    text-decoration: none;
    background:#000;
    color:#FFF;
    width:100%;
    padding:0.7em 1em;
    text-align:center;
    display:block;
    margin:1em auto;
    font-size:4vmin;
}
@media(min-width:481px){
    a.btn{
        font-size:14px;
    }
}

.inline-btn{
    position:relative;
    padding-bottom:2em;
}

a.btn-inline{
    display:inline-block;
    text-decoration: none;
    padding:0.6em 0.6em;
    text-align:center;
    margin:0;
    font-size:3.6vmin;
    position:absolute;
    right:0;
    color:var(--text);
}

@media(min-width:481px){
    a.btn-inline{
        font-size:12px;
    }
}

a.btn.btn-white-border{
    border:1px solid #FFF;
}

a.btn.next::after,a.btn-inline.next::after{
    content:"\03e";
    margin-left:0.8em;
}
a.btn.bottom::after,a.btn-inline.bottom::after{
    content:"\02228";
    margin-left:0.8em;
}








/*
commons
------------------------------*/
.main{

}
.main section{
    max-width:768px;
    margin:0 auto;
    width:100%;
}

    .inner{
        margin:0 auto;
        width:80%;
        max-width:520px;
        position:relative;
    }

    .inner-90{
        margin:0 auto;
        width:90%;
        max-width:520px;
        position:relative;
    }

    .position-right{
        width:100%;
        position:relative;
        min-height:2.1em;
        margin-top:2em;
    }

    .position-right > *{
        position:absolute;
        right:0;
    }

    a.anchor-box{
        text-decoration: none;
        background:#000;
        color:#FFF;
        display:inline-block;
        padding:0.5em 0.8em 0.6em 0.8em;
        line-height:1em;
    }

    .main section h2{
        font-size: 5.4vmin;
        color: #000;
        text-align: center;
        letter-spacing: 0.2em;
        font-family: -apple-system, BlinkMacSystemFont, 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', '游ゴシック  Medium', meiryo, sans-serif;
    }
     @media(min-width:481px){
        .main section h2{
            font-size: 20px;
        }
    }

    .main section h2::after{
        content:"\00a0";
        display:block;
        width:1.2em;
        margin:0 auto;
        border-bottom:1px solid #000;
        margin-bottom:2em;
    }

span.small-01{  font-size:0.1em;  }
span.small-02{  font-size:0.2em;  }
span.small-03{  font-size:0.3em;  }
span.small-04{  font-size:0.4em;  }
span.small-05{  font-size:0.5em;  }
span.small-055{ font-size:0.55em; }
span.small-06{  font-size:0.6em;  }
span.small-065{ font-size:0.65em; }
span.small-07{  font-size:0.7em;  }
span.small-075{  font-size:0.75em;}
span.small-08{  font-size:0.8em;  }
span.small-085{  font-size:0.85em;}
span.small-09{  font-size:0.9em;  }

span.big-11{   font-size:1.1em;  }
span.big-115{  font-size:1.15em; }
span.big-12{   font-size:1.2em;  }
span.big-125{  font-size:1.25em; }
span.big-13{   font-size:1.3em;  }
span.big-135{  font-size:1.35em; }
span.big-14{   font-size:1.4em;  }
span.big-145{  font-size:1.45em; }
span.big-15{   font-size:1.5em;  }




/*
top-page
------------------------------*/
header.top-01{
    width:100%;
    height:100%;
    background:url(../images/top-bg-01.jpg) 50% 0 no-repeat;
    background-size:contain;
}

.top-02{
    background:#000;
    padding:0.8em 0;
}
.top-02 *{
    color:#FFF;
}

.top-02 h1,.top-05 h3{
    font-size:3.2vmin;
    text-align:center;
    font-weight:600;
    line-height:1.6em;
    letter-spacing: 0.05em;
}
.top-02 h1 img{
    margin-bottom:.4em;
}

@media(min-width:512px){
    .top-02 h1,.top-05 h3{
        font-size:16px;
    }
}

.top-03{
    width:100%;
    max-width:768px;
    height:85vw;
    max-height:652px;
    background:url(../images/top-bg-03.jpg) 50% 0 no-repeat;
    background-size:contain;
}

.top-04{
    width:100%;
    max-width:768px;
    height:100vw;
    max-height:768px;
    background:url(../images/top-bg-04.jpg) 50% 0 no-repeat;
    background-size:contain;
}


.top-05{
    width:100%;
    max-width:768px;
    height:370vw;
    max-height:2840px;
    background:url(../images/top-bg-05.jpg) 0 0 no-repeat;
    background-size:contain;
    position:relative;
}


.top-05 img.top-05-01{
    position:relative;
    top:12vmin;
    width:100%;
}
.top-05 img.top-05-02{
    position:relative;
    top:27vmin;
    width:100%;
}
.top-05 img.top-05-03{
    position:relative;
    top:85vmin;
    width:100%;
}

/*
header
------------------------------*/
header{
    text-align:center;
}

/*
coupon list-page header
*************************/
header.coupon-list{
    background:url(../images/coupon-list-bg.jpg) 50% 50% no-repeat;
    background-size: cover;
    min-height:80vh;
    position:relative;
}

header.coupon-list .hero-box{
    width:75%;
    margin:0 auto;
    min-height:65vh;
    display: -webkit-flex; display: -ms-flexbox; display: flex;
    -ms-flex-flow:column nowrap; flex-flow:column nowrap;
    -webkit-justify-content: center;-ms-flex-pack: center;justify-content: center;
    -webkit-align-items: center;  -ms-flex-align: center; align-items: center;
}

header.coupon-list .hero-box h1{
    color:#FFF;
    font-size:3.4vmin;
    line-height:1.4em;
    font-weight:600;
    margin-bottom:0.5em;
}

/*
coupon list-page box
*************************/
.list-content{
    margin-top:0.5em;
}

    .list-content .shop-box{
        border:1px solid var(--text-light);
    }

        .list-content .shop-box .img-box{
            position:relative;
        }

            .list-content .shop-box .img-box p.over-text{
                position:absolute;
                top:1em;
                left:1em;
                font-weight:600;
                font-size:3.5vmin;
            }
            @media(min-width:481px){
                .list-content .shop-box .img-box p.over-text{
                    font-size:14px;
                }
            }

        .list-content .shop-box .details{
            padding:0.75em;
            /*border-bottom: 1px solid #ef634e;*/
            width:100%;
        }

            .list-content .shop-box .details h3{
                color:var(--text);
                font-size:3.7vmin;
                letter-spacing: -0.05em;
                margin-bottom:0.2em;
            }

            .list-content .shop-box .details p{
                color:var(--text);
                font-size:3vmin;
            }
            @media(min-width:481px){

                .list-content .shop-box .details h3{
                    font-size:20px;
                }
                .list-content .shop-box .details p{
                    font-size:13px;
                }
            }


            .list-content .shop-box .details p.food-court{
                margin-top:0.75em;
                font-size:3.5vmin;
                background:url(../images/common/foodcourt.svg) 0 50% no-repeat;
                height:3em;
                background-size:2.5em 2.5em;
                padding-left:3em;
                display: -webkit-flex; display: -ms-flexbox; display: flex;
                -webkit-justify-content: flex-start;-ms-flex-pack: start;justify-content: flex-start;
                -webkit-align-items: center;  -ms-flex-align: center; align-items: center;
                line-height:1.3em;
            }

            .list-content .shop-box .details p.restaurant{
                margin-top:0.75em;
                font-size:3.5vmin;
                background:url(../images/common/restaurant.svg) 0 50% no-repeat;
                height:3em;
                background-size:2.5em 2.5em;
                padding-left:3em;
                display: -webkit-flex; display: -ms-flexbox; display: flex;
                -webkit-justify-content: flex-start;-ms-flex-pack: start;justify-content: flex-start;
                -webkit-align-items: center;  -ms-flex-align: center; align-items: center;
                line-height:1.3em;
            }

            @media(min-width:481px){
                .list-content .shop-box .details p.restaurant,.list-content .shop-box .details p.food-court{
                    font-size:16px;
                }
            }



        .list-content .shop-box .coupon-box{
            display: table;
            width:100%;
            border-top:1px solid var(--ticket-base);
        }

            .list-content .shop-box .coupon-box h4{
                background:var(--ticket-base);
                color:#FFF;
                padding:0 0.4em;
                width:4em;
                font-size:4.2vmin;
                text-align:center;
                display: table-cell;
                vertical-align: middle;

            }

            .list-content .shop-box .coupon-box p{
                
                color:var(--ticket-base);
                padding:0.5em;
                line-height:1.3em;
                font-size:3.6vmin;
                font-weight:600;
                text-align:justify;
                letter-spacing: -0.01em;
                height:3.5em;
                width:auto;
                display: table-cell;
                vertical-align: middle;


            } 
            .list-content .shop-box .coupon-box p span{
                display:inline;
            }

            @media(min-width:481px){

                .list-content .shop-box .coupon-box h4{
                    font-size:16px;
                }
                .list-content .shop-box .coupon-box p{
                    font-size:13px;
                }
            }

            .couponlist-ol{
                padding-left:1em;
                list-style-type:disc;

                font-size:3.2vmin;
                color:var(--text-333); 
            }

            .couponlist-ol li{
                line-height:1.5em;
                text-align:justify;

            }
            @media(min-width:480px){
                .couponlist-ol li{
                    font-size:14px;
                }
            }

/*
coupon detail-page header
*************************/
header a{
    display:inline-block;
    margin-top:12px;
    margin-bottom:12px;
}


header a img.coupon-header-logo{
    width:100%;
    display:block;
}


header a img.header-logo{
    width:25vw;
    max-width:100px;
    display:block;
    margin:0 auto;
}
header h1{
    font-size:6vmin;
    line-height:1em;
    color:var(--text);
    font-family: -apple-system, BlinkMacSystemFont, 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', '游ゴシック  Medium', meiryo, sans-serif !important;
}
@media(min-width:481px){
    header h1{
        font-size:22px;
    }
}


header h5{
    font-size:3.2vmin;
    font-weight:normal;
    line-height:2.4em;
    color:var(--text);
    padding-bottom: 0.7em;
}
@media(min-width:481px){
    header h5{
        font-size:10px;
    }
}



/*
couponlist section link-map
------------------------------*/
.main section.link-map{
    background:#000;
    padding:1.2em 0 2.2em 0;
    max-width:none;
    width:100%;
}

    .main section.link-map *{
        color:#FFF;
    }

    .main section.link-map p{
        text-align:center;
        line-height:1.8em;
        margin-bottom:1em;
    }

    .main section.link-map a.btn{
        margin:0 auto;
    }


.main section.return-top{
    padding:1em 0 0 0;
}


/*
couponlist section link-map
------------------------------*/
.main section.coupon-list-map{
background:#f3f3f3;

}

.footer-notes{
    padding:1em 0 0.5em 0;
}
.footer-notes h4{
    font-size:14px;
    line-height:1.6em;
}
.footer-notes p{
    font-size:12px;
    line-height:1.6em;
    letter-spacing: 0.05em;
}

.pdf-map{
    display: block;
    margin: 1em auto;
    text-decoration: underline;
    color: var(--text);
    font-size: 12px;
    width: 6em;
}

/*
section details
------------------------------*/

    .main section .coupon{
        width:80%;
        max-width:520px;
        margin:20px auto;
    }

        .main section .coupon .box{
            background:var(--ticket-base);
            padding:0.5em;
            margin-bottom:1.5em;
        }
            .main section .coupon .box > div{
                border:2px solid #FFF;
                padding:0.5em;
            }

                .main section .coupon .box > div h1,
                .main section .coupon .box > div p{
                    color:#FFF;
                    text-align:center;
                }

                .main section .coupon .box > div h1{
                    line-height:1.5em;
                    font-size:3.8vmin;
                }
                @media(min-width:481px){
                    .main section .coupon .box > div h1{
                        font-size:18px;
                    }
                }

                .main section .coupon .box > div h1 span{
                    display:block;
                    margin-bottom:0.6em;
                }

                .main section .coupon .box > div p{
                    line-height:1.2em;
                    font-size:2.6vmin;
                }
                @media(min-width:481px){
                    .main section .coupon .box > div p{
                        font-size:12px;
                    }
                }


        .main section .coupon h4{
            color:var(--text-light);
            font-size:3.5vmin;
            font-weight:normal;
        }
        @media(min-width:481px){
            .main section .coupon h4{
                font-size:11px;
            }
        }

        .main section .coupon p{
            color:var(--text-333);
            margin-top:1.2em;
            line-height:1.8em;
            font-size:3.6vmin;
            letter-spacing: 0.02em;
            text-align:justify;
        }
        @media(min-width:481px){
            .main section .coupon p{
                font-size:14px;
            }
        }


    span.padding-right-05{
        padding-right:0.5em;
    }

    p span.small{
        font-size:0.9em;
    }

.img-inner-text{
    margin-top:-2em;
    text-align:right;
    padding-right:1em;
    margin-bottom:3em;
    font-size:3.2vmin;
}
@media(min-width:481px){
    .img-inner-text{
        font-size:12px;
    }
}
.white{
    color:#FFF !important;
}
.black{
    color:#000 !important;
}



/*
section menu
------------------------------*/
section.menu{
    margin-top:50px;
}

    section.menu h5.tax{
        color:var(--text-333);
        padding-left:1em;
        margin-bottom:1em;
        font-size:3vmin;
        position:relative;
    }


    @media(min-width:481px){
        section.menu h5.tax{font-size:11px;}
    }

    section.menu img + p{
        color:#000;
        font-size:3.4vmin;
        text-align:center;
        line-height:1.6em;
        margin-top:0.2em;
        margin-bottom:0.8em;
    }
    @media(min-width:481px){
        section.menu img + p{
            font-size:14px;
        }
    }


    @media(min-width:481px){}


/*
section shop
------------------------------*/
section.shop{
    width:100%;
    max-width:none;
    background:#f3f3f3;
    padding:40px 0 0 0;
    margin-top:40px;
}


        section.shop h1{
            font-size:10vmin;
            text-align:center;
            margin-bottom:10px;
        }

        @media(min-width:481px){
            section.shop h1{
                font-size:30px;
            }
        }

        section.shop img{
            width:100%;
            margin:10px auto;
        }

/*
footer
------------------------------*/
footer{
    text-align:center;
    padding:1em 0;
    background:#FFF;
}

    footer img.footer-logo{
        width:30vw;
        max-width:100px;
        display:block;
        margin:2em auto;
    }

    footer small{
        line-height:3em;
        color:var(--text-light);
        font-size:3.7vmin;
        letter-spacing: 0.05em;
    }

    @media(min-width:481px){
        footer small{
            font-size:.875rem;
        }
    }

/*
fade-in
------------------------------*/
.fadein {
    opacity : 0;
    transform : translate(0, 50px);
    transition:all 0.7s;
}
.fadein.scrollin {
    opacity : 1;
    transform : translate(0, 0);
}


