@charset "utf-8";

/*================================================================

テシオテクノロジ様｜サブページ用の追加パーツ（SP）


================================================================*/

@media screen and (max-width: 767px) {
  /*---------------------rem の基準を戻す---------------------*/

  html {
    font-size: 2.564vw;
  }

  /*---------------------共通パーツの文字サイズ---------------------*/

  .hamburger .f_12,
  .site-footer .f_12,
  main .sec_head .f_12,
  main .contact .f_12 {
    font-size: 2.8vw;
  }

  .site-header .f_14,
  .hamburger .f_14,
  .site-footer .f_14,
  main .sec_head .f_14,
  main .contact .f_14 {
    font-size: 2.8vw;
  }

  .site-header .f_18,
  .hamburger .f_18,
  .site-footer .f_18,
  main .sec_head .f_18,
  main .contact .f_18 {
    font-size: 3.6vw;
  }

  .site-header .f_20,
  .hamburger .f_20,
  .site-footer .f_20,
  main .sec_head .f_20,
  main .contact .f_20 {
    font-size: 3.8vw;
  }
  .site-footer .f_20 {
    text-align: left !important;
  }

  .site-header .f_22,
  .hamburger .f_22,
  .site-footer .f_22,
  main .sec_head .f_22,
  main .contact .f_22 {
    font-size: 4vw;
  }

  .site-header .f_36,
  .hamburger .f_36,
  .site-footer .f_36,
  main .sec_head .f_36,
  main .contact .f_36 {
    font-size: 4.8vw;
  }

  /*---------------------ページトップボタン---------------------*/

  #pagetop.wrap_btn {
    right: 1.6rem;
    bottom: 2.4rem;
  }

  /*---------------------本文の左右余白---------------------*/

  main .container {
    width: 88%;
    max-width: none;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    padding-right: 0;
  }

  /*---------------------ページタイトル帯---------------------*/
  .page_ttl {
    padding: 3.2rem 6%;
  }

  .page_ttl_en {
    font-size: 3.2rem;
    letter-spacing: 2px;
  }

  .page_ttl_ja {
    margin-top: 0.8rem;
    font-size: 1.8rem;
    letter-spacing: 2px;
  }

  .page_ttl_sub {
    margin-top: 0.8rem;
    font-size: 1.3rem;
    letter-spacing: 1px;
  }

  /*---------------------パンくず---------------------*/
  .breadcrumb_inner {
    width: 88%;
    padding: 1.2rem 0;
  }

  .breadcrumb_list {
    font-size: 1.2rem;
  }

  /*---------------------セクション見出し---------------------*/
  .sec_ttl {
    gap: 0.8rem;
    font-size: 1.9rem;
    letter-spacing: 2px;
  }

  .sec_ttl_business{
    width: 90%;
    margin: 0 3vw;
    justify-content: start;
  }
  .sec_ttl_business span{
    font-size: 1.6rem;
  }

  .sec_ttl img {
    width: 1.6rem;
    height: 1.6rem;
  }

  .sec_catch {
    font-size: 2rem;
    letter-spacing: 1px;
  }

  /*---------------------電話番号ボックス---------------------*/
  .tel_box {
    padding: 2.4rem 1.2rem;
  }

  .tel_box_num a {
    gap: 0.6rem;
    font-size: 2.8rem;
  }

  .tel_box_num .material-symbols-outlined {
    font-size: 2.6rem;
  }

  .tel_box_note {
    font-size: 1.3rem;
  }

  /*---------------------注意書きボックス---------------------*/
  .notice_box {
    padding: 2rem 1.6rem;
  }

  .notice_box_ttl {
    font-size: 1.5rem;
  }

  .notice_box_list,
  .notice_box_list li,
  .sub_lead {
    font-size: 1.4rem;
  }

  /*---------------------フォーム枠---------------------*/
  .form_area {
    padding: 1rem;
  }

  .form_area_inner {
    padding: 0.6rem 0;
  }

  .form_area_placeholder {
    padding: 6rem 0;
    font-size: 1.4rem;
  }

  /*---------------------プライバシーポリシー---------------------*/
  .policy_item + .policy_item {
    margin-top: 3.2rem;
  }

  .policy_item_ttl {
    padding-bottom: 1.2rem;
    font-size: 1.7rem;
    letter-spacing: 2px;
  }


  .policy_item_txt {
    margin-top: 1.8rem;
  }

  .policy_item_txt + .policy_item_txt {
    margin-top: 1.2rem;
  }

  .policy_inner_list {
    margin-top: 1.2rem !important;
  }

  .policy_order_list {
    margin: 1.2rem auto 0 !important;
  }

  .policy_contact_box {
    margin: 1.8rem auto 0;
    padding: 2rem 1.6rem;
  }

  .policy_lead,
  .policy_item_txt,
  .policy_inner_list,
  .policy_inner_list li,
  .policy_order_list,
  .policy_order_list li,
  .policy_contact_box,
  .policy_sign {
    font-size: 1.4rem;
  }

  .policy_list {
    margin: 20px auto 0 !important;
  }

  /*---------------------表組み---------------------*/

  .stack_sp .stack_sp_item {
    display: block;
  }

  .stack_sp .stack_sp_item + .stack_sp_item {
    margin-top: 1.2rem;
    padding-top: 1.2rem;
    border-top: 1px dotted #eaeaea;
  }

  .stack_sp .stack_sp_role {
    display: block;
    color: #161386;
    font-weight: 600;
  }

  .stack_sp .stack_sp_name {
    display: block;
    margin-top: 0.2rem;
  }
  /*---------------------新着情報---------------------*/
  .news_item + .news_item {
    margin-top: 4.8rem;
  }

  .news_item_day {
    font-size: 1.4rem;
  }

  .news_item_ttl {
    font-size: 1.7rem;
    letter-spacing: 1px;
  }

  .news_item_line {
    margin-top: 1.8rem;
  }

  .news_item_body {
    margin-top: 1.8rem;
  }

  .news_item_body p {
    font-size: 1.4rem;
  }

  .news_item_body p + p {
    margin-top: 1.4rem;
  }
  /*---------------------事業紹介・会社概要の部品---------------------*/
  .sub_catch {
    font-size: 2rem;
    letter-spacing: 1px;
  }
  .sub_catch_business {
    text-align: left !important;
    width: 94%;
    margin: 6vw auto 0;
  }


.sub_lead_business{
  width: 94%;
  margin: 4vw auto 0;
}

  .biz_num {
    font-size: 2.8rem;
  }

  .biz_ttl {
    margin-top: 0.8rem;
    font-size: 1.8rem;
    letter-spacing: 1px;
  }

  .biz_txt {
    margin-top: 1.2rem;
    font-size: 1.4rem;
  }

  .table_info th,
  .table_info td {
    font-size: 1.4rem;
  }

  .table_info td {
    padding-top: 1.6rem;
    padding-bottom: 1.6rem;
  }

  .table_info td a .material-symbols-outlined {
    font-size: 1.6rem;
  }

  .msg_sign {
    margin-top: 2.4rem;
    font-size: 1.3rem;
  }

  .msg_sign .msg_sign_name {
    margin-left: 0.8rem;
    font-size: 2.2rem;
    letter-spacing: 3px;
  }

  .access_map {
    height: 24rem;
  }

  .access_btn {
    margin-top: 1.6rem;
  }
}

/* 2026-09-26：SP の固定ヘッダーぶん */
#contact_form {
  scroll-margin-top: 80px;
}
