/*
** Introduction
*/

/* Index */
#introIndex{
	border:2px #ccc solid;
	border-radius:8px;
	background-color:#fff;
	text-align:center;
}
#introIndex .introIndexBox{
	display:inline-block;
	text-align:left;
}
#introIndex .introIndexTitle{
	margin-top:60px;
	font-size:48px;
	font-weight:bold;
	line-height:60px;
}
.flexMode #introIndex .introIndexTitle{
	margin-top:8.5vh;
}
#introIndex .introIndexList{
	padding-left:20px;
	padding-bottom:100px;
}
.flexMode #introIndex .introIndexList{
	padding-bottom:14.2vh;
}
#introIndex .introIndexItem{
	line-height:40px;
	width:260px;
	margin-top: 20px;
	font-size: 28px;
	font-weight:bold;
	cursor:pointer;
}
.flexMode #introIndex .introIndexItem{
	margin-top: 2.8vh;
}
#introIndex .introIndexItem:before{
	content:"";
	display:inline-block;
	width:8px;
	height:8px;
	border-radius:4px;
	background-color:#000;
	line-height:0;
	margin-right:10px;
	vertical-align:middle;
}
#introIndex .introIndexText{
	padding-left:60px;
	font-size:24px;
}
#introIndex .introIndexItem:hover{
	color:#690;
}
#introIndex .introIndexItem:hover:before{
	background-color:#690;
}
#introIndex .introIndexItem .linkArrow{
	float:right;
	display:inline-block;
	width:20px;
	height:40px;
	line-height:0;
	animation-duration: 0.4s;
	animation-name: aShiftArrow;
	animation-timing-function: ease-out;
	animation-direction: alternate;
	animation-iteration-count: infinite;
}
@keyframes aShiftArrow {
	from{ transform:translate(0,0); }
	to  { transform:translate(12px,0); }
}
#introIndex .introIndexItem .linkArrow:before{
	content:"";
	display:inline-block;
	width:10px;
	height:8px;
	background-color:#690;
	vertical-align:top;
	margin-top:19px;
}
#introIndex .introIndexItem:hover .linkArrow:before{
	background-color:#690;
}
#introIndex .introIndexItem .linkArrow:after{
	content:"";
	display:inline-block;
	width:0;
	height:0;
	border-left:10px #690 solid;
	border-top:10px transparent solid;
	border-bottom:10px transparent solid;
	border-right:0;
	vertical-align:top;
	margin-top:13px;
}
#introIndex .introIndexItem:hover .linkArrow:after{
	border-left-color:#690;
}
#introIndex .logoBox{
	position:absolute;
	width:100%;
	left:0;
	bottom:100px;
}
.flexMode #introIndex .logoBox{
	bottom:10vh;
}

/* Start Page */
#introStart.startPage .titleBox{
	background:linear-gradient(to bottom right, #b8cf96, #638426) no-repeat;
}
#introStart.startPage .sectionTitle{
	background:url(../img/hiragana_title_intro.png) no-repeat center top;
}
#introStart.startPage .staffBox{
	color:#cf9;
}
#introStart.startPage .startBox{
	background:linear-gradient(to bottom, #92b44d, #dfe6d1 40px, transparent 60px) no-repeat;
}
#introStart.startPage .startButton{
	background-color:#360;
}

/* Introduction */
#introPage{
	background-color:#fff;
}
#introPage .introContentsBox{
	position:relative;
	height:575px;
	overflow:hidden;
}
#introPage .logo{
	position:absolute;
	top:5px;
	right:0;
}

/* Navigation bar */
#introPage button.naviButton{
	width:150px;
}
#introPage .introNaviBox{
	position:absolute;
	bottom:20px;
	left:0;
	display:table;
	width:100%;
}
.flexMode #introPage .introNaviBox{
	bottom:2.5vh;
}
#introPage .introNaviBox>div{
	display:table-cell;
	vertical-align:top;
}
#introPage .introNaviBox>div:nth-of-type(1){
	width:154px;
	text-align:right;
	padding-top:9px;
	padding-left: 39px;
}
#introPage .introNaviBox>div:nth-of-type(2){
	text-align:center;
	padding-top:14px;
}
#introPage .introNaviBox>div:nth-of-type(3){
	width:154px;
	text-align:left;
	padding-top:9px;
	padding-right: 39px;
}
#introPage .introNaviBar{
	box-sizing:border-box;
	display:inline-block;
	height:32px;
	padding:5px 17px;
	border-radius:16px;
	background-color:#ccc;
	white-space:nowrap;
}
#introPage .introNaviBar span{
	display:inline-block;
	width:22px;
	height:22px;
	line-height:22px;
	text-align:center;
	margin:0 3px;
	color:#fff;
	font-size:12px;
	text-align:center;
	vertical-align:top;
	cursor:pointer;
}
#introPage .introNaviBar span.active{
	background-color:#333;
}
#introPage .introNaviBar span:hover{
	background-color:#999;
}

#introPage .introHeader{
	padding-left:10px;
	font:bold 32px/40px "Arial", sans-serif;
}
#introPage .introGuideBox{
	display:table;
	background-color:#fbf7d8;
	border-radius:8px;
	margin:0 auto 12px auto;
	text-align:left;
	padding:8px 22px;
	overflow:hidden;
	width:460px;
	min-height:60px;
}
#introPage .introGuideBox>div{
	display:table-cell;
	vertical-align:middle;
}
#introPage .introGuideBox button{
	vertical-align:middle;
	margin-left:10px;
}
#introPage .introGuideBox .em{
	color:#c00;
}
#introPage .introGuideBox .list{
	padding-left:30px;
	text-indent:-30px;
}
#introPage .introGuideBox .listTop{
	display:inline-block;
	width:30px;
	text-align:center;
	text-indent:0;
}

#introPage .introBody{
	margin-top:40px;
	overflow:hidden;
}
#introPage .introBody div.introPartTitle{
	box-sizing:border-box;
	width:500px;
	height:152px;
	padding-top:38px;
	background:linear-gradient(to bottom right, #edf0e2, #a7d273 50%, #a4cd60) no-repeat;
	text-align:center;
	margin:0 auto;
}
#introPage .introBody div.introPartTitle>div{
	display:inline-block;
	text-align:left;
	white-space:nowrap;
}
#introPage .introBody div.introPartTitle>div>div:nth-of-type(1){
	font-size:17px;
	font-weight:bold;
	color:#679a01;
}
#introPage .introBody div.introPartTitle>div>div:nth-of-type(2){
	font-size:21px;
	font-weight:bold;
	color:#000;
}
#introPage .introBody div.introPartGuide{
	box-sizing:border-box;
	width:500px;
	margin:1px auto;
	padding:42px 20px 0 20px;
	color:#013401;
	font-style:italic;
	background:linear-gradient(to bottom, #cee6ac, #fff 70px) no-repeat;
}
#introPage .introSlideBox{
	font-family:"Tahoma", "Arial", sans-serif;
	font-size:32px;
	font-weight:bold;
	color:#eb6e43;
	line-height:68px;
	white-space:nowrap;
	padding:0 0 50px 7px;
	text-align:center;
}
.flexMode #introPage .introSlideBox{
	padding-bottom:5vh;
}
#introPage>.naviButton[func=index]{
	position:absolute;
	left: 43px;
	bottom:78px;
}
.flexMode #introPage>.naviButton[func=index]{
	bottom:12vh;
}
#introPage>.naviButton[func=playback]{
	position: absolute;
	display: inline-block;
	right:43px;
	bottom:78px;
	padding-left: 27px;
	font-size:18px;
}
#introPage>.naviButton[func=playback]:after{
	content: "";
	background: url(../img/icon_sound.png)no-repeat left center;
	position: absolute;
	width: 25px;
	height: 43px;
	opacity:1;
	left: 7px;
}
#introPage>.naviButton[func=playback].explanationOff:after{
	opacity: 0.4;
}
.flexMode #introPage>.naviButton[func=playback]{
	bottom:12vh;
}
#introPage .introStudy1Table{
	transform-origin:50% 0;
}
#introPage .introStudy1Table td{
	padding:2px;
	line-height:0;
}
#introPage .introStudy1Table th{
	text-align:center;
	font-weight:bold;
	font-size:16px;
	line-height:26px;
	padding:0 4px;
}
#introPage .introStudy1Table th span{
	display:inline-block;
	height:24px;
	width:24px;
	line-height:24px;
}
#introPage .introStudy1Table th div{
	display:inline-block;
	height:24px;
	width:24px;
	line-height:24px;
	border-radius:12px;
	background-color:#eee;
}
#introPage .introStudy1Table .letter{
	border:1px #ccc solid;
}
#introPage .introStudy1Table .empty{
	position:relative;
	display:inline-block;
	width:40px;
	height:40px;
	border:1px #ccc solid;
	overflow:hidden;
}
#introPage .introStudy1Table .empty:after{
	content:"";
	position:absolute;
	width:57px;
	top:20px;
	left:-9px;
	height:0;
	border-top:1px #ccc solid;
	transform:rotate(-45deg);
}
#introPage .introStudy1Box{
	display:table;
	margin-left:42px;
	margin-top:24px;
}
.flexMode #introPage .introStudy1Box{
	margin-top:3vh;
}
#introPage .introStudy1Box>div{
	display:table-cell;
	vertical-align:top;
}

#introPage2 .introBody{
	margin-top:97px;
}
#introPage2 .introGuideBox>div{
	height:84px;
}

#introPage3 .introBody{
	padding-top:132px;
	margin-top:0;
}
.flexMode #introPage3 .introBody{
	padding-top:15vh;
}

#introPage4 .introGuideBox:nth-of-type(2){
	min-height:40px;
	text-align:center;
	margin-top:40px;
}
.fleMode #introPage4 .introGuideBox:nth-of-type(2){
	margin-top:5vh;
}
#introPage4 .introGuideBox:nth-of-type(2) button{
	margin-left:70px;
}
#introPage4 .introPage4Box{
	margin-top:40px;
	text-align:center;
	color:#e65020;
	font-size:28px;
}
.fleMode #introPage4 .introPage4Box{
	margin-top:5vh;
}
#introPage4 .introPage4Box .cbox{
	display:inline-block;
	width:48px;
	height:48px;
	background-color:#fc3;
	margin:0 3px;
}

#introPage5 .introGuideBox:nth-of-type(1) button{
	margin-left:68px;
}
#introPage5 .introGuideBox:nth-of-type(2){
	min-height:40px;
	text-align:center;
	margin-top:40px;
}
.fleMode #introPage5 .introGuideBox:nth-of-type(2){
	margin-top:5vh;
}
#introPage5 .introGuideBox:nth-of-type(2) button{
	margin-left:70px;
}
#introPage5 .introPage5Box{
	margin-top:40px;
	text-align:center;
	color:#69c;
	font-size:28px;
}
.fleMode #introPage5 .introPage5Box{
	margin-top:5vh;
}
#introPage5 .introPage5Box .cbox{
	display:inline-block;
	width:48px;
	height:48px;
	background-color:#9cf;
	margin:0 3px;
}

#introPage6 .introPage6Box{
	margin-left:30px;
}
#introPage6 .intro6Table{
	display:table;
	transform-origin:50% 0;
}
#introPage6 .intro6Table>div{
	display:table-cell;
	vertical-align:top;
}
#introPage6 .intro6Table>div:nth-of-type(1){
	color:#69c;
	font-size:40px;
	vertical-align:bottom;
	line-height: 48px;
	padding:0 10px;
}
#introPage6 .intro6Table>div:nth-of-type(3){
	color:#e65020;
	font-size:40px;
	line-height: 54px;
	padding:16px 75px 16px 10px;
}
#introPage6 .introPage6Box>div:nth-of-type(2){
	padding-top:30px;
}
.flexMode #introPage6 .introPage6Box>div:nth-of-type(4) .introGuideBox:nth-of-type(3){
	margin-top:14vh;
}
#introPage6 .introPage6Box>div:nth-of-type(2) .introGuideBox:nth-of-type(3){
	margin-top:14vh;
}
.flexMode #introPage6 .introPage6Box>div:nth-of-type(2) .introGuideBox:nth-of-type(3){
	margin-top:;
}
#introPage6 .introGuideBox{
	width:362px;
}

/* IntroPage6 animations */
#introPage6[step="0"] .intro6Table>div:nth-of-type(1),
#introPage6[step="1"] .intro6Table>div:nth-of-type(1),
#introPage6[step="2"] .intro6Table>div:nth-of-type(1),
#introPage6[step="3"] .intro6Table>div:nth-of-type(1),
#introPage6[step="4"] .intro6Table>div:nth-of-type(1),
#introPage6[step="5"] .intro6Table>div:nth-of-type(1){
	opacity:0;
}
#introPage6[step="0"] .intro6Table>div:nth-of-type(3),
#introPage6[step="1"] .intro6Table>div:nth-of-type(3),
#introPage6[step="2"] .intro6Table>div:nth-of-type(3){
	opacity:0;
}
#introPage6[step="3"] .R,
#introPage6[step="4"] .R,
#introPage6[step="5"] .R,
#introPage6[step="6"] .R,
#introPage6[step="7"] .R,
#introPage6[step="8"] .R{
	border-color:#fc3;
	background-color:#fc3;
}
#introPage6[step="6"] .B,
#introPage6[step="7"] .B,
#introPage6[step="8"] .B{
	border-color:#9cf;
	background-color:#9cf;
}
#introPage6[step="6"] .R.R1,
#introPage6[step="7"] .R.R1,
#introPage6[step="8"] .R.R1{
	border-color:#fcf;
	background-color:#fcf;
}
#introPage6.activeR .R{
	animation-duration: 1.2s;
	animation-timing-function:linear;
	animation-fill-mode: forwards;
}
#introPage6.activeR .R1{
	background-color:#fc3;
	border-color:#ccc;
}
#introPage6.activeR .R2{ animation-name: aR2; }
#introPage6.activeR .R3{ animation-name: aR3; }
#introPage6.activeR .R4{ animation-name: aR4; }
#introPage6.activeR .R5{ animation-name: aR5; }
@keyframes aR2 {
	from { background-color:transparent; border-color:#ccc; }
	24%{ background-color:transparent; border-color:#ccc; }
	25%{ background-color:#fc3; border-color:#fc3; }
	to { background-color:#fc3; border-color:#fc3; }
}
@keyframes aR3 {
	from { background-color:transparent; border-color:#ccc; }
	49%{ background-color:transparent; border-color:#ccc; }
	50%{ background-color:#fc3; border-color:#fc3; }
	to { background-color:#fc3; border-color:#fc3; }
}
@keyframes aR4 {
	from { background-color:transparent; border-color:#ccc; }
	74%{ background-color:transparent; border-color:#ccc; }
	75%{ background-color:#fc3; border-color:#fc3; }
	to { background-color:#fc3; border-color:#fc3; }
}
@keyframes aR5 {
	from { background-color:transparent; border-color:#ccc; }
	99%{ background-color:transparent; border-color:#ccc; }
	to { background-color:#fc3; border-color:#fc3; }
}
#introPage6.activeB .B{
	animation-duration: 3.2s;
	animation-timing-function:linear;
	animation-fill-mode: forwards;
}
#introPage6.activeB .B1{
	background-color:#9cf;
	border-color:#ccc;
}
#introPage6.activeB .B2{ animation-name: aB2; }
#introPage6.activeB .B3{ animation-name: aB3; }
#introPage6.activeB .B4{ animation-name: aB4; }
#introPage6.activeB .B5{ animation-name: aB5; }
#introPage6.activeB .B6{ animation-name: aB6; }
#introPage6.activeB .B7{ animation-name: aB7; }
#introPage6.activeB .B8{ animation-name: aB8; }
#introPage6.activeB .B9{ animation-name: aB9; }
#introPage6.activeB .B10{ animation-name: aB10; }
#introPage6.activeB .B11{ animation-name: aB11; }
@keyframes aB2 {
	from { background-color:transparent; border-color:#ccc; }
	9%{ background-color:transparent; border-color:#ccc; }
	10%{ background-color:#9cf; border-color:#9cf; }
	to { background-color:#9cf; border-color:#9cf; }
}
@keyframes aB3 {
	from { background-color:transparent; border-color:#ccc; }
	19%{ background-color:transparent; border-color:#ccc; }
	20%{ background-color:#9cf; border-color:#9cf; }
	to { background-color:#9cf; border-color:#9cf; }
}
@keyframes aB4 {
	from { background-color:transparent; border-color:#ccc; }
	29%{ background-color:transparent; border-color:#ccc; }
	30%{ background-color:#9cf; border-color:#9cf; }
	to { background-color:#9cf; border-color:#9cf; }
}
@keyframes aB5 {
	from { background-color:transparent; border-color:#ccc; }
	39%{ background-color:transparent; border-color:#ccc; }
	40%{ background-color:#9cf; border-color:#9cf; }
	to { background-color:#9cf; border-color:#9cf; }
}
@keyframes aB6 {
	from { background-color:transparent; border-color:#ccc; }
	49%{ background-color:transparent; border-color:#ccc; }
	50%{ background-color:#9cf; border-color:#9cf; }
	to { background-color:#9cf; border-color:#9cf; }
}
@keyframes aB7 {
	from { background-color:transparent; border-color:#ccc; }
	59%{ background-color:transparent; border-color:#ccc; }
	60%{ background-color:#9cf; border-color:#9cf; }
	to { background-color:#9cf; border-color:#9cf; }
}
@keyframes aB8 {
	from { background-color:transparent; border-color:#ccc; }
	69%{ background-color:transparent; border-color:#ccc; }
	70%{ background-color:#9cf; border-color:#9cf; }
	to { background-color:#9cf; border-color:#9cf; }
}
@keyframes aB9 {
	from { background-color:transparent; border-color:#ccc; }
	79%{ background-color:transparent; border-color:#ccc; }
	80%{ background-color:#9cf; border-color:#9cf; }
	to { background-color:#9cf; border-color:#9cf; }
}
@keyframes aB10 {
	from { background-color:transparent; border-color:#ccc; }
	89%{ background-color:transparent; border-color:#ccc; }
	90%{ background-color:#9cf; border-color:#9cf; }
	to { background-color:#9cf; border-color:#9cf; }
}
@keyframes aB11 {
	from { background-color:transparent; border-color:#ccc; }
	99%{ background-color:transparent; border-color:#ccc; }
	to { background-color:#9cf; border-color:#9cf; }
}

#introPage7 .introPage7Box>div:last-child{
	padding-left:107px;
	padding-top:30px;
}
.flexMode #introPage7 .introPage7Box>div:last-child{
	padding-top:4vh;
}
#introPage7 .introStudy1Table td div{
	position:relative;
	display:inline-block;
	width:40px;
	height:40px;
	border:1px #ccc solid;
	cursor:pointer;
}
#introPage7 .introStudy1Table td div.ok:after{
	content: "OK!";
	position: absolute;
	left: 0;
	bottom: 1px;
	height: 40px;
	box-sizing: border-box;
	width: 40px;
	font: bold 17px/18px "Century Gothic", "sans-serif";
	padding-top: 25px;
	color: #360;
	text-align: center;
	background: url(../img/ok.png) no-repeat center 2px;
	animation-duration: 1.2s;
	animation-timing-function:ease-out;
	animation-name:aAnswer;
	opacity:0;
}
#introPage7 .introStudy1Table td div.ng:after{
	content: "NG!";
	position: absolute;
	left: 0;
	bottom: 1px;
	height: 40px;
	box-sizing: border-box;
	width: 40px;
	font: bold 17px/18px "Century Gothic", "sans-serif";
	padding-top: 25px;
	color: #c00;
	text-align: center;
	background: url(../img/ng.png) no-repeat center 2px;
	animation-duration: 1.2s;
	animation-timing-function:ease-out;
	animation-name:aAnswer;
	opacity:0;
}
@keyframes aAnswer{
	from { opacity:1; }
	to { opacity:0; }
}
#introPage7 .introGuideBox{
	width:362px;
}
#introPage7 .introPage7QuizBoxHolder{
	margin-top:2.8vh;
}
.flexMode #introPage7 .introPage7QuizBoxHolder{
	margin-top:20px;
}
#introPage7 .introPage7QuizBox{
	padding-left:50px;
	padding-right:30px;
	width:180px;
}
.flexMode #introPage7 .introPage7QuizBox{
	padding-left:20px;
	float:left;
	width:120px;
}
#introPage7 .introPage7QuizBox>div{
	position:relative;
	padding-top:10px;
	padding-left:30px;
	line-height:34px;
}
#introPage7 .introPage7QuizBox>div.checked:before{
	content:"";
	position:absolute;
	bottom:0;
	left:0;
	height:30px;
	width:20px;
	background:url(../img/check.png) no-repeat center;
	opacity:0;
}
#introPage7 .introPage7QuizBox>div.ok.checked:before{
	opacity:0.4;
}
#introPage7 .introPage7QuizBox>div.active.checked:before{
	opacity:1;
}
#introPage7 .introPage7QuizBox button{
	float:right;
}

#introPage8 .introPage8Box>div:last-child{
	padding-top:20px;
	width:456px;
}
.flexMode #introPage8 .introPage8Box>div:last-child{
	padding-top:2.8vh;
}
#introPage8 .introGuideBox{
    margin-left: 54px;
}
.flexMode #introPage8 .introPage8ScrollBox{
	max-height:calc(100vh - 160px);
	overflow-y:auto;
	overflow-x:hidden;
	-webkit-overflow-scrolling:touch;
}

#introPage9 .introBody{
	padding-top:70px;
}
.flexMode #introPage9 .introBody{
	padding-top:5vh;
}

/*
** Study 2
*/
#introPage .introStudy2TableHolder{
	transform-origin:50% 0;
}
#introPage .introStudy2Table td{
	padding:2px;
	line-height:0;
}
#introPage .introStudy2Table th{
	text-align:center;
	font-weight:bold;
	font-size:20px;
	line-height:40px;
	padding:0 4px;
}
#introPage .introStudy2Table th div{
	display:inline-block;
	height:38px;
	width:38px;
	line-height:38px;
	border-radius:19px;
	background-color:#eee;
}
#introPage .introStudy2Table .empty{
	position:relative;
	display:inline-block;
	width:64px;
	height:64px;
	border:1px #ccc solid;
	overflow:hidden;
}
#introPage .introStudy2Table .empty:after{
	content:"";
	position:absolute;
	width:91px;
	top:32px;
	left:-13px;
	height:0;
	border-top:1px #ccc solid;
	transform:rotate(-45deg);
}
#introPage .introStudy2Table .letter{
	position:relative;
	border:1px #ccc solid;
}
#introPage .introStudy2Table .letter.ok{
	border:1px #fc3 solid;
	background-color:#fc3;
}
#introPage .introStudy2Table .letter.ok:after{
	content:"OK!";
	position:absolute;
	display:inline-block;
	top:-30px;
	left:0;
	box-sizing:border-box;
	width:66px;
	height:30px;
	padding-left:30px;
	color:#360;
	font: bold 17px/30px "Century Gothic", "sans-serif";
	text-align:center;
	background:rgba(255, 255, 255, 0.5) url(../img/ok.png) no-repeat 6px center;
	animation-duration: 1s;
	animation-timing-function:ease-out;
	animation-name:aIntroStudyOk;
	animation-fill-mode: forwards;
}
@keyframes aIntroStudyOk{
	from { opacity:1; }
	to { opacity:0; }
}
#introPage .introStudy2Table .fade5 *{ opacity:0.9; }
#introPage .introStudy2Table .fade4 *{ opacity:0.8; }
#introPage .introStudy2Table .fade3 *{ opacity:0.7; }
#introPage .introStudy2Table .fade2 *{ opacity:0.6; }
#introPage .introStudy2Table .fade1 *{ opacity:0.5; }

#introPage .introStudy2Box{
	display:table;
	margin-left:30px;
	margin-top:50px;
}
.flexMode #introPage .introStudy2Box{
	margin-top:4vh;
}
#introPage .introStudy2Box>div{
	display:table-cell;
	vertical-align:top;
}
#introPage .introStudy2Box>div:last-child{
	padding-left:70px;
	padding-top:20px;
}
.flexMode #introPage .introStudy2Box>div:last-child{
	padding-top:2vh;
}
#introPage .introStudy2Box .introGuideBox:first-child{
	margin-top:20px;
}
#introPage .introStudy2Box .introGuideBox{
	width:330px;
}

#introPage .introDragBoxHolder{
	position:relative;
}
#introPage .introDragBox{
	display:table;
	margin-left:25px;
	line-height:0;
}
#introPage .introDragBox>div{
	display:table-cell;
	width:86px;
	height:89px;
	border-left:5px transparent solid;
	vertical-align:top;
}
#introPage .introDragBox .dragTitle{
	width: 40px;
	line-height: 45px;
	font-size: 24px;
}
#introPage .introDragBox .dragBox{
	display:inline-block;
	width:80px;
	height:80px;
	border:3px #fff solid;
	background:linear-gradient(to bottom right, #f8f8f8, #eee) no-repeat;
	box-shadow: 2px 2px 3px #ccc;
	cursor:move;
}
#introPage .introDragBox .dragBox.largeKanaBox{
	width:64px;
	height:64px;
}
#introPage .introDragBox .dragBox.empty{
	background:none;
	box-shadow: 0px 0px 1px #ccc;
}
#introPage .introDragBox .dragBox.empty .letter{
	display:none;
}

#introPage .introDragWordBox{
	display:table;
	padding-left:70px;
	width:182px;
	white-space:nowrap;
	text-align:center;
	margin-top:-4px;
}
#introPage .introDragWordBox>div{
	display:table-cell;
	vertical-align:top;
}
#introPage .introDragWordBox .letter{
	margin-left:5px;
	border:3px #fff solid;
}
#introPage .introDragWordBox .dragEword{
	font-size:19px;
	margin-top:-15px;
	padding-bottom:10px;
}
#introPage .introDragWordBox button.nextWord{
	margin-left: 23px;
    margin-top: 23px;
}
#introPage .raiseUpTarget.raiseUp{
	animation-duration: 0.5s;
	animation-timing-function:ease-out;
	animation-name:aIntroRaiseUp;
	animation-fill-mode: forwards;
}
@keyframes aIntroRaiseUp{
	from {
		margin-top:12px;
	}
	to {
		margin-top:-90px;
	}
}

#introPage10 .introStudy2Box>div:last-child {
	padding-left:30px;
}
#introPage10 .introStudy2Box>div:last-child .introGuideBox{
	width:390px;
}
#introPage10 .introStudy2Table.zoom{
	animation-duration: 1.5s;
	animation-timing-function:linear;
	animation-name:aIntro10;
}
#introPage10 .introStudy2Table.zoom .fade{
	animation-duration: 1s;
	animation-timing-function:ease-out;
	animation-name:aIntro10fade;
	animation-fill-mode: forwards;
}
@keyframes aIntro10{
	from { transform: translate(0, -160px) scale(0.65, 0.65); }
	67% { transform: translate(0, -160px) scale(0.65, 0.65); }
	to { transform: translate(0, 0) scale(1, 1); };
}
@keyframes aIntro10fade{
	from { opacity:1; }
	to { opacity:0; }
}

#introPage11 .introGuideBox:nth-of-type(3){
	margin-top:12px;
}
#introPage11 .introGuideBox:nth-of-type(4){
	margin-top:40px;
}
.flexMode #introPage11 .introGuideBox:nth-of-type(4){
	margin-top:4vh;
}
#introPage11 .introStudy2Box>div:last-child{
	position:relative;
}
#introPage11 .introDragArrow{
	position:absolute;
	top:0;
	left:-80px;
	height:86px;
	width:140px;
	pointer-events:none;
}
#introPage11 .introDragArrow:before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:0;
	height:0;
	border-left:0;
	border-top:43px transparent solid;
	border-bottom:43px transparent solid;
	border-right:62px #f30 solid;
}
#introPage11 .introDragArrow:after{
	content:"";
	position:absolute;
	top:26px;
	left:62px;
	width:78px;
	height:34px;
	background-color:#f30;
}
#introPage11 .introDragArrow.move{
	animation-duration: 1.8s;
	animation-timing-function:ease-out;
	animation-name:aIntroArrow;
	animation-fill-mode: forwards;
}
@keyframes aIntroArrow{
	from {
		left:-70px;
		opacity:1;
	}
	30% {
		left:-70px;
		opacity:1;
	}
	70% {
		left:-190px;
		opacity:0.5;
	}
	90% {
		left:-70px;
		opacity:0.2;
	}
	to {
		left:-70px;
		opacity:0;
	}
}

#introPage #introPage12 .introGuideBox{
	margin-top:0;
	width:380px;
}
#introPage12 .introStudy2Box>div:last-child{
	padding-top:0;
	padding-left:40px;
}

#introPage13 .introStudy2Table{
	margin-top:-350px;
}
.flexMode #introPage13 .introStudy2Table{
	margin-top:calc(-280px - 5vh);
}
#introPage13 .introStudy2Table.zoom{
	animation-duration: 1.5s;
	animation-timing-function:linear;
	animation-name:aIntro13;
}
#introPage13 .introStudy2Table.zoom .fade{
	animation-duration: 1s;
	animation-timing-function:ease-out;
	animation-name:aIntro13fade;
	animation-fill-mode: forwards;
}
@keyframes aIntro13{
	from { transform: translate(0, 200px) scale(0.65, 0.65); }
	67% { transform: translate(0, 200px) scale(0.65, 0.65); }
	to { transform: translate(0, 0) scale(1, 1); };
}
@keyframes aIntro13fade{
	from { opacity:1; }
	to { opacity:0; }
}

#introPage14 .introGuideBox:last-child{
	margin-top:70px;
}

#introPage16 .introPage16Box{
	margin-left:42px;
}
#introPage16 .introGuideBox{
	margin-left: 54px;
	margin-top: 30px;
}
