@charset "utf-8";
@media screen and (min-width: 500px){
  .information .title-template01::after{
    right: calc(50% - 155px);
    transform: translate(50%, -50%);
  }
  .feature .title-template01::after{
    right: calc(50% - 155px);
    transform: translate(50%, -50%);
  }
  .people .title-template01::after{
    right: calc(50% - 150px);
    transform: translate(50%, -50%);
  }
  .data .title-template01::after{
    right: calc(50% - 175px);
    transform: translate(50%, -50%);
  }
  .welfare .title-template01::after{
    right: calc(50% - 125px);
    transform: translate(50%, -50%);
  }
  .job .title-template01::after{
    right: calc(50% - 125px);
    transform: translate(50%, -50%);
  }
  .entry .title-template01::after{
    right: calc(50% - 125px);
    transform: translate(50%, -50%);
  }
  .instagram .title-template01::after{
    right: calc(50% - 125px);
    transform: translate(50%, -50%);
  }
}
@media screen and (min-width: 768px){
  /*----------------------------
            [共通]
  -----------------------------*/
  
  /*----------------------
    [information]お知らせ
  -----------------------*/
  
  
  /*----------------------
    [information]お知らせここまで
  -----------------------*/
  .top-information-list ul li a{
    flex-direction: row;
    align-items: center;
    gap: 15px;
  }
  .top-information-list ul li a .time-category{
    width: fit-content;
  }
  .top-information-list ul li a .top-info-title{
    flex: 1;
  }
  .top-information-list ul li a .top-info-title span{
    -webkit-line-clamp: 1;
  }
  .top-information-list ul li:not(:last-child){
    border: none;
    padding-bottom: 6px;
  }
  
  /*----------------------
    [our culture]求める人物像
  -----------------------*/
  /*.top-culture-bg {
    background-color: transparent;
    padding-top: 66px;
  }
  .top-culture-bg::before {
    display: block;
    content: "";
    width: 70vw;
    height: 100%;
    background-color: #172242;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }
  .top-culture-grid01 {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    align-items: center;
    gap: 40px;
  }
  .top-culture-img {
    padding-left: 0;
    order: 0;
  }*/
  .top-culture-img img{
    max-height: 500px;
    object-fit: cover;
  }
  .t-c-container-pc.l-container{
    max-width: 100%;
  }
  
  .top-culture-grid02{
    grid-template-columns: 1fr 1fr 1fr;
  }
  .top-culture-card{
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 3;
  }
  .top-culture-card h6.culture-h6-tab{
    display: flex;
  }
  .top-culture-card h6.culture-h6-pc{
    display: none;
  }
  .top-culture-card h6{
    display: flex;
    justify-content: center;
    align-items: center;
  }
    
  /*----------------------
    [our culture]求める人物像ここまで
  -----------------------*/
  
  /*----------------------
    [feature]特徴
  -----------------------*/
  .top-feature-grid{
    grid-template-columns: 200px 1fr;
  }
  .top-feature-img figure img{
    width: 200px;
  }
  .top-feature-text{
    justify-content: center;
  }
  .top-feature-text{
    padding-left: 10px;
  }
  .top-feature-img figure figcaption{
    font-size: 65px;
    right: calc(50% - 80px);
  }
  
  /*----------------------
    [feature]特徴ここまで
  -----------------------*/
  
  /*----------------------
    [data]数字で知る
  -----------------------*/
  .top-data-card01 { grid-area: 1 / 1 / 2 / 2; }
.top-data-card02 { grid-area: 1 / 2 / 2 / 4; }
.top-data-card03 { grid-area: 2 / 1 / 3 / 3; }
.top-data-card04 { grid-area: 2 / 3 / 3 / 4; }
.top-data-card05 { grid-area: 3 / 1 / 4 / 2; }
.top-data-card06 { grid-area: 3 / 2 / 4 / 3; }
.top-data-card07 { grid-area: 3 / 3 / 4 / 4; }
/*.top-data-card08 { grid-area: 4 / 1 / 5 / 2; }
.top-data-card09 { grid-area: 4 / 2 / 5 / 3; }
.top-data-card10 { grid-area: 4 / 3 / 5 / 4; }*/
  .top-data-grid{
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(4, 1fr);
    grid-column-gap: 20px;
    grid-row-gap: 15px;
  }
  .top-data-card{
    display: grid;
        grid-template-rows: subgrid;
        grid-row: span 3;
        gap: 0;
    max-height: 250px;
  }
  .top-data-card01.top-data-card .t-d-c-img span{
    white-space: nowrap;
  }
  .top-data-card01.top-data-card p br{
  display: block;
}
  .top-data-card10.top-data-card .t-d-c-img{
    flex-direction: column;
    gap: 0;
  }
  .top-data-card10.top-data-card .t-d-c-img span{
    font-size: 28px;
  }
  .top-data-card10.top-data-card .t-d-c-img span br{
    display: none;
  }
  
  .top-data-card.top-data-card02{
    justify-content: center;
  }
  .top-data-card.top-data-card07 .t-d-c-img span{
    white-space: nowrap;
  }
  .top-data-card.top-data-card03 .t-d-c-img figure img{
    width: 150px;
  }
  .top-data-card p.card04-p{
    background-color: var(--ark-title-main);
    border-radius: 9999px;
  }
  .top-data-card.top-data-card04 .data-contents{
    background-color: transparent;
    padding: 0;
  }
  .top-data-card p.card04-p br{
    display: block;
  }
  .t-d-c-text02{
    justify-content: center;
  }
  
  /*----------------------
    [data]数字で知るここまで
  -----------------------*/
  
  /*----------------------
  [welfare]福利厚生ここまで
-----------------------*/
  .top-welfare-flex{
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  
  /*----------------------
  [welfare]福利厚生ここまで
-----------------------*/
  
  /*----------------------
  [job type]職種紹介
-----------------------*/
  .top-job-type-sticky h4{
    padding-bottom: 35px;
  }
  .top-job-type-btn{
    padding-top: 35px;
  }
  /*----------------------
  [job type]職種紹介ここまで
-----------------------*/
  
  /*----------------------
  [entry]エントリー
-----------------------*/
  .group-img-text{
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  position: absolute;
  color: #fff;
    font-size: 20px;
  top: 0;
  right: 0;
}
  .g-i-t-sp{
    display: none;
  }
  .group-img figure{
    margin-right: 50px;
    /*max-width: 800px;*/
  }
  .g-i-t-pc.group-img-text{
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  .group-img-text p span:not(.color-yellow){
    padding: 20px 3px;
  }
  .group-img-text p:last-child span:not(.color-yellow){
    position: relative;
    top: 30px;
  }
  
  /*----------------------
  [entry]エントリーここまで
-----------------------*/
  
  /*----------------------
  [single]
-----------------------*/
  .single-btn{
    justify-content: center;
    gap: 20px;
  }
  .single-btn a{
    font-size: 20px;
  }
  /*----------------------
  [single]ここまで
-----------------------*/
}
@media screen and (min-width: 1000px){
  .group-img figure{
    max-width: 800px;
    margin: 0 auto;
  }
  :root {
    --header-height: 120px;
  }
  header{
    height: 120px;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  
  .top-data-card01.top-data-card p br{
    display: none;
  }
}

@media screen and (min-width: 1200px){
  /*----------------------------
            [共通]
  -----------------------------*/
  body{
    font-size: 20px;
  }
  .l-container{
    padding: 0;
  }
  .title-template01 h2, 
  .title-template01 h2{
    font-size: 42px;
  }
  .title-template01{
    gap: 10px;
  }
  .title-template01::after{
    width: 90px;
    height: 65px;
  }
  section {
    padding-bottom: 50px;
}
  
  /*----------------------------
            [共通]ここまで
  -----------------------------*/
  
  /*----------------------
  [header]
-----------------------*/
  .c-drawerNav__a .__mainText{
    font-size: 35px;
  }
  .c-drawerNav__a .__subText{
    font-size: 20px;
  }
  .drawernav-corporate a{
    font-size: 20px;
    padding: 15px 0;
  }
  
  /*----------------------
  [header]ここまで
-----------------------*/
  
  /*----------------------
    [information]お知らせ
  -----------------------*/
  .information .title-template01::after{
    right: calc(50% - 210px);
  }
  
  /*----------------------
    [information]お知らせここまで
  -----------------------*/
  
  /*----------------------
    [our culture]求める人物像
  -----------------------*/
  .top-culture-bg {
    background-color: transparent;
    padding-top: 85px;
    padding-bottom: 0;
  }
  .top-culture-bg::before {
    display: block;
    content: "";
    width: 70vw;
    height: 100%;
    background-color: #172242;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
  }
  .top-culture-grid01 {
    display: grid;
    grid-template-columns: 1.05fr 1fr;
    gap: 20px;
  }
  .top-culture-img {
    padding-left: 30px;
    order: 0;
    padding-right: 0;
  }
  .top-culture-text{
    position: relative;
    top: -30px;
  }
  .top-culture-text > h2{
    font-size: 28px;
    font-weight: 600;
    padding: 15px 0;
  }
  .top-culture-text > blockquote{
    font-size: 18px;
    line-height: 1.6;
  }
  .top-culture-bg::before {
    left: calc(50% - 50vw);
    width: 66vw;
  }
  .top-culture-img img{
    border-radius: 0;
  }
  .t-c-container-pc.l-container{
    max-width: 1100px;
  }
  .top-culture-bg::after{
    bottom: auto;
    top: -18%;
  }
  .culture .title-template01 h2{
    font-size: 42px;
  }
  .culture .title-template02.title-template01{
    flex-direction: row;
    align-items: center;
    gap: 20px;
  }
  .culture .title-template01::after{
    left: auto;
        right: 0;
  }
  .top-culture-text h2{
    font-size: 28px;
  }
  .top-culture-text blockquote{
    font-size: 18px;
  }
  
  .top-culture-card h6.culture-h6-tab{
    display: none;
  }
  .top-culture-card h6.culture-h6-pc{
    display: flex;
  }
  .top-culture-grid02{
    column-gap: 40px;
  }
  .top-culture-card blockquote{
    font-size: 18px;
  }
  .top-culture-card{
    padding: 20px;
  }
  
  /*----------------------
    [our culture]求める人物像ここまで
  -----------------------*/
  
  /*----------------------
    [feature]特徴
  -----------------------*/
  .feature .title-template01::after{
    right: calc(50% - 210px);
  }
  .top-feature-grid{
    grid-template-columns: 245px 1fr;
  }
  .top-feature-text h6{
    font-size: 24px;
  }
  .top-feature-text h6 br{
    display: none;
  }
  .top-feature-img figure figcaption{
    font-size: 80px;
    right: -20px;
    transform: none;
  }
  .top-feature-text{
    padding-left: 40px;
  }
  
  /*----------------------
    [feature]特徴ここまで
  -----------------------*/
  
  /*----------------------
    [people]インダストリーオカダの人
  -----------------------*/
  .people .title-template01::after{
    right: calc(50% - 190px);
  }
  .people::before{
    right: -5%;
  }
  
  /*----------------------
    [people]インダストリーオカダの人ここまで
  -----------------------*/
  
  /*----------------------
    [data]数字で知る
  -----------------------*/
  .data .title-template01::after{
    right: calc(50% - 222px);
  }
  .t-d-c-img span{
    font-size: 40px;
  }
  .top-data-card p{
    font-size: 18px;
  }
  .t-d-c-img span.font-size-1200{
    font-size: 64px;
  }
  .top-data-card p.card04-p br{
    display: none;
  }
  .top-data-card p.card04-p{
    background: none;
    border-radius: unset;
  }
  .top-data-card.top-data-card04 .data-contents{
    background-color: var(--ark-title-main);
    padding: 3px 15px;
  }
  .t-d-c-text02-breakdown p span{
    font-size: 20px;
  }
  .t-d-c-text02-breakdown h6{
    padding: 0 50px;
  }
  .top-data-grid{
    grid-template-rows: repeat(1, 1fr);
  }
  .top-data-card{
    row-gap: 20px;
  }
  
  /*----------------------
    [data]数字で知るここまで
  -----------------------*/
  
  /*----------------------
  [welfare]福利厚生ここまで
-----------------------*/
  .welfare .title-template01::after{
    right: calc(50% - 160px);
  }
  .top-welfare-text h6{
    font-size: 24px;
    padding-left: 52px;
  }
  .top-welfare-text h6::before{
    width: 40px;
    height: 40px;
  }
  .top-welfare-text blockquote{
    font-size: 18px;
  }
  .top-welfare-card{
    padding: 20px 30px;
  }
  /*----------------------
  [welfare]福利厚生ここまで
-----------------------*/
  
  /*----------------------
  [job type]職種紹介
-----------------------*/
  .job .title-template01::after{
    right: calc(50% - 160px);
  }
  .top-job-type .u-fade-up {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
        visibility: visible !important;
    }

    /* JSで付与される transition-delay も打ち消す */
    .top-job-type .u-fade-up[style] {
        transition-delay: 0s !important;
    }
  
  /*----------------------
  [job type]職種紹介ここまで
-----------------------*/
  
  
  /*----------------------
  [entry]エントリー
-----------------------*/
  .entry .title-template01::after{
    right: calc(50% - 160px);
  }
  
  /*----------------------
  [entry]エントリーここまで
-----------------------*/
  
  .instagram .title-template01::after{
    right: calc(50% - 160px);
  }
  
  /*----------------------
  [job type]職種紹介
-----------------------*/
  .top-job-grid{
    display: grid;
    grid-template-columns: 400px 1fr;
    gap: 50px;
    align-items: start;
  }
  .top-job-wrap{
    padding: 45px 35px;
  }
  .top-job-text h6{
    font-size: 24px;
  }
  .top-job-detail .top-job-text:first-child .top-job-img figure figcaption{
    font-size: 20px;
  }
  .top-job-type {
    height: 100%; /* 親要素の高さ一杯にする */
    position: relative;
  }

  .top-job-type-sticky {
    position: sticky;
    
    /* 修正ポイント：
       要素の高さの半分（50%）よりも、画面中央（50vh）が小さい時は
       要素が上にはみ出さないように制御します。
       ※要素の高さが変動しても対応できるよう、
       親のpaddingやmarginを使わず、計算式のみで解決します。 */
    top: max(50%, 50vh); 
    
    translate: 0 -50%;
    
    opacity: 0;
    transform: translateY(50px);
    transition: opacity 0.8s ease, transform 0.8s ease;
    pointer-events: none;
  }

  /* 画面領域に入った時に付与するクラス */
  .top-job-type-sticky.is-animated {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
  }
  
  /*----------------------
  [job type]職種紹介ここまで
-----------------------*/
  
  /*----------------------
  [join]お試し入社
-----------------------*/
  .join{
    padding: 65px 0;
  }
  .top-join-grid{
    grid-template-columns: 540px 1fr;
  }
  .join .join-container-pc.l-container{
    margin-left: calc((100% - 1100px) / 2);
  }
  .top-join-left .l-container{
    max-width: 100%;
  }
  .top-join-title h1{
    font-size: 60px;
  }
  .top-join-title h5{
    padding: 28px;
    font-size: 32px;
    right: 45px;
  }
  .top-join-text blockquote{
    font-size: 18px;
  }
  .top-join-flex span{
    padding: 8px 12px;
  }
  .swiper-join-container .swiper-slide{
    width: 265px;
  }
  .swiper-join-container .swiper-slide img{
    max-width: 265px;
  }
  
  
  /*----------------------
  [join]お試し入社ここまで
-----------------------*/
  
  /*----------------------
  [entry]エントリー
-----------------------*/
  .top-entry-grid{
    grid-template-columns: repeat(4,1fr);
    gap: 75px;
  }
  .t-e-f-img figure{
    width: 60px;
    height: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .t-e-f-img span{
    font-size: 21px;
  }
  .t-e-f-text blockquote{
    font-size: 18px;
  }
  .top-entry-grid .top-entry-card:not(:last-child)::after{
    transform: translateY(-50%);
    width: 50px;
    height: 50px;
    top: 50%;
    left: calc(100% + 15px);
  }
  .entry .l-container > p{
    font-size: 20px;
  }
  .group-img{
    padding: 40px 0 75px;
  }
  .g-i-t-pc.group-img-text{
    right: calc((100% - 870px) / 2);
    font-size: 28px;
  }
  .group-img-text p:last-child span:not(.color-yellow){
    top: 45px;
  }
  .group-img-text p span:not(.color-yellow){
    padding: 25px 3px;
  }
  
  /*----------------------
  [entry]エントリーここまで
-----------------------*/

/*----------------------
  [Snow Monkey Forms]エントリー
-----------------------*/
  

/*----------------------
  [Snow Monkey Forms]エントリーここまで
-----------------------*/
  
  /*----------------------
  [footer]
-----------------------*/
  .footer-grid{
    grid-template-columns: 1fr 1fr;
  }
  .footer-img{
    flex-direction: row;
    align-items: center;
    gap: 15px;
  }
  .footer-img h6{
    font-size: 24px;
  }
  .footer-map iframe{
    height: 310px;
  }
  .footer-address{
    font-size: 18px;
  }
  .footer-company{
    justify-content: flex-start;
  }
  
  /*----------------------
  [footer]ここまで
-----------------------*/
  
  /*----------------------
  [single]
-----------------------*/
  .archive .l-content__body.l-container{
    padding: 0;
  }

/*----------------------
  [single]ここまで
-----------------------*/
}
@media screen and (min-width: 1500px){
  .top-culture-bg::after{
    left: calc((100% - 1440px) / 2);
  }
  .people::before{
    right: calc((100% - 1400px) / 2);
  }
}

/*-------------------
      swiper
--------------------*/
@media screen and (min-width: 768px) {
  .top-people-swiper-outer {
    margin-top: 30px;
  }
  .p-card__catch {
    font-size: 16px;
    top: 30px;
    right: 30px;
  }
}

/* --- [PC時 (1200px以上)] --- */
@media screen and (min-width: 1200px) {
  .top-people-swiper-outer {
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
  }

  /* ホバーアクション */
  @media (hover: hover) {
    .p-card:hover {
      transform: scale(1.03); /* 少し拡大 */
    }
    .p-card:hover .p-card__catch {
      background: #172242; /* 背景反転：紺 */
      color: #fff;         /* 文字反転：白 */
    }
  }

  /* ナビゲーション位置調整 */
  .p-swiper-prev { left: -25px; }
  .p-swiper-next { right: -25px; }
  .p-swiper-prev, .p-swiper-next {
    color: #172242;
  }
}

/*----------------------
  [people]インダストリーオカダの人ここまで
-----------------------*/