@charset "UTF-8"; /* CSS Document */
/* .type-a
--------------------------------------------------------------*/
.type-a article header {
    position: relative;
    margin-bottom: 10px;
}

.type-a.top-page article header h1 {
    position: absolute;
    top: 50%;
    left: 0;
    text-align: center;
    -webkit-transform: translate(0,-50%);
    -moz-transform: translate(0,-50%);
    -ms-transform: translate(0,-50%);
    -o-transform: translate(0,-50%);
    transform: translate(0,-50%);
    z-index: 9999;
    width: 100%;
}

.type-a.top-page article header h1 img {
    width: 80%;
    margin: 0 auto;
}

.type-a article .contents > h1 {
    text-align: center;
    font-size: 18px;
    line-height: 1.25;
    margin: 10px 0 15px;
}

.type-a article .contents > h1 span.mn {
    font-size: 28px;
}

.type-a article .contents .content {
    margin-bottom: 10px;
}

.type-a article .contents .content .link-subpage {
    position: relative;
    display: block;
}

.type-a article .contents .content .link-subpage p {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    background: rgba(250,100,100,0.5) !important;
    text-align: center;
    margin: 0;
    color: #fff;
    font-size: 14px;
}

.type-a article .contents .content .link-subpage p span {
    font-size: 22px;
}

.type-a article .contents .content .link-subpage p i {
    font-size: 18px;
}

.type-a article section.news {
    padding-bottom: 12px;
    margin-top: 40px;
    border-bottom: 1px solid rgba(300,0,0,1);
}

.type-a article section.news h1 {
    background: rgba(300,0,0,1) !important;
    text-align: center;
    margin: 0;
    color: #fff;
    font-size: 14px;
    padding: 6px 0 3px;
    width: 230px;
}

.type-a article section.news h1 span {
    font-size: 22px;
}

.type-a article section.news h1 i {
    font-size: 18px;
}

.type-a article section.news dl {
    padding-top: 12px;
    margin-bottom: 0;
    border-top: 1px solid rgba(300,0,0,1);
    overflow: auto;
    max-height: 223px;
}

.type-a article section.news dl dt span {
    display: inline-block;
    width: 150px;
}

.type-a article section.news dl dt span.cate {
    width: 80px;
    color: rgba(300,0,0,1);
    border: 1px solid rgba(300,0,0,1);
    text-align: center;
    font-size: 12px;
}

.type-a article section.news dl dt span.new {
    color: #f00;
    font-size: 12px;
    display: inline;
    padding-left: 10px;
    margin-top: 1px;
}

.type-a article section.news dl dd {
    border-bottom: 1px dotted #555;
    padding-bottom: 12px;
    margin-bottom: 12px;
}

.type-a article section.news .link-subpage {
    text-align: right;
    clear: both;
}

.type-a article footer {
    background: #f9f4e1;
    margin: 60px 0 0;
    padding: 25px 15px;
}

.type-a article footer .container {
    margin: 0 -15px;
}

.type-a article footer .container p {
    color: #333333;
    line-height: 14px;
    font-size: 18px;
    margin-bottom: 10px;
}

.type-a article footer .container p span {
    color: #666;
    font-size: 10px;
}

.type-a article footer .container ul {
    margin: -4px;
}

.type-a article footer .container ul li {
    padding: 4px;
}

@media (min-width: 568px) {
    .type-a article footer .container {
        width: 418px;
        margin: 0 auto;
    }
}

@media (min-width: 768px) {
    .type-a article .contents .content {
        margin-bottom: 20px;
        padding-right: 10px;
        padding-left: 10px;
    }

    .type-a article .contents .content .link-subpage p {
        padding: 20px 0;
    }

    .type-a article section.news {
        margin-right: -5px;
        margin-left: -5px;
    }

    .type-a article section.news dl dt {
        float: left;
    }

    .type-a article section.news dl dd {
        padding-left: 240px;
    }

    .type-a article footer .container {
        width: 600px;
        margin: 0 auto;
    }
}

@media (min-width: 992px) {
    .type-a.top-page article header h1 img {
        width: auto;
    }

    .type-a article .contents > h1 {
        margin: 55px auto 55px;
        font-size: 24px;
    }

    .type-a article .contents > h1 span.mn {
        font-size: 40px;
    }

    .type-a article .contents .content .link-subpage p {
        font-size: 18px;
        padding: 44px 0;
    }

    .type-a article .contents .content .link-subpage p span {
        font-size: 30px;
    }

    .type-a article .contents .content .link-subpage p i {
        font-size: 22px;
    }

    .type-a article section.news {
        margin-top: 90px;
        padding-bottom: 25px;
    }

    .type-a article section.news h1 {
        width: 290px;
    }

    .type-a article section.news h1 span {
        font-size: 30px;
    }

    .type-a article section.news h1 i {
        font-size: 22px;
    }

    .type-a article section.news dl {
        padding-top: 25px;
        font-size: 16px;
        max-height: 263px;
    }

    .type-a article section.news dl dt span {
        width: 165px;
    }

    .type-a article section.news dl dt span.cate {
        width: 100px;
    }

    .type-a article section.news dl dd {
        padding-left: 330px;
        padding-bottom: 25px;
        margin-bottom: 25px;
    }

    .type-a article section.news .link-subpage {
        margin-top: -5px;
        font-size: 18px;
    }

    .type-a article footer .container {
        width: 910px;
    }

    .type-a article footer .container p {
        line-height: 18px;
        font-size: 22px;
        margin-bottom: 15px;
    }

    .type-a article footer .container ul {
        margin: -20px;
    }

    .type-a article footer .container ul li {
        padding: 20px;
    }

    .type-a article footer {
        padding: 35px 15px 40px;
        margin-top: 120px;
    }
}

@media (min-width: 1300px) {
    .type-a article .container {
        width: 1280px;
    }
}

@media (min-width: 1400px) {
    .type-a article .container {
        width: 1320px;
    }
}

@media (min-width: 2000px) {
    .type-a article header {
        width: 2000px;
        margin-right: auto;
        margin-left: auto;
    }
}

/* .type-a.sub-top
--------------------------------------------------------------*/
.type-a.sub-top article header {
    margin-bottom: 20px;
}

.type-a.sub-top article header .txt {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    background: rgba(0,0,80,0.8) !important;
    text-align: center;
    margin: 0;
    color: #fff;
    padding: 15px;
}

.type-a.sub-top article header .txt h1 {
    position: static;
    font-size: 14px;
    margin-bottom: 10px;
}

.type-a.sub-top article header .txt h1 span {
    font-size: 22px;
}

.type-a.sub-top article header .txt p {
    text-align: justify;
}

.type-a.sub-top article .contents {
    margin: 0 0 70px;
}

.type-a.sub-top article .contents .content a.link-subpage.scale p, .type-a.sub-top article .contents .content a.link-subpage.scale:hover p {
    font-weight: 400;
}

.type-a.sub-top article .contents .content a.link-subpage.scale p {
    padding: 10px 0;
}

@media (min-width: 768px) {
    .type-a.sub-top article header .txt {
        padding: 25px;
    }

    .type-a.sub-top article header .txt p {
        text-align: center;
    }
}

@media (min-width: 992px) {
    .type-a.sub-top article header .txt h1 {
        font-size: 24px;
        margin-bottom: 10px;
    }

    .type-a.sub-top article header .txt h1 span {
        font-size: 40px;
    }

    .type-a.sub-top article header .txt p {
        font-size: 16px;
        font-weight: 300;
    }

    .type-a.sub-top article .contents .content .link-subpage p {
        padding: 22px 0;
        font-size: 24px;
    }
}

@media (min-width: 1200px) {
    .type-a.sub-top article header .txt {
        padding: 35px 0 109px
    }

    .type-a.sub-top article .contents {
        margin: -70px 0 40px;
    }

    .type-a.sub-top article .contents .row {
        width: 1050px;
        margin: 0 auto;
    }

    .type-a.sub-top article .contents.wrap-sm-6 .row {
        width: 1050px;
    }

    .type-a.sub-top article .contents .content {
        margin-bottom: 50px;
    }

    .type-a.sub-top article .contents .col-sm-4 {
        padding: 0 25px;
        width: 350px;
    }

    .type-a.sub-top article .contents .col-sm-6 {
        padding: 0 25px;
        width: 525px;
    }
}

/* .type-c
--------------------------------------------------------------*/
.type-c article header {
    background: rgba(300,50,50,1) !important;
    text-align: center;
    color: #fff;
    padding: 20px 0 10px;
    margin-bottom: 10px;
}

.type-c article header h1 {
    position: static;
    font-size: 14px;
    margin-bottom: 10px;
}

.type-c article header h1 span {
    font-size: 22px;
}

.type-c article .container section.lv1 {
    margin-top: 20px;
}

.type-c article .container section.lv1 > h1 {
    font-size: 24px;
    text-align: center;
    color: rgba(250,0,0,1);
}

.type-c article .container section.lv1 section {
    margin-top: 20px;
    text-align: justify;
}

.type-c article .container section.lv1 section h1 {
    font-size: 16px;
    color: rgba(250,0,0,1);
}

.type-c article .container section.lv1 section ul.lv2 {
    margin-left: 1em;
}

.type-c article .container section.lv1 .date, .type-c article .container section.lv1 .name {
    text-align: right;
}

.type-c article .container section.lv1 .date {
    margin-top: 20px;
}

.type-c article .container section.lv1 .logo-info {
    border: 1px solid #006837;
    padding: 20px;
    margin: 30px 0;
}

.type-c article .container section.lv1 .logo-info .wrap-img {
    padding: 15px 70px 30px;
}

.type-c article .container section.lv1 .logo-info .number, .type-c article .container section.lv1 .logo-info h1 {
    color: #006837;
}

.type-c article .container section.lv1 .logo-info h1 {
    margin-bottom: 10px;
    font-weight: bold;
}

.type-c article .container section.lv1 .logo-info p {
    line-height: 18px;
}

.type-c article .container section.lv1.hinshitsu {
    padding-top: 40px;
    margin-top: 40px;
    background: url(../images/2_company/border.jpg) repeat-x 0 0;
}

.type-c article .container section.lv1 .logo-info.iso {
    border: 1px solid #0071bc;
}

.type-c article .container section.lv1 .logo-info.iso h1 {
    color: #0071bc;
}

@media (min-width: 568px) {
    .type-c article .container section.lv1 .logo-info .wrap-img {
        padding: 15px 200px 30px;
    }
}

@media (min-width: 768px) {
    .type-c article .container section.lv1 > h1 {
        font-size: 30px;
    }

    .type-c article .container section.lv1 p {
        line-height: 30px;
    }

    .type-c article .container section.lv1 .date {
        margin-top: 40px;
    }

    .type-c article .container section.lv1 .logo-info {
        width: 560px;
        margin: 40px auto 65px;
    }

    .type-c article .container section.lv1 .txt {
        padding-left: 5px;
    }

    .type-c article .container section.lv1 .logo-info .wrap-img {
        padding: 12px 20px 0;
    }

    .type-c article .container section.lv1 .logo-info .number {
        font-size: 16px;
    }

    .type-c article .container section.lv1 .logo-info h1 {
        font-size: 21px;
        font-weight: normal;
        margin: 5px 0 10px;
    }

    .type-c article .container section.lv1 .logo-info p {
        font-size: 14px;
        font-weight: normal;
    }

    .type-c article .container section.lv1 .logo-info.iso .wrap-img {
        padding: 0 25px;
        margin: -15px 0;
    }
}

@media (min-width: 992px) {
    .type-c article .container section.lv1 {
        width: 900px;
        padding: 0 50px;
        margin-right: auto;
        margin-left: auto;
        font-size: 16px;
        font-weight: 300;
        margin-top: 40px;
    }

    .type-c article header {
        padding: 42px 0 20px;
    }

    .type-c article header h1 {
        font-size: 24px;
    }

    .type-c article header h1 span {
        font-size: 40px;
    }
}

/* .type-c.recruit_person_top
--------------------------------------------------------------*/
.type-c.recruit_person_top article header {
    margin-bottom: 0;
    box-shadow: 0 0 10px rgba(0,0,0,0.8);
}

.type-c.recruit_person_top article section .fv {
    position: relative;
    z-index: -1;
}

.type-c.recruit_person_top article section .fv h1 {
    font-size: 16px;
    padding: 20px 0 15px;
    text-align: center;
    font-weight: bold;
}

.type-c.recruit_person_top article section .fv section h1 {
    font-size: 14px;
    padding: 15px 0 7px;
}

.type-c.recruit_person_top article section .fv section p {
    padding: 0 15px;
    text-align: justify;
}

.type-c.recruit_person_top article section .contents {
    margin: 40px 0 40px;
}

.type-c.recruit_person_top article section .contents .content {
    margin-bottom: 30px
}

.type-c.recruit_person_top article section .contents .content .link-subpage .photo {
    display: block;
    overflow: hidden;
}

.type-c.recruit_person_top article section .contents .content .link-subpage > p {
    color: #000;
    padding: 2px 10px;
}

.type-c.recruit_person_top article section .contents .content .link-subpage > p.profile {
    background: rgba(24,24,120,1);
    margin: 0;
    color: #fff;
    font-size: 14px;
    padding: 2px 10px;
}

.type-c.recruit_person_top article section .contents .content .link-subpage > p.name {
    color: #000;
    border-bottom: 1px solid #ccc;
    font-size: 21px;
}

@media (min-width: 568px) {
    .type-c.recruit_person_top article section .fv h1 {
        font-size: 22px;
        font-weight: normal;
    }
}

@media (min-width: 1200px) {
    .type-c.recruit_person_top article section .fv > img {
        width: 100%;
        height: 730px;
    }

    .type-c.recruit_person_top article section .fv .txt > h1, .type-c.recruit_person_top article section .fv section {
        position: absolute;
        left: 45.5%;
        padding: 0;
    }

    .type-c.recruit_person_top article section .fv .txt > h1 {
        top: 60px;
        text-align: left;
        font-size: 30px;
        line-height: 43px;
    }

    .type-c.recruit_person_top article section .fv .txt > h1, .type-c.recruit_person_top article section .fv section h1 {
        font-weight: 500;
    }

    .type-c.recruit_person_top article section .fv section {
        top: 195px;
        width: 530px;
    }

    .type-c.recruit_person_top article section .fv section h1 {
        margin-bottom: 10px;
        text-align: left;
        font-size: 18px;
    }

    .type-c.recruit_person_top article section .fv section h1 span {
        font-size: 21px;
    }

    .type-c.recruit_person_top article section .fv section p {
        padding: 0;
        font-size: 16px;
        font-weight: 300;
        text-align: justify;
    }

    .type-c.recruit_person_top article section .contents {
        margin: -130px 0 40px;
    }

    .type-c.recruit_person_top article section .contents .row {
        width: 930px;
        margin: 0 auto;
    }

    .type-c.recruit_person_top article section .contents .col-sm-4 {
        padding: 0 15px;
        width: 310px;
    }
}

@media (min-width: 2000px) {
    .type-c.recruit_person_top article section .fv {
        width: 2000px;
        margin: 0 auto;
    }
}

/* .type-c.privacy-policy
--------------------------------------------------------------*/
.type-c.privacy-policy .container {
    margin-top: 40px;
    margin-bottom: 40px;
    font-size: 16px;
    line-height: 30px;
}

.type-c.privacy-policy .container p {
    text-align: justify;
}

.type-c.privacy-policy .container dl {
    margin-top: 1.5em;
}

.type-c.privacy-policy .container dl dt {
    font-weight: normal;
}

.type-c.privacy-policy .container dl dd {
    margin-bottom: 1.5em;

}

.type-c.privacy-policy .container a {
    text-decoration: underline;
}

@media (min-width: 992px) {
    .type-c.privacy-policy .container {
        margin-top: 60px;
        margin-bottom: 90px;
        width: 860px;
    }
}

/* .type-c.new
--------------------------------------------------------------*/
.type-c.new article header {
    margin-bottom: 0;
}

.type-c.new #year {
    background: url(../images/7_news/bg.jpg) repeat-x center bottom / auto 100%;
    text-align: center;
    padding: 15px 0;
}

.type-c.new #year p {
    font-size: 22px;
}

.type-c.new #year .dropdown, .type-c.new #year .dropdown .dropdown-menu {
    width: 140px;
}

.type-c.new #year .dropdown {
    width: 140px;
    margin: 0 auto;
}

.type-c.new #year .dropdown .btn {
    border-radius: 0;
    border: none;
    width: 100%;
}

.type-c.new #year .dropdown .dropdown-menu {
    min-width: 0;
    width: 140px;
    margin: 0;
    border-radius: 0;
}

.type-c.new .container {
    margin-top: 60px;
    margin-bottom: 60px;
}

.type-c.new article .container dl dt {
    margin-bottom: 50px;
    padding-bottom: 13px;
    margin-bottom: 8px;
    border-bottom: 1px solid rgba(50,50,50,1);
    font-weight: normal;
}

.type-c.new article .container dl dt span {
    float: left;
}

.type-c.new article .container dl dt span.cate {
    color: rgba(300,0,0,1);
    border: 1px solid rgba(300,0,0,1);
    text-align: center;
    font-size: 12px;
    font-weight: bold;
    margin-left: 40px;
    padding: 0 0.5em;
}

.type-c.new article .container dl dt span.new {
    color: #f00;
    font-size: 12px;
    display: inline;
    padding-left: 10px;
    font-weight: bold;
    margin-top: 1px;
}

.type-c.new article .container dl dd {
    clear: both;
    margin-bottom: 60px;
}

.type-c.new article .container dl dd a {
    text-decoration: underline;
}

.type-c.new article .container dl dd h2 {
    color: rgba(200,0,0,1);
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 1.5em;
}

.type-c.new article .container dl dd .photo {
    margin-top: 30px;
}

.type-c.new article .container dl dd .photo a, .type-c.new article .container dl dd .photo span {
    float: left;
    width: 49%;
    margin: 0 2% 2% 0;
}

.type-c.new article .container dl dd .photo a:nth-child(even), .type-c.new article .container dl dd .photo span:nth-child(even) {
    margin-right: 0;
}

.type-c.new article .container dl dd .photo a, .type-c.new article .container dl dd .photo span {
    float: left;
    width: 49%;
    margin: 0 2% 2% 0;
    height: 120px;
}

.type-c.new article .container dl dd .photo a img, .type-c.new article .container dl dd .photo span img {
    width: 100%;
    height: 100%;
}

@media (min-width: 568px) {
    .type-c.new article .container dl dd .photo a, .type-c.new article .container dl dd .photo span {
        height: 200px;
    }
}

@media (min-width: 768px) {
    .type-c.new article .container dl dd .photo a, .type-c.new article .container dl dd .photo span {
        height: 240px;
    }
}

@media (min-width: 992px) {
    .type-c.new article .container dl dt {
        margin-bottom: 15px;
    }

    .type-c.new article .container dl dt span {
        font-size: 16px;
    }

    .type-c.new article .container dl dt span.cate, .type-c.new article .container dl dt span.new {
        font-size: 14px;
    }

    .type-c.new article .container dl dd {
        margin-bottom: 100px;
    }

    .type-c.new article .container dl dd h2 {
        font-size: 22px;
        margin-bottom: 40px;
    }

    .type-c.new article .container dl dd .photo a, .type-c.new article .container dl dd .photo span {
        width: 24.25%;
        margin: 0 1% 1% 0;
        height: 155px;
    }

    .type-c.new article .container dl dd .photo a:nth-child(even), .type-c.new article .container dl dd .photo span:nth-child(even) {
        margin-right: 1%;
    }

    .type-c.new article .container dl dd .photo a:nth-child(-n+2), .type-c.new article .container dl dd .photo span:nth-child(-n+2) {
        width: 49.5%;
        height: 320px;
    }

    .type-c.new article .container dl dd .photo a:nth-child(4n+2), .type-c.new article .container dl dd .photo span:nth-child(4n+2) {
        margin-right: 0;
    }
}

@media (min-width: 1200px) {
    .type-c.new article .container dl dd .photo a, .type-c.new article .container dl dd .photo span {
        height: 185px;
    }

    .type-c.new article .container dl dd .photo a:nth-child(-n+2), .type-c.new article .container dl dd .photo span:nth-child(-n+2) {
        width: 49.5%;
        height: 380px;
    }
}

/* .type-c.contact
--------------------------------------------------------------*/
.type-c article header {
    padding: 30px 0 19px;
}

.type-c.contact .container {
    margin-top: 40px;
    margin-bottom: 40px;
    text-align: center;
}

.type-c.contact .container > p {
    text-align: justify;
}

.type-c.contact .container img.icon {
    width: 30px;
    margin: 20px auto 0;
}

.type-c.contact .container img.icon-txt {
    width: 30px;
    margin: 0 5px 3px 0;
}

.type-c.contact .container img.box {
    width: 80px;
    height: auto;
}

.type-c.contact .container section {
    border-top: 1px dotted rgba(24,24,120,1);
    margin-top: 30px;
}

.type-c.contact.thanks .container section {
    border-top: none;
    margin-top: 0;
}

.type-c.contact .container section h1 {
    font-size: 16px;
    margin: 5px 0 15px;
}

.type-c.contact .container section p.telfax {
    color: rgba(200,0,0,1);
    font-size: 22px;
    line-height: 1.3;
    font-weight: bold;
}

.type-c.contact .container section p.telfax span.dai {
    font-size: 14px;
    color: #000;
}

.type-c.contact .container section.mail p {
    text-align: justify;
}

.type-c.contact .container section.mail p.mail-ttl {
    color: rgba(200,0,0,1);
    font-size: 18px;
    line-height: 1.5;
    font-weight: bold;
    margin-bottom: 15px;
}

.type-c.contact .container section.mail p.note a {
    text-decoration: underline;
}

.type-c.contact .must {
    background-color: #fff;
    border: solid 1px rgba(200,0,0,1);
    text-shadow: none;
    padding: 2px 5px;
    font-size: 10px;
    color: rgba(200,0,0,1);
    margin: 0 5px 0 0;
    border-radius: 0;
    box-shadow: none;
    background-image: none;
}

.type-c .wrap-img p {
margin: 0 auto;
background:#efefef;
padding: 5px;
text-align: center;
font-size:14px;
}

.mfp_colored {
    background-color: #fff;
}

form#mailformpro {
    padding: 0;
    margin: 40px 0;
    border-top: 1px solid #808080;
}

form#mailformpro dl dt {
    padding: 15px 0 10px;
    font-size: 14px;
    font-weight: normal;
    border-top: none;
}

form#mailformpro dl dd {
    border-top: none;
    padding: 0 0 5px;
    font-size: 14px;
    line-height: 1.5em;
    border-bottom: 1px solid #808080;
}

form#mailformpro .privacy {
    height: 150px;
    overflow: auto;
    padding: 15px;
    border: 1px solid #ccc;
    margin: 15px 0;
}

form#mailformpro .privacy dl {
    margin-top: 1.5em;
}

form#mailformpro .privacy dl dt {
    padding: 0;
}

form#mailformpro .privacy dl dd {
    padding: 0;
    margin-bottom: 1.5em;
    border-bottom: none;
}

.mfp_element_text, .mfp_element_number, .mfp_element_select-one, .mfp_element_email, .mfp_element_tel, .mfp_element_textarea, .mfp_element_date, .mfp_element_password {
    width: 100% !important;
    margin: 0 0 10px;
}

.mfp_element_textarea {
    height: 150px !important;
}

.mfp_element_all {
    max-width: none;
}

div.mfp_err {
    white-space: normal;
}

form#mailformpro label {
    font-weight: normal;
    margin-bottom: 10px;
}

form#mailformpro label.mfp_checked {
    padding: 0;
    border: none;
    background-color: transparent;
    box-shadow: none;
}

form#mailformpro label.mfp_not_checked {
    padding: 0;
    border: none;
}

input[type="radio"], input[type="checkbox"] {
    margin: 0 0 2px !important;
}

.type-c.contact #mfp_thanks {
    display: none;
}

.mfp_element_submit {
    border-radius: 0;
    padding: 10px 0;
    border: 2px solid rgba(200,0,0,0.8);
    background: none;
    background: -webkit-none;
    background: -moz-none;
    background: -ms-none;
    text-shadow: none;
    font-size: 16px;
    cursor: pointer;
    outline: none;
    color: #333333;
    width: 250px;
    margin-top: 50px;
}

.mfp_element_submit:hover {
    background: none;
    background: -webkit-none;
    background: -moz-none;
    background: -ms-none;
    box-shadow: none;
}

@media (min-width: 768px) {
    .type-c article header {
        padding: 39px 0 29px;
    }

    .type-c.contact .container > p {
        text-align: center;
    }

    .type-c.contact .container {
        line-height: 30px;
    }

    .type-c.contact .container section.mail p {
        text-align: center;
    }
}

@media (min-width: 992px) {
    .type-c article header {
        padding: 46px 0 36px;
    }

    .type-c.contact .container {
        margin-top: 60px;
        margin-bottom: 90px;
        width: 900px;
    }

    .type-c.contact .container > p {
        font-size: 16px;
        line-height: 30px;
    }

    .type-c.contact .container img.icon-txt {
        width: 46px;
    }

    .type-c.contact .container img.box {
        width: auto;
        height: auto;
    }

    .type-c.contact .container section {
        margin-top: 40px;
    }

    .type-c.contact .container section h1 {
        font-size: 22px;
        line-height: 29px;
    }

    .type-c.contact.thanks .container section h1 {
        font-size: 30px;
        line-height: 45px;
        margin: 20px 0 10px;
    }

    .type-c.contact .container section p {
        font-size: 16px;
        line-height: 30px;
    }

    .type-c.contact .container section p.telfax {
        font-size: 33px;
        line-height: 29px;
        font-weight: 500;
    }

    .type-c.contact .container section p.telfax span.dai {
        font-size: 16px;
    }

    .type-c.contact .container section.mail p {
        text-align: center;
    }

    .type-c.contact .container section.mail p.mail-ttl {
        font-size: 22px;
        line-height: 29px;
        font-weight: 500;
        margin-bottom: 25px;
    }

    form#mailformpro > dl > dt, form#mailformpro > dl > dd {
        font-size: 16px;
    }

    form#mailformpro > dl > dt {
        background-color: transparent;
        width: 270px;
        text-align: left;
        padding: 20px 20px 0 80px;
        padding-left: 80px;
        position: relative;
    }

    form#mailformpro > dl > dt span {
        position: absolute;
        top: 10px;
        left: 10px;
    }

    form#mailformpro > dl > dd {
        padding-left: 290px;
        padding-top: 15px;
        background: url(../images/5_contact/bg-form.gif) repeat-y 0 0;
    }

    form#mailformpro > dl dd p {
        text-align: left;
    }

    .mfp_element_text, .mfp_element_number, .mfp_element_select-one, .mfp_element_email, .mfp_element_tel, .mfp_element_textarea, .mfp_element_date, .mfp_element_password {
        width: 500px !important;
    }

    form#mailformpro label {
        margin-bottom: 15px;
    }

    form#mailformpro .privacy dl dt {
        float: none;
        font-size: 16px;
        width: auto;
        text-align: left;
        line-height: 30px;
    }

    form#mailformpro .privacy a {
        text-decoration: underline;
    }
}

/* .type-d
--------------------------------------------------------------*/
@media (min-width: 2000px) {
    .type-d article header {
        width: 2000px;
        margin-right: auto;
        margin-left: auto;
    }
}

/* .type-d.sub
--------------------------------------------------------------*/
.type-d.sub article header {
    position: relative;
    margin-bottom: 10px;
}

.type-d.sub article header .txt {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    background: rgba(0,0,80,0.8) !important;
    text-align: center;
    margin: 0;
    color: #fff;
    padding: 15px;
}

.type-d.sub article header .txt h1 {
    position: static;
    font-size: 14px;
    margin-bottom: 10px;
}

.type-d.sub article header .txt h1 span {
    font-size: 22px;
}

@media (min-width: 768px) {
    .type-d.sub article header .txt {
        padding: 25px;
    }
}

@media (min-width: 992px) {
    .type-d.sub article header .txt h1 {
        font-size: 24px;
        margin-bottom: 10px;
    }

    .type-d.sub article header .txt h1 span {
        font-size: 40px;
    }
}

/* .type-d.history
--------------------------------------------------------------*/
.type-d.history article .container {
    padding-top: 40px;
    padding-right: 37px;
    padding-bottom: 40px;
}

.type-d.history article .container section {
    border-top: 2px solid #a3a3c9;
    border-left: 2px solid #a3a3c9;
    position: relative;
    padding: 20px 0 20px 20px;
}

.type-d.history article .container section img.maru {
    position: absolute;
    top: -8px;
    left: -8px;
    width: 14px;
}

.type-d.history article .container section:last-child img.maru.bottom {
    top: auto;
    bottom: -8px;
}

.type-d.history article .container section h1 {
    position: absolute;
    top: -13px;
    right: 0;
    font-size: 20px;
    color: rgba(24,24,120,1);
    background: #fff;
    padding-left: 0.5em;
}

.type-d.history article .container section dl dt {
    line-height: 1.75;
}

.type-d.history article .container section dl dd {
    margin-bottom: 20px;
}

.type-d.history article .container section dl dd p {
    margin-bottom: 10px;
}

@media (min-width: 768px) {
    .type-d.history article .container {
        padding-right: 15px;
    }

    .type-d.history article .container section {
        width: 50%;
        position: relative;
    }

    .type-d.history article .container section:nth-child(odd) {
        float: left;
        border-left: none;
        border-right: 2px solid #a3a3c9;
        padding: 20px 20px 20px 0;
        left: 1px;
    }

    .type-d.history article .container section:nth-child(odd) img.maru {
        left: auto;
        right: -8px;
    }

    .type-d.history article .container section:nth-child(odd) h1 {
        right: auto;
        left: 0;
        padding-left: 0;
        padding-right: 0.5em;
    }

    .type-d.history article .container section:nth-child(even) {
        float: right;
        left: -1px;
    }

    .type-d.history article .container section:nth-child(2) {
        margin-top: 110px;
    }

    .type-d.history article .container section.s49 {
        padding-bottom: 150px;
    }

    .type-d.history article .container section.s53 {
        padding-bottom: 300px;
    }

    .type-d.history article .container section.h05 {
        padding-bottom: 345px;
    }

    .type-d.history article .container section.h16 {
        padding-bottom: 240px;
    }

    .type-d.history article .container section.h20 {
        padding-bottom: 200px;
    }

    .type-d.history article .container section.h24 {
        padding-bottom: 190px;
    }

    .type-d.history article .container section:last-child img.maru.bottom {
        display: none;
    }

    .type-d.history article .container section.h28 img.maru.bottom, .type-d.history article .container section.h30 img.maru.bottom {
        top: auto;
        bottom: -8px;
        display: block;
    }
}

@media (min-width: 992px) {
    .type-d.history article header .txt h1 {
        font-size: 24px;
        margin-bottom: 10px;
    }

    .type-d.history article header .txt h1 span {
        font-size: 40px;
    }

    .type-d.history article .container {
        width: 900px;
        padding-top: 80px;
        padding-bottom: 80px;
    }

    .type-d.history article .container section:nth-child(odd) {
        padding-right: 83px;
    }

    .type-d.history article .container section:nth-child(even) {
        padding-left: 83px;
    }

    .type-d.history article .container section.s49 {
        padding-bottom: 50px;
    }

    .type-d.history article .container section.h13 {
        padding-bottom: 130px;
    }

    .type-d.history article .container section.h16 {
        padding-bottom: 130px;
    }

    .type-d.history article .container section.h20 {
        padding-bottom: 190px;
    }

    .type-d.history article .container section.h22 {
        padding-bottom: 200px;
    }

    .type-d.history article .container section.h24 {
        padding-bottom: 50px;
    }

    .type-d.history article .container section img.maru {
        top: -11px;
        left: -11px;
        width: auto;
    }

    .type-d.history article .container section h1 {
        top: -15px;
        font-size: 22px;
    }

    .type-d.history article .container section.h28 img.maru.bottom, .type-d.history article .container section.h30 img.maru.bottom {
        bottom: -11px;
    }

    .type-d.history article .container section:nth-child(odd) img.maru {
        right: -11px;
    }

    .type-d.history article .container section dl dt {
        font-size: 22px;
    }

    .type-d.history article .container section dl dd {
        margin-bottom: 30px;
    }

    .type-d.history article .container section dl dd p {
        font-size: 16px;
        margin-bottom: 15px;
    }

    .type-d.history article .container footer {
        clear: both;
    }
}

/* .type-d.workflow
--------------------------------------------------------------*/
.type-d.workflow .flow {
    margin-top: -15px;
}

.type-d.workflow .flow section:nth-child(even) {
    background: #f9f4e1;
}

.type-d.workflow .flow section .container .inr {
    position: relative;
    top: 15px;
    padding: 10px 15px 40px 34px;
    margin-right: -15px;
    margin-left: 14px;
    border-left: 2px solid rgba(24,24,120,1);
}

.type-d.workflow .flow section:last-child .container .inr {
    border-left: none;
    margin-left: 16px;
}

.type-d.workflow .flow section .container .inr h1 {
    color: rgba(24,24,120,1);
    font-size: 16px;
    margin-bottom: 0.5em;
}

.type-d.workflow .flow section .container .inr p {
    text-align: justify;
    font-size: 16px;
}

.type-d.workflow .flow section .container .inr p.link-btn.w-300 {
    margin-bottom: 0;
}

.type-d.workflow .flow section .container .inr p.link-btn.w-300 a {
    margin-left: 0;
}

.type-d.workflow .flow section .container .inr img.step {
    width: 60px;
    position: absolute;
    top: 0;
    left: -31px;
}

.type-d.workflow .flow section .container .inr img.maru {
    margin: 10px auto;
}

.type-d.workflow .flow section .container .inr section {
    margin-top: 2.5em;
}

@media (min-width: 768px) {
    .type-d.workflow .flow section .container {
        width: auto;
    }

    .type-d.workflow .flow section .container .inr .row > div > h1 {
        font-size: 25px;
    }
}

@media (min-width: 992px) {
    .type-d.workflow .flow {
        margin-top: 30px;
    }

    .type-d.workflow .flow section .container {
        width: 900px;
    }

    .type-d.workflow .flow section .container .inr {
        padding: 10px 15px 40px 90px;
        margin-left: 59px;
    }

    .type-d.workflow .flow section:last-child .container .inr {
        border-left: none;
        margin-left: 61px;
    }

    .type-d.workflow .flow section .container .inr .row > div > h1 {
        font-size: 30px;
        line-height: 40px;
    }

    .type-d.workflow .flow section .container .inr img.step {
        width: auto;
        left: -61px;
    }

    .type-d.workflow .flow section .container .inr img.maru {
        margin: 0 auto;
    }

    .type-d.workflow .flow section .container .inr img.maru.maru2 {
        margin: 2em auto 0;
    }
}

/* .companyprofile
--------------------------------------------------------------*/
@media (min-width: 768px) {
    .type-b.companyprofile .container .row .cp-sp dt {
        width: 250px;

    }

    .type-b.companyprofile .container .row .cp-sp dd {
        padding-left: 148px;
    }

    .type-b.companyprofile .container .row .cp-sp dd.line2 {
        padding-top: 14px;
    }
}

@media (min-width: 992px) {
    .type-b.companyprofile .container .row .cp-sp dd.line2 {
        padding-top: 25px;
    }

    .type-b.companyprofile .contens02 img.sosikizu_img {
        width: 95%;
    }
}

@media (min-width: 1200px) {
    .type-b.companyprofile .container .row .cp-sp dt {
        width: 270px;
    }

    .type-b.companyprofile .container .row .cp-sp dd {
        padding-left: 288px;
    }

    .type-b.companyprofile .container .row .cp-sp dd.line2 {
        padding-top: 18px;
    }

    .type-b.companyprofile .container .row .content h1 span.sosikizu {
        margin-left: 0;
    }

    .type-b.companyprofile .contens02 h1 {
        width: 845px;
        margin-right: auto;
        margin-left: auto;
    }

    .type-b.companyprofile .contens02 img.sosikizu_img {
        margin-left: 0;
        width: 100%;
    }
}
