.generation{
	position: relative;
}
.table_wrapper{
	overflow-x: scroll;
	overflow-y:visible;
}
table.sticky_column{
	position: absolute;
	left: 0;
	top: 0;
}


#main table.compatibility_table,#main table.sticky_column{
	border-collapse: collapse;
	border-spacing: 0;
}

.compatibility_table th, .compatibility_table td,.sticky_column th, .sticky_column td{
	border: solid 1px black;
	text-align: center;
	color: #000;
	background-color: white;

	width: 70px;
	min-width: 70px;
	height: 32px;
}

.compatibility_table th.model, .compatibility_table td.model, .sticky_column th.model, .sticky_column td.model {
    width: 120px;
    min-width: 120px;
}

.compatibility_table th.release, .compatibility_table td.release, .sticky_column th.release, .sticky_column td.release {
    width: 110px;
    min-width: 110px;
}

th.gray, td.gray {
	color: #000;
	background-color: #f2f2f2;
}
th.d_gray, td.d_gray {
	background: #626262;
	color: #fff;
}
th.m_gray, td.m_gray {
	background: #d9d9d9;
	color: #000;
}
th.blue, td.blue {
	background: #ccecff;
	color: #000;
}
th.yellow, td.yellow {
	background: #ffffcc;
	color: #000;
}

/*表の見方*/

div.kakomi {
    margin: 2em auto;
    padding: 1em;
    border: 1px solid #ccc;
}
div.container{
    display: flex;
}
div.left{
    width: 440px;
    padding: 0 14px 0 0;
}
div.right{
    width: 440px;
}
ul.about {
    margin-left:1em;
}
ul.about li {
    text-indent:-1.0em;
}


/*アコーディオン全体*/

/*ラベル*/
.accbox label {
    border-bottom: solid 1px #626262;
    display: block;
    margin: 15px 0;
    font-size: 20px;
    font-weight: bold;
    line-height: 28px;
    cursor :pointer;
    transition: all 0.5s;
}

/*アイコンを表示*/
.accbox label:before {
    content: url(../img/arrow.gif);
    padding-right: 8px;
}


/*チェックは隠す*/
.accbox input {
    display: none;
}

/*中身を非表示にしておく*/
.accbox .accshow {
    height: 0;
    padding: 0;
    overflow: hidden;
    opacity: 0;
    transition: 0.8s;
}

/*クリックで中身表示*/
.cssacc:checked + label + .accshow {
    height: auto;
    padding: 10px 0 30px 0;
    opacity: 1;
}

.accbox .accshow p {
    margin: 15px 10px}

/*アイコンを入れ替える*/
.cssacc:checked + label:before {
    content: url(../img/arrow2.gif);
}

.btnLayout02 li a.btnRect {
    color: #fff;
    display: table-cell;
    font-family: inherit;
    text-align: center;
    text-decoration: none;
    position: relative;
    vertical-align: middle;
    line-height: 1.5em;
}
div#main .btnLayout02 a.btnRect,
.btnLayout02 .btnRect:link,
.btnLayout02 a.btnRect:link,
.btnLayout02 .btnRect:visited,
.btnLayout02 a.btnRect:visited {
    text-decoration: none;
}
.btnLayout02 li .btnRect:hover,
.btnLayout02 li a.btnRect:hover {
    color: #626262;
    background-color: #fff;
    cursor: pointer;
    text-decoration: none !important;
}
.btnLayout02 li .btnRect:active,
.btnLayout02 li a.btnRect:active {
    background-color: #F5F5F5;
}
.btnLayout02 a.btnRect::before{
    content: '';
    width: 6px;
    height: 6px;
    border: 0px;
    border-top: solid 3px #8d9ca8;
    border-right: solid 3px #8d9ca8;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    left: 13%;
    margin-top: -5px;
}
.btnLayout02 a.btnRect.listStyleInline {
    text-indent: -1em;
    padding: 0.5em 0.5em 0.5em 1.5em;
}
.btnLayout02 a.btnRect.listStyleInline::before {
    display: inline-block;
    position:static;
    margin-bottom: 3px;
    margin-right:10px;
}


/*----- .btnLayout03 -----*/
.btnLayout03 {
    text-align: center;
    margin-right: 40px;
    margin-left: 40px;
}
.btnLayout03 > li {
    display: inline-block;
    border: none;
    margin: 0 !important;
    padding: 0 !important;
    width: auto;
    height: auto;
    float: none;
}
.btnLayout03 li a.btnRect {
    color: #fff;
    display: table-cell;
    font-family: inherit;
    text-align: center;
    text-decoration: none;
    position: relative;
    vertical-align: middle;
    line-height: 1.5em;
}
div#main .btnLayout03 a.btnRect,
.btnLayout02 .btnRect:link,
.btnLayout02 a.btnRect:link,
.btnLayout02 .btnRect:visited,
.btnLayout02 a.btnRect:visited {
    text-decoration: none;
}
.btnLayout03 li .btnRect:hover,
.btnLayout03 li a.btnRect:hover {
    color: #626262;
    background-color: #fff;
    cursor: pointer;
    text-decoration: none !important;
}
.btnLayout03 li .btnRect:active,
.btnLayout03 li a.btnRect:active {
    background-color: #eee;
}
.btnLayout03 a.btnRect.btn-gray::before {
    content: '';
    width: 6px;
    height: 6px;
    border: 0px;
    -ms-transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    position: absolute;
    top: 50%;
    left: 3%;
    margin-top: -5px;
}
/* IE */
@media all and (-ms-high-contrast: none){
    .btnLayout02 a.btnRect::before{
        top: 75%;
    }
}

/* .btn_2col */
.btnLayout02.btn_2col a.btnRect::before{
    left: 5%;
}
.btnLayout02.btn_2col li .btnLarge {
    width: 410px;
}
.btnLayout02.btn_2col li {
    float: left;
}
.btnLayout02.btn_2col li:nth-child(2) {
    float: right;
}

/* .btnLarge */
.btnLayout02 li .btnLarge {
    font-size: 20px!important;
    padding: 0.5em;
    width: 500px;
    height: 55px;
}
.btnLayout02 li .btnLarge.w640 {
    width: 640px;
}

/* .btnSmall */
.btnLayout02 li .btnSmall {
    font-size: 16px;
    padding: 0.5em 1em 0.5em 3em;
    width: 500px;
    height: auto;
}

/* .btn-blue */
.btnLayout02 li a.btn-blue {
    border: 1px solid #004473;
    background-color: #004573;
}
.btnLayout02 li .btn-blue:hover,
.btnLayout02 li a.btn-blue:hover {
    background-color: #fff;
}
.btnLayout02 li .btn-blue:active,
.btnLayout02 li a.btn-blue:active {
    background-color: #F5F5F5;
}

/* .btn-gray */
.btnLayout02 li a.btn-gray {
    background-color: #ccc;
    color: #000;
}
.btnLayout02 li .btn-gray:hover,
.btnLayout02 li a.btn-gray:hover {
    background-color: #e5e5e5;
}
.btnLayout02 li .btn-gray:active,
.btnLayout02 li a.btn-gray:active {
    background-color: #e5e5e5;
}
.btnLayout02 a.btnRect.btn-gray::before{
    content: '';
    width: 6px;
    height: 6px;
    border: 0px;
    border-top: solid 3px #000;
    border-right: solid 3px #000;
    -ms-transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    position: absolute;
    top: 50%;
    left: 3%;
    margin-top: -5px;
}


/* .btn_3col */
.btnLayout03.btn_2col a.btnRect::before{
    left: 5%;
}
.btnLayout03.btn_2col li .btnLarge {
    width: 410px;
}
.btnLayout03.btn_2col li {
    float: left;
}
.btnLayout03.btn_2col li:nth-child(2) {
    float: right;
}

/* .btnLarge */
.btnLayout03 li .btnLarge {
    font-size: 20px;
    padding: 0.5em;
    width: 500px;
    height: 55px;
}
.btnLayout03 li .btnLarge.w640 {
    width: 640px;
}

/* .btnSmall */
.btnLayout03 li .btnSmall {
    font-size: 16px;
    padding: 0.5em 1em 0.5em 3em;
    width: 500px;
    height: auto;
}

/* .btn-gray */
.btnLayout03 li a.btn-gray {
    background-color: #eee;
    color: #000;
}
.btnLayout03 li .btn-gray:hover,
.btnLayout03 li a.btn-gray:hover {
    background-color: #e5e5e5;
}
.btnLayout03 li .btn-gray:active,
.btnLayout03 li a.btn-gray:active {
    background-color: #e5e5e5;
}

@media screen and ( max-width: 768px ) {

    ul.btnLayout02.clearfix.p_mt120 {margin-top: 0px!important;}

    .btnLayout02 {
        margin: 0;
    }
    .btnLayout02 li a.btnRect {
        height: auto;
        padding-top: 15px;
        padding-bottom: 15px;
    }
    .btnLayout02 a.btnRect:before{
        position: absolute;
        left: 5%;
    }

    /* .btn_2col */
    .btnLayout02.btn_2col li,
    .btnLayout02.btn_2col li:nth-child(2){
        float: none;
    }
    .btnLayout02.btn_2col li:nth-child(2){
        margin-top: 20px !important;
    }

    .btnLayout02 li .btnLarge,
    .btnLayout02 li .btnLarge.w640 {
        font-size: 16px;
        max-width: 500px;
    }

    /* .non-responsive */
    .btnLayout02 li .btnLarge.w640.non-responsive {
        font-size: 20px;
        padding: 0.5em;
        width: 640px;
        max-width: 640px;
        height: 55px;
    }
    .btnLayout02 a.btnRect.non-responsive:before{
        position: absolute;
        left: 13%;
    }

    /*btnLayout3*/
    div.Layout03box {background-color: #eee!important;
        display: table-cell!important;
        font-size: 20px!important;
        padding: 0.5em!important;
        width: 500px!important;
        height: 55px!important;
        font-family: inherit!important;
        text-align: center!important;
        text-decoration: none!important;
        position: relative!important;
        vertical-align: middle!important;
        line-height: 1.5em!important;}



    ul.btnLayout03.clearfix.p_mt120 {margin-top: 0px!important;}

    .btnLayout03 {
        margin: 0;
    }
    .btnLayout03 li a.btnRect {
        height: auto;
        padding-top: 15px;
        padding-bottom: 15px;
    }
    .btnLayout03 a.btnRect:before{
        position: absolute;
        left: 5%;
    }

    /* .btn_3col */
    .btnLayout03.btn_2col li,
    .btnLayout03.btn_2col li:nth-child(2){
        float: none;
    }
    .btnLayout02.btn_2col li:nth-child(2){
        margin-top: 20px !important;
    }

    .btnLayout03 li .btnLarge,
    .btnLayout03 li .btnLarge.w640 {
        font-size: 16px;
        max-width: 500px;
    }

    /* .non-responsive */
    .btnLayout02 li .btnLarge.w640.non-responsive {
        font-size: 20px;
        padding: 0.5em;
        width: 640px;
        max-width: 640px;
        height: 55px;
    }
    .btnLayout02 a.btnRect.non-responsive:before{
        position: absolute;
        left: 13%;
    }
    .btnLayout03 li .btnLarge.w640.non-responsive {
        font-size: 20px;
        padding: 0.5em;
        width: 640px;
        max-width: 640px;
        height: 55px;
    }
    .btnLayout03 a.btnRect.non-responsive:before{
        position: absolute;
        left: 13%;
    }
}

.btnLayout02.btn_4col {
    margin: 0 0 0 30px;
}
.btnLayout02.btn_4col li {
    float: left;
    margin-left:10px !important;
    width: auto;
}
.btnLayout02.btn_4col a {
    font-size: 16px;
    width: 200px;
}
.btnLayout02.btn_4col a.btnRect::before {
    left: 5%;
}

@media screen and ( max-width: 768px ) {
    .btnLayout02.btn_4col {
        margin: 0;
    }
    .btnLayout02.btn_4col li {
        float: none;
        width: auto;
        margin: 10px auto 0 !important;
        width: 100%;
        max-width: 410px;
    }
    .btnLayout02.btn_4col li a {
        font-size: 16px;
        width: 410px;
    }
    .btnLayout02.btn_4col a.btnRect::before {
        left: 5%;
    }
}