@media screen and (max-width:750px) {
    *{
        box-sizing: border-box;
    }
    .pc {
        display: none;
    }
    .top_menu {
        display: none;
    }
    /*-------SP-繝倥ャ繝繝ｼ------*/
    header{
        position: relative;
        z-index: 1;
    }
    .header_inr {
        margin: 0 auto;
        padding: 12px 4% 13px;
        box-shadow: 0px 4px 4px rgb(0 0 0 / 25%);
        height: 60px;
    }
    .header_inr img {
        width: clamp(100px,(100/390)*100vw, 150px);
    }
    .header_inr a {
        display: block;
        line-height: 0;
    }
    .sp_menu {
        display: block;
        position: relative;
    }
    .nav>ul>li>a {
        display: flex;
        font-weight: bold;
        letter-spacing: 0.02em;
        font-size: calc((14/390)*100vw);
        text-decoration: none;
        color: #fff;
        text-decoration: none;
        justify-content: space-between;
        align-items: center;
        padding: calc((16/390)*100vw) calc((40/390)*100vw);
    }
    .nav {
        z-index: -1;
        position: fixed;
        top: -150%;
        left: 0;
        width: 100%;
        background: #171B2E;
        color: #ffffff;
        display: flex;
        justify-content: left;
        align-items: center;
        transition: all 0.6s;
    }
    .active.nav {
        top: 0;
    }
    .nav>ul {
        list-style: none;
        margin-top: 60px;
        width: 100%;
    }
    .nav>ul>li:not(:last-child) {
        border-bottom: solid calc((1.5/390)*100vw) #6D6D6D;
    }
    .nav>ul>li:last-child{
        background-color: #2063AE;
    }
    /*---------ハンバーガーメニュー-----------*/
    #navbtn{
        background: #fff;
        position: relative;
        cursor: pointer;
        width: calc((21/390)*100vw);
        height: calc((18/390)*100vw);
        border: none;
        border-radius: 5px;
        z-index: 99;
    }
    #navbtn>span{
        display: inline-block;
        transition: all .4s;
        position: absolute;
        height: 3px;
        border-radius: 2px;
        background: #002F7B;
    }
    #navbtn>span:nth-of-type(1) {
        top:0; 
        width: 100%;
    }
    #navbtn>span:nth-of-type(2) {
        top: calc((7/390)*100vw);
        width: 100%;
    }
    #navbtn>span:nth-of-type(3) {
        top: calc((14/390)*100vw);
        width: 100%;
    }
    #navbtn.active>span:nth-of-type(1) {
        top: 50%;
        left: 0;
        right: 0;
        transform: translateY(-50%) rotate(-135deg);
        width: 100%;
    }
    #navbtn.active>span:nth-of-type(2) {
        opacity: 0;
    }
    #navbtn.active>span:nth-of-type(3){
        top: 50%;
        left: 0;
        right: 0;
        transform: translateY(-50%) rotate(135deg);
        width: 100%;
    }
    /*---------ハンバーガーメニュークリック後-----------*/
    .active #navbtn {
        z-index: 100;
    }
    .active #navbtn::before {
        transform: rotate(-45deg);
        box-shadow: none;
        background-color: #fff;
    }
    .active #navbtn::after {
        transform: rotate(45deg);
        box-shadow: none;
        background-color: #fff;
        position: relative;
        top: calc((-2/390)*100vw);
    }
    /*--------->-----------*/
    .dli-chevron-round-right {
        display: inline-block;
        vertical-align: middle;
        color: #fff;
        line-height: 1;
        position: relative;
        width: calc((8/390)*100vw);
        height: calc((8/390)*100vw);
        transform: translateX(-25%) rotate(45deg);
    }
    .dli-chevron-round-right::before,
    .dli-chevron-round-right::after {
        content: '';
        position: absolute;
        background: currentColor;
        border-radius: 0.1em;
    }
    .dli-chevron-round-right::before {
        top: 0;
        left: 0;
        right: 0;
        height: calc((2/390)*100vw);
    }
    .dli-chevron-round-right::after {
        top: 0;
        right: 0;
        bottom: 0;
        width: calc((2/390)*100vw);
    }
    /*-------SP-fv------*/
    main{
        margin-bottom: calc((55/390)*100vw);
    }
    .fv {
        padding-bottom: 0;
    }
    .title_img {
        width: 100vw;
    }
    .fv_title{
        display: none;
    }
    .fv_title.sp_fv{
        display: block;
        margin-bottom: calc((40/390)*100vw);
    }
    .fv_inr p {
        font-size: calc((15/390)*100vw);
        font-weight: bold;
        line-height: normal;
    }
    .index_button_box{
        flex-direction: column;
    }
    .contact {
        width: auto;
        margin: 0 calc((70/390)*100vw);
    }
    .contact a {
        width: 100%;
        font-size: calc((14/390)*100vw);
        font-weight: bold;
        text-decoration: none;
        color: #fff;
    }
    .contact::after{
        right: 8%;
        border: calc((7/390)*100vw) solid transparent;
        border-left: calc((7/390)*100vw) solid #fff;
    }
    /* overview */
    #overview{
        width: calc((310/390)*100vw);
        margin: calc((40/390)*100vw) auto;
        margin-bottom: calc((50/390)*100vw);
        padding: calc((30/390)*100vw) 0;
        border-radius: 6px;
        box-shadow: 4px 4px 2px rgb(0 0 0 / 25%);
    }
    #overview>ul{
        display: block;
        font-size: calc((14/390)*100vw);
        margin: 0 25px;
        line-height:1.5em;
    }
    #overview>ul>li{
        width: 100%;
        padding: 15px 0;
        border-radius: 4px;
        margin-bottom: 15px;
    }
    #overview>p{
        font-size: 11px;
        margin-bottom: calc((60/1440)*100vw);
    }
    #overview .blue_fwb{
        font-size: 16px;
    }
    #overview .red_fwb{
        font-size: calc((20/390)*100vw);
        margin-bottom: calc((20/1440)*100vw);
    }
    #overview .red_fwb::before{
        width:calc((254/390)*100vw);
        height:1px;
        bottom:-6px;
    }
    #overview .red_fwb::after{
        width:calc((254/390)*100vw);
        height:1px;
        bottom: -10px;
    }
    #overview .arrow img{
        width: calc((26/390)*100vw);
    }
    /* point */
    #point{
        margin-bottom: calc((55/390)*100vw);
    }
    #point>ul{
        margin: calc((100/1440)*100vw);
        margin-bottom: 0;
        display: block;
    }
    #point>ul>li{
        display: flex;
        justify-content: left;
        box-sizing: border-box;
        align-items: center;
        width: 100%;
        font-size: 13px;
        padding-top: 0;
        padding: 10px 0 10px 36px;
        border-radius: 6px;
        margin-bottom: 30px;
        box-shadow: 4px 4px 2px rgb(0 0 0 / 25%);
    }
    #point>ul>li>p{
        padding-bottom: 0;
    }
    #point>ul>li>p>img{
        margin-right: 45px;
        width:60px;
        height: 40px;
    }
    #point>ul>li:nth-child(1)>p>img{
        margin-right: 55px;
    }
    #point>ul>li>p>span{
        font-size: 18px;
    }
    #point>ul>li::before{
        width: 38px;
        height: 38px;
        top: -10px;
        left: -13px;
    }
    /*-------work------*/
    #work{
        margin: 0 calc((40/390)*100vw);
        margin-bottom: calc((50/390)*100vw);
    }
    #work>p{
        margin-bottom: 50px;
        font-size: 18px;
        line-height: 1.3em;
    }
    #work>ul{
        margin: 0;
        display: block;
    }
    #work>ul>li{
        width: 100%;
        margin-bottom: 30px;
    }
    #work>ul>li>p{
        width: calc((160/390)*100vw);
        margin-bottom: calc((30/390)*100vw);
        padding: 6px 0;
        font-size: 16px;
        border-radius: 30px;
        box-shadow: 4px 4px 2px rgb(0 0 0 / 25%);
    }
    #work>ul>li>p.sp{
        display: inline-block;
    }
    #work>ul>li>img{
        width: 100%;
    }
    /*-------service------*/
    #service{
        margin-bottom: calc((60/390)*100vw);
    }
    #service>h3{
        margin-bottom: 45px;
        padding: 0 55px;
        font-size: 18px;
    }
    #service>h3::before, #service>h3::after {
        width: 45px;
        height: 1px;
    }
    #service>ul{
        margin: 0 calc((66/390)*100vw);
        display: block;
    }
    #service>ul>li{
        width: 100%;
        display: block;
        margin-bottom: 20px;
        padding: 6px 0;
        font-size: 14px;
        border-radius: 30px;
        box-shadow: 4px 4px 2px rgb(0 0 0 / 25%);
    }
    /*-------白背景------*/
    .bk_wh{
        margin-bottom: calc((58/390)*100vw);
        padding: calc((50/390)*100vw) 0;
    }
    /*-------ostechpoint------*/
    #ostechpoint{
        line-height: 1.2em;
        margin-bottom: calc((50/390)*100vw);
    }
    #ostechpoint>h3{
        margin-bottom: calc((50/390)*100vw);
        font-size: 20px;
    }
    #ostechpoint>h3::after{
        width: calc((234/390)*100vw);
        height: calc((12/390)*100vw);
        bottom: -5px;
    }
    #ostechpoint>ul{
        margin: 0;
        justify-content: center;
        gap: 20px 18px;
    }
    #ostechpoint>ul>li{
        width: calc((146/390)*100vw);
        height: calc((96/390)*100vw);
        padding-top: 14px;
        margin-bottom: 0;
        font-size: 14px;
        border-radius: 4px;
    }
    #ostechpoint>ul>li:nth-child(3){
        line-height: 1.2em;
    }
    #ostechpoint>ul>li::before{
        width: calc((120/390)*100vw);
        height: 1px;
        background-image: linear-gradient(to right, #002F7B, #002F7B 4px, transparent 4px, transparent 8px);
        background-size: 8px 2px;
        top: 40%;
    }
    #ostechpoint>ul>li::after{
        width: calc((49/390)*100vw);
        height: calc((37/390)*100vw);
        right: calc((8/390)*100vw);
        bottom: calc((8/390)*100vw);
    }
    #ostechpoint>ul>li:nth-child(2):after{
        width: calc((36/390)*100vw);
        height: calc((37/390)*100vw);
    }
    #ostechpoint>ul>li:nth-child(3):after{
        width: calc((31/390)*100vw);
        height: calc((37/390)*100vw);
    }
    #ostechpoint>ul>li:nth-child(4):after{
        width: calc((42/390)*100vw);
        height: calc((37/390)*100vw);
    }
    #ostechpoint>ul>li:nth-child(5):after{
        width: calc((44/390)*100vw);
        height: calc((43/390)*100vw);
    }
    #ostechpoint>ul>li:nth-child(6):after{
        width: calc((38/390)*100vw);
        height: calc((37/390)*100vw);
    }
    #ostechpoint>ul>li>p{
        font-size: 14px;
    }
    #ostechpoint .red_fwb{
        font-size: 22px;
    }
    #ostechpoint>ul>li>p.red_fwb{
        margin-top: 15px;
        font-size: 14px;
    }
    #ostechpoint .ostechpoint_title{
        margin-bottom: 20px;
    }
    #ostechpoint .ostechpoint_title.threeline{
        margin-bottom: 12px;
    }
    #ostechpoint .attention{
        margin-top: 5px;
        font-size: 8px;
        line-height: 0.2em;
    }
    /*-------achievement------*/
    #achievement{
        margin-bottom: calc((50/390)*100vw);
    }
    #achievement>h3{
        font-size: 16px;
        padding: 0 6px;
        top: -9px;
        left: 45px;
    }
    #achievement>.sp_achivement{
        text-align:justify;
        margin: 0 auto;
        width: calc((310 / 390)* 100vw);
        padding: calc((24 / 390) * 100vw) calc((20 / 390) * 100vw);
        border: solid #002F7B 1.5px;
        border-radius: calc((20 / 1440)* 100vw);
        box-sizing: border-box;
    }
    #achievement>.sp_achivement>dl{
        margin-bottom: calc((20 / 390) * 100vw);
    }
    #achievement>.sp_achivement>dl>dt{
        margin: 0;
        padding: 0;
        display: inline-block;
        font-weight: bold;
        background-color: #DBEBFF;
        color: #2063AE;
        margin-right: 3px;
        padding: 4px 10px;
        font-size: 13px;
        border-radius: 2px;
    }
    #achievement>.sp_achivement>dl>dd:nth-of-type(1){
        margin-right: 2px;
    }
    #achievement>.sp_achivement>dl:nth-of-type(4){
        margin-bottom: 0;
    }
    #achievement>.sp_achivement>dl>dd{
        display: inline-block;
        font-weight: bold;
        color: #D3174F;
        font-size: 14px;
    }
    /*-------voice-------*/
    #voice{
        margin-bottom: calc((50/390)*100vw);
    }
    #voice>h3{
        margin-bottom: calc((50/390)*100vw);
        padding: 0 calc((50/390)*100vw);
        font-size: 18px;
    }
    #voice>h3::before, #voice>h3::after {
        width: calc((45/390)*100vw);
        height: 1px;
    }
    #voice>ul>li>p{
        line-height: 1.5em;
        font-size: 11px;
    }
    #voice>ul>li>p.voice_title{
        line-height: 1.2em;
        font-size: 14px;
        margin-bottom: 7px;
    }
    #voice>ul{
        display: block;
        margin: 0 calc((40/390)*100vw);
    }
    #voice>ul>li{
        width: 100%;
        padding: calc((18/390)*100vw) calc((60/390)*100vw) calc((18/390)*100vw) calc((20/390)*100vw);
        border-radius: 8px;
        margin-bottom: calc((35/390)*100vw);
    }
    #voice>ul>li::after{
        width: calc((51/390)*100vw);
        height: calc((65/390)*100vw);
        bottom: calc((-8/390)*100vw);
        right: calc((-14/390)*100vw);
    }
    /*-------process-------*/
    #process{
        margin-bottom: 0;
    }
    #process>h3{
        margin-bottom: calc((50/390)*100vw);
        padding: 0 calc((50/390)*100vw);
        font-size: 18px;
    }
    #process>h3::before, #process>h3::after {
        width: calc((45/390)*100vw);
        height: 1px;
    }
    #process>ol{
        display: block;
        margin: 0 calc((45/390)*100vw);
    }
    #process>ol>li{
        display: flex;
        justify-content: space-between;
        width: 100%;
        border: solid #002F7B 1.5px;
        border-radius: 6px;
        padding: calc((15/390)*100vw) calc((15/390)*100vw) calc((15/390)*100vw) calc((30/390)*100vw);
        margin-bottom: calc((45/390)*100vw);
    }
    #process>ol>li>div{
        width: calc((180/390)*100vw);
    }
    #process>ol>li>div>p{
        font-size: 12px;
        line-height: 1.2em;
    }
    #process>ol>li>div>p.process_title{
        text-align: left;
        font-size: 16px;
        margin-bottom: 8px;
    }
    #process>ol>li>img{
        width: calc((68/390)*100vw);
        display: block;
        margin-bottom: 0;
        margin-right: 15px;
        object-fit: contain;
    }
    #process>ol>li::before{
        width: 34px;
        height: 34px;
        top:  -7px;
        left: 0;
        transform: translateX(-50%);
    }
    #process>ol>li::after{
        border-bottom: none;
        border-left: 14px solid transparent;
        border-right: 14px solid transparent;
        border-top: 18px solid #D9D9D9;
        top: 100px;
        right: 50%;
        transform: translateX(50%);
    }
    #process>ol>li:nth-child(2):after{
        top: 115px;
    }
    #process>ol>li:last-of-type{
        margin-bottom: 0;
    }
    /*-------footer-------*/
    footer {
        color: #002F7B;
        line-height: 1.1em;
        font-size: 11px;
        padding: calc((32/390)*100vw) calc((60/390)*100vw) calc((20/390)*100vw);
    }
    .footer_logo{
        margin-bottom: calc((12/390)*100vw);
    }
    .footer_logo_nav{
        display: block;
        margin-bottom: calc((30/390)*100vw);
    }
    .footer_menu{
        margin-top: calc((30/390)*100vw);
    }
    .footer_menu>ul{
        display: block;
    }
    .footer_menu>ul>li{
        margin-bottom: 10px;
    }
    .footer_menu>ul>li>a{
        font-size: 11px;
        color: #002F7B;
    }
    .footer_policy {
        margin-top: max((35/1440)*100vw,20px);
    }
    .footer_policy>ul {
        margin: 0 auto;
        display: block;
    }
    .footer_policy>ul>li{
        margin-bottom: 10px;
    }
    .footer_policy a {
        font-size: 10px;
        color: #002F7B;
        display: inline-block;
        transition: all .3s ease 0s;
    }
    .footer_logo_nav img {
        width: calc((250/390)*100vw);
    }
    .footer_add_policy {
        display: flex;
        justify-content: space-between;
    }
    .address {
        line-height: 1.4em;
        margin-top: calc((30/1440)*100vw);
        font-size: 10px;
    }
    .address_title {
        color: #1E1E1E;
        font-size: 11px;
    }
    .address_text {
        color: #171B2E;
        margin: calc((10/1440)*100vw) 0 0;
        margin-bottom: calc((30/390)*100vw);
    }
    .footer_copyright-txt {
        color: #848884;
        font-size: 8px;
    }
    .box-dl-about {
        flex-direction: column;
    }
    .box-dl-slidedetail{
        margin-top: calc((100/1440)*100vw);
        padding: 10px;
    }
    .box-dl-slidecontent h3 {
        margin-bottom: calc((15/390)*100vw);
        font-size: calc((16/390)*100vw);
        font-size: max(4.102vw,16px);
    }
    .box-dl-slidecontent .slick-prev {
        left: -40px;
    } 
    .box-dl-slidecontent .slick-next {
        right: -40px;
    }
    .box-dl-slidedetail h4 {
        font-size: max(4.102vw,16px);
        margin-bottom: calc((15/1440)*100vw);
    }
    
    .box-dl-slidedetail li {
        margin-bottom: calc((15/390)*100vw);
        text-align: left;
        font-size: max(3.589vw,14px);
    }
    
    .box-dl-slidedetail-box{
        margin-top:calc((40/1440)*100vw);
        line-height: 2em
    }
    .box-dl-slidedetail-box-check {
        width: max(4.871vw,19px);
        margin-top: max(1.025vw,4px);
    }
    .dl_btn{
        margin: 50px 0 0 0 !important;
    }
    .Form-Item-Input_dl {
        border-radius: 4px;
        padding: 0 calc((10/390)*100vw);
        height: calc((32/390)*100vw);
        width: 100%;
        font-size: 12px;
        margin-top: calc((7/390)*100vw);
    }
    .dl_text {
        font-size: max(4.615vw,18px);
      }
      .dl_text_service {
        font-size: max(3.589vw,14px);
        margin-top: 20px;
    }
    .dl_text_service_text{
        font-size: 14px;
        margin-top: 10px;
    }
    .dl_text_service02 {
        font-size: 18px;
        font-size: max(4.102vw,16px);
        margin-top: 20px;
    }
    .dl_text_service02_text{
        font-size: 14px;
        font-size: max(3.076vw,12px);
        margin-top: 10px;
    }
    .dl_text_box {
        margin-top: 30px;
        padding: calc((10/390)*100vw);
      }
      .dl_text::before, .dl_text::after {
        display: none;
      }    
}
