/* ==========================================================================
   Mental Check Cloud Theme
   ========================================================================== */

html{
    font-size: 62.5%;
}

body {
    background: #DDF5F9;
    color: #595959;
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-size: 16px; font-size: 1.6rem;
    line-height: 1.6;
}

img {
    vertical-align: middle;
}

a,
a:hover,
a:visited{
    color: #119FDD;
}

p{ margin: 0; }

.mb5{ margin-bottom: 5px; }
.mb10{ margin-bottom: 10px; }
.mb20{ margin-bottom: 20px; }
.mb30{ margin-bottom: 30px; }
.mb40{ margin-bottom: 40px; }
.mb80{ margin-bottom: 80px; }

.ctr{ text-align: center; }

.bold{ font-weight: bold; }

.clearfix:before,
.clearfix:after {
    content: " ";
    display: table;
}

.clearfix:after {
    clear: both;
}

.clearfix {
    *zoom: 1;
}

/* ==============
    MOBILE: Header
   ============== */

.wrapper{
    margin: 0 10px;
}

#header-container {
    padding: 10px 0;

}

#header-container .logo{
    width: 280px;
    margin: 0 auto;
}

#header-container .logo a{
    display: block;
    overflow: hidden;
    width: 280px;
    height: 0;
    margin: 0;
    padding: 35px 0 0;
    background: url(../img/logo_x2.png) no-repeat left top;
    background-size: 280px 35px;
}

#header-container .lang{
    width: 30%;
    margin: 5px 0 5px 70%;
}

#header-container .lang select{
    width: 100%;
    height: 34px !important;
    line-height: 34px !important;
}

/* ==============
    MOBILE: Main
   ============== */

#main-container{
    margin: 0 0 40px;
}

#main-container .main article{
    min-height: 250px;
    padding: 20px 10px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -o-border-radius: 4px;
    -ms-border-radius: 4px;
    border-radius: 4px;
    box-shadow: 0 0 4px rgba(191,191,191,.4);
    background: #fff;
}

.main .wide{
    display: none;
}

.main .btn-pink{
    display: block;
    width: 100%;
/*    height: 50px;
    line-height: 50px;*/
    height: auto;
    line-height: 1.7;
    border: none;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -o-border-radius: 4px;
    -ms-border-radius: 4px;
    border-radius: 4px;
    background: #FFABAB;
    -webkit-box-shadow: 0 4px #E49B9B;
    -moz-box-shadow: 0 4px #E49B9B;
    -o-box-shadow: 0 4px #E49B9B;
    -ms-box-shadow: 0 4px #E49B9B;
    box-shadow: 0 4px #E49B9B;
    color: #fff;
    text-align: center;
    text-decoration: none;
    font-size: 18px; font-size: 1.8rem;
    font-weight: bold;
    cursor: pointer;
}

.main .btn-pink:hover{
    background: #FAAAAA;
    -webkit-box-shadow: 0 4px #D49090;
    -moz-box-shadow: 0 4px #D49090;
    -o-box-shadow: 0 4px #D49090;
    -ms-box-shadow: 0 4px #D49090;
    box-shadow: 0 4px #D49090;
}

.main .btn-gray{
    display: block;
    width: 100%;
/*    height: 40px;
    line-height: 40px;*/
    height: auto;
    line-height: 1.7;
    border: none;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -o-border-radius: 4px;
    -ms-border-radius: 4px;
    border-radius: 4px;
    background: #CFCFCF;
    -webkit-box-shadow: 0 4px #B9B9B9;
    -moz-box-shadow: 0 4px #B9B9B9;
    -o-box-shadow: 0 4px #B9B9B9;
    -ms-box-shadow: 0 4px #B9B9B9;
    box-shadow: 0 4px #B9B9B9;
    color: #fff;
    text-align: center;
    text-decoration: none;
    font-size: 18px; font-size: 1.8rem;
    font-weight: bold;
    cursor: pointer;
}

.main .btn-gray:hover{
    background: #C6C6C6;
    -webkit-box-shadow: 0 4px #B0B0B0;
    -moz-box-shadow: 0 4px #B0B0B0;
    -o-box-shadow: 0 4px #B0B0B0;
    -ms-box-shadow: 0 4px #B0B0B0;
    box-shadow: 0 4px #B0B0B0;
}

.main .error{
    margin: 0 0 20px;
    border: 2px solid #E4003C;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -o-border-radius: 4px;
    -ms-border-radius: 4px;
    border-radius: 4px;
    padding: 10px;
    color: #E4003C;
    font-weight: bold;
}

.main .form-bdr,
.main .form-simple{
    margin: 0 0 30px;
}

.main .form-bdr dt{
    border-top: 3px solid #DDFFAB;
    padding: 10px 10px 0;
    margin: 0 -10px 10px;
}

.main .form-bdr dd,
.main .form-simple dd{
    margin: 0 0 20px;
}

.main .form-simple dt{
    margin: 0 0 10px;
}

.main h1{
    height: 40px;
    line-height: 40px;
    margin: 0 -10px 20px;
    background: #FFABAB;
    font-size: 20px; font-size: 2.0rem;
    text-align: center;
}

.main .form-bdr dd label,
.icheckbox_square-yellow label{
    display: inline-block;
    margin: 0 10px 10px 0;
}

.main .form-bdr dd .iradio_square-yellow,
.icheckbox_square-yellow{
    margin-right: 5px !important;
    vertical-align: middle;
}

.main .notice{
    margin: 0 0 20px;
    color: #E4003B;
}

input[type="text"],
input[type="email"],
input[type="password"],
textarea{
    height: 40px;
    margin: 0;
    padding: 0 10px;
    border: 1px solid #D8D8D8;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -o-border-radius: 5px;
    -ms-border-radius: 5px;
    border-radius: 5px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-box-shadow: 1px 1px 1px rgba(191,191,191,0.4) inset;
    -moz-box-shadow: 1px 1px 1px rgba(191,191,191,0.4) inset;
    -o-box-shadow: 1px 1px 1px rgba(191,191,191,0.4) inset;
    -ms-box-shadow: 1px 1px 1px rgba(191,191,191,0.4) inset;
    box-shadow: 1px 1px 1px rgba(191,191,191,0.4) inset;
    cursor: pointer;
}

select{
    height: 40px;
    line-height: 40px;
    margin: 0;
    padding: 0 0 0 10px;
    border: 1px solid #D8D8D8;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -o-border-radius: 4px;
    -ms-border-radius: 4px;
    border-radius: 4px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-appearance: button;
    -moz-appearance: button;
    -o-appearance: button;
    -ms-appearance: button;
    appearance: button;
    text-indent: .01px; /*Firefox用*/
    text-overflow: ""; /*Firefox用*/
    background-image: url(../img/arrow_select.png), linear-gradient(top, #FFFFFF 0%, #E5E5E5 100%);
    background-image: url(../img/arrow_select.png), -o-linear-gradient(top, #FFFFFF 0%, #E5E5E5 100%);
    background-image: url(../img/arrow_select.png), -moz-linear-gradient(top, #FFFFFF 0%, #E5E5E5 100%);
    background-image: url(../img/arrow_select.png), -webkit-linear-gradient(top, #FFFFFF 0%, #E5E5E5 100%);
    background-image: url(../img/arrow_select.png), -ms-linear-gradient(top, #FFFFFF 0%, #E5E5E5 100%);
    background-image: url(../img/arrow_select.png), -webkit-gradient(
        linear,
        left top,
        left bottom,
        color-stop(0, #FFFFFF),
        color-stop(1, #E5E5E5)
    );
    /* IE8 IE9 */
    -ms-filter:"progid:DXImageTransform.Microsoft.gradient(GradientType=0,startcolorstr=#ffffff, endcolorstr=#E5E5E5))";
    zoom: 1;
    background: url(../img/arrow_select.png), linear-gradient(to bottom, #fff, #E5E5E5);/* IE10+, W3C */
    background-repeat: no-repeat, repeat;
    background-position: right 5px center, 0 0;
}

.one-set{
    width: 100%;
}

.two-set{
    width: 48%;
}

.two-set.first{
    margin-right: 4%;
}

.three-set{
    width: 28%;
    margin-left:3%;
}

.three-set.year{
    width: 33%;
    margin: 0;
}

textarea{
    width: 100%;
    height: 120px;
    padding: 10px;
}


.open{
    margin: 0 0 40px;
    border: 1px solid #BFBFBF;
}

.title-open, .title-close {
    position: relative;
    height: 38px;
    line-height: 38px;
    margin: 0;
    padding:0 30px 0 10px;
    z-index: 1;
    font-size: 16px; font-size: 1.6rem;
    font-weight: normal;
}

.title-open:after, .title-close:after {
    content: '';
    position: absolute;
    top: 9px;
    right: 10px;
    display: block;
    width: 19px;
    height: 20px;
}

.title-open:after {
    background: url("../img/ico_minus_x2.png") no-repeat scroll 50% 50%;
    background-size: 19px 20px ;
}

.title-close:after {
    background: url("../img/ico_plus_x2.png") no-repeat scroll 50% 50%;
    background-size: 19px 20px ;
}

.open-content {
    margin:0;
    padding: 10px;
    background-color:#FAFAFF;
}

.open-content ul{
    margin: 0;
    padding: 0;
    list-style: none;
}

.open-content li{
    margin: 0 0 10px;
}

.dotted{
    width: 100%;
    height: 1px;
    margin: 0 -10px 20px;
    padding: 0 10px;
    border: 0;
    border-bottom: 1px dotted #BFBFBF;
}

.hx-terms{
    margin: 0 0 20px;
    font-size: 18px; font-size: 1.8rem;
}

.terms li{
    margin: 0 0 10px;
}

table{
    width: 100%;
}

.horizontal td{
    display: block;
    margin: 0 0 5px;
}

.horizontal td.ttl{
    font-weight: bold;
}

.vertical th,
.vertical td{
    display: block;
    width: 100%;
    box-sizing: -webkit-border-box;
    box-sizing: -moz-border-box;
    box-sizing: -o-border-box;
    box-sizing: -ms-border-box;
    box-sizing: border-box;
}

.vertical th{
    margin: -1px 0 0;
    padding: 5px;
    border: 1px solid #ccc;
    background: #EFEFEF;
    text-align: left;
}

.vertical td{
    margin: -1px 0 0;
    padding: 10px 5px;
    border: 1px solid #ccc;
}


.main .qa_title_area,
.main .company_name_area,
.main .office_name_area,
.main .name_area{
    border-left: 5px solid #FFABAB;
    margin-bottom: 3px;
    padding-left: 5px;
}


.main .name_blank{
    height: 8px;
    border-bottom: 2px solid #FFABAB;
    margin-bottom:2em;
}

/* ==============
    MOBILE: Footer
   ============== */

#footer-container{
    margin: 0 0 10px;
    text-align: center;
}

#footer-container .wrapper{
    border-top: 1px dotted #BFBFBF;
    padding: 10px 0;
}

#footer-container .wrapper small{
    margin: 10px 0 0;
}

/* ==========================================================================
   Media Queries
   ========================================================================== */

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

/* ============
    WIDE: Header
   ============ */

    .wrapper {
        width: 90%;
        margin: 0 5%;
    }

    #header-container {
        padding: 20px 0;
    }

    #header-container .logo{
        width: 80%;
        margin: 0;
        float: left;
        display: inline;
    }

    #header-container .logo a{
        width: 405px;
        height: 0;
        margin: 0;
        padding: 50px 0 0;
        background: url(../img/logo_x2.png) no-repeat left top;
        background-size: 405px 50px;
    }

    #header-container .lang{
        width: 20%;
        float: right;
        display: inline;
        margin: 5px 0;
    }

    #header-container .lang select{
        width: 100%;
        height: 40px !important;
        line-height: 40px !important;

    }

/* ============
    WIDE: Main
   ============ */

    #main-container .main article{
        min-height: 400px;
        padding: 40px 30px;
}

    #main-container .main .wide{
        display: block;
        margin: 0 0 40px;
        text-align: center;
    }

    .main .btn-pink,
    .main .btn-gray{
        width: 280px;
        margin: 0 auto;
    }

    .main .error{
        background: url(../img/ico_error_x2.png) no-repeat 20px center;
        background-size: 30px 30px;
        padding: 20px 10px 20px 60px;
    }

    .main .form-bdr dt{
        padding: 10px 30px 0;
        margin: 0 -30px 10px;
    }
    
    .main .form-bdr dd{
        margin: 0 0 20px;
    }

    .main .form-simple.inline dt{
        float: left;
        display: inline;
        width: 25%;
        height: 40px;
        padding-right: 2%;
    }

    .main .form-simple.inline dd{
        float: left;
        display: inline;
        width: 73%;
    }

    .main h1{
        height: auto;
        line-height: 1.6;
        margin: 0 0 20px;
        padding: 0 0 0 10px;
        border-left: 5px solid #FFABAB;
        background: transparent;
        font-size: 32px; font-size: 3.2rem;
        text-align: left;
    }

    .open{
        margin: 0 0 40px;
        border: none;
    }
    
    .title-open, .title-close {
        height: auto;
        line-height: 1.6;
        margin: 0 0 10px;
        padding: 0;
    }
    
    .title-open:after {
        background: none;
    }
    
    .title-close:after {
        background: none ;
    }
    
    .open-content {
        margin:0;
        padding: 0;
        background-color:#fff;
        font-size: 14px; font-size: 1.4rem;
    }

    .dotted{
        margin: 0 -30px 20px;
        padding: 0 30px;
    }


    table{
        width: 100%;
    }

    .horizontal th{
        display: table-cell;
        width: auto;
        margin: 0;
        padding: 5px 0;
        border: 1px solid #ccc;
        background: #EFEFEF;
        font-size: 16px; font-size: 1.6rem;
        font-weight: bold;
        text-align: center;
    }

    .horizontal td{
        display: table-cell;
        width: auto;
        margin: 0;
        padding: 20px;
        border: 1px solid #ccc;
        background: #fff;
        font-size: 16px; font-size: 1.6rem;
        font-weight: normal;
        text-align: left;
    }

    .horizontal td.ttl{
        font-weight: normal;
    }
    
    .vertical th{
        display: table-cell;
        width: auto;
        padding: 20px;
        border: 1px solid #ccc;
        background: #EFEFEF;
        font-size: 16px; font-size: 1.6rem;
        font-weight: bold;
        text-align: left;
    }
    
    .vertical td{
        display: table-cell;
        width: auto;
        padding: 10px 20px;
        border: 1px solid #ccc;
        background: #fff;
        font-size: 16px; font-size: 1.6rem;
        font-weight: normal;
        text-align: left;
    }

}

@media only screen and (min-width: 1140px) {

/* ===============
    Max Width: Header
   =============== */

    #header-container .logo a{
        background: url(../img/logo_pc.png) no-repeat left top;
    }

/* ===============
    Maximal Width: Main
   =============== */

    .wrapper {
        width: 1026px; /* 1140px - 10% for margins */
        margin: 0 auto;
    }

    .main article section{
        width: 740px;
        margin: 0 auto;
    }

    .main .error{
        background: url(../img/ico_error_pc.png) no-repeat 20px center;
    }

    .main .form-bdr dt{
        padding: 10px 0 0;
        margin: 0 0 10px;
    }
    
    .main .form-bdr dd{
        margin: 0 0 20px;
    }

    .one-set{
        width: 50%;
    }

    .two-set{
        width: 24%;
    }

    .two-set.first{
        margin-right: 2%;
    }

    .three-set{
        width: 14%;
        margin-left:2%;
    }

    .three-set.year{
        width: 18%;
    }

    .dotted{
        margin: 0 0 20px;
        padding: 0;
    }

/* ===============
    Max Width: Footer
   =============== */

    #footer-container{
        margin: 0 0 10px;
        text-align: left;
    }
    
    #footer-container .wrapper p{
        float: left;
        display: inline;
        width: 223px;
    }
    
    #footer-container .wrapper small{
        float: right;
        display: inline;
        width: auto;
        margin: 0;
        text-align: right;
    }

}
