.clearfix:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}

.clearfix {
    display: inline-table;
}

/* Hides from IE-mac \*/
* html .clearfix {
    height: 1%;
}

.clearfix {
    display: block;
}

/* End hide from IE-mac */

body, ul, table, form {
    margin: 0;
    padding: 0;
    overflow: hidden;
}

img {
    max-width: 100%;
    padding: 0;
    margin: 0;
    vertical-align: bottom;
}

body {
    font-family:"Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro",メイリオ,Meiryo,sans-serif;
    background: #169243;
}


.wrapper {
    overflow: scroll;
    -webkit-overflow-scrolling: touch;
    padding: 0 35px 20px 35px;
    background: url("../../img/033/c_bg.png") #e6f0e6 repeat;
}

.header_block {
    margin: 0 auto;
    padding: 30px 0 30px 0;
    position: relative;
}
.header_block .logo {
}
.header_block .logo_news {
    position: absolute;
    right: 0;
    top: 25px;
    background: #FFF;
}

.main_content_block {
    position: relative;
}
.main_content_block.start {
    background: url("../../img/033/start.png") no-repeat;
    background-size: 100%;
}
.main_content_block.rule {
    background: url("../../img/033/rule.png") no-repeat;
    background-size: 100%;
}
.main_content_block.last {
    background: url("../../img/033/last2.png") no-repeat;
    background-size: 100%;
}
.main_content_block.start .btn {
    text-align: center;
    padding: 409px 0 290px 0;
}
.main_content_block.start .start-p {
    position: absolute;
    bottom: 30px;
    right: 20px;
}

.main_content_block.rule .btn {
    text-align: center;
    padding: 550px 0  130px 0;
}
.main_content_block.last .btn {
    text-align: center;
    padding: 323px 0 100px 0;
}
.main_content_block.last .bosai_btn {
    text-align: center;
    padding: 10px 0 110px 0;
}
.main_content_block .bg {}
.main_content_block .bg img {
    width: 100%;
}
.main_content_block .correct {
    position: absolute;
    display: none;
    z-index: 3;
}
.main_content_block .checked {
    position: absolute;
    display: none;
    z-index: 2;
}
.main_content_block .p {
    position: absolute;
    display: inline-block;
}
.main_content_block .p img {
}
.control_block {
    padding: 27px 35px;
    font-size: 32px;
    color: #FFF;
    line-height: 1;
    text-align: center;
    background: #169243;
    color: #FFF;
}

.control_block span {
    vertical-align: sub;
    font-weight: bold;
    font-size: 53px;
}
.control_block span.nokori {
    padding: 0 12px 0 12px;
}
.control_block span.hakken {
    padding: 0 12px 0 18px;
}

.remodal {
    text-align: left;
}
.result_image {
    text-align: center;
}
.result_image img {
    max-height: 230px;
}
.remodal h2 {
    font-size: 28px;
    border-bottom: 3px solid #000;
}
.remodal p {
    font-size: 22px;
    /*padding: 0 0.5em;*/
    /*overflow: auto;*/
    /*min-height: 230px;*/
    /*height: 230px;*/
    line-height: 2;
}
.close-btn {
    text-align: center;
    position: absolute;
    bottom: -100px;
    left: 50%;
    transform: translate(-50%,0);
}
.remodal {
    padding: 0;
}
.modal_header {
    width: 100%;
    margin: 0 0 -1px 0;
}
.modal_header img {
    width: 100%;
}
.modal_wrapper {
    background: #FFF;
    padding: 35px;
    border-radius: 0 0 20px 20px;
}
.modal_wrapper h2 {
    color: #ff6400;
}
.rule_wrapper {
    background: url("../../img/033/rule.png") no-repeat;
    background-size: 100%;
    padding: 590px 0 110px 0;
    text-align: center;
}
.remodal-overlay.white-bg {
    background: rgba(255, 255, 255, 0.4);
}
.white-bg .remodal {
    /* max-width: 700px; */
    max-width: 594px;
    margin: 0;
}