@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/
/*ローディングアニメーション*/
.wp-block-video video{
max-width:100%;
}
.loading {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  width: 100vw;
  height: 100vh;
  height: 100svh;
  height: 100dvh;
  background-color: #fff;
  display: flex !important;
  align-items: center;
  justify-content: center;
  animation: fadeOut 1.5s 2s forwards;
}

.loading img {
  opacity: 0;
  animation: logo_fade 2s 0.2s forwards;
  width: 250px; /* ロゴのサイズを指定（パソコン） */
}

@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    visibility: hidden;
  }
}

@keyframes logo_fade {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  60% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
  }
}


/*フェードインアップ*/
.fade-in-up {
  opacity: 0;
  transform: translateY(20px);
  transition:
    opacity 0.6s ease,
    transform 0.6s ease;
}

/* 発火後 */
.fade-in-up.is-active {
  opacity: 1;
  transform: translateY(0);
}

.home .l-header {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.5s ease;
  }

.header-show .l-header {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }



.home #content{
    padding-top: 0;
    margin-bottom: 0px!important;
} 
.page-id-18 #content, .page-id-20 #content, .page-id-24 #content, .page-id-14 #content{
    margin-bottom: 0!important;
}
.page-id-24 #content{
    margin-top: 0;
    padding-top: 0;
}
.page-id-24 .p-breadcrumb{
    background-color: #000!important;
    color:#fff;
}

.strength-menu a:hover, .service-menu a:hover, .facility-menu a:hover, .company-menu a:hover, .recruit-menu a:hover{
  color:#E13611!important;
}
.c-gnav>.menu-item>a:hover{
       font-weight: bold;
	overflow:hidden;
    }
.contact-menu a, .entry-menu a{
	font-weight:bold!important;
}
.c-gnav>.menu-item>a{
    letter-spacing: 0.05em;
}
.c-gnav .contact-menu a:hover{
  background: transparent;
  background-color: #444;
}
.c-gnav .entry-menu a:hover{
  background: transparent;
  background-color: #ff441f;
	
}
/*トップページ(メインビジュアル)*/
.p-mainVisual__textLayer {
    align-items: flex-start;
    justify-content: flex-end;
    padding: 0 0 10em 0;
    width: 92%;
    max-width: none;
    margin: 0 auto;
}
.p-mainVisual__slideTitle span{
   display: inline-block;
  transform: translateY(-1em);
  opacity: 0;
  animation: drop 0.6s ease forwards;
}
.p-mainVisual__slideTitle{
     visibility: hidden; 
}
@keyframes drop {
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
/*
.mv-top{
    font-size: 52px!important;
    font-weight: bold;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}
.mv-bottom{
    font-size: 54px!important;
    font-weight: bold;
    line-height: 1.3em!important;
}

.red-square{
    background-color: #e13611;
    margin: 0 5px;
    padding: 5px 18px 8px 18px;
    font-size: 65px;
}
.p-mainVisual__slideText{
    font-size: 17px!important;
    font-weight: bold;
}*/
/*トップページ（強み）*/
.swiper{
margin-bottom:0!important;
}
.top-strength-ttl{
    color: rgba(255, 255, 255, 0.5) !important;
    margin: 0!important;
    padding: 0!important;
    line-height: 0.80em!important;
}
.section-ttl-ja{
    padding-left: 75px!important;
}
.line-left-wh, .line-left-bk, .line-left-bk2{
    position: relative!important;
}
.line-left-wh:after{
    position:absolute;
    content: '';
    left: 0;
    top:50%;
    transform: translateY(-50%);
    background-color: #fff;
    width: 60px;
    height: 1px;
}
.line-left-bk::after{
    position:absolute;
    content: '';
    right: 80px;
    top:50%;
    transform: translateY(-50%);
    background-color: #333;
    width: 60px;
    height: 1px;
}
.line-left-bk2::after{
 position:absolute;
    content: '';
    left: 0;
    top:50%;
    transform: translateY(-50%);
    background-color: #333;
    width: 60px;
    height: 1px;
}

.link-btn{
    width: 280px;
    height: 70px;
}
/* 
.emphasis {
  position: relative;
display: inline-block;
}

/* 下線 */
/*.emphasis::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 0.1em;
  background: #e13611;
  transform: scaleX(0);
  transform-origin: left;
}

/* スクロールで発火 */
/*.emphasis.is-active::after {
  animation: underline 0.5s ease forwards;
}

/*
@keyframes underline {
  to {
    transform: scaleX(1);
  }
}
*/
.emphasis {
  background-image: linear-gradient(#e13611, #e13611);
  background-size: 0% 0.1em;
  background-repeat: no-repeat;
  background-position: left bottom;
}

.emphasis.is-active {
  animation: underline-bg 0.5s ease forwards;
}

@keyframes underline-bg {
  to {
    background-size: 100% 0.1em;
  }
}


/*トップページ（事業内容）*/
.top-service-bg{
    margin-bottom: 0!important;
}

.top-service-ttl{
    margin-top: 0!important;
    padding: 0!important;
    line-height: 0.85em!important;
    color: rgba(194, 194, 194, 0.6)!important;
}

.top-service-wh-box{
    padding: 50px 50px 60px!important;
}
.line-left-bkwh{
    position: relative;
}
.line-left-bkwh::after{
    position:absolute;
    content: '';
    right: 80px;
    top:50%;
    transform: translateY(-50%);
    background-color: #333;
    width: 60px;
    height: 1px;
}


/*トップページ（設備4個ブロック）*/
.facility-square-blocks{
    padding: 0 50px;
}
.facility-square-blocks .label{
    padding-left: 35px;
}
.facility-square-blocks .item .wp-block-image{
    margin-bottom: 8px;
}
.facility-square-blocks .item .label{
    position: relative;
    padding-bottom: 5px;
}
.facility-square-blocks .item .label::after{
    position: absolute;
    content: '';
    bottom:-15px;
    left: 20px;
    width: 3px;
    height: 85px;
    background-color: #e13611;
    border-radius: 50px;
    z-index: 50;
}
    .facility-square-blocks{
        column-gap: 2.5em!important;
        position: absolute;
        top: -70px;
        left: 0;
        right: 0;
        max-width: 1100px;
        margin: 0 auto;
    }
    .facility-square-blocks .item p{
        color:#fff;
        position: relative;
        z-index: 10;
    }
   .item1 .wp-block-image img{
    position: relative;
    margin-top: -50px!important;
    z-index: 10;
   }
   .item2 .wp-block-image img{
    position: relative;
    margin-top: -25px!important;
    z-index: 10;
   }
   .item3 .wp-block-image img{
    position: relative;
    margin-top: -0px!important;
    z-index: 10;
   }
   .item4 .wp-block-image img{
    position: relative;
    margin-top: 25px!important;
    z-index: 10;
   }
   /*トップページ（設備）*/
.top-facility-ttl{
    color: rgba(255, 255, 255, 0.5)!important;
    margin: 0 0 50px!important;
    padding: 0!important;
    line-height: 0.80em!important;
}
.top-facility-bg{
	position:relative;
}
.top-facility-bg::after{
	position:absolute;
	content:'';
	top:0;
	left:0;
	width:100%;
	height:100%;
	background: linear-gradient(
  180deg,
  rgba(0, 0, 0, 0.5) 0%,
  rgba(0, 0, 0, 0.8) 30%,
rgba(0, 0, 0, 1) 50%,
  rgba(0, 0, 0, 1) 100%
);

}
 .top-facility-outer{
        position: relative;
        margin-bottom: 0;
    }
.top-facility{
    position: relative;
    column-gap: 0em!important;
    padding: 0 3em;
}
   .top-facility-image-group{
    column-gap: 3em!important;
   }
   .link-btn-hv-wh .wp-block-button__link{
  position: relative;
  overflow: hidden;
  transition: color 0.3s ease;
  z-index: 1;
}
.link-btn-hv-wh .wp-block-button__link::before{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background-color:#020507;
  z-index: -1;
  transition: width 0.4s ease;
  border-radius:5px ;
}
.link-btn-hv-wh .wp-block-button__link:hover::before {
  width: 100%;
  border: 1px solid #fff;
}
.top-facility-images{
	column-gap:1.5em!important;
}
/*トップページ（コラム）*/
.top-column-inner{
    padding: 0 50px;
}
.line-left-red{
    position: relative;
}
.line-left-red::after{
    position: absolute;
    content: '';
    left: 0px;
    top:50%;
    transform: translateY(-50%);
    background-color: #e13611;
    width: 60px;
    height: 1px;
}
.column-ttl{
    margin: 0 0 45px!important;
    line-height: 0.80em!important;
}
.top-column-cont{
    margin-bottom: 10px;
}
.link-btn-hv-rd .wp-block-button__link{
     width: 280px;
    height: 70px;
  position: relative;
  overflow: hidden;
  transition: color 0.3s ease;
  z-index: 1;
}
.link-btn-hv-rd .wp-block-button__link::before{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background-color:#fff;
  border: 2px solid #e13611;
  z-index: -1;
  transition: width 0.4s ease;
  border-radius:5px ;
}
.link-btn-hv-rd .wp-block-button__link:hover::before {
  width: 100%;
}

.link-btn-hv-rd .wp-block-button__link:hover{
    color:#e13611!important;
}

/*トップページ（会社概要リンク）*/
.company-link-ttl{
padding: 0!important;
line-height: 0.80em!important;
margin: 0 0 50px!important;
}
.link-btn-wh{
    width: 280px;
    height: 70px;
    position: relative;
    overflow: hidden;
      z-index: 1;
  transition: color 0.3s ease;
}
.link-btn-wh .wp-block-button__link{
 background-color: transparent;
}
.link-btn-wh .wp-block-button__link::before{
  content: "";
  position: absolute;
 top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background-color:#DC1E06;
  z-index: -1;
  transition: width 0.4s ease;
  border-radius:3px ;
}
.link-btn-wh .wp-block-button__link:hover::before {
  width: 100%;
}
.link-btn-wh .wp-block-button__link:hover{
    border: none;
}
/*トップページ（採用情報リンク）*/
.top-recruit{
    position: relative;
}
.entry-txt-bg{
    position:absolute;
    top:50%;
    transform: translatey(-50%);
    left: 0;
    right: 0;
    z-index: -10;
}

.top-recruit-ttl{
margin: 0 0 50px!important;
    padding: 0!important;
    line-height: 0.80em!important;
}
.recruit-link-group{
    max-width: 1000px;
    margin: 0 auto;
    column-gap: 0!important;
   
}
.entry-link-btn{
    background-color: #fff;
    padding: 35px 0;
}
.recruitment-link-btn{
    border: 1px solid #fff;
    padding: 35px 0;
}
.recruit-link-group .wp-block-image img{
    width: 55px;
}

.entry-link-btn-inner, .recruitment-link-btn-inner{
    justify-content: center;
    align-items: center;
    column-gap: 1.3em!important;
}
.entry-link-btn, .recruitment-link-btn{
  position: relative!important;
  overflow: hidden;
}
.entry-link-btn::before{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background-color:#DC1E06;
  border: 1px solid #fff;
  z-index: 1;
  transition: width 0.4s ease;
}
.recruitment-link-btn::before{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background-color:#fff;
  z-index: 1;
  transition: width 0.4s ease;
 
}
.entry-link-btn:has(.wp-block-column-vk-link:hover) p{
  color: #fff !important;
}
.recruitment-link-btn:has(.wp-block-column-vk-link:hover) p{
  color: #DC1E06 !important;
}
.entry-link-btn:has(.wp-block-column-vk-link:hover) img {
  filter: brightness(0) invert(1);
}
.recruitment-link-btn:has(.wp-block-column-vk-link:hover) img {
   filter:
    brightness(0)
    saturate(100%)
    invert(18%)
    sepia(95%)
    saturate(6000%)
    hue-rotate(350deg);
}

.entry-link-btn:has(.wp-block-column-vk-link:hover)::before {
  width: 100%;
}
.recruitment-link-btn:has(.wp-block-column-vk-link:hover)::before {
  width: 100%;
}
.recruitment-link-btn-inner,
.entry-link-btn-inner {
  position: relative;
  z-index: 1;
}
/*トップページ（お問い合わせリンク）*/
.top-contact-ttl{
    margin: 0 0 60px!important;
    padding: 0!important;
    line-height: 0.8em!important;
}
.contact-box{
    max-width: 400px;
    margin: 0 auto;
    background-color: #fff;
    min-height: 120px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    padding: 25px 20px 30px!important;
    min-height: 170px;
    position: relative!important;
    overflow: hidden;
}
.contact-box::before{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background-color:#e13611;
  border: 1px solid #fff;
  z-index: 1;
  transition: width 0.4s ease;
}
.contact-box:has(.wp-block-group-vk-link:hover) p{
  color: #fff !important;
}
.contact-box:has(.wp-block-group-vk-link:hover)::before {
  width: 100%;
}
.contact-box > * {
  position: relative;
  z-index: 2;
}

.top-contact-cont-bg{
    background-color: #E4E5E6;
    padding: 60px!important;
    position: relative;
}
.top-contact-cont-bg::after{
    position: absolute;
    content: '';
    top:-30px;
    left: 50%;
    transform:translateX( -50%);
    width: 2px;
    height: 60px;
    background-color: #e13611;
    
}
.tel-container{
    position: relative;
    padding: 50px 30px 40px!important;
}
.tel-container::after{
    position: absolute;
    content: '';
    left: 50%;
    top:-29px;
    transform: translateX(-50%);
    width: 58px;
    height: 58px;
    background-image: url(https://kiyo-kousakusho.com/wp-content/uploads/2025/12/tel-icon-circle-bk.png);
    background-size: contain;
    background-repeat: no-repeat;
}
.tel{
    line-height: 1.4em!important;
}
.mail-container{
    position: relative;
     padding: 50px 30px 40px!important;
}

.mail-container::after{
    position: absolute;
    content: '';
    left: 50%;
    top:-29px;
    transform: translateX(-50%);
    width: 58px;
    height: 58px;
    background-image: url(https://kiyo-kousakusho.com/wp-content/uploads/2025/12/mail-icon-circle-bk.png);
    background-size: contain;
    background-repeat: no-repeat;
}
.top-contact-group{
    column-gap: 2.5em!important;
}

/*フッター*/
.l-footer{
    background-color: #f0f0f0;
}
.w-beforeFooter{
    margin: 0!important;
}
.footer-company-name{
    display: flex;
    align-items: flex-end;
    column-gap: 0.5em;
    margin-bottom: 25px!important;
}
.footer-company-name img{
    width: 80px;
}
.footer-company-name .name{
    font-size: 15px!important;
}
.company-detail p{
  margin-bottom:3px!important;
  font-size: 14px!important;
}
.l-footer .c-listMenu a{
    border-bottom: 0;
    padding: .4em .5em;
    font-size: 15px!important;
    letter-spacing: 0.02em!important;
    display:inline-block;
     position: relative;
}
.l-footer .c-listMenu a:hover{
background-color: transparent;
}
.l-footer .c-listMenu a::after{
  content: '';
  position: absolute;
  left: 6px;
  bottom: 8px;
  height:1px;   /* 下線の太さ */
  width: 0;         /* 初期は0幅 */
  background-color: #666;
  transition: width 0.3s ease; /* アニメーション */
}
.l-footer .c-listMenu a:hover::after{
  width:90%;   
  
}

.l-footer__widgetArea{
    padding-top: 35px!important;
    padding-bottom: 60px!important;
}
.l-footer__foot{
background-color: #000;
}
.l-footer__foot .copyright{
    color: #fff;
}

/*強みページ*/
.message-section{
	max-width:900px;
	margin:0 auto;
}
.message-ttl-ja{
	padding-left:80px;
}
.thought-ttl{
	margin-left:0!important;
	margin-top:50px!important;
	font-family: "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP",  "Yu Mincho", "YuMincho", serif;
}
.thought-txt{
	font-family: "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP",  "Yu Mincho", "YuMincho", serif;
}
.strength-outer{
    position: relative;
}
.strength-outer::after{
    position: absolute;
    content: '';
    top:0;
    left: 0;
    width: 100%;
    height: 16rem;
    background-color: #000;
}
.strength-outer>.swell-block-fullWide__inner, .promise>.swell-block-fullWide__inner{
   padding: 0 5em!important;
}
.strength-cont1, .strength-cont2{
    position: relative;
}
.strength-cont1::after{
    position: absolute;
    content: '';
    bottom: -60px;
    right: 0;
    background-image: url(https://kiyo-kousakusho.com/wp-content/uploads/2025/12/HISTORYTRUST_txt-scaled.png);
    background-size: contain;
    background-repeat:no-repeat ;
   width: 1100px;
   height: 130px;
   z-index: 30;
}
.strength-cont2::after{
    position: absolute;
    content: '';
    bottom: -80px;
    right: 0;
    background-image: url(https://kiyo-kousakusho.com/wp-content/uploads/2025/12/ONE-STOP-SUPPORT_txt-scaled.png);
    background-size: contain;
    background-repeat:no-repeat ;
   width: 1300px;
   height: 140px;
   z-index: 30;
}
.strength-ttl-header{
    margin-bottom: 0!important;
    align-items:flex-end ;
}
    .strength-ttl-en, .promise-ttl-en{
        line-height: 0.8em!important;
    }
    .strength-ttl-ja, .promise-ttl-ja{
        padding-left: 100px;
        padding-bottom: 5px;
        position: relative;
    }
    .strength-ttl-ja::after{
        position: absolute;
        content: '';
        left: 60px;
        top:calc(50% - 2px);
        transform: translatex(-50%);
        width: 60px;
        height: 1px;
        background-color: #333;
    }
     .strength-txt .txt-outer .wp-block-group__inner-container{
          padding-top: 60px;
     }
    .promise-ttl-ja::after{
        position: absolute;
        content: '';
        left: 60px;
        top:calc(50% - 2px);
        transform: translatex(-50%);
        width: 60px;
        height: 1px;
        background-color: #E13611;
    }
    .promise1{
        position: relative;
    }
    .promise .num{
        margin-bottom: 0.4em!important;
    }
    .promise1{
        position: relative;
        background-image: url(https://kiyo-kousakusho.com/wp-content/uploads/2025/12/promise1-bg-img.png);
        background-size: 150px;
        background-repeat: no-repeat;
        background-position: top 40px right 30px;
     }
     .promise2{
        background-image: url(https://kiyo-kousakusho.com/wp-content/uploads/2025/12/promise2-bg-img.png);
        background-size: 130px;
        background-repeat: no-repeat;
        background-position: top 70px right 20px;
     }
     .promise3{
         background-image: url(https://kiyo-kousakusho.com/wp-content/uploads/2025/12/promise3-bg-img.png);
         background-size: 150px;
         background-position: top 110px right 30px;
         background-repeat: no-repeat;
     }
     .strength-bottom-link .wp-block-columns{
        align-items: center!important;
     }
    .service-link-block{
        position: relative;
        padding: 3.5em!important;
    }
    .service-link-ttl-block{
      position: absolute;
      top:50%;
      left:5.5em;
      transform: translateY( -50%);
      z-index: 30;
    }
    .service-link-ttl-block .ttl-ja{
        padding-left: 10px;
    }
   .service-link-ttl-block .ttl-en{
    line-height: 1em!important;
   }
   .arrow-wh{
     position: relative;
   }
   .arrow-wh::after{
    position: absolute;
    content: '';
    background-image: url(https://kiyo-kousakusho.com/wp-content/uploads/2025/12/arrow_wh.svg);
    background-repeat: no-repeat;
    background-size: contain;
    bottom: 30px;
    left: 5px;
    width: 50px;
    height: 8px;
   }
   /*ページヘッダー*/
   .page .l-header, .blog .l-header, .single .l-header, .archive .l-header .category .l-header{
    position: absolute;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
   }
   .l-topTitleArea{
      min-height: 450px;
   }
.page .l-topTitleArea, .blog .l-topTitleArea{
    align-items: flex-end;
    padding-bottom:0 ;
   }
   .page .l-topTitleArea__body, .blog .l-topTitleArea__body{
    max-width: none;
    padding: 0;
   }
   .page .l-topTitleArea, .blog .l-topTitleArea{
    text-align: right!important;
   }
   .page .l-topTitleArea .c-pageTitle, .blog .l-topTitleArea .c-pageTitle{
    display: inline-block;
    background-color: #000;
    padding: 18px 80px;
   }

   /*事業内容ページ*/
    .business-top{
    padding: 0 3em!important;
    }
   .service-top-img-group .left{
        padding-top: 120px;
     }
   .ttl-top-line-red{
    position: relative;
   }
   .ttl-top-line-red::after{
    position:absolute;
    content: '';
    top:-25px;
    left: 0;
    width: 50px;
    height: 3px;
    background-color: #e13611;
   }
   .acc-header{
        position: relative;
        border-bottom: 5px solid #E13611;
        padding:5em 5em 2em;
     }
     .acc-header::after{
        position: absolute;
        content: '';
        top:0;
        left: 0;
        width: 100%;
        height: 100%;
        background: transparent linear-gradient(90deg, #000000 0%, #000000A8 52%, #00000021 100%) 0% 0% no-repeat;
        z-index: 0;
     }
    .acc-header .ttl{
        margin-bottom: 1.2em!important;
    }
     .acc-toggle{
        position: absolute;
        left: 0;
        bottom: -35px;
        z-index: 30;
     }
     .acc-header p{
        position: relative;
        z-index: 10;
     }
     .open-cont{
        display: none;
        max-height: none!important;
     }
     .acc-toggle .wp-block-button__link{
        border-radius: 3px 3px 0 0!important;
        padding: 0.5em 2.1em 0.5em 2.3em;
     }
     .acc-toggle .wp-block-button__link::after {
     content: "＋";
     margin-left: 0.8em;
     font-weight: bold;
     transition: 0.3s;
}
.acc-toggle.is-open .wp-block-button__link::after {
  content: "×";
}
.flow{
    position: relative;
}
.flow::after{
    position: absolute;
    content: '';
    top:0;
    left: 0;
    width: 100%;
    height: 100%;
    background: transparent linear-gradient(90deg, #000000 0%, #545454B3 100%) 0% 0% no-repeat
}
.flow .swell-block-fullWide__inner{
    padding: 0 5em!important;
}
.flow-ttl{
    margin-bottom: 0.2em!important;
    margin-top: 0!important;
}
.open-cont .swell-block-fullWide__inner{
    padding-right: 15px;
    padding-left: 15px;
}
.example .wp-block-column p{
    font-size: 14px!important;
  }
/*設備紹介ページ*/
.area{
    background: rgba(255, 255, 255, 0.8);
    padding: 25px 35px 25px;
    max-width: 350px;
}
.area p{
    border-bottom: 1px solid #ccc;
}

.facility-cont{
    position: relative;
    max-width: 1000px;
    margin: 0 auto;
    margin-top: -230px;
    z-index: 30;
}
.machinery-group{
    column-gap: 5em!important;
}
/*採用情報ページ*/
.policy-ttl{
    margin-bottom: 0.6em!important;
}
.policy-bg .swell-block-fullWide__inner{
    max-width: 1000px;
    padding: 0 3em;
}

.person-cont{
    column-gap: 5em!important;
}
.recruit-gallery{
    column-gap: 0!important;
}
.person-ttl{
    margin-left: 0!important;
}
.person-list{
    border-bottom: 1px dotted #999;
    padding-bottom: 2em!important;
    margin-bottom: 2em!important;
}
.person-list h2{
    margin-bottom: 0.8em!important;
}
.requirements{
    position: relative;
}
.requirements-inner{
    position: absolute;
    top:50%;
    left: 0;
    right: 0;
    transform: translatey( -50%);
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 3em;
}
.recruit-gallery{
    position: relative;
}
.recruit-gallery::after{
    position: absolute;
    content: '';
    top:0;
    left: 0;
    width: 100%;
    height: 100%;
    background: transparent linear-gradient(90deg, #000000D9 0%, #00000042 100%) 0% 0% no-repeat;
}
.recruit-outer .swell-block-fullWide__inner{
    max-width: 1000px;
}

.recruit-list table td{
  padding: 15px 20px;
}
.flow-ttl-ja{
    margin-left: 30px;
}
.line-link-btn{
    padding: 35px 0 35px 0!important;
    position: relative;
    overflow: hidden;

}
.line-link-btn::before{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background-color:#DC1E06;
  z-index: 1;
  transition: width 0.4s ease;
}


.line-link-btn:has(.wp-block-column-vk-link:hover)::before {
  width: 100%;
  border: 1px solid #fff;
}


/*会社情報ページ*/
.company-ttl{
    margin-left: 0!important;
    margin-bottom: 0.6em!important;
}
.company-list{
    max-width: 800px;
}
.company-list table td{
  padding: 18px 20px;
}
.company-list td a:hover{
	text-decoration:underline;
}
.history-list .__label{
    font-size: 16px!important;
    padding-bottom: 10px;
}
.history-list  .swell-block-step__item{
    padding-bottom: 40px;
}
/*お問い合わせページ*/
.wpcf7{
    max-width: 1000px;
    margin: 0 auto;
}
.wpcf7 th{
    width: 230px;
    padding: 5px 20px;
}
.wpcf7 td{
    padding: 20px 25px;
}
.wpcf7 input{
   height: 40px;
}
.type .wpcf7-list-item{
    display: flex;
    column-gap: 0.2em;
    align-items: center;
}
.wpcf7 .field1{
    width: 100%;
}
.wpcf7 .field2{
    width: 100%;
}
.fields{
    display: flex;
    column-gap: 2em;
}
 .fields .left p, .fields .right p{
    display: flex;
    column-gap: 0.5em;
    align-items: center;
}
.fields .left p span, .fields .right p span{
     white-space: nowrap;
}
.wpcf7-checkbox{
    display: flex;
    flex-wrap: wrap;
}
.acceptance{
    text-align: center;
    margin-top: 20px;
    margin-bottom: 50px;
}
.acceptance .wpcf7-list-item label{
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 0.5em;
}
.confirm-btn .wpcf7-submit{
    width: 350px;
    height: 65px!important;
    margin: 0 auto;
    text-align: center;
    background-color: #000;
    color:#fff;
    font-weight: bold;
    font-size: 18px;
    transition: .3s;
}
.confirm-btn #cf7-confirm-btn{
	 width: 350px;
    height: 65px!important;
    margin: 0 auto;
    text-align: center;
    background-color: #000;
    color:#fff;
    font-weight: bold;
    font-size: 18px;
    transition: .3s;
}
.confirm-btn #cf7-confirm-btn:hover{
    background-color: #e13611;
}
.confirm-btn{
    text-align: center;
}
.confirm-buttons{
	text-align:center;
}
.confirm-buttons #cf7-back-btn{
	 width: 350px;
    height: 65px!important;
    margin: 0 auto;
	margin-top:50px;
    text-align: center;
    border:1px solid #000;
    color:#333;
    font-weight: bold;
    font-size: 18px;
    transition: .3s;
} 
.confirm-buttons .wpcf7-submit{
	 width: 350px;
    height: 65px!important;
    margin: 0 auto;
	margin-top:20px;
    text-align: center;
    background-color: #000;
    color:#fff;
    font-weight: bold;
    font-size: 18px;
    transition: .3s;
}
.confirm-buttons #cf7-back-btn:hover{
	border:1px solid #E33919;
	color:#E33919;
}
.confirm-buttons .wpcf7-submit:hover{
	background-color:#E33919;
	color:#fff;
}
.wpcf7-spinner{
    display: none;
}
.scroll-y-box{
    height: 200px;       
  overflow-y: auto; 
  border: 1px solid #ddd;
  padding: 15px 25px;
  font-size: 14px;
}
.scroll-y-box p{
    margin-bottom: 0.8em;
}
.privacy{
    max-width: 800px;
    margin: 0 auto;
    margin-top: 60px;
}
.privacy-ttl{
    font-weight: bold;
    
    margin-bottom: 10px;
   display: flex;
   align-items: center;
}
.requid{
    background-color: #E13611;
    color: #fff;
    font-size: 10px;
    padding: 0px 8px 1px 8px;
    margin-left: 8px;
}
.cl-red{
    color:#E13611;
}
.file-format{
    margin: 10px 0;
    font-size: 13px;
}
.tel-box{
    background-color: #E13611;
    color:#fff;
    max-width:550px;
    margin: 0 auto;
    padding-top: 15px;
    padding-bottom: 30px;
    border-radius: 5px;
}
.tel-num{
    border-bottom: 1px solid #fff;
}
.ttl-left-line{
    border-left: 5px solid #E13611;
}
.contact-form-ttl{
    max-width: 1000px;
    margin: 0 auto!important;
    padding-left: 10px;
    margin-bottom: 20px!important;
}
.cf7-confirm {
  display: none;
}

.cf7-confirm.is-active {
  display: block;
}

.cf7-input.is-hidden {
  display: none;
}



/*採用フォームページ*/
.recruit-top{
    max-width: 1000px;
    margin: 0 auto;
}
.wpcf7-radio{
    display: flex;
}
.birth select{
    margin-left: 5px;
    margin-right: 5px;
}
.entry-ttl{
    margin-bottom: 1.6em!important;
}
.entry-top-txt p{
    margin-bottom: 1.8em!important;
}
/*お問い合わせ、採用フォーム確認ページ*/
.submit-btn .wpcf7-submit{
    width: 300px;
    height: 65px!important;
    margin: 0 auto;
    text-align: center;
    background-color: #000;
    color:#fff;
    font-weight: bold;
    font-size: 18px;
}
.submit-btn .wpcf7-submit:hover{
    background-color: #e13611;
}
.submit-btn{
    margin-top: 20px;
    text-align: center;
}
.previous-btn{
    margin-top: 40px;
    text-align: center;
}
.previous-btn .wpcf7-previous{
    width: 300px;
    height: 65px!important;
    margin: 0 auto;
    text-align: center;
    border: 1px solid #333;
    color:#333;
    background-color: #fff;
    font-weight: bold;
    font-size: 18px;
}
.previous-btn .wpcf7-previous:hover{
  border: 1px solid #e13611;
  color:#e13611;
}
/*サンクスページ*/
.thanks-message{
max-width: 600px;
margin: 0 auto;
padding: 50px 30px!important;
}
.home-link{
    margin-top: 50px;
}
.page-id-34 #before_footer_widget, .page-id-1468 #before_footer_widget, .page-id-24 #before_footer_widget, .page-id-26 #before_footer_widget, .page-id-28 #before_footer_widget, .page-id-32 #before_footer_widget{
    display: none;
}
.vk_slider .swiper-wrapper {
  transition-timing-function: linear !important;
}

/*スマホ開閉メニュー内ボタン*/
.p-spMenu__body{
	padding-top:50px;
}
.p-spMenu__body .c-spnav li{
	text-align:center;
}
.c-widget__title.-spmenu {
	display:none;
}
.sp-menu-contact-btn{
	background-color:#fff;
	text-align:center;
	height:60px;
}
.sp-menu-contact-btn a{
	color:#E6583D!important;
	font-weight:bold;
	line-height:60px;
}
.sp-menu-entry-btn{
	background-color:#E6583D;
	text-align:center;
	height:60px;
	margin-top:20px;
}
.sp-menu-entry-btn a{
	color:#fff;
	font-weight:bold;
	line-height:60px;
}
 @media (min-width: 600px) {
    .sp-br600{
        display: none;
    }
    .p-mainVisual__slideTitle{
        font-size: 50px!important;
        font-weight: bold;
    }
    .p-mainVisual__slideText{
        font-size: 25px!important;
         font-weight: bold;
    }
 }

@media (min-width: 782px) {
    /*強みページ*/
    .page-id-14 .l-content{
        margin-bottom: 0!important;
    }
 
    
     .strength-cont2{
        column-gap: 3em!important;
     }
     .promise-cont{
        column-gap: 0!important;
     }
     
     .promise .wp-block-column{
        position: relative;
        padding: 30px 35px 10px;
     }
     .promise .promise1::after{
        position: absolute;
        content: '';
        top:0;
        left: 0;
        width: 1px;
        height: calc(100% - 10px);
        background-color: #fff;
     }
     .promise .promise2::after{
        position: absolute;
        content: '';
        top:30px;
        left: 0;
        width: 2px;
        height: calc(100% - 10px);
        background-color: #fff;
     }
     .promise .promise3::after{
        position: absolute;
        content: '';
        top:60px;
        left: 0;
        width: 1px;
        height: calc(100% - 10px);
        background-color: #fff;
     }
     .strength-bottom-link{
        column-gap: 0!important;
     }
      /*事業紹介ページ*/
     .service-top-img-group{
        column-gap: 3em!important;
     }
     
     .promise2{
        padding-top: 40px!important;
     }
     .promise3{
         padding-top: 80px!important;
     }
}
@media (min-width: 960px) {
     .p-mainVisual__slideTitle{
        font-size: 70px!important;
    }
    .w-footer {
        justify-content: center;
    }
        .w-footer__box:nth-child(1) {
            flex: 2;
        }
       .strength-cont1 .strength-txt .txt-outer, .strength-cont2 .strength-txt .txt-outer{
            position: relative;
            height: 100%;
    }
    .strength-cont1 .strength-txt .txt-outer .wp-block-group__inner-container{
        position: absolute;
        top:4.98rem;
        left: 0;
        z-index: 10;
        background-color: #fff;
        width: 700px;
        height: 100%;
    }
    .strength-cont2 .strength-txt .txt-outer .wp-block-group__inner-container{
        margin-left: -150px;
        background-color: #fff;
        width: 700px;
        height: 90%;
        position: absolute;
        top:4.98rem;
        z-index: 10;
        padding-left: 150px;
    }
}
@media (min-width: 992px){
    .top-strength{
        position: relative;
    }
     .top-strength-txt{
     position:absolute;
     top:0px;
     left: 15%;
     z-index: 20;
}
.top-strength-wh-box{
    position:absolute;
    min-width: 750px;
    padding: 60px 70px 75px!important;
}
.top-strength{
   justify-content: flex-end;
}
  .top-service{
    position: relative;
}
.top-service-wh-box{
 min-width: 750px;
}
.top-service-txt{
    position:absolute;
    top:0;
    right: 15%;
    z-index: 20;
}
}
@media (min-width: 1100px){
    #header{
        background-color: #fff;
        width: 92%;    
    }
    .home #header{
      margin-top: 10px;
    }
    #fix_header .l-fixHeader__inner{
	padding-right:0;
}

	
	#fix_header .l-fixHeader__inner{
		max-width:none;
	}
    .l-header__inner{
        padding-right: 0;
        max-width: none;
    }
    .entry-menu{
        background-color: #E33919;
    }
    .entry-menu .ttl, .contact-menu .ttl{
        color: #fff;
    }
    .contact-menu{
        background-color: #000;
    }
    .c-gnav>.menu-item>a{
        padding: 0 22px;
        font-weight: 500;
    }
}
@media (max-width: 1100px) {
    .pc-br1100{
        display: none;
    }
    .l-header .sp_ {
        display: block !important;
        position: relative;
    }
     .p-spMenu {
        display: block!important;
    }
.l-fixHeader, .l-header__gnav{
	display:none;
}	
.page .l-header, .single .l-header, .blog .l-header{
    top:0px;
    height: 70px;
}
.l-header__inner{
    padding-right: 0;
    margin: 0 auto;
    align-items: center!important;
    height: 100%;
}
.l-header__menuBtn {
    height: 70px;
    padding: 0 32px!important;
}
.c-iconBtn__icon {
    display: flex;
}
.mv-top .red-square{
    font-size: 0.9em;
    margin:0 3px;
    padding: 4px 16px 6px 16px;
}
.mv-top .top-txt{
   font-size: 32px!important;
}
.mv-bottom{
    font-size: 38px!important;
}
	.p-mainVisual__slideText{
		font-size:16px!important;
	}
.top-strength{
    align-items: flex-end;
}

.top-facility-txt{
    flex-basis: 50%!important;
}
   .top-facility{
    column-gap: 1.5em!important;
    flex-wrap: wrap!important;
    padding: 0 8em;
    row-gap: 5em!important;
   }  
   .top-facility-txt, .top-facility-image{
    flex-basis: 100%!important;
   }
   .top-column-inner, .top-recruit-inner{
      padding: 0 5em;
   }
   .facility-top-spacer{
    height: 5em!important;
   }
   
.recruit-flow-scroll img{
    max-width: 800px;
}
.service-flow-scroll img{

 max-width:900px!important;
}
.scroll-box{
    width: 100%;
   overflow-x: scroll;
   
}
.requirements-inner h2{
    font-size: 45px!important;
}
}
@media (max-width: 991px){
  .top-strength{
    flex-wrap: wrap!important;
  }
  .top-strength .wp-block-column{
    flex-basis: 100%!important;
  }
  .top-strength{
        flex-direction: column-reverse;
        justify-content: flex-end;
        row-gap: 0!important;
    }
   
    .top-strength .top-strength-img{
        width: 75%;
        margin-left: auto!important;
    }
    
    .top-strength .top-strength-txt{
        width: 92%;
        margin-left: auto!important;
    }
   .post_content .top-strength >:first-child {
       margin-top: -15em!important;
       z-index: 30;
      }
      .top-strength-wh-box h5{
     font-size: 20px!important;
     line-height: 1.8em!important;
     margin-bottom: 1.3em!important;
}
.top-strength-wh-box{
    padding: 50px 25px 70px 30px!important;
}
.top-strength-wh-box .emphasis{
    font-size: 20px!important;
}
.top-service{
        row-gap: 0!important;
        justify-content: flex-end;
        flex-wrap: wrap!important;
    }
    .top-service .wp-block-column{
        flex-basis: 100%!important;
    }
    .top-service > .top-service-img {
  flex-grow: 0 !important;
  flex-shrink: 0 !important;
  flex-basis: 75% !important;
  max-width: 75%;
}
    .top-service .top-service-txt{
      flex-grow: 0 !important;
  flex-shrink: 0 !important;
  flex-basis: 92% !important;
  max-width: 92%;
  margin-top: -200px!important;
  z-index: 30;
    }
.top-service-wh-box .emphasis, .top-facility-txt .emphasis{
    font-size: 20px!important;
}
.top-service-wh-box .txt2{
    font-size: 20px!important;
    line-height: 1.8em!important;
}
  .vk_slider_f1f0efd9-da7e-4ba2-aca8-1966c2703704, .vk_slider_f1f0efd9-da7e-4ba2-aca8-1966c2703704 .vk_slider_item {
        height: 360px !important;
  }
  .vk_slider_5fc2e188-86bc-4a03-a077-5492934dad85, .vk_slider_5fc2e188-86bc-4a03-a077-5492934dad85 .vk_slider_item {
        height: 360px !important;
    }
    .top-service .top-service-img .wp-block-cover{
        min-height: 360px!important;  
}

.top-service-ttl-ja{
    color:#fff;
    text-align: left;
}
.line-left-bkwh::after{
    background-color: #fff;
    left: 3px;
}
.top-service-wh-box{
     padding: 50px 25px 70px 30px!important;
}

.top-service-ttl{
    text-align: left;
    color: rgba(255, 255, 255, 0.8) !important;
}
.top-service-wh-box .txt3, .top-strength-wh-box .txt3{
    margin-bottom: 2.5em!important;
}
	.btn-sp-reverse{
		justify-content:flex-start!important;
	}
	.strength-slider .swiper-slide{
		height:450px;
	}
}

@media (max-width: 959px){
    .wpcf7 th, .wpcf7 td{
        display: block;
        width: 100%;
    }
    .c-headLogo__link{
        padding: 0!important;
    } 
   
    .facility-square-blocks{
    column-gap: 1.5em!important;
}
 .recruitment-link-btn p, .entry-link-btn p, .line-link-btn p{
    font-size:1.1em!important;
 }
.entry-link-btn span, .line-link-btn span{
        font-size: 14px!important;
    }
 .top-contact-group, .thought-cont{
    flex-wrap: wrap!important;
 }
 .top-contact-group .wp-block-column, .thought-cont .wp-block-column{
    flex-basis: 100%!important;
 }
 
 .w-footer .w-footer__box:nth-child(2){
    padding-bottom: 0!important;
    margin-top: 0!important;
    padding-top: 0!important;
 }
 .w-footer .w-footer__box:last-child{
    margin-top: 0!important;
    padding-top: 0!important;
 }
 .l-footer__widgetArea{
    padding: 50px 0!important;
 }
 .l-header__logo{
    margin-left: 10px;
 }
 
 .strength-cont1, .strength-cont2{
    flex-wrap: wrap!important;
 }
 .strength-cont1 .wp-block-column, .strength-cont2 .wp-block-column{
    flex-basis: 100%!important;
 }
  .strength-cont1 > .wp-block-column:nth-child(1) {
    order: 2;
  }
 .strength-cont1 > .wp-block-column:nth-child(2) {
    order: 1;
  }
  .strength-cont1 h2, .strength-cont1 p, .strength-cont2 h2, .strength-cont2 p{
    color:#333!important;
  }
   .strength-outer-right>.swell-block-fullWide__inner {
    padding: 0 0 0 5em !important;
}
   .strength-outer-left>.swell-block-fullWide__inner {
    padding: 0 5em 0 0 !important;
}
.strength-cont2 .strength-txt{
    padding-left: 3em;
}
.strength-cont1 .strength-txt{
   padding-right: 3em;
}
.strength-txt .txt-outer .wp-block-group__inner-container {
    padding-top: 20px;
}
.swiper{
    margin-bottom: 0;
}
.promise-cont, .business-top{
    flex-wrap: wrap!important;
}
.promise-cont .wp-block-column, .business-top .wp-block-column{
    flex-basis: 100%!important;
}
 .strength-bottom-link{
    flex-wrap: wrap!important;
    row-gap: 0!important;
 }
 .strength-bottom-link .service-link-block{
    flex-basis: 100%!important;
 }
 
 .service-link-ttl-block .ttl-en{
    font-size: 3em!important;
 }
  .business-top{
    row-gap: 3em!important;
  }
  .company-list td:first-child{
     padding-bottom: 3px;
  }
  .company-list td:last-child{
     padding-top: 3px;
  }
  .recruit-link-group{
    flex-wrap: wrap!important;
    row-gap: 1em!important;
  }
  .recruit-link-group .wp-block-column{
    flex-basis: 100%!important;
  }
  .wpcf7 th {
    padding: 10px 20px;
  }
  .wpcf7 td{
     padding: 15px;
  }
  .type .wpcf7-list-item:first-child{
    margin: 0;
  }
  .example{
    column-gap: 1em!important;
    justify-content: space-between;
  }
  .example .wp-block-image{
    margin-bottom: 5px;
  }
  .example.is-not-stacked-on-mobile{
    flex-wrap: wrap!important;
  }
  .example .wp-block-column{
    flex-basis: calc(50% - 0.5em) !important;
        flex-grow: 0 !important;
    }
   .vk_slider_7438718b-6dfc-45a1-9d97-b30e3575468c, .vk_slider_7438718b-6dfc-45a1-9d97-b30e3575468c .vk_slider_item{
        height: 380px !important;
    }
	.top-contact-group{
    row-gap: 3.4em!important;
}
}
@media (max-width: 781px) {
    .pc-br781{
        display: none;
    }
    .pc-spacer781{
        display:none;
    }
    /*
    .top-strength{
        flex-direction: column-reverse;
        justify-content: flex-end;
        row-gap: 0!important;
    }
   
    .top-strength .top-strength-img{
        width: 75%;
        margin-left: auto!important;
    }
    
    .top-strength .top-strength-txt{
        width: 92%;
        margin-left: auto!important;
    }
   .post_content .top-strength >:first-child {
       margin-top: -15em!important;
       z-index: 30;
      }
       */
 .loading img {
  width: 130px; }

	 .top-facility-bg::after{
	background: linear-gradient(
  180deg,
  rgba(0, 0, 0, 0.6) 0%,
  rgba(0, 0, 0, 0.8) 25%,
rgba(0, 0, 0, 0.9) 60%,
  rgba(0, 0, 0, 1) 100%
);
	}

.facility-square-blocks{
    max-width: 600px;
    margin:0 auto;
    row-gap: 2.5em!important;
    padding: 30px 22px;
}
	.facility-square-blocks .item .label{
		font-size:13px!important;
		padding-left:28px;
	}
 .facility-square-blocks.sp_column2 {
        flex-wrap: wrap !important;
        font-size: .9em;
    }
    .facility-square-blocks.sp_column2>.wp-block-column {
        flex-basis: calc(50% - var(--wp-column-gap) / 2) !important;
        flex-grow: 0 !important;
    }
    .facility-top-spacer{
        height: 30em!important;
    }
    .top-facility-ttl, .company-link-ttl, .top-recruit-ttl, .column-ttl, .top-contact-ttl, .facility-ttl, .flow-ttl, .company-ttl, .promise-ttl-en, .strength-ttl-en, .policy-ttl, .number-ttl, .person-ttl, .entry-ttl{
        font-size: 45px!important;
    }
    .top-facility-catch{
        font-size: 20px!important;
        line-height: 1.7em!important;
    }
    .top-facility, .top-column-inner, .top-recruit-inner{
    padding: 0 2em;
   }
   .top-facility{
    row-gap: 2em!important;
   }
	
   .top-facility-image-group{
    column-gap: 2em!important;
   }
   .top-facility-image-group .wp-block-cover{
    min-height: 350px!important;
   }
   .top-facility-txt .txt2{
    margin-bottom: 2.5em!important;
   }
	.link-btn{
		width:200px;
		height:60px;
	}
.link-btn-hv-rd .wp-block-button__link{
      width:200px;
	  height:60px;
	}
   .link-btn a{
    font-size: 15px!important;
	   display:block;
	   padding:0!important;
   }
   .item1 .wp-block-image img {
      margin-top:-30px!important;
   }
   .item2 .wp-block-image img{
    margin-top: 0px!important;
   }
	  .item3 .wp-block-image img{
    margin-top: 0px!important;
   }
   .item4 .wp-block-image img{
    margin-top: 30px!important;
   }
   .facility-square-blocks .item .label::after {
    position: absolute;
    content: '';
    bottom: -5px;
    left: 15px;
    width: 3px;
    height: 85px;
    background-color: #e13611;
    border-radius: 50px;
    z-index: 50;
}
.link-btn-wh{
        width: 200px;
        height: 55px;
    }
   .entry-txt-bg{
    font-size: 25vw!important;
   }
   .top-recruit-catch-top{
    font-size: 1.6em!important;
   }
   .top-recruit-catch-bottom{
    font-size: 16px!important;
    line-height: 2.0em!important;
   }
   
   .recruitment-link-btn{
    padding: 2em;
   }
   .recruitment-link-btn p, .entry-link-btn p, .line-link-btn p{
    line-height: 1.3em!important;
   }
   .recruitment-link-btn .btn-ttl-en, .entry-link-btn .btn-ttl-en{
    font-size: 12px!important;
   }
   .entry-link-btn, .line-link-btn{
    padding: 1.75em!important;
   } 
   .recruit-link-group .wp-block-image img {
    width: 40px;
}
.top-contact-cont-bg{
    padding: 3.5em 1.5em 3em 1.5em!important;
}

.strength-ttl-header{
    flex-wrap: wrap!important;
    flex-direction: column-reverse;
    justify-content: flex-start!important;
    align-items: flex-start!important;
}
.strength-txt h2{
  font-size: 22px!important;
  padding-top: 5px;
}
.promise-cont{
    row-gap: 5em!important;
}
.promise .num{
    font-size: 22px!important;
    margin-bottom: 15px!important;
}
.promise-cont .item-ttl{
    width: 180px;
    margin-bottom: 12px!important;
}

.promise-ttl-ja, .strength-ttl-ja{
    padding-left: 60px;
    font-size: 13px;
}
.promise-ttl-ja::after, .strength-ttl-ja::after{
    width: 40px;
    left: 25px;
}
    .service-link-block {
        padding: 1.8em !important;
    }
    .service-link-block .wp-block-cover{
    min-height: 160px!important;
}
.service-link-ttl-block .ttl-ja{
    font-size: 12px!important;
    padding-bottom: 5px;
    padding-left: 0;
}
.promise1, .promise2, .promise3{
    background-position: top 30px right 10px;
    
}
.promise1{
    background-size: 120px;
}
.promise2, .promise3{
    background-size: 100px;
}
.strength-cont1::after{
    width: 800px;
}
.strength-cont2::after{
    width: 900px;
}
.policy-bg .catch{
    font-size: 22px!important;
}
.number-header p{
    margin-bottom: 10px!important;
}
.person-ttl{
    margin-bottom: 0.8em!important;
}
.recruit-bottom-message .emphasis{
    font-size: 40px!important;
}
.tel-box{
    max-width: 300px;
    padding: 5px 10px 15px;
}
.tel-num-outer{
    line-height: 1em!important;
}
.tel-num{
    font-size: 28px!important;
}
.tel-num .swl-inline-icon{
  min-width: 0.8em;
  width: 0.9em;
}
.tel-box .times{
    font-size: 14px!important;
}
.fields{
    display: block;
}
.fields .left p span:last-child,
.fields .right p span:last-child {
  flex: 1;
}
.fields .left{
    margin-bottom: 15px;
}
.policy-ttl{
    margin-bottom: 1em;
}
.policy-txt{
    line-height: 2.2em!important;
}
	.acc-toggle .wp-block-button__link {
    padding: 10px 30px 16px 30px;
		position:relative;
		z-index:999;
}
	.thought-ttl{
		font-size:22px!important;
		margin-top:30px!important;
		margin-bottom:15px!important;
	}
	.message-ttl-en{
		font-size:45px!important;
	}
	.sign{
		width:180px;
		margin-left:auto;
	}
	.pro{
		font-size:23px!important;
	}
}

@media (max-width: 600px){
	#main_visual{
height:78vh;
	}
.p-mainVisual__slideTitle {
	font-size:2.3em!important;
    font-weight: bold!important;
 }
.top-strength-ttl, .top-service-ttl{
    font-size: 3.8em!important;
}
.section-ttl-ja{
    font-size: 14px!important;
}
.pc-br600{
    display: none;
}
	.top-facility-ttl{
		margin-bottom:45px!important;
	}

 .top-facility, .top-column-inner, .top-recruit-inner{
        padding: 0 1em!important;
    }
 .top-facility-image-group .wp-block-cover{
        min-height: 300px !important;
    }
	.top-facility-images{
	column-gap:1em!important;
}
	.mb-10-sp{
		margin-bottom:1em!important;
	}
.top-column-cont{
    margin-bottom: 0!important;
}

.contact-box{
    padding: 15px 10px 15px !important;
}
.contact-box .tel{
    font-size: 25px!important;
    padding-bottom: 8px;
}
.contact-box .box-label-ja{
    font-size: 18px!important;
}
.contact-box .box-label-en{
    font-size: 12px!important;
    padding-top: 8px;
}
.tel-container, .mail-container {
    padding: 45px 20px 30px !important;
}

.tel-container .time{
    font-size: 12px!important;
    line-height: 1.5em!important;
}

 .strength-outer-right>.swell-block-fullWide__inner {
    padding: 0 0 0 3em !important;
}
   .strength-outer-left>.swell-block-fullWide__inner {
    padding: 0 3em 0 0 !important;
}

.strength-outer{
    padding-top: 3em!important;
    padding-bottom: 2em!important;
}
.strength-cont2 .strength-txt{
    padding-left: 1.5em;
}
.strength-cont1 .strength-txt{
   padding-right: 1.5em;
}
.strength-outer .wp-block-cover, .wp-block-cover-image{
    min-height: 350px;
}

 .promise>.swell-block-fullWide__inner {
    padding: 0 2em !important;
}
.service-link-ttl-block{
    left: 2em;
}
.service-link-ttl-block .ttl-en {
        font-size: 35px!important;
    }
.arrow-wh::after {
    bottom: 30px;
    left: 5px;
    width: 30px;
    height: 5px;
} 
.ttl-top-line-red{
    font-size: 20px!important;
}
	
 .facility-cont {
    margin-top: -260px;
 }
 .facility-header{
    padding-top: 5.2em!important;
 }
 .machinery-group{
    margin-bottom: 1.8em!important;
 }
 .facility-cont{
    padding: 0 0.5em;
 }
  .facility02{
    padding-top: 5.5em!important;
  }
 .facility02 h2{
    margin-bottom: 1.5em!important;
 }
 .service-top-img-group .wp-block-cover{
    min-height: 280px!important;
 }
 .business-top{
    padding: 0!important;
    margin-bottom: 10px;
 }
 .service-top-img-group .left {
    padding-top: 80px;
}
 .acc-header {
    padding: 5em 2em 1.9em;
}
 .acc-header h2{
    font-size: 23px!important;
 }
 .flow .swell-block-fullWide__inner {
    padding: 0 2em !important;
}

.line-left-wh:after {
    width: 35px;
    height: 1px;
}
.section-ttl-ja{
    padding-left: 45px!important;
    margin-left: 0px;
}
.service-top-img-group{
    column-gap: 2em!important;
    padding: 0 1em;
}
.flow-ttl-ja{
    margin-left: 10px;
}
.line-left-bk2::after, .line-left-red::after {
    width: 35px;
    height: 1px;
}
.number-header{
    margin-bottom: 1em;
}
.policy-bg .swell-block-fullWide__inner {
    padding: 1.5em 1.5em 1em 1.5em;
}
.sp-number-img{
  margin-bottom: 0!important;
}
.person-img{
    min-height: 250px!important;
}
.recruit-gallery{
    gap:0!important;
}
.recruit-gallery.is-not-stacked-on-mobile{
    flex-wrap: wrap!important;
}
.recruit-gallery .wp-block-column{
    flex-basis: 50%!important;
}
.requirements-inner{
    padding: 0 2em;
}
.requirements-inner h2 {
        font-size: 30px !important;
    }
  .entry-link-btn-inner{
    justify-content: flex-start;
   }
   .recruitment-link-btn-inner{
    justify-content: flex-start;
   }
   .recruit-bottom-message .emphasis{
    font-size: 20px!important;
}
   .recruit-bottom-message .catch{
    font-size: 20px!important;
   } 
   .entry-ttl{
    margin-bottom: 1em!important;
   }
   .confirm-btn .wpcf7-submit{
    width: 90%;
   }
    .wpcf7-file {
  width: 100%;      /* テーブルセルいっぱいに広げる */
  max-width: 100%;  /* セルを超えない */
  box-sizing: border-box;
}
.vk_slider_7438718b-6dfc-45a1-9d97-b30e3575468c, .vk_slider_7438718b-6dfc-45a1-9d97-b30e3575468c .vk_slider_item{
        height: 350px !important;
    }
.strength-slider .swiper-slide{
		height:350px;
	}
	.privacy-ttl{
		padding-left:5px;
	}
	.privacy{
margin-top:50px;
	}
	.message-ttl-ja{
		padding-left:50px;
	}
}
@media (max-width: 450px){
	.pc-br450{
		display:none;
	}
.strength-outer .wp-block-cover, .wp-block-cover-image{
    min-height: 260px;
}
.strength-slider{
    height: 260px;
}
.strength-slider .swiper-slide{
		height:260px;
	}
    .vk_slider_7438718b-6dfc-45a1-9d97-b30e3575468c, .vk_slider_7438718b-6dfc-45a1-9d97-b30e3575468c .vk_slider_item{
        height: 260px !important;
    }
	.facility-top-spacer {
        height: 80vw !important;
    }
}