/*  -----------------------------------

    NXCL Style since 2023 
    - Case Top Style
    - Case Sub Style

    ---------------------------------- */

/*  Case Top Style ------------------ */
#cs-case #ttl-area .ttl-h1 {
    position: static;
    display: flex;
    min-height: 420px;
    max-width: 1220px;
    height: auto;
    margin: 0 auto;
    padding-top: 156px;
    align-items: flex-start;
}
#cs-case #ttl-area .ttl_1-line .ttl-en {
    margin-top: 0;
}
#cs-case #ttl-area .ttl-line {
    position: absolute;
    width: 100%;
    height: 175px;
    top: 342px;
    right: -940px;
    z-index: -1;
}
#cs-case .deco-line {
    position: absolute;
    display: block;
    content: "";
    width: 1800px;
    height: 175px;
    left: 0;
    background: url(/common/images/deco-line-cs.svg) no-repeat left top;
    background-size: 100%;
}
#cs-case #sc-casestudy {
    padding: 0;
}
#cs-case .card {
    display: grid;
    grid-template-columns: 380px 380px 380px;
    gap: 60px 40px;
}
#cs-case .card > li {
    list-style: none;
    height: auto;
    flex-shrink: 0;
    background-color: #fff;
    box-shadow: 0 10px 20px rgb(0 0 0 / 6%);
    padding-bottom: 20px;
}
#cs-case .more-btn {
    display: none;
}

/* max-width: 1439px 
   1439px 以下 ================== */
@media screen and (max-width: 1439px){
    #cs-case #ttl-area .ttl-line {
        right: -800px;
    }
}

/* max-width: 1279px 
   1279px以下 ================== */
@media screen and (max-width: 1279px){
    #cs-case #ttl-area .ttl-line {
        right: -750px;
    }
    #cs-case .card {
        grid-template-columns: 1fr 1fr;
        gap: 60px 30px;
    }
    #cs-case .card .card-img {
        width: 100%;
    }
    #cs-case .card .card-img img {
        width: 100%;
        height: auto;
    }
}
/* max-width: 1199px 
   1199px 以上 ================== */
@media screen and (max-width:1199px) {
    #cs-case #ttl-area .ttl-h1 {
        padding-top: 140px;
    }
    #cs-case #ttl-area .ttl-line {
        right: -600px;
    }
    .container-col .sub-nav {
        border-bottom: none;
        padding-bottom: 0;
    }
    .sub-nav .cs-sub ul {
        display: none;
    }
}
/* max-width: 889px 
   889px ================== */
@media screen and (max-width: 889px){
    #cs-case #ttl-area {
        margin-bottom: 1.46vw; /* 889px:13px */
    }
    #cs-case #ttl-area .ttl-h1 {
        padding-top: 117px;
        margin-bottom: 0;
        min-height: 330px;
    }
    #cs-case #ttl-area .ttl_1-line .ttl-en {
        margin-top: 0;
    }
    #cs-case #ttl-area .ttl-line {
        top: initial;
        bottom: 0;
        right: -167.6vw;
        width: 202.47vw;
        height: 19.69vw;
    }
    #cs-case .deco-line {
        width: 202.47vw;
        height: 19.66vw;
    }
    #cs-case .is-hidden,
    #cs-case .is-btn-hidden {
        display: none;
    }
    #cs-case .more-btn {
        display: block;
        position: relative;
        margin-top: 50px;
    }
    #cs-case .more-btn button {
        border: var(--main-color) 1px solid;
        padding: 14px 10px;
        display: flex;
        width: 100%;
        justify-content: center;
        color: var(--main-color);
        font-size: 1.3rem;
        font-weight: bold;
        line-height: 1.4rem;
        background: none;
    }
    #cs-case .more-btn button::before ,
    #cs-case .more-btn button::after {
      content: "";
      position: absolute;
      width: 12px;
      height: 2px;
      right: 12px;
      top: calc(50% - 3px);
      border-top: var(--main-color) 2px solid;
      transform: rotate(0);
    }
    #cs-case .more-btn button::after {
      transform: rotate(90deg);
    }
}
/* max-width: 768px 
    768px ================== */
@media screen and (max-width: 768px){
    #cs-case .card {
        grid-template-columns: 1fr;
        gap: 60px 40px;
        margin: 0 2.6vw;
    }
    #cs-case .card .card-img img {
        width: 100%;
        height: 49.48vw;
        object-fit: cover; 
    }
    #cs-case #sc-casestudy .card li .cs-tag {
        display: block;
    }
}
/* max-width: 519px 
   519px ================== */
@media screen and (max-width: 519px){
    #cs-case #ttl-area .ttl-h1 {
        padding-top: 58.5px;
        min-height: initial;
    }
    #cs-case .card {
      gap: 30px 0;
    }
    #cs-case .card li h2 {
        padding: 15px 20px 15px;
    }
    #cs-case .card > li {
        padding-bottom: 0;
    }
}
/* max-width: 425px 
    425px ================== */
@media screen and (max-width: 425px){
    
}
/*  Case Sub Style ----------------- */
#sc-casestudy {
    padding-top: 200px;
}
#cs-casesub #ttl-area .ttl-h1 {
  margin-bottom: 48.5px;
}
#cs-casesub .deco-line {
    position: absolute;
    top: 0;/* 162px */
    left: -57.29vw;/* -1100px */
    width: 107.29vw;/* 2060px */
    height: 6.51vw;/* 125px */
    background: url(/common/images/deco-line.svg) no-repeat left top;
    background-size: 100%;
    z-index: -1;
}

/* max-width: 1199px 
   1199px ================== */
@media screen and (max-width: 1199px){
    #sc-casestudy {
        padding-top: 16.68vw;
    }
}
/* max-width: 889px 
   889px ================== */
@media screen and (max-width: 889px){
    #cp-philosophy_mission #title-en img {
        width: 50%;
        max-width: 466px;/* original image size */
    }
}
/* max-width: 519px 
   519px ================== */
@media screen and (max-width: 519px){
    #cp-philosophy_mission .main-catch figure img {
        min-width: 256vw;
        min-height: 58.67vw;
    }
    #cs-casesub .deco-line {
        left: -151.25vw;/* -785px */
        width: 198.46vw;/* 1030px */
        height: 12.04vw;/* 62.5px */
    }
}
/* max-width: 425px 
   425px ================== */
@media screen and (max-width: 425px){
    #cp-philosophy_mission .main-catch .main-catch__inner {
        padding: 10.67vw 0 10.4vw;
    }
    #cp-philosophy_mission .main-catch h2 {
        font-size: 1.6rem;
        margin-bottom: 20px;
        line-height: 4rem;
        letter-spacing: 0.1rem;
    }
    #cp-philosophy_mission .main-catch p img {
        width: 47.6vw;
    }
}
/*889px以下1カラム*/
@media screen and (min-width: 889px) {
    .container section .rea {
    display: table;
    height: 200px;
    }
    .rea section {
      margin-bottom: 0;
    }
    #cs-case .card { 
     margin-top: 40px;
     display: inline;
    }
    #cs-case .card > li {
     padding-bottom: 0;
    }
    #sc-casestudy .card .card-img {
      display: table-cell;
      vertical-align: middle;
      width: 200px;
    }
    #sc-casestudy .card img {
      width: 200px;
      height: auto;
    } 
    #sc-casestudy .card li {
      margin-bottom: 30px;
    }
    #sc-casestudy .card li h2 {
      padding: 0 30px 20px;
    }
    #sc-casestudy .card li p {
      margin-bottom: 0; 
    }
    #sc-casestudy .card li .cs-tag li {
      margin-bottom: 0;
    }
    #sc-casestudy .card li .cs-tag {
      padding: 15px 30px;
    }
  }