﻿@charset "utf-8";
@import url("color.css");
@import url("font.css");
/*===============================================
●smart.css  画面の横幅が640px以下の時にスタイル適応
===============================================*/
@media screen and (max-width:640px) {
    img {
        max-width: 100%;
        height: auto;
        width: auto;
    }
    /*共通部分*/
    html {
        height: 100%;
    }
    #container {
        height: auto;
        background-image: url(./../img/back_leaf.jpg);
        background-repeat: repeat-y;
        background-position: center top;
    }

    header h1 {
        font-size: 14px;
    }
    .left {
        float: left;
    }
    .right {
        float: right;
    }
	div.para{
		padding-left:10px;
		padding-right:10px;
	/*	width:95%;*/

    }
	div.para *{
		font-size:100%;
		line-height:1.5em;
	}
	div.para td{
		padding-right:0.5em;
	}
	.msoUcTable td{
		word-break:break-all!important;
		word-wrap: break-word!important;
	}
    /*================================
     サブページ共通部品
    ==================================*/
    .contents_main {
        text-align: left;
    }
    #toc_items {
        border-style: solid;
    }
    #content_box {
        width: 100%;
        margin-top: 10px;
        position: relative;
        display: table;
    }
    #sub_menu {
        padding-bottom: 0px;
        min-height: 350px;
        height: auto;
        margin-bottom: 15px;
        padding-bottom: 20px;
        float: none;
        width:100%;
    }
    #footer {
        height: 26px;
        position: relative;
        bottom: 0px;
        background-color: #;
    }
    footer>p {
		margin-top:0px;
        line-height:1.0em;
        letter-spacing: 0.1em;
	}
    #sub_content {
        padding-bottom: 0px;
        display: table-header-group;
        float: none;
		width:100%;
    }
    #inyou {
        text-align: right;
        margin-top: 30px;
        line-height: 1.4em;
    }
/*==================================
sub01用
===================================*/
    #t_path {
        height: 30px;
        line-height: 30px;
        font-size: 100%;
    }
	#course_title{
		padding-left:15px;
	}
	#course_desc{
		padding:20px;
	}
/*==================================
gra04用
===================================*/
    #t_path4 {
        min-height: 25px;
        line-height: 25px;
        height: auto;
		font-size:110%;
    }
	#t_path4>a:first-child span{
		display:none;
	}
    #sub_menu_bunpou_title2 {
        font-size: 100%;
        width:100%;
        height: 40px;
        line-height: 40px;
        margin-bottom: 5px;
        margin-top: 10px;
        font-weight: normal;
    }
    #sub_menu_bunpou_title2>a {
		margin-left:40px;
	}
    .gra_menu_snd {
        width : 100%;
        border-bottom : 0px none;
        margin : 2px 0px;
        height : auto;
        min-height : 46px;
        padding-bottom: 13px;
        padding-top: 14px;
        vertical-align: middle;
    }
    .gra_menu_snd >a{
		display:block;
		padding-top:12px;
		margin-left:40px;
	}
    .gra_menu_snd2 {
        width: 100%;
        height: 39px;
        border-bottom: 0px;
        margin-top: 10px;
    }
    #gra_box_under {
        clear: both;
        min-height: 180px;
        height: auto;
        background-color: #ffe8f6;
    }
        #gra_box_under p {
            padding: 15px;
            line-height: 1.2em;
            font-size: 110%;
        }
    #gra_list {
        margin-right: 25px;
        margin-bottom: 20px;
        min-height: 150px;
    }
        #gra_list li {
            width: 100%;
            min-height: 60px;
            padding-left: 25px;
            padding-top: 4px;
            font-size: 115%;
            letter-spacing: 1px;
            margin-top: 10px;
            display:block;
            padding-right:0px;
        }
        #gra_list li a{
			padding-top:10px;
		}

    #gra_menu_foot {
		height : 38px;
		line-height : 40px;
		font-weight : normal;
		float : left;
		margin-bottom : 10px;
        margin-top: 25px;
        width:100%;
    }
	    #gra_menu_foot >a{
			padding-left:25px;
		}

    .gra_inline {
        width:100%;
		margin-right:10px;
        float: left;
        height: auto;
        font-size:120%;
    }
    .gra_child_menu li {
        height: 37px;
        line-height: 37px;
        font-size: 110%;
    }
    /* 中身部分 */
    #gra_sec_01 nav, #gra_sec_02 nav, #gra_sec_03 nav, #gra_sec_04 nav {
        display: table;
    }
    #gra_in_top_container {
    }
	/*==================================
       文法のカード、解説、例文、練習問題のボタンのコンテナ
	==================================*/
    .gra_in_menu_container {
        margin-bottom: 10px;
        line-height: 45px;
        font-size: 110%;
        text-align: center;
        float: none;
/*        display: table-row-group;*/
		width:100%;
		display: grid;
		grid-template-columns:1fr 1fr;
		column-gap: 10px;
    }
	/*==================================
       文法のカード、解説、例文、練習問題のボタン
       選択状態を表すclass: .gra_in_menu or .gra_in_menu_off  
	==================================*/
    .gra_in_menu_container >p{
        height: 40px;
		margin-bottom:10px;
	}
    .gra_in_menu_clear {
        margin-right: 0px;
    }
    .gra_in_menu_container a {
        color: #333;
        text-decoration: none;
    }

        .gra_in_menu_container a:hover {
            color: #fff;
            text-decoration: none;
        }
	/*==================================
	レッスン、ステップ、カード、・・解説のナビボタン群全体のコンテナ
	==================================*/
	#gmodnav{
		width:100%;
	}
	/*==================================
		レッスン、ステップの前後ナビボタンのコンテナ
	==================================*/
    .gra_in_backnext {
        float: none;
        display: inline-grid;
		grid-template-columns:  50% 50%;
        font-size:110%;
		width:100%;
    }
	/* 前の・・・、次の・・・ボタン共通 */
	.gra_in_backnext>div{
        height: 50px;
	}
	/* 前の・・・ボタン共通 */
	.gra_in_backnext>div:first-child{
        padding-left: 50px;
        text-align: left;
	}
	/* 次の・・・ボタン共通 */
	.gra_in_backnext>div:nth-child(2){
        padding-right: 50px;
        text-align: right;
	}
	
    #gra_step_back {
        background: url(../img/back_btn_on.jpg) top left no-repeat;
    }

    #gra_step_next {
        background: url(../img/next_btn_on.jpg) top right no-repeat;
    }

    #gra_step_back_off {
        background: url(../img/back_btn_off.jpg) top left no-repeat;
    }

    #gra_step_next_off {
        background: url(../img/next_btn_off.jpg) top right no-repeat;
    }

    .gra_in_title {
        background-color: #d1ceca;
        color: #333;
        font-weight: normal;
        font-size:115%;
        padding-left: 15px;
        margin-top: 5px;
    }

    .gra_in_content {
        margin-top: 20px;
        font-size:110%;
    }
        .gra_in_content p {
            margin-bottom: 15px;
	        font-size:120%;
			padding:0px 5px 0px 5px;
	    }

        .gra_in_content table {
            margin-bottom: 15px;
        }

            .gra_in_content table caption {
                margin-bottom: 10px;
            }

        .gra_in_content th, .gra_in_content td {
            border: 1px solid #333;
            padding: 7px;
            text-align: center;
        }

    .gra_dl_title {
        margin-top: 20px;
        margin-bottom: 15px;
        margin-left: 25px;
        font-size: 100%;
    }

    .gra_dl_box {
        min-height: 50px;
        padding-top: 10px;
        padding-left: 10px;
        padding-right: 10px;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 15px;
    }

       .gra_dl_box .instTxtBlk {
            float: left;
            line-height: 1.3em;
            font-size: 100%;
        }
        .gra_dl_box .voiceLinkBox {
            float: right;
            margin-top: 4px;
            margin-right: 4px;
        }
            .gra_dl_box div img {
                margin-left: 10px;
            }

        .gra_dl_box a {
            text-decoration: none;
        }

    .gra_ques_head {
        font-size: 100%;
        line-height: 20px;
        padding: 10px;
        margin-top: 15px;
    }

    .gra_ques_mid {
        font-size:110%;
        height: 40px;
        line-height: 20px;
        padding-right: 15px;
        display: table-cell;
        vertical-align: middle;
    }

        .gra_ques_mid a {
            text-decoration: none;
        }

            .gra_ques_mid a:hover {
                opacity: 0.7;
            }

        .gra_ques_mid .gra_btn_on, .gra_ques_mid .pro_btn_on {
            width: 46px;
            height: 28px;
            line-height: 28px;
            text-align: center;
            font-size:110%;
            margin-left: 10px;
        }

        .gra_ques_mid .gra_btn_off {
            width: 46px;
            height: 28px;
            line-height: 28px;
            text-align: center;
            font-size:110%;
            margin-left: 10px;
        }

    .match_drag_ul {
        width: 250px;
    }
    .match_drop_ul {
        width: 250px;
    }
	#exPageNav{
		margin-top:20px;
	}
	#exPageNav p{
		    margin-top: 15px;
	}
    .gra_ques_foot {
        font-size:110%;
        line-height: 2em;
    }

        .gra_ques_foot .icon {
            margin-left: 20px;
            margin-top: 5px;
            width: 20px;
            margin-right: -5px;
        }

        .gra_ques_foot p {
            margin-left: 10px;
        }

    .prev_que_btn {
        float: left;
        margin-top: 10px;
        margin-right: 10px;
    }

    .next_que_btn {
        float: left;
        margin-top: 10px;
        margin-left: 10px;
        margin-right: 30px;
        margin-bottom: 30px;
    }

    .gra_ques_inputarea {
        padding: 15px;
        margin-top: 15px;
    }

        .gra_ques_inputarea p {
            float: left;
            font-size:115%;
        }

        .gra_ques_inputarea form {
            float: left;
            margin-top: -6px;
            margin-left: 3px;
            margin-right: 5px;
        }

            .gra_ques_inputarea form input {
                height: 22px;
                font-size:115%;
            }

    .gra_ques_btnarea {
        margin: 10px 40px 40px 40px;
    }

        .gra_ques_btnarea button {
            height: 30px;
            font-size:115%;
            border-radius: 3px;
            margin-right: 40px;
        }

    .gra_ques_res {
        padding-left: 20px;
        margin-top: 10px;
    }

        .gra_ques_res table td {
            height: 60px;
            font-size:115%;
            padding-right: 40px;
        }

        .gra_ques_res p {
            font-size: 100%;
            line-height: 1.3em;
        }

        .gra_ques_res .menu {
            margin-top: 30px;
            margin-bottom: 30px;
        }

            .gra_ques_res .menu ul li {
                width: 100px;
                height: 40px;
                float: left;
                text-align: center;
                line-height: 40px;
                font-size: 120%;
                margin-left: 13px;
                margin-bottom: 15px;
            }
	.ques_item_box {
		line-height: 2em;
		font-size:110%;
		padding:10px 5px 0px 5px
	}

	/**
	 * ドラッグアンドドロップ
	 */
	.match_drag_ul {
		padding: 5px 0px;
		width: 100%;
		float: left;
	/*	margin-right: 15px;*/
	}

		.match_drag_ul li {
			height: 40px;
			border: solid 1px #AAAAAA;
			margin-bottom: 5px;
			padding: 5px;
/*			line-height: 40px;*/
			text-align: center;
			background-color: #FFFFFF;
			cursor: move;
		}

	.match_drop_ul {
		padding: 5px 0px;
		width: 100%;
		float: left;
	}

		.match_drop_ul li {
			height: 40px;
			border: solid 1px #AAAAAA;
			margin-bottom: 5px;
			padding: 5px;
/*			line-height: 40px;
			text-align: right;*/
			background-color: #EDE8E4;
		}

	/**
	 * sort用ドラッグアンドドロップ
	 *
	 */
	.sort_p_mg {
		margin: 0px 5px;
	}

	.sort_drag_box {
		display: inline-block;
		width: 40px;
		border-bottom: dotted 1px #AAAAAA;
		text-align: center;
	}

	.sort_drag_ul {
		border: solid 1px #AAAAAA;
		padding: 5px 10px;
		margin-top: 20px;
		margin-bottom: 20px;
		padding-top: 15px;
	}

		.sort_drag_ul li {
			float: none;
			width: auto;
			height: 40px;
			padding: 5px 10px;
			line-height: 40px;
			border: solid 1px #AAAAAA;
			margin-right: 10px;
			margin-bottom: 10px;
			background-color: #FFFFFF;
			cursor: move;
		}

	/* umeno add from here vvvv */
	.answerBlock {
		position: absolute;
		/*top: 10px;*/
		bottom:50px;
		left: 10px;
		border: solid;
		opacity: 0.9;
		background-color: white;
		display: none;
		border:solid;
	    min-width: 300px;

	}
		.answerBlock h1 {
			TEXT-ALIGN: center;
		}

		.answerBlock p {
			font-size: 120%;
			padding: 20px;
		}

		.answerBlock div {
			margin: 20px;
		}

	.ques_block {
		position: relative;
	}
	/* umeno add from ^^^^^ */
	
		.gra_ques_sec {
		margin-top: 20px;
		}

}
