@media screen and (max-width: 750px) {


 body {
  font-size: 13px;
 }


 @media screen and (max-width: 750px) {

  body {
   font-size: 13px;
  }

  /* 余白を最小限に */
  .wrap {
   padding: 60px 20px;
  }

  .wrap.ex {
   padding-top: 30px;
   padding-bottom: 30px;
  }





  /* フォントサイズをスマホに最適化 */
  .title-large {
   font-size: 24px;
   line-height: 1.5;
  }

  .title-mid {
   font-size: 24px;
  }

  .title-micro {
   font-size: 18px;
  }

  .txt-box,
  .big-logo,
  .news-list,
  .company-table,
  .contact-form,
  .service-index,
  .case-index .item,
  .session-index .item {
   width: 100%;
   max-width: 100%;
  }


  .txt-box {
   margin: 30px auto;
  }




  .top-header {
   position: relative;
   overflow: hidden;
   background-size: cover;
   height: 600px;
   background-position: 10% 100%;
  }

  .copy-top {
   position: absolute;
   height: 150px;
   right: inherit;
   top: 4%;
   left: 4%;

  }

  .copy-bottom {
   position: absolute;
   height: 150px;
   right: inherit;
   bottom: 2%;
   left: 4%;
  }

  /* 会社概要テーブル：横並びを解除して縦に積む */
  .company-table dt {
   width: 100%;
   padding-bottom: 5px;
   border-bottom: none;
  }

  .company-table dd {
   width: 100%;
   padding-top: 0;
   padding-bottom: 20px;
  }

  /* ニュース一覧：さらにコンパクトに */
  .news-inner {
   flex-wrap: wrap;
   padding: 15px 0;
  }

  .news-item .date {
   width: 100%;
   margin-bottom: 5px;
  }

  .news-item .category {
   margin-right: 10px;
   margin-bottom: 5px;
   font-size: 10px;
   padding: 2px 10px;
   min-width: 60px;
  }

  .news-item .title {
   width: 100%;
   font-size: 14px;
  }






  .feature-box .item {
   padding: 25px;
   margin-bottom: 20px;
  }

  /* フォームのチェックボックス */
  .checkbox-group label {
   padding: 10px;
   font-size: 12px;
  }

  .flow .item {
   font-size: 17px;
  }


  .flow .arrow {
   font-size: 30px;
  }

  .flow.tate {
   margin: 0 auto;
   gap: 10px;
   justify-content: center;
  }


  .flow.tate .item {
   height: 350px;
   padding: 20px 10px;
   font-size: 15px;
  }


  .flow.tate .arrow {
   display: inline-block;
   font-size: 20px;
   margin: 0;
  }



  .case-index .tn {
   height: 250px;
   background: gray;
  }

  .case-index .head span {
   font-size: 12px;

  }


  .btn-border.small {
   padding: 10px 40px;
   font-size: 13px;
   margin-top: 20px;
  }

  .img-message {
   height: 250px;
  }


  #session {
   padding-top: 30px;
  }


  #session > .txt-box {
   width: 90%;
  }

  .session-index {
   margin: 60px auto;
  }


  .session-index .info {
   width: 100%;
  }



  .session-index .item {
   width: 95%;
   height: 350px;
   margin-bottom: 30px;
  }

  .session-index .item.one {
   background-position: 30%;
  }

  .session-index .info p {
   font-size: 13px;
  }


  .title-back {
   padding: 30px 0;
  }

  .title-back h1 {
   font-size: 26px;
  }

  .title-back h1 span {
   font-size: 16px;
  }



  /* メインコンテンツ部分 */
  .service-intro {
   padding: 20px 0;
  }

  .intro-container {
   display: flex;
   align-items: center;
   justify-content: flex-end;
   flex-direction: column-reverse;
  }

  .service-intro .txt {
   position: inherit;
   left: 0;
   z-index: 2;
  }

  .service-intro h2 {
   font-size: 22px;
  }

  .service-intro .bg-brown {
   background-color: #483700;
   padding: 5px 15px;
   display: inline-block;
   margin-bottom: 20px;
  }

  .service-intro .img {
   width: 100%;
   margin-bottom: 30px;
  }

  .illust-service {
   width: 80%;
  }

  .news-item .title {
   font-size: 15px;
   line-height: 1.5;
  }


  .txt-wrap .title {
   font-size: 18px;
  }


  .submit-btn {
   width: 100%;
   font-size: 14px;
  }


  .name-box {
   align-items: flex-start;
   flex-direction: column;
  }




  .pc {
   display: none;
  }

  .sub {
   display: none;
  }


  .tab {
   display: none;
  }

  .sp {
   display: block;
  }

 }
