@charset "utf-8";

@media (hover:hover) {
    .header .h-inset .nav .gnb .gnb-list > li .dp2-wrap .dp2-list li .dp2:hover::after {
        width:100%;
        opacity:1
    }
    .sub-page .grid > li .prd-item > .hover-wrap:hover {
        opacity:1
    }
    .sub-page .prd-list .grid > li .prd-item > .hover-wrap:hover {
        opacity:1
    }
    .youtube-wrap #bo_gall #gall_ul .gall_li:hover .hover-wrap {
        opacity: 1;
    }
    .footer .family-site-wrapper:hover .family-site-button {
        border-color: var(--main-blue);
        color:var(--main-blue)
    }
}

@media (max-width:1440px) {
    .sub-page .prd-detail .info-wrap .inset .text-wrap .prd-name {
        font-size:6.2rem
    }
    .sub-page .section.full-img {
        height:auto
    }
    .sub-page .rnd.rnd-intro .copy .visual-text {
        font-size: 6.2rem;
    }
}

@media (max-width:1200px) {
    :root {
            --badgewidth: 24rem;
    }

    .sub-nav-wrap .tab-wrap .tablist {
        font-size:2rem
    }
    .sub-page .overview .client .client-wrap .client-list {
        grid-template-columns: repeat(4,1fr);
    }
    .sub-page .section .aside.sticky {
    padding-right: 0;
    min-width: 30rem;
    /* position: static; */
    /* gap: 2rem; */
}
    .sub-page .cert-wrap .section .layout .cont .grid {
        
        gap: 6rem 2rem;
    }
    .sub-page .prd-detail .info-wrap .inset .text-wrap .prd-name {
        font-size: 5.2rem;
    }
    .sub-page .prd-detail .intro .info-wrap .text-wrap .desc {
        margin-top: 2rem;
        font-size: 1.8rem;
    }
    .sub-page .prd-detail .intro .info-wrap .feature .feature-list li .ic::before {
        width:4rem;
        height:4rem
    }
    .sub-page .prd-detail .intro .info-wrap .feature .feature-list li .ic {
        width:6.8rem;
        height:6.8rem
    }
    .sub-page .prd-detail .intro .info-wrap .feature .feature-list li .text {
        font-size: 1.4rem;
    }
    .sub-page .prd-detail .intro .info-wrap .feature .feature-list {
        gap:1.5rem
    }

    .sub-page .prd-detail .intro .img {
        /* height: auto; */
    }
    .rnd .visual {
        height:80dvh
    }
    .sub-page .rnd.rnd-intro .copy .visual-text {
        font-size: 5.2rem;
    }
    .rnd .rnd-wrap .key-tech .cont .grid {
        gap:2rem
    }

    .sub-page .rnd-pr .sec1 .tit-sec .cert-img {
        /* width:10rem;
        height: 10rem; */
    }
    .sub-page .rnd.rnd-pr .sec1 .tit-sec .titset .subtit {
        font-size:3rem
    }
    .sub-page .rnd.rnd-pr .sec1 .tit-sec .titset .big-tit {
        font-size:7.2rem
    }
    .sub-page .rnd-pr .sec2 .desc br {
        display: none;
    }
    .sub-page .rnd-pr .sec2 .icon-set {
        max-width:unset
    }
    .sub-page .catalog .grid .text-sec .text-wrap .tit {
        font-size:4.2rem
    }
    .sub-page .catalog .grid .text-sec {
        padding:0
    }
}


@media (max-width: 904px) {
    :root {
            --badgewidth: 18rem;
    }

    .sub-page {
        padding:8rem 0 10rem
    }

    .sub-nav-wrap .tab-wrap .tablist {
        font-size: 2rem;
    }
    .overview .org-chart .org-wrap .org-box .deps1 .ceo {
        max-width:25rem;
    }
    .sub-page .overview .org-chart .org-box .badge {
        font-size:1.6rem;
        height: 6.8rem;
    }
    .overview .org-chart .org-wrap .org-box .deps2 {
        gap:20px
    }
    .overview .org-chart .org-wrap .org-box .deps2 .cont .deps3 .cont .text-box > p {
        font-size:1.6rem
    }
    .overview .org-chart .org-wrap {
        margin-top: 6rem;
    }
    .sub-page .overview .org-chart .org-wrap {
        overflow-x: auto;
        padding-bottom: 2rem;
        margin-top: 4rem;
    }
    .sub-page .overview .org-chart .org-box {
        min-width: 640px;
        /* overflow-x: auto; */
        /* margin-top: 6rem; */
    }
    .sub-page .overview .client .client-wrap .client-list {
        grid-template-columns: repeat(3,1fr);
    } 

    .sub-page .overview .ceo-msg .grid {
        grid-template-columns: repeat(1,1fr);
    }
    .sub-page .overview .ceo-msg .grid .img-sec {
        margin-right:0
    }
    .overview .section + .section {
        padding-top:8rem;
        margin-top: 8rem;
    }
    .sub-page .overview .ceo-msg .grid .text-sec .bottom {
        margin-top:4rem
    }
    .sub-page .overview .ceo-msg .grid .text-sec .sign-wrap .sign-img {
        max-width:10rem
    }

    .history .section .section-cont {
        margin-top:8rem
    }
    .history .section .section-cont .scroll-index-wrap .odometer {
        font-size:7.2rem;
        padding-left:0
    }
    .history .section .section-cont .year-wrap {
        padding-left:8rem
    }
    .history .section .section-cont .year-wrap .item .year-list > li .year {
        font-size:4.8rem
    }

    .sub-page .section .layout {
        /* grid-template-columns: repeat(1, 1fr); */
        gap: 4rem;
        place-items: unset;
        flex-direction: column;
    }
    .sub-page .layout + .layout {
        margin-top:8rem
    }
    .sub-page .section .aside.sticky {
        position: static;
        min-width: unset;
        place-self: start;
        width: auto;
    }
    .sub-page .section .layout .aside + .cont {
        width:auto
    }
    .sub-page .cert-wrap .section .layout .aside .aside-list li.on > a {
        font-size:2.4rem
    }
    .perform-wrap .cont #bo_gall #gall_ul {
        column-gap:2rem
    }
    .perform-wrap .cont #bo_gall #gall_ul > li .gall_box .gall_con .gall_text_href .bo_tit .t1 {
        font-size:1.4rem;
        line-height: 1.4;
    }
    .perform-wrap #bo_gall #gall_ul > li .gall_box .gall_text_href .subject {
        font-size:2rem
    }
    .perform-wrap #bo_gall #gall_ul > li .gall_box .gall_text_href {
        margin-top:1.2rem
    }

    .sub-page .prd-detail .intro .info-wrap .text-wrap .prd-name {
    font-size: 4.8rem;
}
    .sub-page .prd-detail:not(.ty2) .intro {
    display: flex;
    flex-direction: column;
    padding-top: 6rem;
    height: auto;
    gap: 3rem;
}
    .sub-page .prd-detail:not(.ty2) .intro .info-wrap {
    position: static;
    transform: translate(0, 0);
    padding-top: 0;
    align-items: flex-start;
    /* gap: 2rem; */
}
    .sub-page .prd-detail:not(.ty2) .intro .img {
    /* height: 70rem; */
    max-width: unset;
    width: unset;
    /* border: 1px solid red; */
    margin: unset;
    /* transform: translateY(-50px); */
}
    .sub-page .prd-detail .intro .info-wrap .inset {
        width:auto
    }

    .sub-page .prd-detail .intro .img img {
    /* border: 1px solid red; */
    /* object-position: right; */
    /* object-fit: cover; */
    width: 95%;
    height: 100%;
    margin: auto;
    /* text-align: center; */
}
    .sub-page .prd-detail .intro .img .swiper-pagination {
        width:100%;
        max-width: unset;
        bottom: auto;
        bottom: -60%;
        right: unset;
        display: none;
    }
    .sub-page .grid > li .prd-name {
        font-size:1.6rem;
        margin-top: 1.2rem;
    }
    .sub-page .prd-detail .prd-info .tableset .spec-table > table th, .sub-page .prd-detail .prd-info .tableset .spec-table > table td {
        font-size:1.6rem
    }
    .sub-page .prd-detail .intro .info-wrap .text-wrap .desc > br {
        display:none
    }
    .sub-page .prd-detail .intro .img div {
        width:100%;
        height:100%
    }

    .sub-page .prd-detail .section.full-img {
        margin-top:6rem
    }

    /* .sub-page .prd-detail.ty2 .intro .img {
    transform: translateY(0);
    height: auto;
    margin-top: 4rem;
    } */
    .sub-page .prd-detail.ty2 .viewbtn {
        border-color:inherit
    }

    .sub-page .rnd.rnd-intro .copy .visual-text {
        font-size: 4.4rem;
    }
    .sub-page .rnd .rnd-wrap {
        margin-top:8rem
    }
    .sub-page .rnd .rnd-wrap .intro .cont .text {
        font-size:1.8rem
    }
    .rnd .rnd-wrap .ppl .grid > li .box .tit {
        font-size:2rem
    }
    .bp-list li,
    .sub-page .rnd .ppl .grid > li .box .bp-list > li > p,
    .sub-page .rnd .ppl .grid > li .box .bp-list > li > em {
        font-size:1.6rem
    }
    .rnd .rnd-wrap .key-tech .cont .grid .tech-cont .img {
        margin:2rem 0
    }
    .rnd .rnd-wrap .key-tech .cont .grid .tech-cont .desc {
        font-size:1.6rem
    }
    .sub-page .rnd.rnd-pr .sec1 {
        padding-top:10rem
    }
    .sub-page .rnd.rnd-pr .sec1 .tit-sec .titset .big-tit {
        font-size: 6rem;
    }
    .sub-page .rnd.rnd-pr .sec1 .tit-sec .titset .subtit {
        font-size:2rem
    }
    .sub-page .rnd.rnd-pr .sec1 .tit-sec .titset {
        margin-bottom:4rem
    }
    .sub-page .rnd.rnd-pr .sec1 .tit-sec .badge > p {
        font-size:1.6rem
    }
    .sub-page .rnd-pr .sec1 .tit-sec .cert-img {
        width: 8.8rem;
        height: 8.8rem;
        margin: auto;
    }
    .sub-page .rnd-pr.a2b .dot .tag {
        font-size:1.4rem;
        margin-left: 2rem;
    }
    .sub-page .rnd-pr.a2b .dot {
        width:1.6rem;
        height:1.6rem
    }
    .sub-page .rnd-pr.a2b .dot.col .tag {
        margin-top: 2rem;
    }
    .sub-page .rnd-pr.a2b .dot.left .tag {
        margin-right:2rem
    }
    .sub-page .rnd-pr .sec2 .desc > p {
        font-size:1.6rem
    }
    .sub-page .rnd-pr .sec2 .desc > p br {
        display:none
    }
    .sub-page .rnd-pr .sec2 .icon-set .icon-list > li .text .tit {
        font-size:2rem
    }
    .sub-page .rnd-pr .sec3 .layout + .layout {
        margin-top: 8rem;
    }
    .sub-page .rnd-pr .section.sec2 {
        margin-top: 8rem;
        /* padding-bottom: 10rem; */
    }
    .sub-page .rnd-pr .sec2 .icon-set .icon-list {
        row-gap:4rem
    }
    .sub-page .rnd-pr .sec2 .icon-set .icon-list > li {
        /* max-width: 20rem; */
    }

    .sub-page .rnd-history .sec2 {
    margin-top: 8rem;
}
    .sub-page .rnd-history .sec1 .text {
        font-size:2rem;
    }
    .sub-page .rnd-history .sec1 .text br {
        display:none
    }
    .sub-page .catalog .grid {
        /* grid-template-columns:repeat(1,1fr); */
        display: flex;
        flex-direction: column-reverse;
    }
    .sub-page .catalog .grid .img-sec .imgset {
        display:grid
    }
    .sub-page .catalog .grid .text-sec .text-wrap .tit {
        font-size:3.2rem
    }
    .sub-page .catalog .grid .text-sec .text-wrap .desc {
        font-size:1.6rem;
        margin-top: 2rem;
    }
    .sub-page .catalog .grid .text-sec .btnset {
        margin-top:4rem
    }
    .sub-page .catalog .grid .text-sec .btnset > a {
        font-size:1.5rem;
        display: inline-block;
    }
    .sub-page .contact-form .grid {
        display:flex;
        flex-direction:column-reverse
    }
    .sub-page .contact-form .grid .img {
        height:50vw;
        border-radius: 4px;
    }
    .perform-wrap #bo_cate > ul {
        gap:1rem
    }
    .perform-wrap #bo_cate {
        margin-bottom:0;
        margin-top:2.8rem
    }

    .en .sub-page .overview .ceo-msg .grid .text-sec .h4 br {
        display:none
    }
    .en .sub-page .overview .org-chart .org-box .badge {
        padding:0 2rem;
        text-align:center;
        line-height:1.35
    }
    .sub-page .section:not(.youtube-wrap) #bo_v_title .bo_v_tit {
        font-size:4rem
    }
    img.pc-only {
        display:none
    }
    img.mob-only {
        display: block;
    }
    .overview .client .client-wrap .client-list > li {
        padding:2rem
    }
}


@media (max-width:599px) {

    :root {
        --badgewidth: 14rem;
    }

    .sub-page {
        padding: 4rem 0 8rem
    }
    .sub-page .overview .org-chart .org-box .deps1 .line::before, 
    .sub-page .overview .org-chart .org-box .deps2 .line::before, 
    .sub-page .overview .org-chart .org-box .deps3 .line::before {
        height: 0;
    }

    .sub-page .overview .org-chart .org-box .deps2-line .line::before {
        width:0
    }

    .sub-page .overview .org-chart .org-wrap .org-box .badge, 
    .sub-page .overview .org-chart .org-wrap .org-box .text-box {
        transform: translateY(0);
        opacity:1
    }

    .sub-nav-wrap .tab-wrap .tablist {
        font-size:1.4rem;
        gap: 2rem;
        white-space: nowrap;
        overflow-x: scroll;
        padding-bottom: 1rem;
    }

    .sub-nav-wrap .tab-wrap {
        padding-top: 4rem;
        padding-bottom: 1rem;
    }

    .sub-page .prd-detail .prd-info {
        margin-top:8rem
    }
    .sub-page .rnd-pr .section + .section {
        margin-top: 8rem;
    }
    .sub-page .overview .ceo-msg .grid .text-sec .msg {
        font-size:1.4rem
    }
    .sub-page .overview .ceo-msg .grid .text-sec .msg br {
        display:none
    }
    .sub-page .overview .ceo-msg .grid .text-sec .h4 {
        margin-bottom:2rem
    }
    .sub-page .overview .ceo-msg .grid .text-sec .sign-wrap {
        font-size:1.4rem
    }
    .sub-page .overview .client .client-wrap .client-list {
        grid-template-columns: repeat(2,1fr);
        gap: 1.2rem;
    }
    .sub-page .overview .client .client-wrap {
        margin-top:3rem
    }

    .sub-page .overview .org-chart .org-box {
        /* margin-top:6rem; */
        /* overflow: hidden; */
    }
    .sub-page .overview .org-chart .org-box .badge {
        font-size:1.4rem;
        /* width: auto; */
        /* padding: 0 5rem; */
        height: 5rem;
    }
    .overview .org-chart .org-wrap .org-box .deps2 .cont .deps3 .cont .text-box > p {
        font-size:1.3rem
    }
    .sub-page .overview .org-chart .org-box .text-box {
        padding: 2.8rem 0;
    }
    /* .sub-page .overview .org-chart .org-box .deps3 .cont {
        padding:0 1rem
    } */
    .sub-page .overview .org-chart .org-box .deps2 {
        gap:1rem
    }

    .sub-page .overview .org-chart {
        overflow-x:auto
    }
    .sub-page .section-head .desc br {
        display:none
    }
    .sub-page .section-head .h4 + .desc {
        font-size:1.4rem
    }
    .history .section .section-cont .scroll-index-wrap .odometer {
        font-size: 4.4rem;
        top: 10rem;
    }

    .history .section .section-cont .year-wrap .item .year-list > li .year {
        font-size:2.4rem
    }
    .history .section .section-cont .year-wrap {
        padding-left:2.4rem 
    }
    .history .section .section-cont .year-wrap .item .year-list > li .desc {
        font-size:1.4rem
    }
    .history .section .section-cont .year-wrap .item .year-list > li + li {
        margin-top:2.8rem
    }
    .history .section .section-cont .year-wrap .item + .item {
        margin-top:6rem;
        min-height: 0;
    }

    .sub-page .cert-wrap .section .layout .cont .grid {
        grid-template-columns: repeat(2,1fr);
        gap: 4rem 1.2rem;
    }
    .cert-wrap .section .cont .grid > li .text > p {
        font-size:1.4rem;
        margin-top: 1rem;
    }
    .sub-page .cert-wrap .section .layout .aside .aside-list li.on > a {
        font-size:2rem
    }
    .sub-page .cert-wrap .section .layout .aside .aside-list li > a {
        font-size:1.4rem
    }
    .sub-page .cert-wrap .section .layout .aside .aside-list li + li {
        margin-top:1rem
    }
    .cert-wrap .section .cont .grid > li .text > p {
        word-break: break-all;
    }
    .sub-page .location .layout {
        gap:2rem
    }

    .sub-page .location .loc-wrap .layout .cont .map iframe {
        aspect-ratio: 1/0.675;
    }
    .sub-page .location .loc-wrap .layout .cont .address p{
        font-size:1.4rem;
        align-items: flex-start;
    }
    .sub-page .location .loc-wrap .layout + .layout {
        margin-top: 6rem;
    }
    .sub-page .prd-list .grid > li .prd-name {
        font-size:1.4rem;
        margin-top: 1.2rem;
    }
    .sub-page .prd-list .grid {
        grid-template-columns: repeat(1,1fr);
        gap: 4rem 1.2rem;
    }

    .sub-page .prd-detail .intro .info-wrap .text-wrap .prd-name {
    font-size: 3.6rem;
    margin-bottom: 1.6rem;
}
    .sub-page .prd-detail .intro .info-wrap .text-wrap .desc {
        font-size: 1.5rem;
        /* margin: 1.2rem 0 3rem; */
    }
    .sub-page .prd-detail .intro .info-wrap .feature .feature-list li .ic {
        width: 4.8rem;
        height: 4.8rem;
    }
    .sub-page .prd-detail .intro .info-wrap .feature .feature-list li .ic::before {
        width:2.4rem
    }
    .sub-page .prd-detail .intro .info-wrap .feature .feature-list li .text {
        font-size:1.2rem
    }
    .sub-page .prd-detail .info-wrap .inset .feature {
        margin-top:2rem
        
    } 
    .sub-page .prd-detail .info-wrap .inset .feature .feature-list {
        margin-bottom:4rem
    }
    
    .sub-page .prd-detail .prd-info .layout .cont .gallery {
        grid-template-columns:repeat(1,1fr);
        gap:1.2rem
        
    }
    .sub-page .prd-detail .intro .info-wrap .feature .feature-list {
        gap:1.2rem
    }
    .sub-page .layout + .layout {
        margin-top:8rem
    }
    .sub-page .prd-detail .prd-info .layout .cont .tableset .h4 + .spec-table {
        margin-top:2rem
    }
    .sub-page .prd-detail .prd-info .layout .cont .tableset + .tableset {
        margin-top:4rem
    }
    .sub-page .prd-detail .prd-info .layout .cont .table-sub {
        margin-top:2rem
    }
    .sub-page .prd-detail .prd-info .layout .cont .tableset .spec-table > table th, 
    .sub-page .prd-detail .prd-info .layout .cont .tableset .spec-table > table td {
        font-size:1.2rem;
        padding: 12px 4px;
        /* padding-right: 4px; */
    }
    .sub-page .table-sub .bp-list > li > p {
        font-size:1.2rem
    }

    .sub-page .prd-detail .prd-info .layout {
        gap:2rem
    }
    .sub-page .prd-detail .prd-info .tableset .h4 + .spec-table {
        margin-top:1.6rem
    }
    .sub-page .prd-detail .prd-info .tableset + .tableset {
        margin-top:4rem
    }
    .sub-page .tableset + .table-sub {
        margin-top:2.4rem
    }
    .sub-page .grid > li .prd-name {
        font-size:1.4rem
    }
    .sub-page .prd-detail .other-prd-list {
        grid-template-columns:repeat(1,1fr);
        gap: 2rem;
    }
    .sub-page .prd-detail:not(.ty2) .intro {
        padding-top: 8rem;
    }
    .sub-page .prd-detail .intro .img {
        
        /* height: 86vw; */
                
        /* transform: translateY(-20px); */
                
        /* width: 95%; */
    }
    .sub-page .prd-detail .intro .info-wrap .text-wrap + .viewbtn {
        margin-top: 2rem;
    }
    .rnd .rnd-wrap .ppl .grid,
    .rnd .rnd-wrap .key-tech .cont .grid {
        grid-template-columns:repeat(1,1fr)
    }
    .rnd .rnd-wrap .key-tech .cont .grid {
        gap:4rem
    }
    .rnd .rnd-wrap .key-tech .cont .grid .tech-cont .desc {
        margin-bottom:2rem;
        font-size: 1.4rem;
        line-height: 1.5;
    }
    .sub-page .rnd.rnd-intro .copy .visual-text {
        font-size:3.6rem;
        padding:0 2rem
    }
    .rnd .visual {
        height:70dvh
    }
    .sub-page .rnd.rnd-intro .copy .visual-text p {
        display:inline
    }
    .sub-page .rnd .rnd-wrap .intro .cont .text {
        font-size: 1.5rem;
        line-height: 1.5;
    }
    .rnd .rnd-wrap .intro .cont .text br {
        display:none
    }
    .sub-page .section .layout {
        gap:2rem
    }
    .rnd .rnd-wrap .layout + .layout {
        margin-top:8rem
    }
    .rnd .rnd-wrap .ppl .grid > li {
        padding: 3rem 2rem;
        /* padding-bottom: 3rem; */
    }
    .rnd .rnd-wrap .ppl .grid > li .box .tit {
        font-size:1.8rem;
        /* margin-bottom: 5rem; */
    }
    .bp-list li,
    .sub-page .rnd .ppl .grid > li .box .bp-list > li > p,
    .sub-page .rnd .ppl .grid > li .box .bp-list > li > em {
        font-size:1.4rem
    }
    .sub-page .rnd-pr .sec2 .icon-set .icon-list {
        display:grid;
        grid-template-columns: repeat(1,1fr);
        /* display: block; */
        row-gap: 4rem;
    }
    .sub-page .rnd-pr .sec2 .icon-set .icon-list > li,
    .sub-page .rnd-pr.a3 .sec2 .icon-set .icon-list > li {
        flex-direction: row;
        width: auto;
        align-items: center;
        text-align: left;
        max-width: unset;
        gap: 10px;
    }
    .sub-page .rnd-pr .sec2 .icon-set .icon-list > li .text {
        margin-top: 0;
        text-align: left;
        padding: 0;
    }
    .sub-page .rnd-pr .sec2 .icon-set .icon-list > li:nth-child(5) {
        margin-left: 0;
    }
    .sub-page .rnd-pr .sec2 .icon-set .icon-list > li:nth-child(7) {
        margin-right:0
    }
    .sub-page .rnd-pr .sec2 .desc {
        text-align:left
    }
    .sub-page .rnd-pr .sec2 .icon-set .icon-list > li .ic::before {
        width:4rem;
        height:4rem
    }
    .sub-page .rnd-pr .sec2 .icon-set .icon-list > li .text .tit {
        font-size:1.7rem
    }
    .sub-page .rnd-pr .sec2 .icon-set .icon-list > li .text .desc {
        font-size:1.4rem;
        margin-top: 0.4rem;
    }
    .sub-page .rnd-pr .sec2 .icon-set .icon-list > li .text .desc br {
        display:none
    }
    .sub-page .rnd-pr .sec3 .cont .grid {
        grid-template-columns:repeat(1,1fr)
    }
    .sub-page .rnd-pr .sec3 .cont .box-list .img-box .img > img {
        width:100%
    }
    .sub-page .rnd-pr.a2b .dot .tag {
        font-size:1.2rem
    }
    .sub-page .box-list .img-box .text {
        padding:2rem
    }
    .sub-page .rnd-pr .sec3 .cont .box-list .img-box .text > p {
        font-size:1.4rem;
        /* padding: 2rem; */
    }
    .sub-page .rnd-pr .sec2 .desc > p {
        font-size:1.4rem
    }
    .sub-page .rnd.rnd-pr .sec1 .tit-sec .badge {
        margin-top: 4rem;
    }
    .sub-page .rnd.rnd-pr .sec1 .tit-sec .badge > p {
        font-size:1.3rem
    }
    .sub-page .rnd.rnd-pr .sec1 .tit-sec .titset .big-tit {
        font-size:4rem
    }
    .sub-page .rnd-pr.separator .sec1 .tit-sec .titset {
        
margin-bottom: 1rem;
    }
    .sub-page .rnd.rnd-pr .sec1 .img-box {
        margin-top:6rem
    }
    .sub-page .rnd-pr.separator .sec1 .tit-sec .big-tit {
        font-size:3.6rem
    }
    .sub-page .rnd.rnd-pr .sec1 .tit-sec .titset .subtit {
        font-size:1.5rem
    }
    .sub-page .rnd-pr .sec1 .tit-sec .cert-img {
        width:6rem;
        height:6rem
    }
    .sub-page .rnd-pr.separator .sec1 {
        padding-bottom:20px
    }
    .sub-page .rnd-pr.separator .sec1::before {
        height: 105%;
    }

    .sub-page .rnd-pr .sec1 .img-box {
        margin-top: 4rem;
    }

    .sub-page .rnd-pr .section.sec2 {
        margin-top: 4rem;
        /* padding-bottom: 6rem; */
    }

    .sub-page .rnd.rnd-pr .sec1 {
        padding-top:6rem
    }
    .sub-page .rnd-pr .sec1 .tit-sec .cert-img + .titset {
        margin-top:2.8rem
    }
    .sub-page .rnd-pr .sec1 .tit-sec .titset {
        margin-bottom:2.4rem
    }
    .sub-page .a3 .tit-sec .text {
        margin-top:4rem
    }
    .sub-page .rnd-pr .sec1 .tit-sec .text p {
        font-size:1.4rem
    }
    .sub-page .rnd-pr .sec2 .icon-set {
        margin-top:6rem
    }
    .sub-page .rnd.separator .sec2 .cont .feature .grid {
        grid-template-columns:repeat(1,1fr);
        gap: 1.2rem;
    }
    .sub-page .rnd.separator .sec2 .cont .feature .text > p {
        font-size:1.4rem
    }
    .sub-page .rnd-pr.separator .sec2 .feature .text > p br {
        display:none
    }
    .sub-page .rnd-pr.separator .sec2 .feature .h5 {
        margin-bottom:2rem
    }
    .sub-page .rnd.separator .sec2 .cont .feature + .feature {
        margin-top:6rem
    }
    .sub-page .rnd-pr.separator .sec2 .feature .text {
        margin-top:2rem
    }
    .sub-page .rnd-pr.separator .sec1 .img-box {
        margin-top:4rem
    }
    .sub-page .rnd-pr.separator .sec2 {
        margin-top: 6rem;
    }
    .sub-page .rnd-history .sec2 {
    margin-top: 5rem;
}
    .sub-page .rnd-history .sec1 .text {
        font-size: 1.6rem;
    }
    .sub-page .rnd-history .sec2 .box-list {
        grid-template-columns:repeat(2,1fr);
        gap:1.2rem
    }
    .sub-page .box-list .img-box .text > p {
        font-size: 1.4rem;
    }
    .sub-page .youtube-wrap #bo_cate ul > li > a {
        font-size:1.4rem
    }

    .sub-page .youtube-wrap #bo_gall #gall_ul {
        grid-template-columns: repeat(1,1fr);
        gap: 4rem 1.2rem;
        margin-top: 4rem;
    }
    .sub-page .youtube-wrap #bo_gall #gall_ul > li .gall_con .con-wrap {
        margin-top:1.2rem
    }
    .sub-page .youtube-wrap #bo_gall #gall_ul > li .gall_con .con-wrap > span {
        font-size:1.5rem
    }
    .sub-page .section .aside #bo_cate > ul > li > a {
        font-size:1.3rem
    }
    #bo_cate > ul {
        flex-wrap:wrap
    }
    .sub-page .catalog .grid .text-sec .text-wrap .tit {
        font-size: 2.4rem;
    }
    .sub-page .catalog .grid .text-sec .btnset {
        display:inline-block
    }
    .sub-page .catalog .grid .text-sec .btnset a + a {
        margin-top:8px
    }
    .sub-page .catalog .grid .img-sec .imgset {
        gap:1.2rem
    }

    .sub-page .catalog .grid .text-sec .text-wrap .desc {
        font-size:1.5rem
    }

    .sub-page .catalog .grid .text-sec .btnset > a {
        font-size:1.3rem
    }

    .sub-nav-wrap .sub-page-tit + .page-desc {
    font-size: 1.6rem;
    margin-top: 3rem;
    }
    .sub-nav-wrap .sub-page-tit + .page-desc br {
        display:none
    }
    #email-form-wrap .emlist > li .inbox > input,
    #email-form-wrap textarea,
    #form_attached_1 .filebox .input-cont,
    #form_attached_1 .filebox .input-cont > .attch {
        font-size:1.4rem;
       
    }
    #email-form-wrap .emlist > li .inbox > input {
         padding: 0 1.2rem;
         height: 52px;
         line-height: 52px;
    }
    #email-form-wrap textarea {
        padding: 2rem 1.2rem;
        
    }

    .sub-page .contact-form .f_cont3 .file-name,
    .sub-page .contact-form .f_cont3 .filebox .input-cont .attch {
        height: 52px;
        line-height: 52px;
        padding: 0 1.2rem;
        font-size: 1.4rem;
    }
    .sub-page .contact-form .f_cont3 .filebox .input-cont .viewbtn {
        width: 8rem;
    }

    #email-form-wrap .captcha-wrap {
        /* padding:1.6rem 0; */
    }
    #email-form-wrap .captcha-wrap #captcha {
        gap:1rem;
        padding: 1.2rem 0;
    }
    #email-form-wrap #captcha #captcha_key {
        font-size:1.4rem
    }
    .sub-page .contact-form .captcha-wrap #captcha #captcha_img {
        height: 40px;
    }

    .sub-page .contact-form .captcha-input-wrap .placeholder-wrap > span {
        font-size:1.4rem
    }

    .sub-page .contact-form .captcha-input-wrap {
        margin-left: 4px;
    }

    .sub-page .overview .client .client-wrap .client-list > li {
        
        aspect-ratio: unset;
        height: 80px;
    }
    .inner {
        width:92%
    }

    .sub-page .section .aside .aside-list > li + li, .sub-page .section .aside #bo_cate > ul > li + li {
        margin-top:10px
    }
    .sub-page .section .aside .aside-list > li.on > a, 
    .sub-page .section .aside #bo_cate > ul > li > #bo_cate_on {
        font-size:2rem
    }
    .perform-wrap .cont #bo_gall #gall_ul {
        grid-template-columns:repeat(1,1fr);
        gap: 4rem 1.2rem;
    }

    .pg_wrap .pg {
        font-size:1.4rem;
        gap: 6px;
    }
    .pg_wrap .pg a.pg_start, .pg_wrap .pg a.pg_prev, .pg_wrap .pg a.pg_next, .pg_wrap .pg a.pg_end {
        width:24px;
        height:24px
    }

    .pg_wrap .pg a.pg_next {
        margin-left: 10px;
    }
    .pg_wrap .pg a.pg_prev {
        margin-right:10px
    }
    .perform-wrap #bo_gall #gall_ul > li .gall_box .gall_text_href .bo_tit p {
        font-size:1.2rem
    }
    .perform-wrap .cont #bo_gall #gall_ul > li .gall_box .gall_con .gall_text_href .bo_tit .subject {
        font-size:1.7rem;
        line-height: 1;
        margin-top: 4px;
    }

    .sub-page .rnd-pr.a2b .dot .tag {
        opacity:0;
        visibility:hidden;
        transition:all .2s
    }
    .sub-page .rnd-pr.a2b .dot.active .tag {
        opacity:1;
        visibility:visible
    }
    .sub-page .rnd-pr.a2b .dot {
        
        flex-direction: row-reverse;
    }
    .sub-page .rnd-pr.a2b .dot .tag {
        /* margin-right:2rem; */
        /* margin-left: 0; */
        /* flex-direction: row-reverse; */
    }
    .sub-page .rnd.rnd-pr .sec1 .img-box .d3 {
        flex-direction:row-reverse
    }
    .sub-page .rnd.rnd-pr .sec1 .img-box .d3 .tag {
        margin-left:0;
        margin-right:2rem
    }
    .sub-page .rnd-pr.a2b .dot.col .tag {
        margin-right:0
    }
    .sub-page .rnd.rnd-pr .sec1 .img-box .d11 {
        flex-direction: row-reverse;
    }
    .sub-page .rnd-pr.a2b .dot.d11 .tag {
        margin-right:0;
        margin-left:2rem
    }

    .sub-page .rnd.rnd-pr .sec1 .img-box .dot:not(.d1).col {
    flex-direction: column-reverse;
    }
    .sub-page .rnd-pr.a2b .dot:not(.d1).col .tag {
        margin-top: 0;
        margin-bottom: 2rem;
    }

    .sub-page .layout .aside .c-text, .sub-page .layout .aside .c-text + p {
        font-size:2.4rem
    }
    .sub-page .rnd-pr.a3 .sec1 .tit-sec .text p {
        padding:0 4rem
    }
    .sub-page .rnd-pr .sec3 .layout + .layout {
        margin-top:6rem
    }

    .sub-page .rnd-pr .sec1 .img-box .mob-only {
        display:block;
    }
    .sub-page .rnd-pr .sec1 .img-box .pc-only {
        display:none
    }

    .sub-page .contact-form .grid .img {
        
        aspect-ratio: 1/1;
        height: auto;
    }
    .sub-page .contact-form .grid .img img {
        object-fit:cover;
        width:100%;
        height:100%
    }
    .sub-page .bo_v_nb > li .nb_tit,
    .sub-page .bo_v_nb > li > a {
        font-size:1.4rem;
        
    }
    .sub-page .bo_v_nb > li {
        padding: 1.4rem 0;
        border-bottom: 1px solid var(--border);
    }

    .sub-page .bo_v_nb > li > a {
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
        word-break: break-all;
    }

    .sub-page .view #bo_v_title .bo_v_cate,
    .sub-page .view #bo_v_info {
        font-size:1.4rem;
        padding-bottom: 2rem;
    }
    .sub-page .view #bo_v_title .bo_v_tit {
        font-size: 2.4rem;
    }

    .sub-page .perform-wrap.view #bo_v_title .bo_v_cate {
        padding-bottom:0
    }
    .sub-page .perform-wrap.view #bo_v_top {
        padding-bottom:1rem
    }
    .sub-page .perform-wrap.view #bo_v_top ul li a.btn_b01 {
        
font-size: 1.5rem;
    } 
    .sub-page .bo_v_nb {
        flex-direction:column;
        /* border-bottom: 1px solid var(--border); */
    }
    
    .sub-page .bo_v_nb > li.btn_next {
        
        flex-direction: row;
    }
    
    .sub-page .bo_v_nb > li.btn_prv .nb_tit {
        flex-direction:row-reverse
    }
    .sub-page .bo_v_nb > li.btn_prv .nb_tit .ic::before {
    transform: rotate(-90deg);
    }
    .sub-page .bo_v_nb > li.btn_next .nb_tit .ic::before {
        transform: rotate(90deg);
    }
    .sub-page .list-btn {
        margin-top:2rem
    }

    .sub-page .overview .client .client-wrap .client-list > li {
        padding:0
    }

    .en .sub-page .overview .ceo-msg .grid .text-sec .msg {
        font-size: 1.8rem;
    }
    .en .sub-page .overview .ceo-msg .grid .text-sec .sign-wrap {
        font-size:1.6rem
    }
    .en .sub-page .overview .org-chart .org-box .badge {
        font-size: 1.5rem;
    }
    .en .sub-page .overview .org-chart .org-box .text-box > p {
        font-size: 1.5rem;
        font-weight:400;
        text-align:center
    }
    .en .sub-page .overview .org-chart .org-box .text-box {
        padding-left:1.2rem;
        padding-right:1.2rem
    }
    .en .sub-page .overview .org-chart .org-box .text-box > p + p {
        margin-top:.6rem
    }
    .en .history .section-cont .year-wrap .item .year-list > li .desc br {
        display:none
    }
    .en .sub-page .cert-wrap .section .layout .aside .aside-list li:not(.on) > a {
        font-size: 1.8rem;
    }
    .en .sub-page .cert-wrap .section .layout .cont .grid > li .text {
        font-size:1.6rem;
        word-break:keep-all
    }
    .en .perform-wrap #bo_gall #gall_ul > li .gall_box .gall_text_href .bo_tit p {
        font-size:1.5rem
    }
    .en .perform-wrap #bo_gall #gall_ul > li .gall_box .gall_text_href .subject {
        font-size:2rem
    }
    .en .sub-page .location .loc-wrap .layout .cont .address {
        font-size:1.6rem
    }
    .en .sub-page .prd-list .grid > li .prd-name {
        font-size:1.6rem
    }
    .en .sub-page .prd-detail .intro .info-wrap .text-wrap .desc {
        font-size:1.8rem
    }
    .en .sub-page .prd-detail .intro .info-wrap .feature .feature-list {
        flex-wrap:wrap
    }
    .en .sub-page .prd-detail .intro .info-wrap .feature .feature-list li {
        flex: 0;
    }
    .en .sub-page .prd-detail .intro .info-wrap .feature .feature-list li .text {
        font-size:1.5rem;
        text-align:center;
        line-height:1.3
    }
    .en .sub-page .grid > li .prd-name {
        font-size:1.6rem
    }
    .en .rnd .rnd-wrap .intro .cont .text {
        font-size:1.8rem
    }
    .en .rnd .rnd-wrap .ppl .grid > li .box .tit {
        font-size:2rem
    }
    .en .bp-list li {
        font-size:1.6rem
    }
    .en .rnd .rnd-wrap .ppl .grid > li .box .bp-list li > p::before {
        transform: translateY(9px);
    }
    .en .rnd .rnd-wrap .key-tech .cont .grid .tech-cont .desc {
        font-size:1.6rem
    }

    body:has(.rnd) .en.sub-nav-wrap .inner .sub-page-tit {font-size:4.4rem}
    .en .sub-page .rnd-pr .sec1 .tit-sec .badge > p {
        font-size:1.4rem
    }
    .en .sub-page .rnd-pr .sec2 .desc > p {
        font-size:1.8rem
    }
    .en .sub-page .rnd-pr .sec2 .icon-set .icon-list > li .text .tit {
        font-size:1.8rem;
        font-weight:500;
        line-height: 1.3;
    }
    .en .sub-page .rnd-pr .sec2 .icon-set .icon-list > li .text .desc {
        font-weight:400;
        font-size:1.6rem
    }
    .en .sub-page .rnd-pr .sec2 .icon-set .icon-list > li .text .tit br {
        display:none
    }
    .en .sub-page .rnd-pr .sec3 .cont .box-list .img-box .text > p {
        font-size:1.6rem
    }
    .en .sub-page .rnd-pr .sec1 .tit-sec .text {
        font-size:1.6rem
    }
    .en .sub-page .rnd-pr .sec1 .tit-sec .text br {
        display:none
    }
    .en .sub-page .rnd-pr.separator .sec2 .feature .text > p {
        font-size:1.6rem
    }
    .en .sub-page .rnd-history .sec1 .text {
        font-size:1.8rem
    }
    .en #bo_cate > ul li:not(:first-child) > a {
        font-size:1.5rem
    }
    .en #bo_cate > ul li:first-child > a::before {
        font-size:1.5rem
    }
    .en .sub-page .catalog .grid .text-sec .tit {
        font-size:2.8rem
    }
    .en.sub-nav-wrap .sub-page-tit + .page-desc {
        font-size:1.8rem
    }
}