/* common */
html {
    font-size: 62.5%; /* 16px x 0.625 = 10px(=1rem) */
    line-height: 1.5;
    letter-spacing: .005em;
    //color: #263033;
    -webkit-text-size-adjust: 100%;
    -webkit-font-feature-settings: 'palt';
    font-feature-settings: 'palt';
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
}

body {
    font-size: 16px;
    font-size: 2.8rem;
    //font-family: "Lato",'Yu ragino Kaku Gothic Pro"Gothic', "游ゴシック", "Helvetica", "Helvetica Bold", "Hiragino Kaku Gothic ProN", "Meiryo", "MS PGothic", sans-serif;
    font-family: "ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro";
    width: 100%;
    height: 100%;
    overflow-x: hidden;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

a {
    color: #222;
    text-decoration: none;
}

#wrapper {
    position: relative;
    min-height: 100%;
}


/* splash.html  */
body.pg_splash {
    background: url(https://dtt2j5l12ozpv.cloudfront.net/1123/images/splash/splash/CMP_clock.gif) no-repeat center top #10649c;
    background-size: 100% auto;
}
body.pg_splash #wrapper {
    width: 100%;
    height: 100%;
}

#splash_animation {
    z-index: 1000;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    //width: 750px;
    //height: 1118px;
    top: 50%;
    transform: translate3d(0,-50%,0);
    width: auto;
    height: auto;
    display:block;
    overflow: hidden;
    text-align: center;
    opacity: 1;
}


/* top.html  */
#menu {
    //position: fixed;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    background: url(https://dtt2j5l12ozpv.cloudfront.net/1123/images/menu/menu-bg.svg);
    background-size: 100%;
    width: 750px;
    height: 200px;
    z-index: 10000;
}
body.pg_status ,
body.pg_present,
body.pg_howto   {
    background: none #fff;
}
body.pg_status  #menu,
body.pg_present #menu,
body.pg_howto   #menu {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
}

#place_name {
    position: absolute;
    top: 20px;
    left: 25px;
}

#place_number {
    position: absolute;
    top: 46px;
    left: 624px;
}

.menu-etc {
    text-align: center;
    position: absolute;
    width: 100%;
    top: 120px;
    left: 0;
}

.menu-etc a {
    display: inline-block;
    vertical-align: middle;
    margin: 0 -5px;
}

#maps {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 100%;
    height: 100%;
    overflow: hidden;
}


#maps .details {
    position: absolute;
    top: 0;
    left: 0%;
    width: 100%;
    height: 100%;
}

.map-l,
.map-c,
.map-r {
    position: absolute;
    bottom: 0;
    /*
    left: 0;
    right: 0;
     */
    margin: 0 auto;
    /*min-width: 750px;*/
    width: 100%;
    height: auto;
    z-index: 5;
    transform: translate3d(0, 0, 0);
}
.map-l { left:   0%; }
.map-c { left: 100%; }
.map-r { left: 200%; }


#spot-object {
    position: absolute;
    bottom: 0;
    left:0;
    width: 100%;
    z-index: 29;
}
#spot-object a {
  display: inline-block;
}
#spot-object img {
    position: absolute;
    pointer-events: none;
    bottom: 0;
    //left:0;
    //pointer-events: all;
    //fill: transparent;
}
.spot-obj-1  img { left:0; }
.spot-obj-2  img { left:0; }
.spot-obj-3  img { left:0; }
.spot-obj-4  img { left:0; }
.spot-obj-5  img { left:100%; }
.spot-obj-6  img { left:100%; }
.spot-obj-7  img { left:100%; }
.spot-obj-8  img { left:200%; }
.spot-obj-9  img { left:200%; }
.spot-obj-10 img { left:200%; }

#spot-object span {
    position: absolute;
    display: block;
    //border: 1px solid red;
    z-index: 10000;
}
#spot-object .spot-obj-1 span {
    display: none;
    bottom: 1045px;
    left: 125px;
    width: 150px;
    height: 100px;
}
#spot-object .spot-obj-2 span {
    bottom: 300px;
    left: 510px;
    width: 180px;
    height: 210px;
}
#spot-object .spot-obj-3 span {
    bottom: 455px;
    left: 130px;
    width: 180px;
    height: 180px;
}
#spot-object .spot-obj-4 span {
    bottom: 560px;
    left: 470px;
    width: 180px;
    height: 180px;
}
#spot-object .spot-obj-5 span {
    bottom: 460px;
    left: 880px;
    width: 180px;
    height: 180px;
}
#spot-object .spot-obj-6 span {
    bottom: 140px;
    left: 990px;
    width: 240px;
    height: 170px;
}
#spot-object .spot-obj-7 span {
    bottom: 525px;
    left: 1210px;
    width: 230px;
    height: 180px;
}
#spot-object .spot-obj-8 span {
    bottom: 520px;
    left: 1645px;
    width: 180px;
    height: 240px;
}
#spot-object .spot-obj-9 span {
    bottom: 150px;
    left: 1680px;
    width: 250px;
    height: 290px;
}
#spot-object .spot-obj-10 span {
    bottom: 440px;
    left: 1940px;
    width: 230px;
    height: 255px;
}



.ctrl-l {
    position: absolute;
    width: 65px;
    height: 128px;
    bottom: 0;
    top: 0;
    left: 0;
    margin: auto;
    z-index: 30;
}

.ctrl-r {
    position: absolute;
    width: 65px;
    height: 128px;
    bottom: 0;
    top: 0;
    right: 0;
    margin: auto;
    z-index: 31;
}

#div_chancetime {

}

#chancetime {
    background-color: transparent;
    position: absolute;
    top: 20px;
    right: 19px;
    margin: 0 auto;
    width: 35%;
    height: auto;
    overflow: hidden;
    transform: translate3d(0, 0, 0);
    text-align: center;
    opacity: 1;
    z-index: 15000;
}

#idle {
    background-color: transparent;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 100%;
    height: auto;
    overflow: hidden;
    transform: translate3d(0, 0, 0);
    text-align: center;
    opacity: 0;
    z-index: 10;
}

#mission_complete {
	position: absolute;
	pointer-events: none;
	z-index: 29;
	left: 200%;
	width: 100%;
    transform: translate3d(0, 0, 0);
}

#div_welcome ,
#div_walking ,
#div_twitter {
    opacity: 0;
    text-align: center;
    //width: 89%;
    width:586px;
    height: 400px;
    position: absolute;
    top: 50%;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    z-index: 300;
    transform: translateY(-50%);
}
#div_welcome .board-text ,
#div_walking .board-text ,
#div_twitter .board-text {
    position: absolute;
    //top: 550px;
    //bottom: 180px;
    top: 70px;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}
#div_welcome .btn-walk ,
#div_walking .btn-walk ,
#div_twitter .btn-walk {
    position: absolute;
    //top: 790px;
    top: 270px;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}

/*
#div_walking {
    opacity: 0;
    text-align: center;
    width: 89%;
    position: absolute;
    top: 50%;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 300;
	transform: translateY(-50%);
}
#div_walking .board-text {
    position: absolute;
    //top: 320px;
    top: 110px;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}
#div_walking .btn-walk {
    position: absolute;
    //top: 560px;
    top: 310px;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}

#div_twitter {
    text-align: center;
    width: 89%;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 300;
	//transform: translateY(-100px);
}
#div_twitter .board-text {
    position: absolute;
    //top: 320px;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}
#div_twitter .btn-walk {
    position: absolute;
    //top: 560px;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}
*/


/* shake.html  */
body.pg_shake {
    background: url(https://dtt2j5l12ozpv.cloudfront.net/1123/images/splash/splash/CMP_clock.gif) no-repeat center top #10649c;
    background-size: 100% auto;
    height: 100%;
    max-height: none;
}
body.pg_shake #wrapper {
    position: relative;
    height: 100%;

    //position: absolute;
    //top: 50%;
    //left: 0;
    //right: 0;
    //transform: translateY(-50%);
}
body.pg_shake #bodymovin {
    transform: translate3d(0,0,0);
    //transform: translate3d(0,-60px,0);
    //transform: translate3d(0,-50%,0);
    //height: 850px;
    height: auto;
    width:auto;
    margin: auto;
    display:block;
    overflow: hidden;
    text-align: center;
    opacity: 1;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    //transform: translateY(-50%);
}
.skip_shaking {

}
.skip_shaking img {
    position: absolute;
    display: block;
    //top: 84%;
    top: 90%;
    left: 0;
    right: 0;
    margin: 0 auto;
}



/* walking.html  */
body.pg_walking {
    background: url(https://dtt2j5l12ozpv.cloudfront.net/1123/images/splash/splash/CMP_clock.gif) no-repeat center top #10649c;
    background-size: 100% auto;
}
#walking_bodymovin {
    background-color: transparent;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    width: auto;
    height: auto;
    //width: 100%;
    //height: 100%;
    display:block;
    overflow: hidden;
    transform: translate3d(0,0,0);
    text-align: center;
    opacity: 1;
}



/* result.html  */
body.pg_result {
    //background-color:#FFBE00;
    background: url(https://dtt2j5l12ozpv.cloudfront.net/1123/images/splash/splash/CMP_clock.gif) no-repeat center top #10649c;
    background-size: 100% auto;
}

body.pg_result > div {
  height: 100%;
}
#hopping {

}
#hopping_character {
    position: absolute;
    z-index: 601;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 100%;
    height: auto;
    display:block;
    overflow: hidden;
    transform: translate3d(0,0,0);
    text-align: center;
    opacity: 1;
}

#dice_result {

}
#dice_number {
    position: absolute;
    z-index: 600;
    top: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 100%;
    height: auto;
    display:block;
    overflow: hidden;
    transform: translate3d(0,0,0);
    text-align: center;
    opacity: 1;
}

#next_link {
    font-size: 3rem;
    position: absolute;
    z-index: 603;
    bottom: 10%;
    left: 0;
    right: 0;
    margin: 0 auto;
    //display:block;
    //overflow: hidden;
    transform: translate(-25px,0);
    text-align: center;
    opacity: 0;
}
#next_link.active {
    opacity: 1;
    transform: translate(0,0);
    transition: transform 500ms ease-out, opacity 500ms ease-out;
}



/* arrived.html  */
body.pg_arrived {
    background-color:#b6995c;
    background-image: url(https://dtt2j5l12ozpv.cloudfront.net/1123/images/spot/common/bg.png);
    background-repeat: no-repeat;
    background-position: center top;
}

body.pg_arrived #wrapper {
    overflow: hidden;
    text-align: center;
}

.present_details {
    background-position: center top;
    background-repeat: no-repeat;
    padding: 0px 40px 50px;
    margin: 0 15px;
    background-color:#fff;
}

.present_info {
    //margin: 0 0 50px;
    margin: 0 0 30px;
}
.present_info img {
    max-width: 100%;
}
.present_info p {
    font-size: 3rem;
    font-weight: bold;
    color: #C3242B;
}

.arrived_spot {
    width: 640px;
    margin: 0 auto;
    text-align: left;
}
.arrived_spot img {
   display: inline-block;
   vertical-align: middle;
}
.arrived_spot img:first-child {
    //margin-right: 25px;
}

.arrived_img {
    margin-bottom: 40px;
}

.arrived_txt {
    margin-bottom: 40px;
}

.page_back {
    display: inline-block;
    margin: 60px 0 0;
}

.place_tips {
    padding: 0 0 30px;
}

.tips_txt {
    color: #333;
    background-color: #F4E3EB;
    padding: 20px;
    text-align: left;
    line-height: 1.5;
}

.to_official {
    margin-bottom: 40px;
    display: inline-block;
}

#twitter_url {
    display: inline-block;
    //margin: 40px 0 0;
    margin: 0px 0 0;
}

.copyright {
    text-align: center;
    margin: 70px 0 30px;
}

#reach_a_destination {
    position: absolute;
    top: 55px;
    //left: 0;
    right: -55px;
    margin: 0 auto;
    width: 45%;
    height: auto;
    z-index: 2001;
}

#get_goal {
    width: 600px;
    height: 626px;
    position: relative;
}
.goal_bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.goal_ttl {
    position: relative;
    display: inline-block;
    margin: 55px 0 0;
}
.goal_txt {
    display: inline-block;
    position: relative;
    margin: 40px 0 20px;

}
.final_rank {
    display: inline-block;
    position: relative;
    margin: 0 auto;
    padding: 20px;
    width: 370px;
    border: 1px solid #8da78e;
    line-height: 1;
    font-size: 4rem;
    font-weight: bold;
    color: #ffa60c;
}
.goal_close {
    display: inline-block;
    position: relative;
}
.remodal {
    background: transparent;
}
.remodal-close {
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    bottom: 70px;
    top: auto;
    width: auto;
    height: auto;
}

#to_buzz {
    text-align: center;
}
.to_buzz_txt {
    margin: 30px 0 20px;
}




/* menu [present.html,status.html,howto.html ]  */
.menu_contents {
    text-align: center;
    position: relative;
    width: 720px;
    margin: 40px auto 0;
    padding: 0 0 80px;
    min-height: 200px;
    //background: url(https://dtt2j5l12ozpv.cloudfront.net/1123/images/menupage/common/bg_mid.svg) repeat-y left top;
    background-size: 100% auto;
}
/*
.menu_contents:before {
    content: url(https://dtt2j5l12ozpv.cloudfront.net/1123/images/menupage/common/bg_top.svg);
    display: block;
    width: 100%;
    height: 52px;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
}
*/
/*
.menu_contents:after {
    content: url(https://dtt2j5l12ozpv.cloudfront.net/1123/images/menupage/common/bg_bottom.svg);
    display: block;
    width: 100%;
    height: 52px;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
}
*/
.menu_title {
    position: relative;
    display: inline-block;
    margin: -20px 0 40px 0;
}

.page_refresh {
	position: absolute;
	top: 10px;
	left: 12px;
	display: block;
	width: 260px;
	height: 90px;
	//border: 1px solid red;
	z-index: 300;
}

.self_status {
    text-align: center;
}
.self_status .ss_l {
    display: inline-block;
    vertical-align: top;
    width: 308px;
    margin: 0 9px 0 0;
}
.self_status .ss_r {
    display: inline-block;
    vertical-align: top;
    width: 308px;
}
.self_status .ss_txt {
    line-height: 1;
    padding: 30px 0;
    margin: 15px 0 35px;
    width: 100%;
    background: none #fff;
    border: 1px solid #e1c09d;
}
.self_status .ss_txt .achievers,
.self_status .ss_txt .your_place {
    line-height: 0.8;
    color: #fea708;
    font-family: 'Roboto';
    font-size: 5rem;
    font-weight: bold;
    vertical-align: bottom;
}
.self_status .ss_txt img {
    vertical-align: bottom;
}
.place_list {
    width: 640px;
    margin: 30px auto 0;
}
.place_list ul {
    margin: 0;
    padding: 0;
    list-style: none;
    text-align: left;
    border-bottom: 1px solid #e7d0b0;
}
.place_list li {
    padding: 15px 0 10px;
    position: relative;
    border-top: 1px solid #e7d0b0;
}
.place_list li .peoples {
    position: absolute;
    top: 17px;
    right: 10px;
    //bottom: 0;
    margin: auto;
    color: #fea708;
    font-size: 4.0rem;
    //font-weight: bold;
    vertical-align: bottom;
}
.place_list li .peoples b {
    font-family: 'Roboto';
    font-weight: 400;
    margin: 0 5px 0 0;
    line-height: 1;
}

.present_goal_txt {
    position: relative;
    display: inline-block;
    margin: 0 0 40px 0;
}
.present_img_1 {
    position: relative;
    display: inline-block;
}
.present_img_2 {
    position: relative;
    display: inline-block;
    margin: 10px 0 0;
}

.howto_1 {
    display: inline-block;
}
.howto_2 {
    display: inline-block;
    margin: 80px 0;
}
.howto_3 {
    display: inline-block;
    margin: 0 0 0;
}



#popup_place_info {
    width: 720px;
 //   height: 626px;
    position: relative;
}
#popup_place_info.overhead {
    height: 912px;
}
.ppi_bg {
    position: absolute;
    top: 0;
    left: 0;
		/*
    width: 100%;
    height: 100%;
		*/
}
.ppi_name {
    text-align: left;
    position: relative;
}
.ppi_name img {
    vertical-align: middle;
    max-width: 500px;
}
.ppi_name img:first-child {
    margin-right: 35px;
}
.ppi_photo {
    position: relative;
    display: inline-block;
    margin: 10px 0 0;
}
.ppi_txt {
    display: inline-block;
    position: relative;
    margin: 25px 0 0;
}
.ppi_present_photo {
    display: inline-block;
    position: relative;
    margin: 15px 0 0;
}
body.pg_status .goal_close {
    position: absolute;
    right: -15px;
    top: 0;
    bottom: auto;
    left: auto;
    width: auto;
    height: auto;
}
#popup_place_info.remodal {
    padding: 0 35px;
}


.back_to_top {
    text-align: center;
    margin: 50px 0 100px;
}




/* twitter.html  */
body.pg_twitter {
    background-color:#b6995c;
    text-align: center;
    background-image: url(https://dtt2j5l12ozpv.cloudfront.net/1123/images/spot/common/bg.png);
    background-repeat: no-repeat;
    background-position: center top;
}

body.pg_twitter h1.logo {
    margin: 0;
    padding: 70px 0 60px;
}

body.pg_twitter h2 {
    margin: 0;
    padding: 0 0 0;
}

.line {

}

.post_twitter {
    background: none #fff;
    margin: 55px 20px;
    padding: 60px 40px;
}

.post_twitter h3 {
    margin: 0 0 20px;
    color: #00aaf2;
}

.post_twitter p {
    margin: 40px 0;
}

.post_twitter ul {
    margin: 20px 0 0px;
    display: inline-block;
    list-style: none;
}
.post_twitter li {
    font-size: 2.4rem;
    text-align: left;
}






/* error.html  */
body.pg_error {
    text-align: center;
    //background: none #10649c;
    background: url(https://dtt2j5l12ozpv.cloudfront.net/1123/images/splash/splash/CMP_clock.gif) no-repeat center top #10649c;
    background-size: 100% auto;
}
body.pg_error #wrapper {
    position: relative;
    height: 100%;
}

body.pg_error .inbox {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    right: 0;
    margin: 0 auto;
}

body.pg_error h2 {
    color: #f26e00;
    font-size: 4.6rem;
    margin: 0;
    padding: 0;
}
body.pg_error .chara {
    display: inline-block;
    margin: 130px 0;
}

body.pg_error .copyright {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 20px;
    margin: auto;
}


/* end.html  */
body.pg_closed {
    text-align: center;
    //background: none #10649c;
    background: url(https://dtt2j5l12ozpv.cloudfront.net/1123/images/splash/splash/CMP_clock.gif) no-repeat center top #10649c;
    background-size: 100% auto;
}
body.pg_closed #wrapper {
    position: relative;
    height: 100%;
}

body.pg_closed .inbox {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    right: 0;
    margin: 0 auto;
}

body.pg_closed h2 {
    color: #f26e00;
    font-size: 4.6rem;
    margin: 0;
    padding: 0;
}
body.pg_closed p {
    color: #fff;
    margin: 60px 0 0;
    padding: 0;
}
body.pg_closed .chara {
    display: inline-block;
    margin: 90px 0;
}

body.pg_closed .copyright {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 20px;
    margin: auto;
}


.attention {
	color: #f11;
	margin: 10px 0 40px;
	padding: 0 0;
}

.to_buzz {
	margin: 50px 0 0;
}


