
/* レスポンシブ */
@media screen and (max-width: 1200px) {
  .lp_page {
    max-width: 100%;
  }
}

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


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

  .p-sub_pc_on {
    display: none !important;
  }

  table .p-sub_pc_on {
    display: none !important;
  }

  .p-sub_sp_on {
    display: block !important;
    z-index: 1 !important;
  }

  table .p-sub_sp_on {
    display: table-cell !important;
  }


  h1, h2, h3, section, [id] {
  scroll-margin-top: 60px;
  }

  .l-inner {
    width: 90%;
    margin: 80px auto;
  }

  #page_header{
    height: 46vh;
  }

  #page_content{
    width: auto;
    padding: 0 !important;
    margin: 0 !important;
  }

  .kv-title {
    font-size: 40px;
  }

  .kv-sub_title{
    margin-bottom: 0rem;
  }

  .p-top_head{
    font-size: 40px !important;
  }

  .c-table tr{
    display: block;
  }

  .c-table tr th, td {
    display: block;
  }

  .c-pagination-inner{
    max-width: 140px;
  }

  /* ヘッダー */
  /* ヘッダー帯（全幅固定・上部固定） */
  .l-header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 300;
    width: 100vw !important;
    height: 60px !important;
    margin: 0;
    flex-direction: row;
    justify-content: space-between;
    background: #fff;
  }

  .l-header-contents_side_slider{
    padding-top: 0;
  }

  /* 追加：固定ヘッダー分の余白を確保 */
  #container {
    padding-top: 60px;
  }

  .l-header_hamburger {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    padding: 0;
    margin: 0;
    border: 0;
    color: var(--primary-color);
    background-color: var(--primary-color);
  }

  .l-header_hamburger_bar_wrapper {
      position: absolute;
      top: 50%;
      width: 20px;
      height: 1.5px;
  }

  .hamburger_bar {
    -webkit-transform-origin: center center;
    position: absolute;
    left: 0;
    width: 100%;
    height: 1.5px;
    transform-origin: center center;
    transition-duration: 1s;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    transition-timing-function: cubic-bezier(.19, 1, .22, 1);
  }

  .hamburger_bar.active:nth-child(2) {
    display: none;
  }

  .hamburger_bar:first-child {
    -webkit-transform: translateY(-6px);
    transform: translateY(-6px);
  }

  .hamburger_bar.active:first-child {
    transform: rotate(45deg);
  }

  .hamburger_bar:last-child {
    -webkit-transform: translateY(6px);
    transform: translateY(6px);
  }

  .hamburger_bar.active:last-child {
    transform: rotate(-45deg);
  }

  .hamburger_bar:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #fff;
    content: "";
  }

  #header_slider_wrap {
    width: 95%;
    height: 650px !important;
    height: 550px !important;
    height: 580px !important;
    border-radius: 0 0 80px 0;
  }

  #header_slider {
    height: 100% !important;
  }

  #page_header_inner {
    width: 100%;
    top: 25%;
    padding: 0 20px;
    box-sizing: border-box;
  }

  #header_slider .slick-track {
    margin: 0;
  }

  #header_slider .slide-media {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
  }

  .menu_sub_list_wrapper {
    display: none;
  }

  .menu_sub_list_text {
    background: #fff;
  }

  .menu_sub_list_text:not(:last-child) {
    border-bottom: 1px solid #56c4de60;
  }

  .menu_sub_list_text a {
    display: block;
    font-size: 14px;
    font-weight: bold;
    padding: 1rem 2rem 1rem 2rem;
  }

  .menu_contact_wrapper {
    display: inline-block;
    margin-bottom: 1rem;
  }

  .menu_contact_contents {
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .menu_contact_contents:hover {
    opacity: 0.6;
  }

  .menu_contact_contents_text {
    font-size: 14px;
    font-weight: bold;
    background-color: #fff;
    color: #E6001F;
  }

  .menu_tel_wrapper {
    display: flex;
    align-items: center;
    justify-content: start;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
  }

  .menu_tel_text {
    font-size: 26px;
    color: #fff;
  }

  .menu_tel_text a {
    font-weight: bold;
  }

  .menu_sub_list_wrapper {
    display: none;
  }

  .menu_sub_list_text {
    background: #fff;
  }

  .menu_sub_list_text:not(:last-child) {
    border-bottom: 1px solid #56c4de60;
  }

  .menu_sub_list_text a {
    display: block;
    font-size: 14px;
    font-weight: bold;
    padding: 1rem 2rem 1rem 2rem;
  }

  .menu_under_text{
    color: #fff;
  }

  #page_header .bg_image{
    width: 90%;
    height: 20%;
    top: 38%;
  }

  .header_contents_img-sub{
    width: 40%; /* 50 */
    top: 28% !important;
    right: 0;
  }

  .l-header_logo_wrapper {
    position: relative;
    height: 60px;
    width: 200px;
    display: flex;
    align-items: center;
    padding-left: 16px;
    z-index: 302;
    overflow: hidden;
  }

  .l-header_logo_wrapper img {
    width: 100%;
    height: auto;
    max-height: 44px;
    object-fit: contain;
    display: block;
  }

   .l-footer__inner {
    padding: 4rem 25px 2rem;
  }
  
  .l-footer__info {
    display: block;
  }
  
  .l-footer__info-logo-sp{
    border-bottom: 1px solid #535353;
    padding-bottom: 4rem;
  }
  
  .l-footer__info-logo-link{
    width: 16rem;
    margin: 0 auto;
  }
  
  .l-footer__info-logo-link img{
    width: 100%;
  }

  .l-footer__info-nav{
    margin-top: 2rem;
  }

  .l-footer__info-nav-sp{
    margin-top: 4rem;
  }
  
  .l-footer__info-nav-sp-list{
    display: grid;
    grid-template-columns: 1fr 1fr;
    row-gap: 1.8rem;
    column-gap: 2rem;
  }
  
  .l-footer__info-nav-item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding-bottom: 1rem;
  }
  
  .l-footer__info-sp-item-home{
    grid-column: span 2;
  }
  
  .l-footer__info-sp-item-works{
    grid-column: span 2;
    padding-bottom: 1rem;
  }

  .l-footer__info-sp-item-partner{
    grid-column: span 2;
  }

  .l-footer__info-sp-item-faq{
    grid-column: span 2;
  }

  .l-footer__info-sp-item-news{
    grid-column: span 2;
  }

  .l-footer__info-sp-item-contact{
    grid-column: span 2;
  }
  
  .l-footer__info-nav-item-text {
    font-size: clamp(16px, 1vw, 18px);
  }
  
  .l-footer__address {
    margin-top: 2rem;
  }
  
  .l-footer__address_text {
    font-size: clamp(16px, 1vw, 18px);
  }
  
  .l-footer__info-bottom-copyright{
    font-size: 13px;
  }
  
  .l-footer__top{
    right: 20%;
    bottom: 120px;
  }
  
  .l_footer_pagetop_txt{
    position: relative;
    font-weight: bold;
    color: var(--primary-color);
  }
  
  .l-footer__privacypolicy{
    font-size: clamp(16px, 1vw, 18px);
  }

  /* include-footer-contact */

  .include-footer-contact{
    padding: 0;
  }

  .include-footer-contactwrap-inner{
    padding: 80px 0;
  }

  .include-footer-contact-content{
    flex-direction: column;
  }

  .include-footer-contact-inner{
    padding: 40px 32px;
  }

  .include-footer-contact-head{
    font-size: 19px;
    width: 100%;
    text-align: center;
    margin-bottom: 2rem;
  }

  .include-footer-contact-head-en{
    font-size: 75px;
    margin-bottom: -2rem;
  }

  .include-footer-contact-tel{
    padding-right: 0;
    margin-bottom: 2rem;
  }

  .include-footer-contact-tel .p-top_text{
    font-size: 20px;
    font-weight: 500;
    line-height: 1.2 !important;
  }

  .include-footer-contact-tel::after{
    content: none;
  }

  .include-footer-contact-btns{
    padding-left: 0;
  }

  .tel-number{
    font-size: 36px;
  }

  .p-sub_head {
    font-size: 23px !important;
    margin-bottom: 25px !important;
    /* white-space: nowrap; */
  }


  /* トップページ */

  .l-header_contents_list {
    top: 25%;
    left: 7%;
    transform: none;
  }

  .l-header_contents_phrase_text-red {
    font-size: 48px;
  }

  .l-header_contents_phrase_text{
    font-size: 25px;
    line-height: 1;
    margin-bottom: 1rem;
  }

  .l-header_contents_phrase_text_space{
    margin-bottom: 1rem;
  }

  .l-header_contents_sub_text{
    width: 90%;
  }
  
  .l-header_contents_img{
    /* 幅を可変にしつつ上限を付ける */
    width: clamp(160px, 60vw, 320px);
    max-width: calc(100% - 32px); /* 端末の左右16pxずつの余白を確保して溢れ回避 */
    height: auto;
    display: block;
  }
  
  .p-top_about-inner{
    padding: 0;
    margin-top: 0;
  }

  .p-top_about-list {
    display: block;
  }

  .p-top_about-title::after{
    top: 64px;
  }

  .p-top_about-title{
    margin-bottom: 6rem;
  }

  .p-top_about-list-textwrap {
    width: 100%;
    padding: 2rem 0;
  }
  
  .p-top_about-list-imgwrap {
    width: calc(75vw - 8%);
    margin-left: auto;
    margin-right: calc(50% - 50vw);
    height: 340px;
    padding: 0;
    /* border-radius: 10px 0 0 10px; */
    position: static;
    left: auto;
    transform: none;
  }

  .p-top_about-list-imgwrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 10px 0 0 10px;
  }

  .p-top_business-bg{
    padding: 0;
  }

  .p-top_business-list{
    display: block;
  }

  .p-top_business-list-item{
    width: 100%;
  }

  .p-top_business-list-item:first-child{
    margin-bottom: 4rem;
  }

  .p-top_works-wrap{
    display: block;
  }

  .p-top_works-text-textwrap{
    width: 100%;
  }

  .p-top_works-inner{
    padding: 0;
  }

  .p-top_works-list{
    width: 100%;
  }

  .p-top_works-title::after{
    top: 64px;
  }

  .p-top_associate-bg{
    margin-top: 0;
    padding: 0;
  }

  :root{
    --associate-left: 0px;
    --associate-row-h: 400px;
  }

  .p-top_associate-inner{
    height: auto;
    margin-bottom: 0;
  }

  .p-top_associate-img-list{
    left: 8%;
    transform: none;
    width: 100%;
    padding-left: 0;
    grid-template-columns: 40% 30% 1fr;
    gap: 10px;
    height: auto;
  }

  .p-top_associate-img-list-item{
    height: var(--associate-row-h);
  }

  .p-top_associate-messagewrap{
    position: relative;
    width: 100%;
    padding: 24px 0 0;
    margin-top: 8rem;
  }

  .p-top_associate-message-text{
    font-size: 32px;
  }

  .p-top_associate-bg::after{
    width: 100%;
    height: 150px;
  }

  .p-top_associate-title{
    margin-bottom: 6rem;
  }

  .p-top_associate-title::after{
    bottom: -40px;
  }

  .breadcrumbsWrap{
    transform: none;
    left: 5%;
    top: 12%;
    width: 90%;
    overflow-x: auto;
    overflow-y: hidden;
    word-break: keep-all;
    white-space: nowrap;
  }

  /* サブページ---company */
  .p-compan_greeting{
    margin-bottom: 4rem;
  }

  .p-company_greeting-name{
    font-size: 23px;
  }
  
  .p-company_greeting-name-title{
    font-size: 18px;
  }

    /* サブページ---recruit */
  .p-recruit_environment-text{
    width: 90%;
    margin: 0 auto;
  }

  .p-company_greeting-name{
    font-size: 23px;
  }
  
  .p-company_greeting-name-title{
    font-size: 18px;
  }

  /* サブページ---works */
  .p-works_list_wrapper {
    margin-bottom: 10vw;
  }

  .p-works_inner {
      padding: 8rem 0;
  }

  .p-works_list{
    grid-template-columns: auto;
    gap: 12vw;
  }

  .p-works_list_item_inner {
      padding: 4vw 8vw 16vw;
  }

  .p-works_category {
      margin: 4vw 0 4.5vw;
      padding: 2vw 4vw;
  }

  .c-btn_view-more_wrapper .c-btn_view-more {
      justify-content: right;
  }

  /* サブページ---work */
  

  /* サブページ---work-single */

  .p-works-single_inner {
      padding: 80px 0;
  }

  .p-works-single_post_category {
      margin: 0 0 5vw;
  }

  .p-works-single_post_header_inner {
      display: block;
  }

  .p-works-single_post_title {
      margin-bottom: 5vw;
  }

  .p-works-single_post_header_inner p {
      padding: 0;
  }

  .p-works-single_inner .c-btn_view-more_wrapper {
      transform: none;
  }

  .p-works-single_before-after{
    gap: 15px;
  }

  .p-entry__thumbnail{
      width: 100%;
      height: 230px;
      margin: 0 auto;
  }

  /* サブページ---flow */
  .p-flow_item-head-step {
      width: 35%;
      border-radius: 32px;
      margin-right: 16px;
      font-size: 20px;
  }

  .p-flow_item-content-img{
    width: 30%;
  }

  .p-flow_item-content-text{
    width: 60%;
  }


  /* サブページ---faq */
  .p-faq_accordion {
      margin-bottom: 14px;
      border-radius: 6px;
  }

  .p-faq_accordion summary {
      display: flex;
      align-items: flex-start;
      position: relative;
      padding: 16px 50px 16px 65px;
      font-size: 15px;
      line-height: 1.6;
      cursor: pointer;
  }

  .p-faq_accordion-q-head {
      position: absolute;
      left: 5%;
      top: 0;
      bottom: 0;
      margin: auto 0;
      width: 34px;
      height: 34px;
      line-height: 34px;
      font-size: 18px;
      background: var(--primary-color);
      color: #fff;
      border-radius: 50%;
      text-align: center;
  }

  .p-faq_accordion summary::before {
      right: 22px;
      width: 2px;
      height: 14px;
      background: var(--primary-color);
  }

  .p-faq_accordion summary::after {
      right: 16px;
      width: 14px;
      height: 2px;
      background: var(--primary-color);
  }

  .p-faq_accordion[open] .p-faq_accordion-a {
      display: flex;
      align-items: flex-start;
      flex-direction: row;
  }

  .p-faq_accordion-a-head {
      width: 34px;
      height: 34px;
      line-height: 34px;
      font-size: 18px;
      margin-right: 10px;
      margin-left: 0;
      flex-shrink: 0;
      margin: auto 0;
  }

  .p-faq_accordion-a-text {
      font-size: 15px;
      line-height: 1.7;
      flex: 1;
      margin-right: 0;
      margin-left: 20px;
  }

  .p-faq_accordion-divider {
      margin: 16px 50px 16px 65px;
      height: 3px;
      background-size: 8px 3px;
  }

  .faq-h2-businesspartner {
      margin-top: 60px !important;
      margin-bottom: 20px;
  }

  .p-faq_accordion-a-text-img{
  width: 90%;
}

  /* サブページ---service-mokukouji */
  .features {
    position: relative;
    left: 50%;
    width: 100%;
    /* ← 画面幅いっぱい */
    transform: translateX(-50%);
    /* ← 中央に戻す */
    background-color: #F4F7F9;
    padding: 0;
    margin-top: 70px
  }

  .features__title {
    font-size: 20px;
  }

  .features__text {
      text-align: left;
  }

  .feature-item {
      width: 100%;
      max-width: 280px;
      margin-bottom: 2rem;
  }


  .p-service-setsubikouji_opening {
      display: block;
  }

  .p-service-setsubikouji_opening-img-wrap {
      width: 100%;
  }

  .p-service-setsubikouji_opening-text-wrap {
      width: 100%;
  }

  .feature-item__title {
      margin: 20px;
  }

  /* サブページ---service-reform */
  .p-service-reform_opening{
    display: block;
  }
  
  .p-service-reform_opening-img-wrap{
    width: 100%;
  }
  
  .p-service-reform_opening-text-wrap{
    width: 100%;
  }

  .p-service-reform_menu{
    margin-top: 4rem;
  }

  .p-service-reform_menu-list{
    display: block;
  }

  .p-service-reform_menu-list-item{
    width: 100%;
  }

  .p-service-reform_flow{
    margin-top: 4rem;
  }

  .p-service-reform_flow-item-head-title{
    width: 100%;
  }

  .p-service-reform_flow-item-head{
    display: block;
    margin-bottom: 1.2rem;
  }

  .p-service-reform_flow-item-head-step{
    font-size: 20px;
    width: 40%;
    margin-right: 1rem;
  }

  .p-service-reform_flow-item-content{
    display: block;
    margin-bottom: 2rem;
    padding-bottom: 2rem;
  }

  .p-service-reform_flow-item-content-img{
    width: 100%;
    margin-bottom: 2rem;
  }

  .p-service-reform_flow-item-content-img img{
    width: 100%;
  }

  .p-service-reform_flow-item-content-text{
    width: 100%;
    margin-top: 2rem;
  }


  /* サブページ---partner */
  .p-partner-banner {
    height: auto;
    padding: 40px 0;
  }

  .p-partner-banner_content{
    position: relative;
    max-width: 90%;
    padding: 30px 20px;
  }

  .p-partner-banner_title {
      font-size: 20px;
  }

  .p-partner-banner_text {
      font-size: 14px;
  }

  .p-partner-banner_content {
      max-width: 80%;
  }

  .p-partner-banner_title {
      font-size: 20px;
      line-height: 30px;
  }
  
  .p-partner_profile{
    margin-top: 0;
  }

  .post_content p {
      line-height: 2;
      padding-left: 0 !important;
  }

  /* サブページ---news */
  .p-sub_news_inner {
    display: block;
    padding: 0;
  }

  .p-sub_news_main_contents {
      width: 100%;
      margin-bottom: 4rem;
  }

  .p-sub_news_side_contents {
      width: 100%;
  }

  .p-sub_news_list {
      margin-bottom: 4vw;
  }

  .p-sub_news_list a {
      padding: 4vw;
  }

  .p-sub_news_date {
      font-size: 14px;
      margin-bottom: 8px;
  }

  .p-sub_news_title {
      font-size: 18px;
      line-height: 1.6;
  }

  .p-sub_news_side_contents_item_inner {
      padding: 1.5rem;
  }

  .p-sub_news_side_title {
      font-size: 18px;
      margin-bottom: 1.5rem;
  }

  .p-sub_news_side_contents_list a {
      font-size: 14px;
  }

  .p-sub_news_side_date {
      font-size: 12px;
  }

  .p-sub_news_side_post_title {
      font-size: 14px;
      line-height: 1.6;
  }

  .p-sub_news_side_contents_item {
      margin-bottom: 45px;
  }

  .page-nation {
      margin-top: 8vw;
  }

  /* サブページ---news-single */

  .p-single-news_post_wrapper{
    padding: 2rem;
  }

  /* サブページ---privacy-policy */
  .p-privacy-policy_head_text_wrapper {
      margin-bottom: 40px;
  }

  .p-privacy-policy_text a{
    color: var(--primary-color);
  }


  /* サブページ---contact */

  .p-faq_title_wrapper {
    margin-bottom: 4rem;
  }

  .p-contact_content {
    padding: 2rem 2rem;
    width: 80%;
  }

  .p-contact_content_list{
    width: 100%;
  }

  .p-contact_head_text {
    font-size: 16px;
  }

  .p-contact_text {
    width: 100%;
    grid-template-columns: repeat(2, 1fr);
    grid-column-gap: 1vw;
    justify-content: unset;
  }

  .p-contact_main_text {
    order: 2;
  }

  .p-contact_sub_text {
    width: 26px;
    order: 1;
    margin: 0 0.5rem 0 0;
  }

  .p-contact_content_list_item {
    display: grid;
    gap: 0.5rem;
  }

  .p-contact_text {
    font-size: 16px !important;
  }

  .p-contact_input {
    width: 100%;
  }

  .p-contact_text_sub {
    font-size: 14px !important;
  }

  .wpcf7 .contact_submit {
    font-size: 16px;
    width: 80%;
  }

  .p-contact_submit::before {
    top: 27%;
    right: 12%;
  }

  .wpcf7 input, .wpcf7 textarea, .wpcf7 select{
    width: 100%;
  }

  .p-contact_checkbox input{
    width: 6%;
  }

  .p-contact_content_footer{
    margin-top: 4rem;
  }

  /* サブページ---contact-complete */

  .p-contact-complete_head_text {
      font-size: 22px;
  }

  .p-contact-complete_body_text.c-font-c-F07575 {
      font-size: 14px;
  }

  .c-btn-circle_text {
      font-size: 16px;
  }

  .c-btn-circle a {
      gap: 1rem;
      padding: 1rem 2rem;
  }

  .p-contact-complete_body_text {
      text-align: left;
  }

  .bg_image.pc {
      display: none;
  }
  .bg_image.mobile {
      display: block;
  }
  /* top renovation */
  .p-top_renovation-inner {
    padding: 0 20px;
  }
  .p-top_renovation-list-item {
    background-image: url(../img/common/sp_top_sentence.png); /* SP用画像 */
    background-size: 110%;
    background-position: calc(50% - 20px) 75px;
    padding: 2rem 0 0 0;
  }

  .p-top_renovation_opening {
    flex-direction: column;
    padding: 40px 20px;
    gap: 75px;
  }

  .p-top_renovation_opening-text-wrap {
    width: 100%;
    padding-top: 0;
  }

  .p-top_renovation_opening-img-wrap {
    width: 100%;
    padding-top: 0;
    padding-bottom: 0;
  }

  .p-top_renovation_opening-img img {
    width: 100%;
    height: auto;
  }

  .p-top_renovation_opening-main-head {
    font-size: 22px;
  }

  .p-top_renovation_opening-sub-head {
    font-size: 22px;
  }

  .p-top_renovation_opening-text,
  .p-top_renovation_opening-sub-text {
    font-size: 14px;
  }

  /* 感謝状セクション */
    .item-kansya {
        width: 100%;        /* SPは100%に戻す */
        margin-left: 0;
        overflow: hidden;
    }

    .item-kansya.p-top_renovation_opening {
        padding: 0;
    }

    .item-kansya.p-top_renovation_opening-img {
        align-items: center;
    }

  .item-kansya-inner {
    flex-direction: column;
    padding: 80px 20px;
    gap: 24px;
    max-width: 100%;
  }

  .item-kansya .p-top_renovation_opening-img-wrap {
    order: 2;
    width: 100%;
    padding: 0;
  }

  .item-kansya .p-top_renovation_opening-text-wrap {
    order: 1;
    width: 100%;
    padding: 0;
    text-align: center;
  }

  .item-kansya .p-top_renovation_opening-img img {
    width: 100%;
    height: auto;
  }

  .item-kansya .p-top_renovation_opening-img img {
    width: 100%;
    height: auto;
  }
   /* ===== サービス一覧：1列 ===== */
  .p-top_works-title{
    font-size: 22px;
  }

  .p-top-work_menu-list {
    display: flex;
    flex-direction: column;
  }

  .p-top-work_menu-list-item {
    width: 100%;
  }

  .p-top-work_menu-link {
    display: block;
    width: 100%;
    height: 126px;
    position: relative;
    text-align: center;
    align-items: center;
  }

  .p-top-work_menu-link span {
    writing-mode: horizontal-tb; /* 縦書き解消 */
    white-space: normal;
    word-break: keep-all;
    font-size: 29px;
    font-weight: bold;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); /* ← 中央配置 */
    width: 100%;
    text-align: center;
  }
  
    .p-top-work_menu-list::before {
        content: "";
        position: absolute;
        display: block;

        /* 画像のサイズ（実際のサイズに合わせて調整） */
        width: 10%;
        height: 10%;

        background-image: url('../img/common/top_works_circle04.png');
        background-size: contain;
        background-repeat: no-repeat;

        /* 位置：セクションの左端から少し外に出すならマイナス値 */
        top: 73%;
        left: 33px; 
        z-index: 1;
    }

    .p-top_features-list-item{
      padding: 4rem 0;
    }

    .p-top_features__inner{
      margin: 0 auto;
    }
    
    .p-top_features__title{
      font-size: 25px;
    }


  /* ===== 施工実績カード ===== */
  .p-top_works-list {
    grid-template-columns: 1fr;
  }

  .p-top_works-list-item {
    width: 100%;
    height: auto !important; /* 340px → auto */
    min-width: 0;
  }

  .p-top_works_card_title {
    word-break: break-word;
    white-space: normal;
    font-size: 22px;
  }
    /* serive-page用 */
  .p-top_works-section-sub-inner {
    max-width: 100% !important;
    padding: 40px 20px !important;
    box-sizing: border-box !important;
  }

  .p-top_works-list-sub {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 20px 0 !important;
    box-sizing: border-box !important;
  }

  .p-top_works-list-item {
    height: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  /* ===== 採用セクション ===== */
  #recruit {
    overflow-x: clip;
  }

  .p-top_recruit-bg {
    width: 100%;
    margin-top: 0;
    padding-top: 40px;
  }

  .p-top_recruit-bg::after {
    display: none;
  }

  .p-top_recruit-inner {
    height: auto !important;
    margin-bottom: 0 !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    padding: 0 20px 80px !important;
    position: static !important;
    margin: 40px auto;
  }

  .p-top_recruit-titlewrap {
    order: 1;
    position: static !important;
    width: 100% !important;
  }

  .p-top_recruit-messagewrap {
    order: 2;
    position: static !important;
    left: auto !important;
    bottom: auto !important;
    width: 100% !important;
    padding-right: 0 !important;
    z-index: auto !important;
  }

  .p-top_recruit-title {
    position: relative; /* 念のため */
  }

  .p-top_recruit-title::after {
    bottom: auto;      /* -70px をリセット */
    top: 100%;         /* タイトルの直下に */
    margin-top: 8px;
  }

  .p-top_recruit-message-text {
    font-size: 26px;
    line-height: 1.5;
    white-space: normal !important;
  }

  .p-top_recruit-img-list {
    order: 3;
    position: static !important;
    left: auto !important;
    transform: none !important;
    width: 100% !important;
    padding-left: 0 !important;
    display: flex !important;
    flex-direction: row !important;
    gap: 8px !important;
    height: auto !important;
    margin-top: 40px !important;
    top: auto !important;
    overflow: hidden !important;
  }

  .p-top_recruit-img-list-item {
    flex: 1 !important;
    min-width: 0 !important;
    overflow: hidden;
    border-radius: 8px;
  }

  .p-top_recruit-img-list-item img {
    width: 100% !important;
    height: 300px !important;
    object-fit: cover !important;
    display: block !important;
  }
  /* ===== カテゴリナビ ===== */
  .c-category-box-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }

  .c-category-box {
    text-align: center;
    white-space: normal;
    word-break: keep-all;
  }
  /* instagram */
  .instagram {
    text-align: center;
    margin-top: 80px;
  }
}