@charset "utf-8";
/* CSS Document */
/*------------------------
module
------------------------*/
body{
	font-family: "メイリオ","ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN",Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 15px;
	color: #96867f;
}

.wrap{
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
}	

.ws{
	margin: auto;
	width: 960px;
}

.sm{display: none;}

footer,.mainVis,.contents{min-width: 960px;}

section{
	background-color: #ffffff;
	border: 3px solid #e4dfbb;
	border-radius: 12px;
	margin: 0 auto 100px auto;
	padding-bottom: 40px;
	width: 960px;
}

section:last-child{margin-bottom: 0;}

.contents{
	background: url(../img/doc/contents_bg.jpg);
	padding-top: 100px;
}

.contents:after{
	content: "";
	background-image: url(../img/doc/contents_bg_foot.png);
	background-repeat: no-repeat;
	background-position: center;
	height: 115px;
	display: block;
	margin-top: 60px;
}

h2{
	background-image: url(../img/doc/h2_bg.png);
	background-position: bottom;
	background-repeat: no-repeat;
	border-bottom: 2px dashed #e4dfbb;
	font-size: 56px;
	font-weight: normal;
	text-align: center;
	line-height: 1.0;
	padding: 30px 0 25px 0;
}

.note{
	background: url(../img/top/story_line.png);
	line-height: 58px;
	text-align: center;
	margin: 0 40px;
}

.caution{
	line-height: 1.6;
}

.caution:before{
	border-radius: 36px;
	content: "!";
	background-color: #ffd201;
	color: #ffffff;
	display: block;
	font-size: 40px;
	width: 67px;
	text-align: center;
	padding: 13px 0;
	line-height: 1.0;
	float: left;
	margin-right: 15px;

}

.caution li{font-weight: bold;}

.caution li:before{content: "※";}

.answer,.send{
	background-color: #77ddb0;
	border-radius: 6px;
	cursor: pointer;
	color: #ffffff;
	font-size: 24px;
	font-weight: bold;
	text-align: center;
	height: 53px;
	width: 148px;
	padding-top: 4px;
	-webkit-box-shadow: 0 3px rgba(65,170,124,.75);
	-moz-box-shadow: 0 3px rgba(65,170,124,.75);
	box-shadow: 0 3px rgba(65,170,124,.75);
}

.answer:hover,.send:hover{background-color: #6fe5b1;}


input[type=text],textarea{
	border: 2px solid #e4dfbb;
	margin-right: 10px;
	padding: 15px;
}

.mb40{margin-bottom: 40px;}
.mb20{margin-bottom: 20px;}
.mb10{margin-bottom: 10px;}
.pl46{padding-left: 46px;}

.bn{border: none;}

.btn{
	background-color: #bca79f;
	border-radius: 6px;
	cursor: pointer;
	color: #ffffff;
	display: block;
	font-size: 24px;
	font-weight: bold;
	text-align: center;
	margin: auto;
	height: 53px;
	width: 273px;
	padding: 12px 20px 0 20px;		
	-webkit-box-shadow: 0 3px rgba(150,134,127,1);
	-moz-box-shadow: 0 3px rgba(150,134,127,1);
	box-shadow: 0 3px rgba(150,134,127,1);
}

a.btn:hover{background-color: #cdb6ae;}


/*------------------------
mainvis
------------------------*/
.mainVis{
	background-image: url(../img/top/mainvis_bg.jpg);
	background-repeat: no-repeat;
	-webkit-background-size: cover;
	height: 940px;
	background-size: cover;
	padding: 40px 0;
	text-align: center;
}




/*------------------------
gnav
------------------------*/
.gnav{
	background-image: url(../img/top/gnav_bd.png);
	background-position: bottom;
	background-repeat: repeat-x;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	-webkit-justify-content: center; /* Safari */
	justify-content:         center;
}

.gnav a{display: block;}

.gnav a:hover img{opacity: 0.8;}




/*-----------------------------
section
-----------------------------*/
#story h2{margin-bottom: 30px;}

#story p{font-size: 30px;}

#story p.note + img{margin: 0 40px 30px 40px;}

#story .purpose{
	background-image: url(../img/top/story_img03.png);
	background-repeat: no-repeat;
	background-position: center bottom;
	margin-bottom: 40px;
	line-height: 1.3;
	text-align: center;
}

#story .howToPlay{margin: 0 40px;}
.howToPlay .ttl{
	display: block;
	font-size: 30px;
	text-align: center;
	padding-bottom: 20px;
	margin-top: -45px;
	margin-bottom: -40px;
}

.howToPlay .ttl:before{
	background-image: url(../img/top/story_icon01.png);
	display: block;
	content: "";
	width: 29px;
	height: 32px;
	position: relative;
	bottom: -39px;
	left: 40%;
}

.howToPlay .ttl:after{
	background-image: url(../img/top/story_icon01.png);
	display: block;
	content: "";
	width: 29px;
	height: 32px;
	position: relative;
	bottom: 39px;
	left: 56%;
}

.howToPlay .inner{
	border: 1px solid #e4dfbb;
	border-radius: 6px;
	padding: 20px;
}

.howToPlay .flow{
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	-webkit-justify-content: space-between; /* Safari */
	justify-content:         space-between;
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:         wrap;
	margin-bottom: 20px;
}

.howToPlay .flow li:nth-child(1){margin-bottom: 17px;}

.howToPlay .flow li:nth-child(2){margin-bottom: 17px;}

.eventInfo h2{border-bottom: none;}

.eventInfo li{
	font-size: 30px;
	line-height: 1.0;
	padding-left: 110px;
	margin-bottom: 15px;
}

.eventInfo li:last-child{margin-bottom: 0;}

.eventInfo li:nth-child(1){
	margin-bottom: 0;
	padding-bottom: 0 !important;
}

.eventInfo li:nth-child(1),.eventInfo li:nth-child(2){
	background-color: #96867f;
	color: #ffffff;
	padding: 10px 0 10px 110px;
}

.eventInfo li:nth-child(3){
	border-bottom: 1px solid #f3e8e4;
	padding-bottom: 10px;
}

.eventInfo li:nth-child(3) span,.eventInfo li:nth-child(4) span{
	margin-right: 40px;
	width: 215px;
}

.eventInfo li span{
	font-weight: bold;
	min-width: 215px;
	display: inline-block;
}

#otsukaiInfo .logo,#maigoInfo .logo{
	border-bottom: 2px dashed #e4dfbb;
	display: block;
	padding: 40px;
}

#otsukaiInfo .story,#maigoInfo .story{
	background-image: url(../img/top/otsukai_story_bg.jpg);
	background-repeat: no-repeat;
	border-bottom: 2px dashed #e4dfbb;
	padding: 33px 40px;
	color: #574b46;
}

#maigoInfo .story{
	background-image: url(../img/top/maigo_story_bg.jpg);
}


#otsukaiInfo .story p,#maigoInfo .story p{padding-bottom: 28px;} 

#otsukaiInfo .story p:last-child,#maigoInfo .story p:last-child{padding-bottom: 0;}

#otsukaiInfo form,#maigoInfo form{
	margin-bottom: 40px;
	text-align: center;
	padding-top: 30px;
}

#otsukaiInfo input[type=text],#maigoInfo input[type=text]{width: 512px;}

#otsukaiInfo .hint{margin-top: -20px;}

#otsukaiInfo .hint .ttl,#maigoInfo .hint .ttl{
	font-size: 30px;
	margin-bottom: 15px;
	text-align: center;
}

#otsukaiInfo .hint .ttl span,#maigoInfo .hint .ttl span{
	font-size: 18px;
	display: block;
	line-height: 1.0;
	margin-bottom: -18px;
}

#otsukaiInfo .hint .ttl span:before,#maigoInfo .hint .ttl span:before{
	background-image: url(../img/top/otsukai_icon01.png);
	background-repeat: no-repeat;
	display: block;
	content: "";
	width: 12px;
	height: 20px;
	position: relative;
	bottom: -18px;
	left: 39%;
}

#otsukaiInfo .hint .ttl span:after,#maigoInfo .hint .ttl span:after{
	background-image: url(../img/top/otsukai_icon01.png);
	background-repeat: no-repeat;
	display: block;
	content: "";
	width: 12px;
	height: 20px;
	position: relative;
	bottom: 20px;
	left: 59%;
}

.shopList h2{margin-bottom: 20px;}

.shopList li{
	background-image: url(../img/top/shop_list_line.jpg);
	background-repeat: repeat-x;
	background-position: bottom;
	padding: 0 0 30px 0;
	margin: 0 40px 30px 40px;
}

.shopList li:last-child{
	background-image: none;
	margin-bottom: 0;
	padding: 0; 
}

.shopList .ttl{
	font-size: 30px;
	font-weight: bold;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	-webkit-align-items: center; /* Safari */
	align-items:         center;
	line-height: 1.0;
	margin-bottom: 15px;
}

.shopList .ttl span{
	font-size: 16px;
	font-weight: normal;
}

.shopList .ttl + p{
	line-height: 1.6;
	margin-bottom: 20px;
}

.shopList .wrap{
	-webkit-justify-content: space-between; /* Safari */
	justify-content:         space-between;
}

.shopList .wrap img,.shopList .wrap iframe{
	border: 1px solid #e5e0bd !important;
}

.shopList .map{
	font-family: 'Open Sans';
	font-size: 18px;
	width: 493px;
}

.shopList .map i{
	color: #ff7d74;
	margin-right: 10px;
}








/*------------------------
footer
------------------------*/
footer{
	border-top: 3px solid #d6bf9a;
	color: #654a36;
	font-size: 12px;
	padding-top: 20px;
}

footer .wrap{
	-webkit-justify-content: space-between; /* Safari */
	justify-content:         space-between;
}

.copyright{
	text-align: center;
	border-top: 2px dashed #e4dfbb;
	margin-top: 20px;
	padding: 10px 0;
	font-size: 15px;
}

.pagetop{
	background-color: #d6bf9a;
	border-radius: 65px 65px 0 0;
	margin: auto;
	width: 139px;
	text-align: center;
	font-size: 12px;
	margin-top: -71px;
}

div.pagetop:hover{
	background-color: #ddc6a2;
}

.pagetop i{
	display: block;
	font-size: 25px;
	margin-bottom: 3px;
}

.pagetop a{
	color: #ffffff;
	display: block;
	padding: 15px 0 10px 0;
}

footer .company{padding-top: 20px;}

footer .credit{font-size: 15px;}






















/*------------------------
アコーディオン
------------------------*/
.list6 dl.acordion{
	 margin: 0 40px;
 }
 .list6 dt.trigger {
	background-color: #e4dfbb;
	font-weight: bold;
	border-bottom: 1px solid #beb680;
	cursor: pointer;
	padding: 10px 20px;
	line-height: 1.0;
 }
 .list6 dt.trigger span.open-close {
	background-image: url(../img/top/icon_plus.png);
	-webkit-background-size: 100%;
	background-repeat: no-repeat;
	background-size: 100%;
	margin-top: 5px;
	float: right;
	width: 16px;
	height: 16px;
  }
 .list6 dt.active span.open-close {
	background-image: url(../img/top/icon_minus.png);
	-webkit-background-size: 100%;
	background-repeat: no-repeat;
	background-size: 100%;
	margin-top: 5px;
	float: right;
	width: 16px;
	height: 16px;
 }   
 .list6 dd.acordion_tree{
	padding: 10px 20px;
	border: 1px solid #e4dfbb;
	border-top: none;
}

.fa-lightbulb-o:before{
	font-size: 26px;
	padding-right: 15px;
}

.list6 dd i{
	font-size: 18px;
	margin-right: 12px;
}



/*------------------------
お問い合わせ
------------------------*/
 /*問い合わせ内容の入力*/
.step_1 { display:block;}
/*問い合わせ内容の送信中*/
.step_2 {
	display:none;
	text-align: center;
	padding: 0 40px;
}
/*問い合わせ内容の送信完了*/
.step_3 {
	display:none;
	padding: 0 40px;
	text-align: center;
}

.step_3 .ttl{
	display:block;
	font-size: 30px;
	font-weight: bold;
}


table{
	border-collapse:collapse;
	width: 100%;	
}
table tbody tr th, 
table tbody tr td {
	border-bottom: 1px solid #f3e8e4;
	padding: 20px 0;
	vertical-align:top;
	text-align: left;
	font-weight: normal;
}

table th{padding-left: 60px !important;}

#contact h2{margin-bottom: 40px;}

#contact form{
	background-image: url(../img/top/contact_bg.jpg);
	background-repeat: no-repeat;
	background-position: bottom center;
	margin: 0 40px;
}

#contact .send{
	display: block;
	margin: auto;
}

#contact input[type=text],#contact textarea{width: 512px;}

#contact textarea{height: 216px;}

#contact .err{
	color: #ff7d74;
}

input::-webkit-input-placeholder {color: #e3dad7;}
input:-ms-input-placeholder {color: #e3dad7;}
input::-moz-placeholder {color: #e3dad7;}



/*------------------------
スマホ
------------------------*/
@media screen and (max-width: 640px) {
	
	/*test*/
	img,iframe{
		display: block;
		width: 100%;
	}
	.wrap{display: block;}
	/*test*/

	body{font-size: 24px;}

	.sm{display: block;}


	br{display: none;}

	footer, .mainVis, .contents{min-width: auto;}
	
	.mainVis{
		height: auto;
		padding: 115px 20px 40px 20px;
	}

	.mainVis img{width: 100%;}

	.gnav{display: none;}

	.contents{padding-top: 20px;}

	section{
		margin: 0 20px 40px 20px;
		width: auto;
	}

	h2{border-bottom: 4px dashed #e4dfbb;}

	.note{
		line-height: 1.4;
		background: none;
	}

	#story p.note + img{
		margin: 0 0 40px 0;
		display: block;
		width: 100%;
	}

	.ws{width: auto;}

	.howToPlay .ttl:before{left: 33%;}

	.howToPlay .ttl:after{left: 61%;}

	.howToPlay .flow li{margin: 0 auto 17px auto;}
	
	.howToPlay .flow li:last-child{margin: 0 auto;}

	.caution:before{
		margin: 0 auto 15px auto;
		float: none;
	}
	
	.eventInfo li{
		padding-left: 20px !important;
		line-height: 1.4;
	}
	
	.eventInfo li:nth-child(1),.eventInfo li:nth-child(2){padding: 10px 20px;}
	
	.eventInfo li span{display: block;}

	#otsukaiInfo .logo,#maigoInfo .logo{
		border-bottom: 4px dashed #e4dfbb;
		padding: 20px;
	}

	#otsukaiInfo .story,#maigoInfo .story{
		background-position: bottom;
		-webkit-background-size: 100%;
		background-size: 100%;
		background-color: #d1f8ff;
	}

	#otsukaiInfo form,#maigoInfo form{padding: 20px 20px 0 20px;}

	#otsukaiInfo input[type=text],#maigoInfo input[type=text]{
		margin: 0 0 20px 0;
		width: 100%;
	}

	.answer{
		height: 70px;
		font-size: 30px;
		width: 50%;
	}

	#otsukaiInfo .hint .ttl,#maigoInfo .hint .ttl{font-size: 24px;}

	#otsukaiInfo .hint .ttl span:before,#maigoInfo .hint .ttl span:before{left: 28%;}
	
	#otsukaiInfo .hint .ttl span:after,#maigoInfo .hint .ttl span:after{
		bottom: 23px;
		left: 70%;
	}

	#otsukaiInfo .hint .ttl span,#maigoInfo .hint .ttl span{font-size: 24px;}

	.list6 dl.acordion{margin: 0;}

	.list6 dt.trigger{padding: 20px 15px;}

	.shopList li{margin: 0 20px 40px 20px;}

	.shopList .ttl{
		display: block;
		margin-bottom: 10px;
		line-height: 1.4;
	}

	.shopList .ttl span{
		display: block;
		font-size: 20px;
	}

	.shopList .wrap img{margin-bottom: 20px;}

	.shopList .map{width: auto;}

	.shopList .map span{
		font-size: 24px;
		margin-bottom: 10px;
	}

	.shopList .wrap iframe{height: 300px;}

	.shopList {padding-bottom: 20px;}

	#contact form{margin: 0 20px;}

	table tbody tr th, table tbody tr td{
		display: block;
		padding: 0;
	}

	table tbody tr th{
		border-bottom: none;
		padding-bottom: 10px;
	}

	table tbody tr td{margin-bottom: 20px;}

	table th{padding-left: 0 !important;}

	#contact form{background-image: none;}

	#contact input[type=text], #contact textarea{width: 100%;}

	#contact h2{margin-bottom: 20px;}

	footer{padding: 20px 20px 0 20px;}
	
	footer .credit,footer .company span{font-size: 12px;}

	footer .credit br{display: block;}

	footer .wrap{

	}

	footer .copyright{font-size: 20px;}


	.pagetop{
		width: 200px;
		font-size: 20px;
		border-radius: 95px 95px 0 0;
		margin-top: -105px;
	}

	.pagetop a{padding: 22px 0 10px 0;}

	.pagetop i{font-size: 40px;}

	.send{
		height: 70px;
		width: 200px;
	}

	footer .credit br{display: none;}

	footer .credit {margin-bottom: 20px;}

	footer .company{padding-top: 0;}

	footer .company img {width: 50%;}

	.pl46{padding-left: 38px;}



}






















/* ------------------------------
   sm menu
------------------------------ */

@media only screen and (max-width: 640px) {
    #menuList ul {
        width: 100%;
    }
 
    #menuList ul li {
        width: 20%;
    }
}
 
/* ------------------------------
   MEDIAQUERIES[SP]LAYOUT
------------------------------ */
@media only screen and (max-width: 640px) {
    #menuList {
        display: none;
    }
 
    #rwdMenuWrap {
        width: 100%;
        position: fixed;
        z-index: 1;
    }
 
    #rwdMenuWrap #switchBtnArea {
        width: 100%;
        height: 94px;
        background: #ffffff;
        position: relative;
        border-bottom: 4px dashed #e4dfbb;
    }
 
    #rwdMenuWrap #switchBtnArea #switchBtn {
        top: 10px;
        right: 10px;
        width: 70px;
        height: 70px;
        display: block;
        background: #bca79f;
        position: absolute;
        border-radius: 5px;
    }
 
    #rwdMenuWrap #switchBtnArea #switchBtn span {
        left: 20%;
        width: 60%;
        height: 6px;
        display: block;
        position: absolute;
        background-color: #fff;
        border-radius: 5px;
        transition: all 0.2s linear;
    }
    #rwdMenuWrap #switchBtnArea #switchBtn span:nth-of-type(1) {
        top: 17px;
        -webkit-transform: rotate(0);
        transform: rotate(0);
    }
    #rwdMenuWrap #switchBtnArea #switchBtn span:nth-of-type(2) {
        top: 32px;
        -webkit-transform: scale(1);
        transform: scale(1);
    }
    #rwdMenuWrap #switchBtnArea #switchBtn span:nth-of-type(3) {
        bottom: 16px;
        -webkit-transform: rotate(0);
        transform: rotate(0);
    }
 
    #rwdMenuWrap #switchBtnArea #switchBtn.btnClose span:nth-of-type(1) {
        top: 31px;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }
    #rwdMenuWrap #switchBtnArea #switchBtn.btnClose span:nth-of-type(2) {
        -webkit-transform: scale(0);
        transform: scale(0);
    }
    #rwdMenuWrap #switchBtnArea #switchBtn.btnClose span:nth-of-type(3) {
        bottom: 32px;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
    }
 
    #rwdMenuWrap ul {
        width: 100%;
        display: none;
    }
 
    #rwdMenuWrap ul li {
        width: 100%;
        border-top: 1px solid #e5e0bd;
        background-color: #ffffff;
    }

    #rwdMenuWrap ul li:last-child{border-bottom: 1px solid #e5e0bd;}

    #rwdMenuWrap .noclick{
    	padding: 15px 20px;
    	color: #e8e2df;
    }
 
    #rwdMenuWrap ul li a {
        padding: 15px 20px;
        text-align: left;
        display: block;
        position: relative;
        color: #96867f;
    }
 
    #rwdMenuWrap ul li a:after {
        content: '';
        margin-top: -4px;
        top: 50%;
        right: 15px;
        width: 8px;
        height: 8px;
        color: #888;
        font-size: 1em;
        font-weight: bold;
        line-height: 1.2em;
        display: block;
        position: absolute;
        border-top: 2px solid #e5e0bd;
        border-right: 2px solid #e5e0bd;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
    }
 
    #contents {
        width: 100%;
    }
 
    #contents p {
        padding: 0 20px 2em 20px;
    }

    #rwdMenuWrap #switchBtnArea .logo{
    	width: 34%;
    	padding: 14px 0 0 14px;
    }
}
 
/* ------------------------------
   CLEARFIX ELEMENTS
------------------------------ */
#menuList > ul:before,
#menuList > ul:after {
    content: " ";
    display: table;
}
#menuList > ul:after {clear: both;}
#menuList > ul {*zoom: 1;}