@charset "utf-8"; 
.content {
    max-width: 1080px;
    margin: 0 auto;
    padding: 0 20px;
}

.logo_area {
    margin-right: auto;
}

.header_menu {
    display: flex;
    /* justify-content: space-between; */
    align-items: center;
}
.header_menu a:hover {
    color: #ac0000;
    transition: all 0.3s linear;
}
.logo_area img {
    width: 243px;
    height: 54px;
}

.header_contact {
    display: flex;
    align-items: center;
}

.header_menu li {
    margin-right: 30px;
}

.contact:before {
    /* content: ""; */
    margin-right: 10px;
    background-image: url(/images/top/mail.svg);
}

.conact:after {
    content: "bbbbb";
    border: 2px solid red;
}

.mv_area {
    /* max-width: 1280px; */
    height: 100vh;
    background-image: url(/images/top/top_mv.png?20180902);
    margin: 0 auto;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

.catch_copy {
    color: #FFFFFF;
    /* position: absolute; */
    /* top: 400px; */
}

.catch_copy_jp {
    font-size: 33px;
    line-height: 1.6em;
    font-weight: 700;
    letter-spacing: 5px;
}

.catch_copy_en {
    font-size: 15px;
}

.catch_position {
    position: relative;
}

.news li .news-item:not(.is_link):before {
    margin-right: 10px;
    content: "▶";
    color: #AC0000;
}

.news a {
    /* float: right; */
    text-decoration: none;
    font-size: 13px;
    color: #AC0000;
}

.news span {
    margin-left: 35px;
}

.news li {
    margin-bottom: 20px;
    border-bottom: 1px dotted #B3B3B3;
    padding-bottom: 10px;
    display: flex;
    justify-content: space-between;
}

.news-item {
    display: flex;
    letter-spacing: 1px;
}

.number_logo {
    width: 113px;
    height: 97px;
    /* margin-right: 20px; */
}

.number_headline {
    font-size: 42px;
    color: #262626;
    margin-bottom: 0px;
    font-weight: 900;
}

.number_subhead {
    font-size: 14px;
    margin-top: 10px;
    margin-bottom: 0px;
    font-family: 'Noto Sans JP', sans-serif;
}

.flex_head {
    display: flex;
    margin-bottom: 47px;
    align-items: center;
}

.sec_description h2 {
    font-size: 23px;
    margin-bottom: 16px;
    line-height: 1.5em;
    font-weight: 700;
    letter-spacing: 1px;
}

.sec_description p {
    font-size: 15px;
    line-height: 1.8em;
}

.strength {
    margin-bottom: 10px;
    color: #AC0000;
    font-size: 27px;
    text-align: center;
}

.back_red p {
    color: #FFFFFF;
    line-height: 1.5;
    font-size: 18px;
    margin: 0 auto;
}

.back_red {
    background: rgb(172, 0, 0);
    background: -moz-linear-gradient(-30deg, rgba(172, 0, 0, 1) 0%, rgba(172, 0, 0, 1) 50%, rgba(41, 137, 216, 1) 50%, rgba(193, 64, 64, 1) 50%, rgba(193, 64, 64, 1) 100%);
    background: -webkit-linear-gradient(-30deg, rgba(172, 0, 0, 1) 0%, rgba(172, 0, 0, 1) 50%, rgba(41, 137, 216, 1) 50%, rgba(193, 64, 64, 1) 50%, rgba(193, 64, 64, 1) 100%);
    background: linear-gradient(120deg, rgba(172, 0, 0, 1) 0%, rgba(172, 0, 0, 1) 50%, rgba(41, 137, 216, 1) 50%, rgba(193, 64, 64, 1) 50%, rgba(193, 64, 64, 1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ac0000', endColorstr='#c14040', GradientType=1);
    text-align: center;
    line-height: 1.5;
    padding: 0px 24px;
    height: 81px;
    /* vertical-align: middle; */
    display: flex;
    align-items: center;
    /* margin-bottom: 41px; */
    margin: 0 auto;
}

.strength_item {
    margin-right: 24px;
    text-align: center;
    flex: 1;
}
.st_circle_inner img {
    height: 70px;
}
.strength_logo {
    margin-top: 28px;
    margin-bottom: 23px;
}
p.item_text {
    line-height: 1.6em;
    text-align: left;
    font-size: 15px;
    text-align: justify;
}
img.yahoo {
    max-width: 213px;
}

.st_circle_wrap {
    height: 199px;
}
.strength_area.flex {
    margin-top: 35px;
}

.feature_image {
    min-width: 150px;
}

.feature_cnt.flex {
    justify-content: flex-start;
}

.feature_circle {
    border: 1px solid #AC0000;
    border-radius: 9999px;
    width: 150px;
    height: 150px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.inner_alpha.nunito {
    font-size: 57px;
    font-weight: 800;
    color: #AC0000;
}

.feature_circle_inner p {
    margin-bottom: 0;
    color: #AC0000;
    font-weight: 700;
}

.feature_text {
    font-size: 22px;
}

.feature_image {
    margin-right: 36px;
}

.feature_cnt_wrap {
    max-width: 1280px;
    margin: 0 auto;
}

.back_gray {
    background-color: #F0F0F0;
}

.style_number {
    font-size: 97px;
    color: #fff;
    -webkit-text-stroke-width: 1px;
    -webkit-text-stroke-color: #AC0000;
}

.feature_cnt {
    padding-top: 35px;
    padding-bottom: 35px;
}

.flow_image {
    text-align: center;
}

.flow_image img {
    border-top: 3px solid #AC0000;
}

.flow_head h3 {
    margin-left: 16px;
    margin-right: 21px;
    font-size: 33px;
    color: #AC0000;
    position: relative;
    top: 5px;
}

.flow_head {
    align-items: flex-end;
    margin-bottom: 13px;
    justify-content: flex-start;
}

.flow_head p {
    margin-bottom: 0px;
}

.flow_head p {
    font-size: 23px;
    color: #262626;
    font-weight: bold;
}

.flow_text {
    margin-top: 30px;
    margin-bottom: 20px;
    font-size: 18px;
    line-height: 1.7;
    font-weight: bold;
}

.flow_msax_width {
    max-width: 514px;
}

.flow_list li {
    margin-bottom: 5px;
    font-size: 15px;
    line-height: 1.8em;
}

.flow_item {
    max-width: 500px;
    margin-right: 40px;
    margin-bottom: 45px;
}

.flow_area {
    flex-wrap: wrap;
}

.gray_box {
    background-color: #F2F2F2;
    font-size: 18px;
    color: #262626;
    display: flex;
    align-items: center;
}

.black_box {
    background-color: #262626;
}

.business_time {
    color: #fff;
    font-size: 13px;
    /* margin-bottom: 0px; */
}

.red_text {
    font-size: 30px;
    color: #AC0000;
    /* margin-bottom: 20px; */
}

.query_zone {
    text-align: center;
    align-items: center;
}

.query_item {
    padding: 20px 130px 10px 130px;
    height: 70px;
    width: 100%;
}

.red_text:after {
    content: "受付時間 10：00～19：00 (土・日・祝日除く)";
    display: block;
    font-size: 13px;
    color: #fff;
    margin-top: 12px;
}

.form_cont table {
    margin: 0 auto;
    width: 100%;
    max-width: 730px;
}

div#submit {
    text-align: center;
}

.table_right {
    /* padding-bottom: 51px; */
    padding-left: 54px;
}

.form_area {
    margin-top: 66px;
}

.form_table tr {
    border-top: 1px solid #CCCCCC;
}

.form_table td {
    padding-top: 25px;
    padding-bottom: 25px;
    vertical-align: top;
    /* min-width: 170px; */
    padding-right: 20px;
}

#submit input[type="submit"] {
    color: #AC0000;
    border: 2px solid #AC0000;
    background: #fff;
    width: 227px;
    height: 50px;
    border-radius: 9999px;
    font-size: 18px;
    cursor: pointer;
    transition: all 0.2s linear;
}
#submit input[type="submit"]:hover {
    color: #FFF;
    background: #ac0000;
}
.white_opacity {
    background-color: #F2F2F2;
    opacity: 0.8;
    /* width: 898px; */
    /* height: 412px; */
}

.white_opacity .number_logo {
    margin-left: 97px;
}

.white_opacity .sec2_head {
    margin-left: 97px;
}

.main_width {
    max-width: 1280px;
    margin: 0 auto;
}

.back_images {
    margin-left: auto;
    max-width: 1120px;
}

.sec2 {
    position: relative;
    background-image: url(/images/top/sec2.png);
    background-repeat: no-repeat;
    padding-bottom: 150px;
    background-position: center bottom;
}

.one {
    position: absolute;
    z-index: -1;
    right: 75px;
    top: 40px;
}

.two {
    position: absolute;
    z-index: -1;
    left: 82px;
}

.three {
    /* position: absolute; */
    z-index: 56;
    /* padding-top: 40px; */
}

.sec_size {
    width: 898px;
    height: 412px;
}

.sec2_head p {
    max-width: 694px;
}

.sec3 {
    /* margin-top: 200px; */
}

.back_img {
    background-image: url('/images/top/sec6.png');
    background-repeat: no-repeat;
    background-size: cover;
}

.images_wrap {
    /* width: 1280px; */
    height: 643px;
    margin: 0 auto;
}

.images_wrap {
    padding-top: 80px;
}

.sec6_size {
    /* width: 788px; */
    /* height: 483px; */
}

.sec6 .white_opacity {
    margin-left: 65px;
}

.company_info td {
    min-width: 170px;
    color: #262626;
    font-size: 15px;
    line-height: 2.3em;
    padding-bottom: 20px;
}

.company_info {
    padding: 20px;
}

.st_border {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.st_border:before {
    content: "";
    border-top: 1px solid #AC0000;
    width: 30px;
    margin-right: 15px;
}

section.header {
    display: flex;
}

.border_div {
    width: 100px;
    height: 1px;
    background-color: #AC0000;
    margin-left: 20px;
}

section.header {
    max-width: 1280px;
    margin: 0 auto;
    /* display: flex; */
    /* justify-content: flex-end; */
}

.contact_area a {
    text-decoration: none;
    font-size: 15px;
    color: #AC0000;
}

.header_border {
    display: flex;
    align-items: center;
}

.glo_nav {
    display: flex;
    margin-right: 50px;
}

.contact_area {
    display: flex;
}

.logo_area {
    /* margin-right: 270px; */
}

.mv_catch {
    padding-top: 70vh;
}

.form_cont input {
    width: 100%;
    height: 40px;
    box-sizing: border-box;
    padding: 0 10px;
    font-size: 16px;
}

.form_cont textarea {
    width: 100%;
    height: 10em;
    box-sizing: border-box;
    font-size: 16px;
    padding: 10px;
}

.sec2_gray {
    width: 900px;
    margin-left: calc((100vw - 1280px) / 2);
    background: rgba(242, 242, 242, 0.8);
    padding-top: 40px;
}

@media screen and (max-width: 1280px) {
    .sec2_gray {
        width: 100%;
        margin-left: 0;
        max-width: 900px;
    }
}

.sec2 .border_cont .content {
    margin-left: 90px;
}

.sec2_head.sec_description {
    padding: 30px 20px 30px 107px;
}

.sec2 .flex_head {
    margin-bottom: 0;
}

header.flex {
    display: flex;
    justify-content: space-between;
    width: 100%;
}

.header_item.is_right {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.is_right {
    display: flex;
}

.mail_logo_inner {
    width: 38px;
    height: 38px;
    background-color: #AC0000;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 9999px;
    margin-right: 12px;
}
.mail_logo_inner img {
    position: relative;
    top: -2px;
}
.contact p {
    margin-bottom: 0;
}

footer {
    background-color: #666666;
}

footer p {
    font-size: 15px;
    color: #B3B3B3;
    text-align: center;
    padding: 17px 0px;
    margin-bottom: 0px;
}

.st_circle_inner {
    background-color: #F0F0F0;
    width: 199px;
    height: 199px;
    border-radius: 9999px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
}

.sec6 .sec_head {
    margin-left: 100px;
}

.header_menu a {
    text-decoration: none;
    color: #333333;
    font-size: 14px;
}
.secRec h2 {
    text-align: center;
}
table.recTable {
    margin: 40px auto;
}
.secRec p.tx_center {   
    text-align: center;
    font-size: 20px;
}
table.recTable td {}

table.recTable th {}

table.recTable th,table.recTable td {
    text-align: left;
    padding: 10px;
    line-height: 1.8em;
    border-bottom: solid 1px #CCC;
}

table.recTable tr:nth-child(odd) {
}
/* ===================================================================================
 for PC min-width: 741px
 =================================================================================== */
@media screen and (min-width: 741px) {
}

/* ===================================================================================
 for SP max-width: 768px
 =================================================================================== */
@media screen and (max-width: 768px) {
    /*一時的*/ section.sec_cont {
        /* overflow: hidden; */ margin-bottom: 50px;
    }

    .groMenu_under {
        display: none;
    }

    .show_nav {
        display: block;
    }

    img {
        max-width: 100%;
    }

    .strength_area.flex {
        flex-wrap: wrap;
    }

    .content.feature_cnt.flex {
        flex-wrap: wrap;
    }

    .feature_image {
        margin: 0 auto 25px;
    }

    .text.sec_description h2 {
        padding: 10px 0px;
        margin-bottom: 0;
    }

    .text.sec_description p {
        padding: 20px 0;
    }

    vsection.header {
        display: none;
    }

    section.header {
        display: none;
    }

    .menu-trigger span {
        width: 100%;
        height: 1px;
        background: #AC0000;
        display: block;
        margin-bottom: 5px;
    }

    .sp_header_flex {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .menu-trigger, .menu-trigger span {
        transition: all .4s;
        box-sizing: border-box;
    }

    .menu-trigger {
        display: block;
        width: 30px;
    }

    .menu-trigger.active span {
        background: #fff;
    }

    .sp_logo {
        display: block;
    }

    .sp_logo img {
        width: 200px;
    }

    .groMenu_over {
        position: relative;
    }

    .menu-trigger.active span:nth-of-type(1) {
        -webkit-transform: translateY(15px) rotate(-45deg);
        transform: translateY(5px) rotate(-45deg);
    }

    .menu-trigger.active span:nth-of-type(2) {
        left: 50%;
        opacity: 0;
        -webkit-animation: active-menu-bar02 .8s forwards;
        animation: active-menu-bar02 .8s forwards;
    }

    .menu-trigger.active span:nth-of-type(3) {
        -webkit-transform: translateY(-20px) rotate(45deg);
        transform: translateY(-6px) rotate(45deg);
    }

    .menu-trigger {
        position: absolute;
        top: 15px;
        right: 25px;
    }

    .groMenu_under {
        background-color: #AC0000;
        height: 100%;
        z-index: 9999;
        position: fixed;
        top: 0;
        opacity: 0.7;
        width: 100%;
        overflow: hidden;
    }

    ul.sp_info li {
        color: #fff;
        font-size: 20px;
        text-align: center;
        line-height: 2em;
    }

    .gronav-Contact {
        color: #fff;
        font-size: 18px;
        text-decoration: none;
        display: block;
        margin-top: 30px;
        border: 2px solid;
        text-align: center;
        margin: 0 35px;
        padding: 10px 20px;
    }

    .gronav_bottom {
        /* margin: 0 auto; */
        color: #fff;
        margin-top: 100px;
    }

    .gronav-copy {
        color: #fff;
        font-size: 8px;
        text-align: center;
        margin-top: 20px;
    }

    .groMenu_close {
        height: 50px;
    }

    .sec2 .sec2_gray .content {
        margin-left: 0px;
    }

    .company_item.white_opacity {
        margin: 0 15px 20px;
    }

    .main_width {
        flex-direction: column;
    }

    .sec6 .number_logo {
        margin-left: 0px;
        margin-right: 0px;
    }

    .query_zone {
        flex-direction: column;
    }

    .query_item {
        padding: 10px 0px;
    }

    .sec7 {
        /* margin-top: 800px; */
    }

    .gray_box p {
        text-align: center;
        width: 100%;
        margin-bottom: 0px;
    }

    .red_text:after {
        margin-top: 12px;
    }

    #submit input[type="submit"] {
        width: 100px;
        height: 40px;
    }

    table.form_table .table_right {
        padding-left: 10px;
        text-align: center;
    }

    table.form_table .table_left {
        text-align: left;
        padding: 15px;
    }

    .images_wrap.back_img {
        height: 100%;
    }

    .sec6 .images_wrap {
        padding-top: 35px;
    }

    .catch_position .catch_copy {
        font-size: 20px;
    }

    .catch_copy_jp {
        font-size: 22px;
        /* padding: 0 11px; */
        /* text-align: center; */
        margin-bottom: 5px;
    }

    .catch_copy_en {
        text-align: center;
        line-height: 1.2em;
        padding-bottom: 35px;
    }

    .news .news_title {
        margin-left: 10px;
        display: block;
        margin-top: 10px;
    }

    .news .news-item {
        padding-right: 8px;
        padding-left: 8px;
        display: block;
    }

    .sec2 .number_subhead {
        margin-top: 0px;
    }

    .sec2 .sec_description {
        padding: 30px 20px;
    }

    .sec3_head.sec_description {
        padding: 10px;
    }

    .strength_area .strength_item {
        margin-right: 0px;
        margin-bottom: 50px;
    }

    .sec5 .flow_item {
        margin-right: 0px;
        padding: 10px;
    }

    footer p {
        font-size: 12px;
        margin-bottom: 0px;
    }

    nav.gronav li {
        margin-bottom: 10px;
    }

    .sp_info {
        margin-top: 40px;
    }

    .st_circle_inner {
        margin: 0 auto;
    }

    p.style_number {
        font-size: 58px;
        margin-bottom: 0;
    }

    .number_logo {
        display: flex;
        align-items: center;
        justify-content: center;
        min-width: 105px;
    }

    .company_info {
    }

    .company_info table td {
        display: block;
        line-height: 1.6em;
    }

    .company_info table td.info_left {
        font-weight: 800;
        padding-bottom: 0;
    }

    table.form_table td {
        display: block;
    }

    .sec6 .company_item .sec_head {
        margin-left: 0px;
    }

    .sec2 .number_heads {
        max-width: 280px;
    }

    .sp_info a {
        text-decoration: none;
        color: #fff;
    }

    .sec_head.flex_head {
        max-width: 383px;
        margin-bottom: 10px;
    }

    .sp_header_fix {
        position: fixed;
        width: 100%;
        /* background-color: #fff;
        opacity: 0.8;*/
        background-color: #f9f9f9;
        z-index: 1;
    }

    .sp_header_fixcolor {
    }

    .number_heads .number_headline {
        font-size: 30px;
    }

    .arrow_image.head_item {
        display: none;
    }

    h3.head_item.nunito {
        margin-left: 0;
    }
    table.recTable td {
        border-bottom: none;
        margin-bottom: 20px;
    }
    table.recTable th, table.recTable td {display: block;}
    img.yahoo {
        margin-top: 20px;
    }
    .st_circle_wrap {
        height: auto;
    }
}

/* ===================================================================================
 for SP max-width: 480px
 =================================================================================== */
@media screen and (max-width: 480px) {
}
}
