.works_container {
    width: 100%;
    position: relative;
}

.works_container .deco { position: fixed;}

.works_container .yl01 {
    width: 100%;
    height: 80vh;
    background: linear-gradient(0deg,rgba(244, 168, 0, 1) 0%, rgba(255, 255, 0, 1) 100%), url(../images/noize_gr.png);
    background-blend-mode: overlay;
    left: 0;
    bottom: 0;
}

.works_container .yl02,
.works_container .yl03,
.works_container .gr01 {
    clip-path: circle(50% at 50% 50%);
    aspect-ratio: 1 / 1;
}

.works_container .yl02 {
    width: 45%;
    background: linear-gradient(135deg,rgba(239, 113, 0, 1) 0%,  rgba(255, 255, 0, 1) 60%, rgba(255, 255, 0, 1) 100%), url(../images/noize_gr.png);
    background-blend-mode: overlay;
    right: -190px;
    bottom: -170px;
}

.works_container .yl03 {
    width: 25%;
    background: linear-gradient(315deg, rgba(239, 113, 0, 1) 0%, rgba(255, 255, 0, 1) 60%, rgba(255, 255, 0, 1) 100%), url(../images/noize_gr.png);
    background-blend-mode: overlay;
    left: -100px;
    top: -60px;
}

.works_container .gr01 {
    width: 60%;
    background: linear-gradient(225deg, rgba(115, 255, 0, 1) 0%, rgba(255, 255, 0, 1) 50%, rgba(255, 255, 0, 1) 100%), url(../images/noize_gr.png);
    background-blend-mode: overlay;
    left: -500px;
    bottom: -600px;
}

#works .works_intro,
#works .site_design {
    position: relative;
    z-index: 1;
}

#works .works_intro {
    width: 80%;
    margin: 0 auto;
    padding: 100px 0;
}

#works .works_intro img
{
    width: 80%;
    margin: 0 auto 100px;
}

#works h2, #works ul,
#works p { width: 100%;}

#works p { font-size: clamp( 14px, 1.1vw, 20px);}

#works h2 {
    font-size: clamp( 16px, 1.3vw, 25px);
    text-align: center;
    line-height: 1.3;
    margin-bottom: 30px;
}

#works ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 70px;
}

#works ul li {
    font-family: "Nunito Sans", sans-serif;
    font-optical-sizing: auto;
    font-weight: 300;
    font-style: normal;
    font-variation-settings:
      "wdth" 100,
      "YTLC" 500;
    font-size: clamp(18px, 1vw, 20px);
    word-break: break-all;
    text-transform: uppercase;
    text-align: center;
    padding: 10px 10px 5px;
    border-radius: 15px;
    margin-right: 20px;
    background-color: #fff;
    box-shadow: 0 0 10px #ffce00;
}

#works ul li:last-child { margin-right: 0;}

#works .works_intro p {
    line-height: 2;
    margin-bottom: 50px;
}

#works .visit_site_link {
    display: block;
    width: 50%;
    padding: 20px;
    margin: 0 auto;
    background-color: #b8ff00;
    border-radius: 30px;
    transition: all .2s;
    font-size: clamp( 16px, 1.3vw, 25px);
    font-family: "Nunito Sans", sans-serif;
    font-optical-sizing: auto;
    font-weight: 300;
    font-style: normal;
    font-variation-settings:
      "wdth" 100,
      "YTLC" 500;
      text-align: center;
      text-transform: uppercase;
      word-break: break-all;
      box-shadow: 0 0 10px #ffce00;
}

#works .visit_site_link:hover { background-color: #fff;}

#works .site_design {
    width: 100%;
    padding: 100px 0;
    position: relative;
}

#works .design_wrap {
    position: relative;
    z-index: 1;
    width: 80%;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
}

#works .site_pc,
#works .site_sp {
    overflow-x: hidden;
    overflow-y: scroll;
    border-radius: 15px;
    box-shadow: 0 0 10px #ffce00;
}

.scroll_only { position: relative;}

#works .design_wrap .scroll_only:first-of-type { width: 60%;}

#works .design_wrap .scroll_only:last-of-type { width: 25%;}

.scroll_only::after {
    position: absolute;
    content: "SCROLL→";
    font-family: "Nunito Sans", sans-serif;
    font-optical-sizing: auto;
    font-weight: 300;
    font-style: normal;
    font-size: clamp( 14px, 1vw, 20px);
    font-variation-settings:
      "wdth" 100,
      "YTLC" 500;
    top: 0;
    right: -35px;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    animation: scrollAnime 1s infinite;
    transform: translateY(0);
}

@keyframes scrollAnime {
    0% { transform: translateY(0);}
    50% { transform: translateY(20%);}
    100% { transform: translateY(0);}

}

#works .site_pc,
#works .site_sp { width: 100%;}

#works .site_pc { height: 50vh;}

#works .site_sp { height: 70vh;}

#works .site_pc img,
#works .site_sp img {
    width: 100%;
    height: auto;
}

.sp_scroll { display: none;}

#works .table_responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
   scrollbar-color: #bbb #f5f5f5;/* Firefox 用 */
   scrollbar-width: thin;/* Firefox 用 */
   padding-bottom: 10px;
}

/* Webkit（Chrome, Edge, Safari）用 */
#works .table_responsive::-webkit-scrollbar {
  height: 10px;
}

#works .table_responsive::-webkit-scrollbar-thumb {
  background-color: #999;
  border-radius: 5px;
}

#works .table_responsive::-webkit-scrollbar-track {
  background-color: #f0f0f0;
}

#works .table_responsive::after {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: 32px;
  height: 100%;
  pointer-events: none;
}

#works .thumb_table {
  border-collapse: separate;
  border-spacing: 5px;
  width: 100%;
  min-width: 600px;
  font-size: clamp( 14px, 1vw, 20px);
}

#works .thumb_table thead th {
  text-align: left;
  padding: 12px 16px;
  background-color: #b8ff00;
  font-weight: 500;
  border-radius: 8px;
}

#works .thumb_table tbody td {
  background-color: rgba(255, 255, 255, .8);
  padding: 16px;
  vertical-align: middle;
  border-radius: 8px;
  box-shadow: 0 0 5px #ffce00;
}

/* セルごとの幅調整 */
#works .thumb_table td:nth-child(1),
#works .thumb_table th:nth-child(1) { width: 10%;}

#works .thumb_table td:nth-child(2),
#works .thumb_table th:nth-child(2) { width: 20%;}

#works .thumb_table td:nth-child(3),
#works .thumb_table th:nth-child(3) { width: 25%;}

#works .thumb_table td:nth-child(4),
#works .thumb_table th:nth-child(4) { width: 45%;}




/* responsive */
@media (max-width: 1920px){
    #works .works_intro img,
    #works .works_intro p { margin-bottom: 9.2vh;}

    #works h2, #works ul { margin-bottom: 6.4vh;}

    #works ul li { margin-right: 1.3vw;}

    #works .works_intro,
    #works .site_design { padding: 6.4vh 0;}

}

@media (max-width: 1199px) {
    #works .visit_site_link { width: 70%;}

    .works_container .yl02 {
        width: 75%;
        right: -25%;
        bottom: -20%;
    }

    .works_container .yl03 {
        width: 50%;
        left: -15%;
        top: -15%;
    }

    .works_container .gr01 {
        width: 40%;
        left: -5%;
        bottom: 10%;
    }
}


@media (max-width: 767px){
    #works .works_intro,
    #works .design_wrap { width: 90%;}
}

@media (max-width: 600px) {
    #works .works_intro img { width: 100%;}

    #works .visit_site_link {
        width: 100%;
        padding: 25px;
        border-radius: 50px;
    }

    #works .design_wrap {
        flex-direction: column;
        align-items: center;
    }

    #works .design_wrap .scroll_only:first-of-type {
        width: 90%;
        margin-bottom: 8vh;
    }

    #works .design_wrap .scroll_only:last-of-type { width: 75%;}

    #works .site_sp { height: 50vh;}

    .scroll_only::after { right: -25px;}

    .works_container .yl02 {
        width: 100%;
        right: -25%;
        bottom: -5%;
    }

    .works_container .yl03 {
        width: 90%;
        left: -20%;
        top: -15%;
    }

    .works_container .gr01 {
        width: 40%;
        left: 0;
        bottom: 40%;
    }



}
