.sp_640,
.sp_475,
.sp_440,
.sp_375,
.sp_360 {
    display: none !important
}

@media screen and (max-width: 1280px) and (min-width: 751px) {

    .inner,
    .inner02 {
        width: 1200px;
        margin: 0 auto;
    }
}


@media screen and (max-width: 1020px) {}

@media screen and (min-width: 751px) {
    .sp {
        display: none !important;
    }
    .inner-lg {
        padding: 20px 15px !important;
    }

}

@media screen and (max-width: 750px) {
    .graper .p1 {
        font-size: 6vw;}

        .btn.btn02.graper1 a {
            max-width: 300px;
            width: 100%;
            padding: 15px 0px;
            font-size: 17px;
        } 
        .btn.btn02.graper1 {
            width: 100%;
        }
    img {
        max-width: 100%;
        height: auto;
    }

    #wrapper,
    header,
    main,
    footer,
    .inner {
        width: 100% !important;
        min-width: unset !important
    }

    .pc {
        display: none !important;
    }

    .sp {
        display: block;
    }

    .menu.sp li a{
        color: #000;
        text-decoration: none;

    }
    .menu.sp li a:hover,
    .menu.sp li a:active{
        color: red;
    }
    .inner,
    .inner02,
    .inner03 {
        padding: 20px 15px
    }

    .inner .inner {
        padding: 0 0;
    }

    /* header */
    header {
        padding: 0 10px;
        height: 70px;
    }

    header .inner {
        padding: 10px 0;
    }

    header h1 img {
        display: block;
        max-width: 180px;
        width: 100%;
        height: auto;
        object-fit: contain
    }

    header .close-button {
        display: block;
    }

    header .close-button img {
        width: 27px;
    }

    header .menu {
        flex-direction: column;
    }

    header .menu li {
        text-align: center;
        padding: 0px;
        border: 0px;
        margin-bottom: 20px;
    }

    header .menu .twitter {
        padding: 0px;
    }

    header .menu .digest {
        padding: 0px;
    }

    header .menu .digest a {
        font-size: 16px;
        height: 50px;
        width: 200px;
    }

    #menu_button {
        display: block;
    }

    #menu_button img {
        display: block;
        width: 30px;
    }

    /*  menu  */
    /*  button  */
    #head_submenu {
        visibility: hidden;
        transform: translateX(100%);
        -webkit-transform: translateX(100%);
        -moz-transform: translateX(100%);
        -ms-transform: translateX(100%);
    }

    #head_submenu.open {
        transform: translateX(0px);
        -webkit-transform: translateX(0px);
        -moz-transform: translateX(0px);
        -ms-transform: translateX(0px);
        visibility: visible;
    }

    /*  head submenu  */
    #head_submenu {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: rgba(0, 0, 0, 0.5);
        z-index: 997;
    }

    #head_submenu .head {
        position: fixed;
        width: 100%;
        top: 0;
        right: 0;
        bottom: 0;
        background-color: #fff;
        box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);
        overflow-y: scroll;
        padding-top: 50px;
    }

    #head_submenu .head .close-button {
        position: absolute;
        right: 15px;
        top: 15px;
    }

    /*  animation  */
    #menu_button,
    #menu_button span,
    #head_submenu,
    #head_submenu #submenu_left ul li a,
    #head_submenu #submenu_right ul li a,
    #head_menu ul li a {
        transition: all .5s;
        -webkit-transition: all .5s;
        -moz-transition: all .5s;
        -ms-transition: all .5s;
    }

    #menu_button {
        display: block !important;
    }

    .copyright {
        padding: 50px 30px;
        font-size: 12px;
    }

    /*  FOOTER */
    #footer {
        padding: 40px 0 0;
        overflow: hidden;
    }

    #footer .container {
        min-width: 100%;
        max-width: 100%;
    }

    #footer .f01 {
        padding-bottom: 0;
    }

    #footer .f02-r {
        display: none;
    }

    #footer .f-logo a img {
        width: 200px;
        object-fit: cover;
    }

    #footer .f02 {
        margin: 0 15px;
    }

    #footer .f02 .container .f02-box {
        margin: 0;
        padding: 30px;
        display: block;
        text-align: center;
    }

    #footer p.add {
        font-size: 14px;
        line-height: 1.6;
        margin-top: 10px;
    }

    #footer .f-bnr li {
        width: auto;
        margin: 0 35px 15px;
    }

    #footer .f-bnr li a img {
        width: 100%;
    }

    .f_content {
        width: 100%;
        padding: 30px 15px;
    }

    .f_contact {
        display: block;
    }

    .f_tit_large {
        width: 200px;
        font-size: 22px;
    }

    .f_tit_small {
        font-size: 16px;
    }

    .f_tit_large:after,
    .f_tit_large:before {
        width: 13vw;
    }

    .copyright p {
        background: #e5f4fc;
        margin: 0 15px;
        color: rgba(0, 28, 89, .6);
        padding: 20px 5px 10px;
    }


    .list_link{
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        gap: 0;
    }

    .list_link li{
        width: 100%;
    }

    .list_link .btn a {
        min-width: 100%;
        max-width: 100%;
        width: 100%;
        font-size: 16px;
    }

}

/* screen-min:750px */
@media screen and (max-width: 750px) {

    /* root */
    .btn a {
        font-size: 3vw;
        line-height: 1em;
    }

    .company-info-list .map-btn a {
        line-height: 2em;
    }

    /* nav */
    /*=====================================================
                          C U S T O M
    ======================================================*/

    /*============ Header ============*/


    /*============ Main ============*/
    main {
        padding-top: 70px;
    }

    #mainvisual {
        padding: 50px 0;
        background-size: 400% auto;
    }

    #mainvisual h2 {
        font-size: 30px;
        margin: 10px 0 20px;
    }

    #mainvisual .main_text {
        text-align: center;
    }

    #mainvisual .main_text span.btn-main {
        font-size: 16px;
    }

    #mainvisual .caption {
        font-size: 20px;
        padding: 0 0;
    }

    #mainvisual .caption::before,
    #mainvisual .caption::after {
        height: 4px;
        width: 40px;
    }

    #mainvisual .caption::before {
        left: -99px
    }

    #mainvisual .caption::after {
        right: -50px;
    }

    #mainvisual dl.news-cal {
        max-width: 500px;
        margin: 50px auto;
        flex-direction: column;
        border-radius: 0;
    }

    #mainvisual dl.news-cal dt,
    #mainvisual dl.news-cal dd {
        width: 100%;
    }

    #mainvisual dl.news-cal dt {
        text-align: center;
    }

    #mainvisual dl.news-cal dd {
        border-radius: 0;
    }

    #logoslider .brands {
        text-align: center;
        padding: 50px 0;
    }

    #logoslider .brands .slider_main {
        max-width: 300px;
        width: 100%;
        margin: 0 auto;
        position: relative;
    }

    #logoslider .brands .slider_main li {
        width: 100%;
        z-index: 1;
    }

    #logoslider .brands .slider_main li img {
        width: 100%;
    }

    #logoslider .brands .slider_main .slick-prev,
    #logoslider .brands .slider_main .slick-next {
        z-index: 99;
        position: absolute;
        width: 50px;
        height: 50px;
    }

    /* custom */
    #logoslider .brands .slider_main .slick-prev {
        background: url('../images/ic-arrup.png')no-repeat;
        background-size: contain;
        left: 50%;
        transform: translateX(-50%);
        top: -30px;
    }

    #logoslider .brands .slider_main .slick-next {
        background: url('../images/ic-arrdown.png')no-repeat;
        background-size: contain;
        left: 50%;
        transform: translateX(-50%);
        bottom: -50px;
    }

    .slick-prev:before,
    .slick-next::before {
        content: "";
    }

    section {
        padding: 10px 0 0;
    }

    /* sec01 */
    #sec01 {
        background: url(../images/sec01_bg.png)no-repeat center;
        background-size: cover;
    }

    #sec01 .ttl_sec p {
        font-size: 16px;
        padding: 0 20px;
    }

    #sec01 .section.content_box {
        width: 100%;
        flex-direction: column;
        padding: 20px 20px;
        background-color: #ffffff78;
    }

    #sec01 .section.content_box .txt_box {
        margin-left: 0;
    }

    #sec01 .section.content_box .img {
        max-width: 100%;
        order: 2;
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        gap: 20px;
    }

    #sec01 .section.content_box .img img {
        max-width: 200px;
        width: 100%;
        object-fit: contain;
    }

    #sec01 .section.content_box .img span {
        width: 60%;
    }

    .banner_block::before {
        background: none;
    }

    .banner_block .lg_txt {
        position: relative;
    }

    .banner_block .lg_txt:before,
    .banner_block .lg_txt:after {
        position: absolute;
        content: "";
        bottom: 0;
        width: 1px;
        height: 60px;
        background-color: #000;
    }

    .banner_block .lg_txt:before {
        transform: rotate(160deg);
        left: -30px;
    }

    .banner_block .lg_txt:after {
        transform: rotate(22deg);
        right: -30px;
    }

    /* sec02 */
    #sec02 {
        padding: 40px 0 0;
    }

    #sec02:before {
        z-index: 2;
        position: absolute;
        content: "";
        top: 7%;
        right: -112px;
        width: 200px;
        height: 484px;
        background: url(../images/ic_bnr_02.png)no-repeat;
        background-size: auto 483px;
    }

    #sec02:after {
        z-index: 2;
        left: -75px;
        top: 30%;
    }

    .flex_between {
        flex-direction: column;
    }

    #sec02 .introduction_item {
        margin: 0 auto 20px;
        max-width: 600px;
        width: 100%;
    }

    .full_bnr {
        text-align: left;
        margin-bottom: 0;
    }

    .full_bnr:before {
        background: none;
    }

    h3 {
        font-size: 24px;
    }

    /* sec03 */
    #sec03:before {
        transform: rotate(-1deg);
        top: 50px;
        left: -80px;
        width: 160px;
    }

    .achievement_section {
        padding: 10px 0 1px;
        background: linear-gradient(90deg, rgba(3, 29, 91, 1) 0%, rgba(79, 53, 147, 1) 50%, rgba(163, 79, 210, 1) 100%);
    }

    .col_03 li.achievement_item {
        width: 100%;
        height: 220px;
        margin-bottom: 50px;
    }

    .col_03 li.achievement_item:last-child {
        margin-bottom: 20px;
    }

    .section.introduction-list {
        margin: 0 5px 5px;
        padding-top: 20px;
        background-color: #fff;
    }

    .techniques_block dl {
        max-width: 400px;
        width: 100%;
        margin: 0 auto 40px;
    }

    .techniques_block dl.image_col img {
        min-height: 300px;
    }

    .section-btn {
        padding: 40px 0 40px;
    }

    .btn.btn02 a {
        max-width: 450px;
        width: 100%;
        padding: 15px 120px;
    }
    .techniques_block dl dd {
        font-size: 17px;
    }

    /* sec04 */

    #sec04 .box_right .ttl01 {
        font-size: 18px;
      }

    .box_event_program_wrap {
        margin-bottom: 0;
        background-size: auto auto;
    }

    .box_event_program_wrap::before,
    .box_event_program_wrap:nth-child(2n+1)::before {
        background: none;
    }

    .box_event_program,
    .box_event_program .box_ttl {
        flex-direction: column;
    }

    .box_event_program .box_ttl .time {
        width: 90%;
        margin: 0 auto 30px;
        text-align: center;
    }

    .box_event_program .box_ttl .time span {
        padding: 5px 60px;
    }

    .box_event_program .box_ttl .time span.timenum:after {
        left: 30px;
    }

    .box_event_program .box_ttl .ttl_content {
        margin: 0 auto;
    }

    .box_event_program .box_ttl .ttl_content span {
        padding: 5px 80px;
    }

    .box_event_program .box_left,
    .box_event_program .box_right {
        margin: 0 auto;
        width: 400px;
    }

    .box_event_program .box_left {
        padding: 30px 20px;
    }

    .box_event_program .box_right {
        padding: 50px 20px 100px;
    }

    .box_event_program.style02 .box_left {
        flex-direction: column;
    }

    .box_event_program.style02 .box_left>* {
        width: 100%;
        margin-bottom: 30px;
    }

    .box_event_program.style02 .box_right {
        width: 65%;
    }

    .box_event_program.style02 .box_left .connect {
        order: 1;
    }

    .box_event_program.style02 .box_left .person {
        order: 2;
    }

    .box_person_wrap {
        flex-direction: column;
    }

    .person_group_wrap {
        background-size: 208% auto;
    }

    .person_group_wrap::before {
        background: none;
    }

    .person_group_wrap .time {
        text-align: center;
    }

    .box_person .person_ttl {
        max-width: 300px;
        margin: 0 auto 20px;
    }

    .box_person .person_content .txt {
        text-align: center;
    }

    .box_person .person_content .txt.full-txt {}

    .col_03 dl.box_person {
        width: 100%;
        max-width: 500px;
    }

    .box_person .person .img.flex_between {
        flex-direction: row;
    }

    /* sec05 */
    #sec05:before {
        background: none;
    }

    .box_tech {
        padding: 35px 30px;
    }

    .box_tech_ttl {
        margin: 0 auto 20px;
        align-items: center;
        justify-content: center;
    }

    .box_tech_ttl .time {
        max-width: 450px;
    }

    .box_tech_ttl .time span {
        padding: 5px 60px;
    }

    .box_tech_ttl .time span.timenum:after {
        left: 35px;
    }

    /* sec06 */
    #sec06 {
        padding: 40px 0 40px;
    }

    /* sec07 */
    #sec07 {
        background: none;
        padding: 40px 15px 40px;
    }

    .block_contact {
        flex-direction: column;
        align-items: center;
    }

    .block_contact .img {
        width: 80%;
    }

    .block_contact .img img {
        position: static;
        transform: translateY(0);
        min-width: unset;
        width: 100%;

    }

    .block_contact .contact_info {
        width: 90%;
        padding: 220px 50px 40px;
        margin-top: -200px;
    }

    .list_link{
        opacity: 0;
        pointer-events: none;
    }

    .list_link.show{
        opacity: 1;
        pointer-events: auto;
        z-index: 99;
      }

      .list_link .btn a{
        padding: 15px 0;
      }

    /*============ END 750 ============ */
}

@media screen and (max-width: 720px) {

    /* #sec05 */
    .box_tech_content {
        padding: 35px;
    }

    .box_tech_content .content_inner {
        flex-direction: column;
        padding: 30px 30px;
    }

    .box_tech_content .content_inner .content {
        width: 100%;
        margin: 20px 0;
    }

    .box_tech_content .content_inner .content p:last-child {
        padding-bottom: 20px;
    }
}

@media screen and (max-width: 640px) {
    .sp_640 {
        display: block !important;
    }

    .underline02::after {
        height: 3px;
    }

    .company-info-list {
        padding-top: 0;
    }

    .company-info-list li {
        flex-direction: column;
        align-items: center;
        padding: 10px 10px;
    }

    .company-info-list li.no-bdb {
        border-bottom: none;
    }

    .company-info-list .company-info-l {
        text-align: center;
    }

    .company-info-list .company-info-r {
        width: 100%;
        padding-left: 0;
        text-align: center;
    }

    .company-info-list .company-info-r.flex-02 {
        flex-direction: column;
        align-items: center;

    }
}

@media screen and (max-width: 475px) {
    .sp_475 {
        display: block !important;
    }

    .inner,
    .inner02,
    .inner03 {
        padding: 40px 15px;
    }

    #mainvisual .main_text span.btn-main,
    #mainvisual .caption {
        font-size: 3.5vw;
    }

    #mainvisual .caption {
        font-size: 4.5vw;
    }

    #mainvisual {
        background-size: 400% 100%;
        padding-bottom: 0;
    }

    #mainvisual .inner {
        padding-bottom: 20px;
    }

    #mainvisual .caption {
        text-align: center;
    }

    #mainvisual h2 {
        font-size: 6vw;
    }

    #mainvisual .caption::before,
    #mainvisual .caption::after {
        height: 3px;
        width: 30px;
    }

    #mainvisual .caption::before {
        top: 5vw;
        left: -16vw;
    }

    #mainvisual .caption::after {
        right: -9vw;
        top: 5vw;
    }

    #mainvisual dl.news-cal dt,
    #mainvisual dl.news-cal dd {
        font-size: 4vw;
    }

    #mainvisual dl.news-cal dt span {
        padding-left: 15px;
    }

    #mainvisual dl.news-cal dt span:before {
        left: -3vw;
    }

    .btn.btn02 {
        width: 90%;
    }

    .btn.btn02 a {
        font-size: 4vw;
        padding: 15px 15px;
    }

    /* mainslider */
    #logoslider .brands .slider_main,
    #logoslider .brands .slider_main li,
    #logoslider .brands .slider_main li img {
        margin: 0 auto;
        max-width: 200px;
    }

    /* sec01 */
    #sec01,
    #sec02,
    #sec03 {
        padding: 0;
    }

    #sec01 h3.ttl {
        padding: 10px 2vw;
        margin-left: 20px;
    }

    #sec01 .ttl_sec p {
        margin-left: 20px;
        font-size: 3.5vw;
        padding: 0 2vw;
    }
    #sec01 .inner{
        padding: 40px 0;
    }
    #sec01 .section.content_box .img {
        flex-direction: column;
    }

    #sec01 .section.content_box .img>*,
    #sec01 .section.content_box .img span {
        width: 100%;
    }

    #sec01 .section.content_box .img img {
        margin: 0 auto;
    }

    .banner_block {
        padding: 20px 15px;
    }

    .banner_block p {
        font-size: 3vw;
    }

    .banner_block .sm_txt {
        padding-left: 0;
        font-size: 3.5vw;
    }

    .banner_block .lg_txt {
        font-size: 4.5vw;
    }

    .banner_block .lg_txt:before,
    .banner_block .lg_txt:after {
        height: 36px;
    }

    .banner_block p:first-child {
        margin-bottom: 15px;
    }

    /* sec02 */
    h3 {
        font-size: 6vw;
    }

    #sec02:before {
        right: -42vw;
    }

    #sec02:after {
        top: 18%;
        left: -38vw;
    }

    #sec02 .introduction_item h4 {
        font-size: 4vw;
        margin-bottom: 20px;
    }

    #sec02 h3.ttl span.txt {
        padding: 0 2.3vw 0 8vw;
    }

    #sec02 h3.ttl span.txt::before {
        left: 1vw;
        width: 25px;
        height: 25px;

    }

    #sec02 .introduction_item {
        padding: 15px 5vw;
    }

    #sec02 .introduction_item img {
        width: 100%;
        height: auto;
    }

    .full_bnr {
        font-size: 3.5vw;
    }

    .section.introduction-list {
        padding: 15px 15px;
    }

    .col_03 li.achievement_item {
        margin: 0 auto;
        max-width: 300px;
        width: 100%;
        height: auto;
        min-height: 200px;
        background-size: 100% auto;
        margin-bottom: 1.5em;

    }

    .col_03 dl.box_person {
        padding: 2vw 0;
    }

    .col_03 li.achievement_item {
        background-position: top;
    }

    .achievement_item .achievement_ttl {
        font-size: 4vw;
    }

    .achievement_item .achievement_num .num {
        font-size: 8vw;
    }

    .achievement_item .achievement_num .txt {
        font-size: 4vw;
    }

    .achievement_item.achievement02 .achievement_ttl {
        margin-top: -18px;
    }

    .achievement_section {
        margin-bottom: 0;
    }

    .box_tech_ttl .time span,
    .box_event_program .box_ttl .time span {
        padding: 1vw 6vw 1vw 9vw;
        font-size: 3.5vw;
    }

    .box_tech_ttl .time span.timenum {
        width: 50%;
        text-align: center;
    }

    .box_event_program .box_ttl .time span.timenum:after {
        left: 3vw;
    }

    .box_event_program .box_ttl .time span.txt {
        padding: 1vw 6vw;
    }

    .box_event_program {
        padding: 0 15px;
    }

    .box_event_program .box_ttl .ttl_content {
        width: 100%;
    }

    .box_event_program .box_ttl .ttl_content span {
        font-size: 3.5vw;
    }

    .box_person .person_ttl {
        font-size: 3.5vw;
    }

    .box_event_program .box_left,
    .box_event_program .box_right,
    .box_event_program.style02 .box_left,
    .box_event_program.style02 .box_right {
        width: 100%;
    }

    .box_event_program .box_left img {
        max-width: 150px;
    }

    .box_event_program .box_right {
        padding: 5vw 3vw 10vw;
    }

    p {
        font-size: 14px;
    }

    .box_event_program .box_ttl .time {
        margin-bottom: 15px;
    }

    .box_event_program_wrap {
        margin-bottom: 0 !important;
    }

    .box_person .person .img.flex_between {
        flex-direction: column;
        align-items: center;
    }

    .person_group_wrap {
        margin-bottom: 0;
    }


    #sec05 {
        padding: 20px 0 0;
    }
    .person_group_wrap .time span.timenum{
        display: block;
        width: 90%;
        margin: 0 auto;
    }
    .person_group_wrap .time span {
        font-size: 3.5vw;
    }

    .box_tech_ttl .time span.timenum:after {
        left: 8vw;
    }

    .box_tech_ttl .time {
        display: flex;
        justify-content: center;
    }

    .box_tech_ttl .time span.txt {
        padding: 1vw 15px;
        text-align: center;
    }

    .box_tech_content .content_inner .content .ttl{
        font-size: 16px;
        line-height: 1.5em;
    }

    .box_qa dl dt {
        padding: 3vw 40px 3vw 4vw;

    }

    .box_qa dl dd {
        padding: 3vw 4vw;
    }

    .block_contact .contact_info {
        margin-top: -25vw;
    }

    .block_contact .contact_info {
        padding: 120px 5vw 3vw;
    }

    .contact_info_list li {
        flex-direction: column;
        align-items: center;
    }

    .contact_info_list li p:first-child {
        margin-bottom: 10px;
    }

    .contact_info_list li p {
        text-align: center;
        font-size: 3.5vw;
    }

    .box_qa dl dt::before {
        height: 20px;
        right: 15px;
    }

    .box_qa dl dt::after {
        width: 20px;
        right: 6px;
    }

    .company-info-list li{
        font-size: 14px;
    }

    .btn {
        margin: 0 auto;
    }

    .f_ttl{
        font-size: 20px;
    }
    .f_tit_sec,
    .f_contact li{
        font-size: 16px;
    }

}

/* screen-max:460px */
@media screen and (max-width: 440px) {
    .sp_440 {
        display: block !important;
    }

    .ft_bnn li {
        width: 100%;
    }

    .ft_bnn li:last-child {}


}
@media screen and (max-width: 375px) {
    .sp_375 {
        display: block !important;
    }
    .box_event_program .box_ttl .ttl_content span,
    .box_person .person_ttl{
        max-width: 220px ;
        width: 100%;
        font-size: 16px;
    }

    .underline02.sp_375{
        display: inline-block !important;
    }
    .person_group_wrap .time{
        width: 80%;
        max-width: 280px ;
        margin: 0 auto 10px;
    }

}
/* screen-max: 360px */
@media screen and (max-width: 360px) {
    .sp_360 {
        display: block !important;
    }
}

@media screen and (max-width: 320px) {
    h3 {
        font-size: 18px;
    }

    .inner,
    .inner02,
    .inner03 {
        padding: 20px 10px;
    }

    p {
        font-size: 14px;
    }

    .underline02::after {
        height: 2px;
    }

    #mainvisual {
        padding: 30px 15px 0;
    }

    #mainvisual .inner {
        padding: 0 0 20px;
    }

    #mainvisual dl.news-cal dt,
    #mainvisual dl.news-cal dd {
        font-size: 4vw;
        letter-spacing: 0.1em;
    }

    #mainvisual .caption {
        font-size: 5vw;
    }

    #mainvisual .caption::before {
        left: -22vw
    }

    #mainvisual .caption::after {
        right: -23vw;
    }

    #sec01 .inner {
        padding: 20px 0;
    }

    #sec01 h3.ttl {
        margin-left: 10px;
    }

    #sec01 .ttl_sec {
        padding-left: 10px;
        padding-right: 10px;
    }

    #sec01 h3.ttl {
        margin-bottom: 15px;
    }

    #sec01 .ttl_sec p {
        font-size: 4vw;
        padding: 0 0.8vw;
    }

    #sec01 .section.content_box {
        padding: 10px 10px;
    }

    #sec01 .section.content_box .img img {
        max-width: 150px;
    }

    #sec02 h3.ttl {
        font-size: 5vw;
    }

    #sec02 h3.ttl span.txt {
        padding: 0 5px 0 30px;
    }

    .banner_block .sm_txt {
        font-size: 10px;
    }

    .banner_block p:first-child {
        text-align: center;
    }

    .achievement_section {
        padding: 0 0 1px;
    }

    .full_bnr {
        font-size: 4vw;
    }

    .techniques_block dl dt {
        font-size: 16px;
    }

    .techniques_block dl dd {
        font-size: 14px;
    }

    .ttl02:after {
        width: 30px;
        height: 30px;
        left: 24px;
    }

    .box_event_program {
        padding-bottom: 0;
    }

    .box_event_program .box_ttl .time,
    .person_group_wrap .time {
        width: 100%;
    }

    .box_event_program .box_ttl .time span,
    .box_tech_ttl .time span.timenum,
    .person_group_wrap .time span.timenum {
        font-size: 14px;
    }

    .box_event_program .box_ttl .time span.timenum,
    .box_tech_ttl .time span.timenum {
        padding: 1vw 35px 1vw 40px;
    }

    .box_event_program .box_ttl .time span.txt {
        padding: 1vw 30px;
    }

    .box_tech_ttl .time span.txt {
        width: 40%;
        /* padding: 1vw 20px; */
    }

    .box_event_program .box_ttl .time span.timenum:after {
        left: 5vw;
    }

    .box_event_program .box_ttl .ttl_content span {
        display: block;
    }

    .box_event_program .box_ttl .ttl_content span,
    .box_person .person_ttl {
        font-size: 14px;
    }

    .box_tech_ttl .time span.timenum:after {
        left: 6vw;
    }

    .box_tech_ttl .time {
        width: 100%;
    }

    .box_tech_ttl .time span.timenum {
        width: 55%;
    }

    .box_tech_content {
        padding: 20px;
    }

    .box_tech_content .content_inner {
        padding: 20px 20px;
    }

    .company-info-list {
        padding: 20px 15px;
    }

    .company-info-list li {
        padding: 0 0 20px;
    }

    .company-info-list .company-info-r {
        font-size: 14px;
    }

    .box_qa dl dt p,
    .box_qa dl dd p {
        font-size: 14px;
    }

    .block_contact .contact_info {
        padding: 100px 5vw 3vw;
    }

    .contact_info_list li p {
        font-size: 14px;
    }

    .f_ttl {
        font-size: 18px;
    }

    .f_tit_sec,
    .f_contact li {
        font-size: 14px;
    }

    .f_contact .phone::before,
    .f_contact .mail::before {
        width: 20px;
    }

    .box_qa dl dt {
        padding: 3vw 9vw 3vw 4vw;
    }

    .achievement_item .achievement_num .num {
        font-size: 8vw;
    }

    .achievement_item .achievement_num .txt {
        font-size: 4vw;
    }

    .achievement_item.achievement02 .achievement_ttl {
        margin-top: -10px;
    }

    .col_03 li.achievement_item {
        margin: 0 auto;
        width: 250px;
        height: auto;
        min-height: 170px;
        background-size: 100% auto;
        margin-bottom: 1.5em;

    }

    .col_03 li.achievement_item {
        background-position: top;
        background-size: contain;
    }
}