/* reset.dev • v5.0.2 */

/* # =================================================================
   # Global selectors
   # ================================================================= */
   html{-webkit-text-size-adjust:100%;box-sizing:border-box;-moz-tab-size:4;tab-size:4;word-break:normal}*,:after,:before{background-repeat:no-repeat;box-sizing:inherit}:after,:before{text-decoration:inherit;vertical-align:inherit}*{margin:0;padding:0}hr{color:inherit;height:0;overflow:visible}details,main{display:block}summary{display:list-item}small{font-size:80%}[hidden]{display:none}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}a{background-color:transparent}a:active,a:hover{outline-width:0}code,kbd,pre,samp{font-family:monospace,monospace}pre{font-size:1em}b,strong{font-weight:bolder}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-color:inherit;text-indent:0}iframe{border-style:none}input{border-radius:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}textarea{overflow:auto;resize:vertical}button,input,optgroup,select,textarea{font:inherit}optgroup{font-weight:700}button{overflow:visible}button,select{text-transform:none}[role=button],[type=button],[type=reset],[type=submit],button{cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button:-moz-focusring{outline:1px dotted ButtonText}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}button,input,select,textarea{background-color:transparent;border-style:none}a:focus,button:focus,input:focus,select:focus,textarea:focus{outline-width:0}select{-moz-appearance:none;-webkit-appearance:none}select::-ms-expand{display:none}select::-ms-value{color:currentColor}legend{border:0;color:inherit;display:table;max-width:100%;white-space:normal}::-webkit-file-upload-button{-webkit-appearance:button;color:inherit;font:inherit}[disabled]{cursor:default}img{border-style:none}progress{vertical-align:baseline}[aria-busy=true]{cursor:progress}[aria-controls]{cursor:pointer}[aria-disabled=true]{cursor:default}
   html{
    font-size: 62.5%;
    font-family:'メイリオ', 'Meiryo', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', '游ゴシック', 'Yu Gothic', sans-serif;
    color: #202020;
    scroll-behavior: smooth;
   }
   body{ 
    line-height: 1.6;
    padding-top: 10.4rem;
  }
   h1{
    font-size: 4.8rem;
    line-height: 1.2;
    margin-bottom: 1.2rem;
  }
   h2{font-size: 3.2rem;}
   h3{
    font-size: 2.4rem;
    line-height: 1.3;
    margin-bottom: 0.6rem;
   }
   h4{font-size: 2.0rem;}
   h5{
    font-size: 1.6rem;
    margin-bottom: 0.6rem;
    }
   p{font-size: 1.6rem;}
   li{font-size: 1.6rem;}
   
   ul{
    list-style-position: inside;
    padding-inline-start: 0;
  }
  ul {
    list-style: none;
    padding-left: 0;
  }
  ul li::before {
    content: '●';
    font-size: 0.5em;
    margin-right: 1em;
    vertical-align: 25%;
  }
  a{
    font-weight: bold;
  }
/* header */
  #header{
    padding: 0 5%;
    background-color: #fff;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    transition: padding 0.4s cubic-bezier(0.4,0,0.2,1);
  }
  #header.transform{
    box-shadow: 1px 1px 6px rgba(0,0,0,0.3); ;
    padding: 0 5%;
  }
  .logo_dl{
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  header-logo-wrapper, .header-btn-wrapper{
  transition: transform 0.4s cubic-bezier(0.4,0,0.2,1);
  }
  .header-logo-wrapper{
    margin-right: 1rem;
    display: flex;
    padding: 2rem 0;
    align-items: center;
    transform-origin: 0% 50%;
    transition: transform 0.4s cubic-bezier(0.4,0,0.2,1);
  }
  .logo{
    display: block;
  }
  .header-btn-wrapper{
    display: flex;
    flex-direction: column;
    align-items:end;
    justify-content: flex-end;
    transform-origin: 100% 50%;
    transition: transform 0.4s cubic-bezier(0.4,0,0.2,1);
  }
  #header.transform .header-logo-wrapper, #header.transform .header-btn-wrapper{
    transform: scale(80%);
  }

  #header.transform .header-logo-wrapper{
    padding: 1rem 0;
  }
  #header .contact {
    text-align: right;
  }
  #header .contact a{
    font-size: 1.3rem;
    text-decoration: none;
    font-weight: 300;
    color: #1b7fbb;
    display: inline-flex;
    align-items: center;
    margin-bottom: 0.2rem;
    }
  #header .material-icons {
    margin-left: 0.2rem;
    padding-bottom: 0.1rem;
    font-size: 1.6rem;
    color: #1b7fbb;
    vertical-align: middle;
    }
  .logo_dl{
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
   .header-dl-btn{
    width:100%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 22rem;
    height: 4rem;
    border-radius: 3.6rem;
    font-size: 1.6rem;
    background-color: #4eb233;
    color: #fff;
    text-decoration: none;
    margin-right:-0.4rem;
    padding-top: 0.3rem;
  }
  .header-dl-btn .material-symbols-outlined{
    font-size:2.4rem; 
    vertical-align:middle; 
    padding-bottom: 0.2rem; 
    margin-right: 0.4rem;
  }   
  a{
    transition: all 0.2s ease 0s
  }
  a:hover{
    opacity: 0.7;
  }

/* hero-section */
  .hero-container{
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 4%;
    padding:4.8rem 0;
  }
  .hero-container img{
    width: 51%;
    margin-bottom: 2rem;
   }
  .hero-ttl{
    width: 45%;
    margin: 4rem 0;
   }
   .hero-heading-before br, h1 br{
    display: none;
   }
   .hero-heading-after .br02{
    display: none;
   }
   .hero-container {
    margin-bottom: 2rem;
   }
  .hero-heading-before{
    font-size: 2.4rem;
    font-weight: bold;
    color: #1b7fbb;
   }
  .hero-heading-after{
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.4;
    margin-bottom: 3.2rem;
   }

  .hero-label{
    margin-bottom:2.4rem;
    font-size: 1.8rem;
    color: #fff;
    background-color: #1b7fbb;
    display: flex;
    width: 18rem;
    height: 4rem;
    justify-content: center;
    align-items: center;
    padding-top: 0.4rem;
    padding-left: 0.8rem;
    border-radius: 0.8rem;
  }
  h1{
    color: #1b7fbb;
  }
  .hero-btn-wrapper{
    width:40rem;
    display: flex;
    flex-direction: column;
    margin-left: -0.8rem;
    justify-content: center;
  }
   .hero-dl-btn{
    width:100%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40rem;
    height: 6.8rem;
    border-radius: 3.6rem;
    font-size: 2.4rem;
    background-color: #4eb233;
    color: #fff;
    text-decoration: none;
    padding-top: 0.4rem;
  }
  .hero-dl-btn .material-symbols-outlined{
    font-size:3.2rem; 
    vertical-align:middle;
    padding-bottom: 0.4rem;
  }
  .dl-btn-lead{
    display: flex;
    padding: 0 1.6rem;
    text-align: center;
    position: relative;
    font-size: 1.6rem;
    color: #333;
    margin: 0 auto 1.6rem;
    line-height: 1.4;
    font-weight: bold;
  }
  .highlight{
    background: linear-gradient(transparent 50%, #fff700 50%, #fff700 90%, transparent 90%);
    padding: 0 0.2em;
    border-radius: 0.2em;
  }
  .lead-note{
    font-size: 0.8em;
    font-weight: 300;
  }
  .dl-btn-lead::before, .dl-btn-lead::after {
    content: '';
    display: inline-block;
    width: 0.1rem;
    height: 6rem;
    background: #202020;
    position: absolute;
    top: 10%;
    transform: translateY(-50%);
  }
  .dl-btn-lead::before {
    left: 0;
    transform: rotate(-30deg);  /* 左側を＼に */
  }
  
  .dl-btn-lead::after {
    right: 0;
    transform: rotate(30deg);   /* 右側を／に */
  }

/* section共通 */
   .container{
      width: 100%;
      max-width: 1000px;
      margin: 0 auto;
      padding: 8rem 0;
    }
    .section-label, .section-ttl{
      text-align: center;
      line-height: 1.4;
    }
    .section-label{
      margin-bottom: 1.6rem;
      color: #1b7fbb;
      font-weight: bold;
    }
    .section-ttl{
      margin: 0 0 4rem;
    }
    .problem-section{
      background-color: #e6f1f7;
    }
    .btn-wrapper{
      display: flex;
      width: 100%;
      justify-content: center;
    }
    .btn-2{
      display: flex;
      width: 60rem;
      height: 7.2rem;
      border-radius: 3.6rem;
      font-size: 2.0rem;
      background-color: #4eb233;
      color: #fff;
      justify-content: center;
      align-items: center;
      text-decoration: none;
      margin-top: 4rem;
    }

/* ProblemとSolution */
    .problem-cards, .solution-cards{
      display: flex;
      text-align: center;
      gap: 2%;
    }
    .problem-card {
      width:32%;
      padding: 1.6rem 0 3.2rem;
      margin:0 auto;
      background-color: #fff;
      border-radius: 0.8rem;
    }
    .solution-card{
      width:32%;
      padding: 2rem 1.6rem 2%;
      margin:0 auto;
      background-color: #5eb3e5;
      border-radius: 0.8rem;
      color: #fff;
    }
    .solution-card{
      position: relative;
    }
    .solution-card-label{
      display: flex;
      width: 12rem;
      height: 3rem;
      font-size: 1.5rem;
      font-weight: bold;
      background-color: #82c9f3;
      align-items: center;
      justify-content: center;
      margin: 0 auto;
      border-radius: 0.4rem;
      position: absolute;
      top: -1.5rem;
      left: 50%;
      transform: translateX(-50%);
    }
    .problem-card{
      padding-right: 1.6rem;
      padding-left: 1.6rem;
    }
    .problem-card-ttl, .solution-card-ttl{
      line-height: 1.3;
      margin-bottom: 0.8rem;
      font-size: 2.0rem;
    }
    .problem-card img,.solution-card img{
      width: 70%;
      margin-bottom: 1.6rem;
    }
    .problem-card p, .solution-card p{
      font-size: 1.4rem;
      line-height: 1.4;
    }
    .problem-card-ttl{
      color: #1b7fbb;
    }
/* About */
    .about-section{
      background-color: #e6f1f7;
    }
    .about-note p:nth-of-type(1),.about-note p:nth-of-type(2){
      margin-bottom: 0.4rem;
    }
    .sp-about-img{
      display: none;
    }
    .pc-about-img{
      margin: 0 auto;
      width: 100%;
    }
    .about-note{
      text-align: center;
      margin-top: 3.2rem;
    }
    .about-note span{
      font-weight: bold;
      color: #1b7fbb;
    }
/* Service */

    .service-section .container p{
      text-align: center;
    }
    .service-section .container .service-item p{
      text-align: left;
    }
    .service-list{
      display: flex;
      flex-wrap: wrap;
      margin: 0 auto;
      gap: 4%;
    }
    .service-item{
      width: 48%;
      margin-top: 4rem;
    }
    .visual-box{
      position: relative;
    }
    .visual-box img{
      width:100%;
      display: block;
    }
    .service-name{
      position: absolute;
      left: 2rem; 
      bottom: 0.6rem; 
    }
    .service-txt-wrapper{
      display: flex;
      flex-direction: column;
      width: 100%;
    }
    .service-section{
      background-color: #1b7fbb;
    }
    .service-section {
      color: #fff;
    }
    .service-section .section-label{
      color: #fff;
    }
    .service-section .section-ttl{
      margin-bottom: 2rem;
    }
    .service-txt{
      margin:1.6rem 0;
      padding-bottom: 1.6rem;
      border-bottom: 1px dashed #fff ;
    }


/* Feature */
    .feature-item-wrapper{
      display: flex;
      flex-direction: column;
      gap:1rem;
    }
    .feature-item{
      display: flex;
      align-items: center;
      gap: 4%;
    }
    .feature-item img, .feature-txt{
      max-width: 48%;
    }
    .feature-item:nth-child(odd){
      flex-direction: row-reverse;
    }
    .feature-headline{
      font-size: 2.0rem;
      line-height: 1.6;
      margin-bottom: 0.8rem;
    }
/* Point */
    .point-section{
      background-color: #e6f1f7;
    }
    .point-section .container{
      padding-bottom: 0;
    }
    .point-box{
      display: flex;
      width: 100%;
      background-color: #fff;
      padding:4rem;
      gap: 6%;
      align-items: center;
    }
    .point-wrapper-left{
      display: flex;
      justify-content: center;
      align-items: center;
      width: 47%;
    }
    .point-wrapper-left img{
      width: 100%;
    }
    .point-txt{
      display: flex;
      flex-direction: column;
      gap: 1.6rem;
      width: 47%;
      list-style-type: disc;
    }
    .point-txt li::marker{
      color: #1b7fbb;
      font-size: 140%;
    }
    .point-txt li span{
      vertical-align: 0.1em;
    }

/* Case */
    .case-section{
      background-color: #e6f1f7;
    }
    .case-item img{
      width: 100%;
      margin: 2.4rem 0;
    }
    .case-item h3{
      text-align: center;
      color: #1b7fbb;
    }
    .case-txt{
      display: flex;
      flex-direction: column;
      gap: 1.6rem;
    }
    .case-item p{
      line-height: 1.8;
    }
    .case-item +.case-item{ 
      border-top: 1px solid #fff;
      margin-top: 6rem;
      padding-top:6rem;
    }
    .sp-only{
      display: none;
    }
/* flow- */
    .flow-wrapper{
      display: flex;
      justify-content: space-between;
      align-items: center;
      position: relative;
      width: 100%;
      max-width: 1000px;
      margin: 0 auto;
      gap:4%;
    }
    .flow-circle{
      width: 16%;
      aspect-ratio: 1 / 1;
      border-radius: 50%;
      border: 2px solid #1b7fbb;
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
      justify-content: center;
      background: #fff;
      box-sizing: border-box;
      position: relative;
    }
    .flow-circle img{
      width: 50%;
    }
    .flow-circle p{
      line-height: 1.2;
      font-weight: bold;
      margin-top: 0.3em;
    }
    /* 間の三角矢印 */
    .flow-circle:not(:last-child)::after {
      content: "";
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      width: 0;
      height: 0;
      border-style: solid;
      border-top: 8px solid transparent;
      border-bottom: 8px solid transparent;
      border-left: 13px solid #1b7fbb;
      border-right: 0;
      right: calc(-16% - 10px);
      }    
    .flow-wrapper {
      position: relative;
    }
    .flow-coupon{
      font-size: 2rem;
      margin-top: 4rem;
      text-align: center;
    }
/* Simulation */
    .simulation-section{
      color: #fff;
      background-color: #1b7fbb;
    }
    .simulation-section .section-label{
      color: #fff;
    }
    .simulation-section .btn-2{
      margin-top: 0;
    }
/* download */
    #download-section {
      background-color: #e6f1f7;
    }
    #download-section h2{
      color: #1b7fbb;
    }
    #download-section .contact a{
      display: inline;
      justify-content: center;
      font-size: 1.6rem;
      text-decoration: none;
      font-weight: 300;
      color: #1b7fbb;
    }
    .contact{
      text-align: center;
    }
    #download-section .material-icons {
      margin-left: 0.4rem;
      padding-bottom: 0.3rem;
      font-size: 2rem;
      color: #1b7fbb;
      vertical-align: middle;
      }
      .privacy-policy{
        display: inline;
        justify-content: center;
        font-size: 1.6rem;
        text-decoration: none;
        color:#1b7fbb;
        margin: 2.4rem 0 1rem;
        font-weight: 300;
      }
      .pp-wrap{
        text-align: center;
        margin: 2rem 0 0.6rem;
      }
      /* フォーム */
      .ss_contents fieldset{
        font-size: 16px;
        padding: 5.6px 12px 10px;
      }
      .ss_contents select, .form-wrap textarea, .ss_required_field input{
        padding: 4px 7px;
        background-color: #fff;
      }
      .ss_input .ss_bottomComment{
        font-size: 12px;
      }      
      .form-wrap textarea{
        width: 100% !important;
      }
      .form-wrap .ss_btnArea{
        margin-top: 2rem;
      }
      .form-wrap{
        width: 100%;
        max-width: 1000px;
        margin: 0 auto;
        background-color: #fff;
        padding:2rem 2rem
      }
      .ss_input{
        width: 100%;
      }
      .ss_contents{
        width: 100%;
        max-width: 700px;
        margin: 0 auto;
      }

/* footer */
  #footer{
    border-top:1px dashed #888888;
  }
  #footer_menu{
    background-color: #F9F9F9;
    padding: 2rem 0;
  }
  #footer p#copyright{
    margin:5px 160px 5px 10px;
    color:#888888;
    display:inline;
      font-size: 11px;
      line-height: 140%;
  }
  .footer_menu .footer_nav {
    text-align: center;
    font-size: 11px;
  }
  .footer_menu .wrapper {
    box-sizing: border-box;
    margin: auto;
    width:100%;
  }

  .footer_copy {
    display: block;
    background: #e5e5e5;
    padding-top: 2rem;
    padding-bottom: 2rem;
    font-size: 1.2rem;
    justify-content: center;
    }
  .footer_copy p{
    font-size: 1.2rem;
    text-align: center;
  }
 .footer_menu .footer_nav {
      text-align: center;
      font-size: 11px;
  }
 .nav_item a{
    font-size: 1.1rem;
  }

  .footer_menu .nav_item .nav_link {
    color: #535353;
    text-decoration: none;
    font-weight: 300;

    }
  .footer_menu .nav_item::before {
      display: none;
    }
  .footer_menu .nav_item {
    background: url(https://www.teldevice.co.jp/img/common/ico_arr_02.png) no-repeat 0 50%;
    display: inline-block;
    padding: 0 20px 0 13px;
  }
 .footer_logo-wrapper{
  display: flex;
  justify-content: center;
 }
 .page-top {
  position: fixed;
  bottom: 30px;
  right: 30px;
  padding: 10px 15px;
  font-size: 18px;
  border: none;
  border-radius: 50%;
  background-color: #333;
  color: #fff;
  cursor: pointer;
  opacity: 0;
  transition: opacity 0.3s;
  z-index: 999;
}
.page-top.show {
  opacity: 1;
}
.company-profile-section .container{
  text-align: center;
}
.profile-ttl{
  text-align: center;
  color: #1b7fbb;
  font-size: 1.8rem;
  font-weight: bold;
  padding-bottom:0rem;
  border-bottom: 2px solid #1b7fbb;
  display: inline-block; 
}
.company-profile{
  text-align: left;
  width: calc(50% - 4.1rem);
  font-size: 1.6rem;
  table-layout: auto;
  border-collapse: separate;
  border-spacing: 0 0.5em;
}
.company-profile tr{
  vertical-align: top;
}
.company-profile th{
  width: 32%;
}
.company-profile-l td{
  width: 68%;
}
.table-wrapper{
  display: flex;
  flex-wrap: wrap;
  gap: 4rem;
  margin-top: 4rem;
}
.cp-line{
  border: 2px solid #dcdcdc;
  padding:4rem;
}
.v-line{
  width: 2px;
  background-color: #dcdcdc;
}

@media screen and (max-width:1300px) {
  .container{
    padding: 6rem 3rem;
  }
  .hero-container{
    padding:0 3rem;
  }
  .hero-heading-before{
    font-size: 2rem;
  }
  .hero-heading-before br, h1 br{
    display: none;
  }
  .hero-heading-after .br02{
    display: none;
  }
  h1{
    font-size: 3.8rem;
  }
  .hero-heading-after{
    font-size: 1.6rem;
  }
  .hero-dl-btn{
    height: 6rem;
    font-size: 2rem;
  }
  .hero-dl-btn .material-symbols-outlined{
    font-size: 2.8rem;
  }
  .feature-item-wrapper :nth-child(4) br{
    display: none;
  }


}
@media screen and (max-width: 1000px){
  p{
    font-size: 1.4rem;
  }
  .hero-heading-before{
    font-size: 2rem;
    line-height: 1.2;
    margin-bottom: 0.4rem;
  }
  .hero-heading-before br, h1 br{
    display:block;
  }
  .hero-heading-after .br02{
    display: block;
  }
  .hero-btn-wrapper{
    width: 30rem;
  }
  .section-ttl{
    font-size: 3rem;
  }
  .dl-btn-lead{
    font-size: 1.4rem;
  }
  .hero-dl-btn{
    width:30rem;
  }
  .hero-ttl{
    width:40%;
  }
  .hero-container img{
    width: 56%;
  }
  .problem-card p br, .solution-card p br{
    display: none;
  }
  .problem-card-ttl, .solution-card-ttl{
    font-size: 1.8rem;
  }
  .feature-headline{
    font-size: 1.8rem;
  }
  .service-name{
    font-size: 2rem;
  }
  .sp-only{
    display: block;
  }
  .flow-circle p{
    font-size: 1.3rem;
  }
}
@media screen and (max-width: 768px) {
  html, body {
    max-width: 100vw;
    overflow-x: hidden;
  }
  p, li{
    font-size: 1.4rem;
  }
  .section-ttl{
    font-size: 2.4rem;
  }
  .feature-headline{
    font-size: 1.6rem;
  }
  .feature-headline br{
    display: none;
  }
  .feature-txt p{
    font-size: 1.4rem;
  }
  .feature-item-wrapper{
    gap: 3rem;
  }
  .hero-container{
    display: flex;
    flex-direction: column;
    padding-top: 0;
    margin-bottom: 4rem;
  }
  .hero-container img{
    width: 80%;
    display:block;
    margin: 0 auto 5rem;
  }
  .hero-ttl {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    width: 100%;
    max-width: 700px;
    margin: 0 auto;
  }
  .hero-label {
    display: flex;
    justify-content: center;
  }
  .container{
    width: 100%;
  }
  .hero-heading-before br, h1 br{
    display: none;
  }
  .hero-heading-after .br02{
    display: none;
  }
  .problem-card-ttl, .solution-card-ttl{
    font-size: 1.8rem;
  }
  .about-note p{
    font-size: 1.35rem;
    text-align: left;
  }
  .point-box{
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .point-txt{
    width: 100%;
  }
  .point-wrapper-left img{
    margin: 0 auto;
  }
  .point-wrapper-left{
    width: 80%;
    margin-bottom: 2rem;
  }
  .flow-circle{
    width: 17%;
  }
  .flow-circle p{
    font-size: 0.9rem;
  }
  .flow-circle:not(:last-child)::after{
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-left: 9.75px solid #1b7fbb;
    right: calc(-17% - 4px);
  }
}
@media screen and (max-width:680px) {
  .problem-card-ttl, .solution-card-ttl{
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 600px) {
  p{
    font-size: 1.4rem;
  }
  li{
    font-size: 1.4rem;
  }
  h3{
    font-size: 1.8rem;
  }
  h1{
    font-size: 3rem;
  }
  h1 br{
    display: none;
  }
  .section-ttl br{
    display: block;
  }
  .header-logo-wrapper{
    max-width: 60%;
    margin-right: 3%;
  }
  .header-dl-btn .material-symbols-outlined{
    font-size: 1.6rem;
  }
  #header .contact a{
    font-size: 1rem;
  }
  .header-btn-wrapper{
    max-width: 37%;
  }
  .header-dl-btn{
    margin-right: -0.2rem;
  }
  .logo{
    width: 100%;
  }
  .header-dl-btn{
    width: 12rem;
    height: 2rem;
    font-size: 1rem;
  }
  .hero-label{
    margin-bottom: 1rem;
  }
  .hero-container{
    width: 90%;
  }
  .hero-container img{
    width: 100%;
    margin: 0 0 2rem;
  }
  .hero-heading-before{
    font-size: 1.4rem;
    margin-bottom: 0.4rem;
  }
  .hero-heading-after{
    font-size: 1.35rem;
    margin-bottom: 1.6rem;
  }
  .hero-container{
    padding: 0;
  }
  .hero-container img{
    max-width: 90%;
  }
  .problem-card p br, .solution-card p br{
    display: block;
  }
  .feature-txt{
    max-width: 100%;
  }
  .hero-label{
    width: 14rem;
    height: 3rem;
  }
  .hero-label strong{
    font-size: 1.4rem;
  }
  .dl-btn-lead{
    font-size: 1.2rem;
    margin: 0 0 0.8rem;
  }
  .dl-btn-lead::before, .dl-btn-lead::after{
    height: 4rem;
  }
  .hero-btn-wrapper{
    display: flex;
    width: auto;
    margin:0;
    text-align: center;
    justify-content:center;
  }
  .hero-btn-wrapper a{
    justify-content: center;
  }
  .hero-dl-btn {
    width: 22rem;
    height: 4.8rem;
    font-size: 1.8rem;
    margin:0 auto;
  }
  .container{
    padding: 5rem 5%;
  }
  .btn-2{
    height: 6rem;
    font-size: 1.4rem;
  }
  .section-ttl{
    font-size: 1.9rem;
  }
  .problem-cards, .solution-cards{
    flex-direction: column;
  }
  .problem-cards img, .solution-cards img{
    width: 50%;
    margin-bottom: 0;
  }
  .problem-card, .solution-card{
    width: 90%;
  }
  .problem-cards{
    gap: 1.6rem;
  }
  .solution-cards{
    gap: 3.2rem;
  }
  .solution-card{
    padding-bottom: 2.4rem;
  }
  .problem-card-ttl, .solution-card-ttl{
    font-size: 1.8rem;
  }
  .about-section .section-ttl br{
    display: none;
  } 
  .pc-about-img{
    display: none;
  }
  .sp-about-img{
    display: block;
    margin: 0 auto;
    width: 84%;
  }
  .about-section .section-ttl{
    margin-bottom: 2rem;
  }
  .about-note p:nth-of-type(1),.about-note p:nth-of-type(2){
    margin-bottom: 1.4rem;
  }

  .service-list{
    flex-direction: column;
  }
  .service-item{
    width: 100%;
  }
  .service-item ul{
    list-style-position: outside;
  }
  .service-item li{
    margin-left: 1.4rem;
    text-indent: -1.4rem;
  }
  .feature-item img {
    display: none;
  }
  .feature-txt{
    width: 100%;
  }
  .feature-headline{
    font-size: 1.8rem;
  }
  .feature-item:nth-child(4) .feature-headline br{
    display: none;
  }
  .feature-item-wrapper{
    gap: 4rem;
  }
  .point-box{
    flex-direction: column;
  }
  .point-txt{
    width: 90%;
  }
  .case-item +.case-item{
    margin-top: 4.8rem;
    padding-top: 4.8rem;
  }
  .flow-wrapper{
    flex-direction: column;
    gap: 4rem;
    justify-content: center;
    align-items: center;
  }
  .flow-circle{
    width: 12rem;
    height: 12rem;
  }
  .flow-circle p{
    font-size: 1.2rem;
  }
  .flow-circle:not(:last-child)::after {
    right: auto;
    left: 50%; 
    top: 100%;
    transform: translate(-50%, 0) rotate(90deg); ;
    margin-top: 1.5rem;
  }
  .form-wrap{
    padding: 0;
  }

  .company-profile{
    font-size: 1.4rem;
    width: 100%;
  }
  .table-wrapper{
    flex-direction: column;
  }
  .cp-line{
    padding: 4rem 1.4rem;
  }
  .company-profile th{
    width: 36%;
  }
  .table-wrapper{
    gap: 0rem;
  }
  .footer_nav.wrapper{
    width: 100%;
    text-align: left;
    padding: 0 1.6rem;
  }
  .problem-card-ttl br, .solution-card-ttl br{
    display: block;
  }
  .problem-card-ttl, .solution-card-ttl{
    font-size: 1.8rem;
  }
  .problem-card, .solution-card{
    width: 100%;
  }
}