@charset "utf-8";

.pc-only{display:block !important;}
.mo-only{display:none !important;}

#wrap{}
#wrap .inner{width:1460px;margin:0 auto;max-width:100%;}
#wrap .init{opacity:0;transform:translateY(120px);transition:all 1s;}
#wrap .init.animate{opacity:1;transform:translateY(0);}

#header{position:fixed;top:0;left:0;z-index:100;width:100%;background:rgb(0 0 0 / 20%);backdrop-filter:blur(4px);}
#header .inner{display:flex;align-items:center;justify-content:space-between;height:64px;}
#header .logo{position:relative;z-index: 102;display:flex;align-items:center;}
#header .logo a{display:block;width:auto;height:20px;aspect-ratio:118/20;background:url("../img/logo.svg") no-repeat center / contain;}
#header .gnb{position:relative;}
#header .gnb ul{display:flex;align-items:center;gap:8px;}
#header .gnb li{}
#header .gnb li a{display:flex;align-items:center;justify-content: center;padding:0 16px;height:64px;border-bottom:2px solid transparent;font-size:16px;font-weight:400;color:#fff;position: relative;z-index: 10;}
#header .gnb li.on a{font-weight:600;border-bottom:2px solid #007aff;}
#header .menu{display:none;position: relative;z-index: 102;}
#header .menu button{display:flex;align-items:center;justify-content:center;}
#header .menu button .ico{width:24px;height:24px;background:url("../img/icon_menu.svg") no-repeat center / contain;}
#header .menu button.is-active .ico{background:url("../img/icon_menu_close.svg") no-repeat center / contain;}

#header.white{background:#fff;}
#header.white:after{content:'';position:absolute;bottom:0;left:0;width:100%;height:1px;background:#e8e8e8;pointer-events:none;}
#header.white .logo a{background:url("../img/logo_on.svg") no-repeat center / contain;}
#header.white .gnb li a{color:#171719;}

#footer{position:relative;padding:50px 0;background:#000;}
#footer .inner{position:relative;display:flex;justify-content:space-between;}
#footer .content{flex:1;}
#footer .logo{margin:0 0 30px;}
#footer .logo img{width:auto;max-width:100%;height:auto;}
#footer .comp{margin:0 0 30px;display:flex;align-items:center;}
#footer .comp .name{display:block;line-height:1.5;font-size:14px;font-weight:500;color:#f5f5f5;}
#footer .comp .link{display:flex;align-items:center;}
#footer .comp .link:before{content:'';margin:0 8px;width:1px;height:6px;background:#4a4a4a;}
#footer .comp .link a{display:block;line-height:22px;font-size:14px;font-weight:500;color:#f5f5f5;}
#footer .info{margin:0 0 30px;display:flex;flex-direction:column;gap:16px;}
#footer .info p{display:flex;flex-wrap:wrap;align-items:center;}
#footer .info p span{display:flex;align-items:center;line-height:1;font-size:14px;font-weight:600;color:#797979;}
#footer .info p span:before{content:'';margin:0 8px;width:1px;height:6px;background:#4a4a4a;}
#footer .info p span:first-child:before{display:none;}
#footer .down{display:flex;gap:8px;}
#footer .down a{display:flex;align-items:center;justify-content:center;gap:8px;padding:0 16px;height:36px;border-radius:8px;background:#171719;}
#footer .down a .icon{flex:0 0 auto;width:16px;height:16px;background:url("../img/icon_download.png") no-repeat center / contain;}
#footer .down a .text{display:block;font-size:14px;font-weight:400;color:#fff;}
#footer .menu{flex:0 0 auto;display:flex;gap:40px;}
#footer .menu dl{width:200px;max-width:100%;}
#footer .menu dt{display:block;line-height:1;font-size:16px;font-weight:600;color:#fff;margin:0 0 20px;}
#footer .menu dd{}
#footer .menu dd a{display:block;padding:16px 0;line-height:1;font-size:14px;font-weight:500;color:#c8defa;}
#footer .menu dd a:hover{color:#fff;}
#footer .gotop{position:fixed;bottom:30px;left:50%;margin-left:682px;display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:48px;background:#fff;border:1px solid #e8e8e8;cursor:pointer;}
#footer .gotop:hover{background:#e8e8e8;}
#footer .gotop .icon{display:block;width:22px;height:22px;background:url("../img/icon_top.png") no-repeat center / contain;}

#container{position:relative;}

#main{}
#main .sec-1{position:relative;padding: 484px 0 100px;background:#000;overflow: hidden;}
#main .sec-1 .frame{position:relative;z-index:1;will-change: transform;}
#main .sec-1 .text{position:relative;z-index:1;}
#main .sec-1 .text .tit{line-height:1.2;font-size:64px;font-weight:700;color:#fff;}
#main .sec-1 .text .txt{margin:40px 0 0;line-height:1.5;font-size:18px;font-weight:500;color:#c8defa;}
#main .sec-1 .marquee {position:relative;z-index:1;margin:100px 0 0;overflow:hidden;width:100%;-webkit-mask-image:linear-gradient(to right, transparent 0%, black 10%, black 90%, transparent 100%);mask-image:linear-gradient(to right, transparent 0%, black 10%, black 90%, transparent 100%);}
#main .sec-1 .marquee .marquee-wrapper {display:flex;gap:24px;width:max-content;animation:marquee-slide var(--duration, 20s) linear infinite;will-change:transform;}
#main .sec-1 .marquee:hover .marquee-wrapper {animation-play-state:paused;}
#main .sec-1 .marquee .marquee-track {display:flex;gap:24px;padding:0;margin:0;list-style:none;}
#main .sec-1 .marquee .marquee-item {flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:20px;width:185px;height:100px;border-radius:20px;background:#fff;}
#main .sec-1 .marquee img {width:100%;height:100%;object-fit:contain;}
#main .sec-1 .bottom{position:relative;z-index:2;background: #020202;margin-top: 80px;padding: 80px 0;gap: 120px;display: flex;justify-content: space-between;}
#main .sec-1 .bottom:before{content:'';position:absolute;top:0;left:50%;width:100dvw;height:100%;background:#020202;transform: translateX(-50%);}
#main .sec-1 .image{position:relative;z-index:1;mix-blend-mode: screen;}
#main .sec-1 .image img{max-width:100%;}
#main .sec-1 .figure{flex: 1;position:relative;z-index:1;display:flex;flex-direction: column;padding: 0 24px;}
#main .sec-1 .figure .box{display:flex;flex-direction:column;}
#main .sec-1 .figure .tit{margin-bottom: 24px;line-height: 39px;font-size: 26px;font-weight: 600;color: #fff;}
#main .sec-1 .figure .txt{line-height: 42px;font-size: 30px;font-weight: 700;color: #fff;}
#main .sec-1 .figure .num{margin-bottom: 40px;line-height: 1;font-size: 110px;font-weight: 700;color: #a4eeff;}
#main .sec-1 .figure .con{margin-top: 64px;display: flex;gap: 24px;}
#main .sec-1 .figure .con dl{display:flex;flex-direction:column;justify-content:center;text-align: left;width: 100%;}
#main .sec-1 .figure .con dt{order:2;margin-top: 12px;display:block;line-height:1.5;font-size: 15px;font-weight:400;color: rgb(255 255 255 / 55%);}
#main .sec-1 .figure .con dd{order:1;display:block;line-height:1;font-size: 40px;font-weight:700;color: #a4eeff;}
#main .sec-1 .partner{position:relative;z-index:1;}
#main .sec-1 .partner img{}
#main .sec-1 .background{position:absolute;z-index:0;inset:0;}
#main .sec-1 .background img,
#main .sec-1 .background video{display:block;width:100%;height:100%;object-fit:cover;}

#main .sec-2{position:relative;padding:120px 0;background:#fff;}
#main .sec-2 .title{margin:0 0 80px;line-height:1;font-size:40px;font-weight:700;color:#171719;}
#main .sec-2 .text{display:flex;justify-content:space-between;gap:50px;}
#main .sec-2 .text .bar{flex:1;width:100%;height:1px;background:#4a4a4a;margin:10px 0;}
#main .sec-2 .text .tit{width:390px;max-width:100%;line-height:1.5;font-size:22px;font-weight:600;color:#171719;}
#main .sec-2 .text .txt{width:680px;max-width:100%;line-height:1.5;font-size:18px;font-weight:400;color:#2e2e31;word-break:keep-all;}

#main .sec-3{position:relative;padding:120px 0;background:#f5f5f5;}
#main .sec-3 .title{margin:0 0 80px;text-align:center;}
#main .sec-3 .title .txt{margin:0 0 20px;line-height:1.2;font-size:18px;font-weight:600;color:#4a4a4a;}
#main .sec-3 .title .txt span{color:#007aff;}
#main .sec-3 .title .tit{line-height:1;font-size:40px;font-weight:700;color:#171719;}
#main .sec-3 .list{}
#main .sec-3 .list ul{display:flex;gap:16px;}
#main .sec-3 .list li{width:calc(16.66% - 8px);}
#main .sec-3 .list li .box{display:flex;flex-direction:column;padding:24px;border-radius:8px;background:#fff;}
#main .sec-3 .list li .text{line-height:1.5;font-size:20px;font-weight:600;color:#4a4a4a;}
#main .sec-3 .list li .icon{margin:40px 0 0 auto;width:32px;height:32px;display:flex;align-items:center;justify-content:center;}
#main .sec-3 .list li .icon img{width:auto;max-width:100%;height:auto;}

#main .sec-4{position:relative;padding:120px 0;background:#fff;}
#main .sec-4 .flex{display:flex;gap:40px;}
#main .sec-4 .text{flex:1;display:flex;flex-direction:column;justify-content:center;}
#main .sec-4 .text .tit{margin:0 0 30px;line-height:1;font-size:40px;font-weight:700;color:#171719;}
#main .sec-4 .text .txt{margin:0 0 50px;line-height:1.5;font-size:18px;font-weight:400;color:#4a4a4a;}
#main .sec-4 .text .bts{}
#main .sec-4 .text .bts a{display:flex;align-items:center;justify-content:flex-start;gap:4px;line-height:1;font-size:18px;font-weight:600;color:#007aff;}
#main .sec-4 .text .bts a:after{content:'';flex:0 0 auto;width:16px;height:16px;background:url("../img/icon_arrow.png") no-repeat center / contain;}
#main .sec-4 .image{flex:1;}
#main .sec-4 .image img{max-width:100%;height:auto;display:block;border-radius:10px;overflow:hidden;}

#contents{position:relative;}
#contents .subvisual{position: relative;z-index:10;top:0;padding:64px 0 0 0;width:100%;background:url("../img/subvisual_img.jpg") no-repeat center / cover;}
#contents .subvisual:after{content:'';position:absolute;bottom:0;left:0;width:100%;height:1px;background:rgb(255 255 255 / 8%);pointer-events:none;}
#contents .subvisual.fixed{position:sticky;}
#contents .subvisual.fixed .text{opacity:0;visibility:hidden;}
#contents .subvisual .text{padding: 80px 0 158px;transition:all 0.5s;}
#contents .subvisual .text .sub{margin:0 0 16px;display:block;line-height:1;font-size:14px;font-weight:400;color:rgb(255 255 255 / 30%);letter-spacing:2px;text-transform:uppercase;}
#contents .subvisual .text .tit{display:block;line-height:1.3;font-size:50px;font-weight:700;color:#fff;}
#contents .subvisual .text .tit.tit-s{line-height:1.15;font-size:40px;}
#contents .subvisual .text .tit span{color:#007aff;}
#contents .subvisual .text .txt{margin:30px 0 0;display:block;line-height: 1.25;font-size:16px;font-weight:400;color:rgb(255 255 255 / 50%);word-break: keep-all;}
#contents .subvisual .tabs{position: absolute;z-index:1;top: calc(100% - 58px);left: 50%;width: 1460px;max-width: 100%;display:flex;transform: translateX(-50%);}
#contents .subvisual .tabs.fixed{position:fixed;z-index:1111;top: 64px;}
#contents .subvisual .tabs li{flex:1;}
#contents .subvisual .tabs li button{display:flex;align-items:center;justify-content:center;width:100%;height:58px;font-size:18px;font-weight:500;color:#aaa;text-align:center;}
#contents .subvisual .tabs li button:hover{color:#fff;}
#contents .subvisual .tabs li.on button{color:#fff;background:#007aff;}
#contents .subvisual .flex{display:flex;align-items:center;justify-content:space-between;gap:50px;}
#contents .subvisual .figure{display:flex;}
#contents .subvisual .figure dl{display:flex;flex-direction:column;gap:16px;width:200px;max-width:100%;text-align:center;}
#contents .subvisual .figure dt{order:2;line-height:1;font-size:16px;font-weight:500;color:rgb(255 255 255 / 50%);}
#contents .subvisual .figure dd{order:1;line-height:1;font-size:40px;font-weight:700;color:#f5f5f5;}
#contents .subvisual .info{display:flex;gap:24px;}
#contents .subvisual .info dl{display:flex;flex-direction:column;padding:32px 24px;width:300px;max-width:100%;border-radius:6px;border:1px solid rgb(255 255 255 / 20%);background:rgb(255 255 255 / 8%);}
#contents .subvisual .info dt{font-size:18px;font-weight:500;color:rgb(255 255 255 / 80%);}
#contents .subvisual .info dd{margin:62px 0 0;font-size:22px;font-weight:500;color:#fff;text-align:right;}
#contents .subvisual.type1{}
#contents .subvisual.type1 .text{padding: 80px 0 100px;}

.page-title{margin: 0 0 30px;}
.page-title .sub{margin:0 0 16px;display:block;line-height:1.5;font-size:14px;font-weight:400;color:#bbb;letter-spacing:2px;text-transform:uppercase;}
.page-title .tit{display:block;line-height: 1.2;font-size:40px;font-weight:700;color:#171719;}
.page-title .div{margin:16px 0 0 0;display:block;width:66px;height:2px;background:#007aff;}

.company-wrap{background:#000;}
.company-wrap .page-title .sub{color:rgb(255 255 255 / 30%);}
.company-wrap .page-title .tit{color:#fff;}
.company-wrap .page-title .txt{color:#fff;}
.company-wrap .page-title .div{background:#fff}
.company-wrap .sec{padding:100px 0;}
.company-wrap .sec-1{}
.company-wrap .sec-1 .head{margin: 0 0 60px;display:block;line-height:1.2;font-size:28px;font-weight:700;color: #fff;}
.company-wrap .sec-1 .head span{color:#007aff;}
.company-wrap .sec-1 .list{}
.company-wrap .sec-1 .list ul{display:flex;flex-wrap:wrap;gap:40px;}
.company-wrap .sec-1 .list li{width:calc(33.33% - 26.66px);}
.company-wrap .sec-1 .list .img{margin:0 0 30px;}
.company-wrap .sec-1 .list .img img{width:100%;height:auto;aspect-ratio:44/28;border-radius:12px;overflow:hidden;}
.company-wrap .sec-1 .list .tit{margin:0 0 16px;line-height:1.2;font-size:20px;font-weight:600;color:#fff;}
.company-wrap .sec-1 .list .txt{line-height:1.5;font-size:16px;font-weight:400;color:#aaa;}
.company-wrap .sec-2{}
.company-wrap .sec-2 .orga{}
.company-wrap .sec-2 .orga .og{position:relative;display:flex;justify-content:center;gap:40px;}
.company-wrap .sec-2 .orga .og1:before{content:'';position:absolute;top:0;left:50%;bottom:0;width:1px;background:rgb(255 255 255 / 20%);}
.company-wrap .sec-2 .orga .og2:before{content:'';position:absolute;top:0;left:50%;bottom:0;width:1px;background:rgb(255 255 255 / 20%);}
.company-wrap .sec-2 .orga .og3{padding:40px 0 0;}
.company-wrap .sec-2 .orga .og3:before{content:'';position:absolute;top:0;left:50%;width:68.55%;height:1px;background:rgb(255 255 255 / 20%);transform:translateX(-50%);}
.company-wrap .sec-2 .orga .ol{position:relative;z-index:2;flex:1;display:flex;flex-direction:column;align-items:center;}
.company-wrap .sec-2 .orga .client{margin:0 0 30px;display:flex;align-items:center;justify-content:center;padding:0 16px;width:164px;height:64px;font-size:24px;font-weight:700;color:#fff;border-radius:64px;background:#007aff;}
.company-wrap .sec-2 .orga .ceo{margin:0 0 30px;display:flex;align-items:center;justify-content:center;padding:0 16px;width:102px;height:52px;font-size:20px;font-weight:700;color:#fff;border-radius:8px;background:#232323;}
.company-wrap .sec-2 .orga .depart{position:relative;margin:0 0 30px;display:flex;flex-direction:column;padding:16px;width:100%;border-radius:10px;background: #007aff;text-align:center;}
.company-wrap .sec-2 .orga .depart:before{content:'';position:absolute;top:-40px;left:50%;width:1px;height:40px;background:rgb(255 255 255 / 20%);}
.company-wrap .sec-2 .orga .depart .eng{margin:0 0 12px;line-height:1;font-size:20px;font-weight:700;color:#fff;}
.company-wrap .sec-2 .orga .depart .tit{line-height:1.2;font-size:18px;font-weight:500;color:#fff;}
.company-wrap .sec-2 .orga .team{position:relative;display:flex;flex-direction:column;padding:16px 24px;width:100%;border-radius:10px;background: rgb(13 13 13);border: 1px solid rgb(255 255 255 / 5%);text-align:center;}
.company-wrap .sec-2 .orga .team:before{content:'';position:absolute;top:-30px;left:50%;width:1px;height:30px;background:rgb(255 255 255 / 20%);}
.company-wrap .sec-2 .orga .team li{margin:0 0 8px;padding:8px;line-height:1;font-size:16px;font-weight:400;color:#fff;}
.company-wrap .sec-2 .orga .team li:last-child{margin:0;}
.company-wrap .sec-3{}
.company-wrap .sec-3 .list{}
.company-wrap .sec-3 .list ul{position: relative;}
.company-wrap .sec-3 .list li{position:relative;display:flex;gap:100px;justify-content:center;padding: 0 0 30px;}
.company-wrap .sec-3 .list li .num{flex: 0 0 auto;width: 40%;max-width:100%;text-align:right;white-space:nowrap;line-height:1;font-size:32px;font-weight:700;color:#fff;}
.company-wrap .sec-3 .list li .txt{position:relative;width: 60%;max-width:100%;padding:4px 0 36px 62px;}
.company-wrap .sec-3 .list li .txt:before{content:'';position:absolute;z-index: 2;top:10px;left:0;width:12px;height:12px;border-radius:12px;background: #000000;border: 2px solid #007aff;transition:all 0.5s;}
.company-wrap .sec-3 .list li .txt:after{content:'';position:absolute;top:0;left: 7px;width:1px;height: calc(100% + 30px);background:#007aff;opacity:0.5;}
.company-wrap .sec-3 .list li .txt p{position:relative;display:block;margin:0 0 16px;padding:0 0 0 16px;line-height:1.2;font-size:20px;font-weight:400;color:rgb(255 255 255 / 80%);}
.company-wrap .sec-3 .list li .txt p:before{content:'';position:absolute;top: 8px;left: 0;width: 5px;height: 5px;border-radius:4px;background: #007aff;}
.company-wrap .sec-3 .list li.on .txt:before{background: #007aff;}
.company-wrap .sec-3 .list li:first-child .txt:after{top:20px;height: calc(100% + 10px);}
.company-wrap .sec-3 .list li:last-child .txt:after{height:20px;}

.competence-wrap{background:#fff;}
.competence-wrap .sec-1{margin:64px 0 0;padding:120px 0 200px 0;background:url("../img/m2_bg.jpg") no-repeat center / cover}
.competence-wrap .sec-1 .title{text-align:center;}
.competence-wrap .sec-1 .title .sub{margin:0 0 16px;line-height:1.2;font-size:14px;font-weight:600;color:#aaa;}
.competence-wrap .sec-1 .title .tit{margin:0 0 30px;line-height:1;font-size:64px;font-weight:700;color:#171719;}
.competence-wrap .sec-1 .title .txt{line-height:1.5;font-size:28px;font-weight:600;color:#171719;}
.competence-wrap .sec-1 .title .txt span{color:#007aff;}
.competence-wrap .sec-2{}
.competence-wrap .sec-2 .list{padding:100px 0;}
.competence-wrap .sec-2 .list > ul{}
.competence-wrap .sec-2 .list > ul > li{padding:80px 0;border-bottom:1px solid #e8e8e8;}
.competence-wrap .sec-2 .list > ul > li:first-child{padding-top:0;}
.competence-wrap .sec-2 .list > ul > li:last-child{border:0;}
.competence-wrap .sec-2 .list .flex{position:relative;display:flex;justify-content:space-between;gap: 50px;}
.competence-wrap .sec-2 .list .text{width:680px;max-width:100%;}
.competence-wrap .sec-2 .list .text .sub{margin:0 0 16px;line-height:1;font-size:18px;font-weight:600;color:#007aff;}
.competence-wrap .sec-2 .list .text .tit{margin:0 0 40px;line-height:1.5;font-size:28px;font-weight:700;color:#171719;}
.competence-wrap .sec-2 .list .text .tit span{color:#007aff;}
.competence-wrap .sec-2 .list .text .txt{line-height:1.5;font-size:16px;font-weight:400;color:#848484;word-break:keep-all;}
.competence-wrap .sec-2 .list .text .con{margin:40px 0 0;}
.competence-wrap .sec-2 .list .text .con p{position:relative;margin:0 0 20px;padding:0 0 0 22px;line-height:1;font-size:16px;font-weight:400;color:#171719;}
.competence-wrap .sec-2 .list .text .con p:before{content:'';position:absolute;top:0;left:0;width:16px;height:16px;background:url("../img/m2_icon_check.png") no-repeat center / contain;}
.competence-wrap .sec-2 .list .text .con p:last-child{margin:0;}
.competence-wrap .sec-2 .list .desc{display:none;width:680px;max-width:100%;padding: 24px 0 0;}
.competence-wrap .sec-2 .list .desc:nth-child(1){padding-top:0;}
.competence-wrap .sec-2 .list .desc p{position:relative;margin:0 0 20px;padding:0 0 0 22px;line-height:1;font-size:16px;font-weight:400;color:#171719;}
.competence-wrap .sec-2 .list .desc p:before{content:'';position:absolute;top:0;left:0;width:16px;height:16px;background:url("../img/m2_icon_check.png") no-repeat center / contain;}
.competence-wrap .sec-2 .list .desc p:last-child{margin:0;}
.competence-wrap .sec-2 .list .cont{width:560px;max-width:100%;}
.competence-wrap .sec-2 .list .image{height:370px;}
.competence-wrap .sec-2 .list .image img{display:block;width:100%;height:100%;object-fit:contain;}
.competence-wrap .sec-2 .list .figure{display:flex;flex-wrap:wrap;gap:24px;justify-content:flex-end;}
.competence-wrap .sec-2 .list .figure dl{flex:0 0 auto;width:calc(50% - 12px);padding:72px 24px;text-align:center;border-radius:8px;background:#f7f9fb;display:flex;flex-direction:column;}
.competence-wrap .sec-2 .list .figure dt{order:2;margin:16px 0 0;line-height:1;font-size:18px;font-weight:500;color:#848484;}
.competence-wrap .sec-2 .list .figure dd{order:1;line-height:1;font-size:40px;font-weight:700;color:#007aff;}
.competence-wrap .sec-2 .list .percent{padding:32px;border-radius:8px;background:#f8f9fb}
.competence-wrap .sec-2 .list .percent .tit{margin:0 0 40px;line-height:1;font-size:22px;font-weight:700;color:#171719;}
.competence-wrap .sec-2 .list .percent .con{}
.competence-wrap .sec-2 .list .percent .con li{margin:0 0 40px;}
.competence-wrap .sec-2 .list .percent .con li:last-child{margin:0;}
.competence-wrap .sec-2 .list .percent .txt{margin:0 0 8px;}
.competence-wrap .sec-2 .list .percent .txt{display:flex;justify-content:space-between;}
.competence-wrap .sec-2 .list .percent .txt dt{line-height:1;font-size:18px;font-weight:500;color:#4a4a4a;}
.competence-wrap .sec-2 .list .percent .txt dd{line-height:1;font-size:16px;font-weight:700;color:#007aff;}
.competence-wrap .sec-2 .list .percent .bar{width:100%;height:4px;border-radius:4px;background:#e8e8e8;}
.competence-wrap .sec-2 .list .percent .bar i{display:block;height:100%;border-radius:4px;background:#007aff;}
.competence-wrap .sec-2 .list .percent .cau{margin:30px 0 0;line-height:1;font-size:16px;font-weight:400;color:#848484;}
.competence-wrap .sec-2 .list .hour{padding:40px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-radius:8px;background:#171719;}
.competence-wrap .sec-2 .list .hour .ico{flex: 0 0 auto;width:72px;height:72px;margin:0 0 30px;}
.competence-wrap .sec-2 .list .hour .ico img{max-width:100%;height:auto;}
.competence-wrap .sec-2 .list .hour .tit{margin:0 0 24px;line-height:1;font-size:40px;font-weight:700;color:#fff;}
.competence-wrap .sec-2 .list .hour .tit span{color:#007aff;}
.competence-wrap .sec-2 .list .hour .txt{margin:0 0 16px;line-height:1.2;font-size:24px;font-weight:500;color:rgb(255 255 255 / 90%);}
.competence-wrap .sec-2 .list .hour .cau{line-height:1;font-size:16px;font-weight:400;color:rgb(255 255 255 / 70%);}
.competence-wrap .sec-2 .list .status{position:relative;padding:32px;border-radius:8px;background:#f8f9fb}
.competence-wrap .sec-2 .list .status .tit{margin:0 0 40px;line-height:1;font-size:22px;font-weight:700;color:#171719;}
.competence-wrap .sec-2 .list .status .label{position:absolute;top:32px;right:32px;gap:4px;display:flex;align-items:center;line-height:22px;font-size:16px;font-weight:500;color:#34c759;text-transform:uppercase;}
.competence-wrap .sec-2 .list .status .label:before{content:'';width:8px;height:8px;border-radius:8px;background:#34c759;}
.competence-wrap .sec-2 .list .status .con{margin:0 0 24px;display:flex;gap:12px;}
.competence-wrap .sec-2 .list .status .con dl{flex:1;border-radius:10px;padding:20px 16px;background:#fff;}
.competence-wrap .sec-2 .list .status .con dt{line-height:1;font-size:14px;font-weight:500;color:#848484;margin:0 0 12px;}
.competence-wrap .sec-2 .list .status .con dd{line-height:1.2;font-size:24px;font-weight:600;color:#171719;}
.competence-wrap .sec-2 .list .status .graph{}
.competence-wrap .sec-2 .list .status .graph img{max-width:100%;height:auto;border-radius:10px;padding:20px 16px;background:#fff;}
.competence-wrap .sec-2 .list .process{position:relative;padding:32px;border-radius:8px;background:#f8f9fb}
.competence-wrap .sec-2 .list .process .tit{margin:0 0 40px;line-height:1.5;font-size:22px;font-weight:700;color:#171719;}
.competence-wrap .sec-2 .list .process .con{margin:0 0 24px;display:flex;gap:42px;}
.competence-wrap .sec-2 .list .process .con dl{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;}
.competence-wrap .sec-2 .list .process .con dl.on dt{background:#007aff;color:#fff;}
.competence-wrap .sec-2 .list .process .con dl:after{content:'';position:absolute;top:0;left:100%;width:42px;height:100%;background:url("../img/m2_process_arrow.png") no-repeat center / 11px auto;}
.competence-wrap .sec-2 .list .process .con dl:last-child:after{display:none;}
.competence-wrap .sec-2 .list .process .con dt{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:40px;font-size:18px;font-weight:700;color:#007aff;border:1px solid #007aff;transition:all 0.5s;background: #fff;}
.competence-wrap .sec-2 .list .process .con dd{margin:12px 0 0;line-height:1.2;font-size:16px;font-weight:500;color:#171719;text-align: center;word-break: keep-all;}
.competence-wrap .sec-2 .list .process .txt{padding:12px;border-radius:10px;border:1px solid #e8f0ff;background:#fff;text-align:center;line-height:1.5;font-size:14px;font-weight:400;color:#007aff;}

.business-wrap{background:#fff;}
.business-wrap .sec{position:relative;}
.business-wrap .sec:last-child .inner{border:0;padding-bottom:180px;}
.business-wrap .sec:first-child .inner{padding-top:100px;}
.business-wrap .sec .inner{border-bottom:1px solid #e8e8e8;padding: 80px 0;}
.business-wrap .sec .flex{display:flex;justify-content:space-between;gap: 50px;}
.business-wrap .sec .text{width:680px;max-width:100%;}
.business-wrap .sec .text .num{margin:0 0 16px;line-height:1;font-size:18px;font-weight:600;color:#007aff;}
.business-wrap .sec .text .tit{margin:0 0 50px;line-height:1;font-size:40px;font-weight:700;color:#171719;}
.business-wrap .sec .text .txt{margin:0 0 24px;line-height:1.5;font-size:28px;font-weight:600;color:#007aff;}
.business-wrap .sec .text .con{line-height:1.5;font-size:16px;font-weight:500;color:#848484;}
.business-wrap .sec .cont{width:560px;max-width:100%;}
.business-wrap .sec .cont .box{padding:24px 24px 40px;border-radius:8px;background:#f8f9fb;}
.business-wrap .sec .cont .txt{line-height:1;font-size:14px;font-weight:500;color:#848484;}
.business-wrap .sec .cont .tit{margin:16px 0 0;line-height:1;font-size:16px;font-weight:600;color:#171719;}
.business-wrap .sec .cont .tit span{color:#007aff;}
.business-wrap .sec .cont .img{margin:30px 0 0 0;display:flex;align-items:center;justify-content:center;}
.business-wrap .sec .cont .img img{max-width:100%;height:auto;}
.business-wrap .sec .cont .cau{margin:8px 0 0;line-height:1;font-size:14px;font-weight:400;color:#848484;}
.business-wrap .sec .list{margin:30px 0 0 0;}
.business-wrap .sec .list .top{margin:0 0 16px;line-height:1;font-size:14px;font-weight:500;color:#848484;}
.business-wrap .sec .list .con{}
.business-wrap .sec .list .con ul{display:flex;flex-wrap:wrap;gap:16px;}
.business-wrap .sec .list .con li{position:relative;width:calc(33.33% - 10.66px);}
.business-wrap .sec .list .con li .button{display:flex;align-items:center;height:58px;gap:8px;padding:16px;border-radius:10px;border:1px solid #e8e8e8;cursor:pointer;}
.business-wrap .sec .list .con li .button:hover{border-color:#171719;}
.business-wrap .sec .list .con li .button .num{flex:0 0 auto;line-height:1;font-size:14px;font-weight:400;color:rgb(0 0 0 / 25%);}
.business-wrap .sec .list .con li .button .tit{flex:1;line-height:1;font-size:16px;font-weight:400;color:#171719;}
.business-wrap .sec .list .con li .button .arr{flex:0 0 auto;width:16px;height:16px;background:url("../img/m4_arrow.png") no-repeat center / contain;}
.business-wrap .sec .list .con li .layer{position:fixed;z-index:11;top:50%;left:50%;transform:translate(-50%, -50%);padding:40px 24px;width:560px;max-width:100%;border-radius:16px;background:#fff;box-shadow:0 0 40px rgb(0 0 0 / 8%);transition:all 0.5s;opacity:0;visibility:hidden;}
.business-wrap .sec .list .con li .layer .tit{margin:0 0 30px;line-height:24px;;font-size:24px;font-weight:600;color:#171719;}
.business-wrap .sec .list .con li .layer .txt{margin:0 0 30px;line-height:1.5;font-size:16px;font-weight:400;color:#4a4a4a;}
.business-wrap .sec .list .con li .layer .close{position:absolute;top:40px;right:24px;width:24px;height:24px;cursor:pointer;background:url("../img/icon_close.png") no-repeat center / contain;}
.business-wrap .sec .list .con li .layer .effect{border-radius:10px;border:1px solid #e8e8e8;background:#fff;overflow:hidden;}
.business-wrap .sec .list .con li .layer .effect dt{padding:16px;line-height:1;font-size:14px;font-weight:500;color:#848484;background:#f5f5f5;}
.business-wrap .sec .list .con li .layer .effect dd{}
.business-wrap .sec .list .con li .layer .effect dd p{padding:16px;display:flex;align-items:center;gap:8px;line-height:1.2;font-size:16px;font-weight:500;color:#4a4a4a;border-bottom:1px solid #e8e8e8;}
.business-wrap .sec .list .con li .layer .effect dd p:last-child{border:0;}
.business-wrap .sec .list .con li .layer .effect dd p:before{content:'';flex:0 0 auto;width:4px;height:4px;border-radius:4px;background:#007aff;}
.business-wrap .sec .list .con li.on{}
.business-wrap .sec .list .con li.on .button .tit{}
.business-wrap .sec .list .con li.on .layer{opacity:1;visibility:visible;}
.business-wrap .sec-1:before{content:'';position:absolute;z-index:1;top:0;right:0;bottom:0;width:calc((100dvw - 1460px) / 2);background:linear-gradient(to top, #fff 0% , rgb(255 255 255 / 0%) 50%, #fff 100%);}
.business-wrap .sec-2:before{content:'';position:absolute;z-index:1;top:0;right:0;bottom:0;width:calc((100dvw - 1460px) / 2);background:linear-gradient(to top, #fff 0% , rgb(255 255 255 / 0%) 50%, #fff 100%);}
.business-wrap .sec-3:before{content:'';position:absolute;z-index:1;top:0;right:0;bottom:0;width:calc((100dvw - 1460px) / 2);background:linear-gradient(to top, #fff 0% , rgb(255 255 255 / 0%) 50%, #fff 100%);}
.business-wrap .sec-4:before{content:'';position:absolute;z-index:1;top:0;right:0;bottom:0;width:calc((100dvw - 1460px) / 2);background:linear-gradient(to top, #fff 0% , rgb(255 255 255 / 0%) 50%, #fff 100%);}
.business-wrap .sec-1:after{content:'';position:absolute;z-index:0;top:0;right:0;bottom:0;width:calc((100dvw - 1460px) / 2);background:url("../img/m3_bg1.png") no-repeat center / cover;}
.business-wrap .sec-2:after{content:'';position:absolute;z-index:0;top:0;right:0;bottom:0;width:calc((100dvw - 1460px) / 2);background:url("../img/m3_bg2.png") no-repeat center / cover;}
.business-wrap .sec-3:after{content:'';position:absolute;z-index:0;top:0;right:0;bottom:0;width:calc((100dvw - 1460px) / 2);background:url("../img/m3_bg3.png") no-repeat center / cover;}
.business-wrap .sec-4:after{content:'';position:absolute;z-index:0;top:0;right:0;bottom:0;width:calc((100dvw - 1460px) / 2);background:url("../img/m3_bg4.png") no-repeat center / cover;}

.portfolio-wrap{background:#fff;}
.portfolio-wrap .sec-1{padding: 100px 0;}
.portfolio-wrap .sec-1 .list{}
.portfolio-wrap .sec-1 .list ul{}
.portfolio-wrap .sec-1 .list li{padding:50px 0;display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid #e8e8e8;}
.portfolio-wrap .sec-1 .list li:first-child{padding-top:0;}
.portfolio-wrap .sec-1 .list li:last-child{border-bottom:0;}
.portfolio-wrap .sec-1 .list li .text{width:740px;max-width:100%;}
.portfolio-wrap .sec-1 .list li .head{margin:0 0 40px;display:flex;align-items:center;gap:8px;}
.portfolio-wrap .sec-1 .list li .head .num{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:30px;background:#007aff;font-size:14px;font-weight:700;color:#fff;}
.portfolio-wrap .sec-1 .list li .head .tit{display:block;line-height:1;font-size:22px;font-weight:600;color:#171719;}
.portfolio-wrap .sec-1 .list li .cont{margin:0 0 40px;}
.portfolio-wrap .sec-1 .list li .cont dl{margin:0 0 16px;display:flex;gap:8px;}
.portfolio-wrap .sec-1 .list li .cont dl:last-child{margin:0;}
.portfolio-wrap .sec-1 .list li .cont dt{display:block;line-height:16px;font-size:14px;color:#bbb;min-width:18px;}
.portfolio-wrap .sec-1 .list li .cont dd{display:block;line-height:16px;font-size:16px;color:#4a4a4a;word-break: keep-all;}
.portfolio-wrap .sec-1 .list li .figure{display:block;width:440px;max-width:100%;padding:24px 16px;border-radius:8px;background:#f8f9fb;}
.portfolio-wrap .sec-1 .list li .figure .tit{margin:0 0 30px;line-height:1;font-size:14px;font-weight:600;color:#848484;}
.portfolio-wrap .sec-1 .list li .compare{}
.portfolio-wrap .sec-1 .list li .compare .box{margin:0 0 20px;display:flex;align-items:center;gap:8px;}
.portfolio-wrap .sec-1 .list li .compare .box:last-child{margin:0;}
.portfolio-wrap .sec-1 .list li .compare .box .top{flex:0 0 auto;width:40px;line-height:1;font-size:14px;font-weight:500;color:#aaa;text-align:left;}
.portfolio-wrap .sec-1 .list li .compare .box .bar{flex:1;position:relative;height:4px;border-radius:4px;background:#e8e8e8;overflow:hidden;}
.portfolio-wrap .sec-1 .list li .compare .box .bar i{position:absolute;top:0;left:0;bottom:0;border-radius:4px;background:#007aff;}
.portfolio-wrap .sec-1 .list li .compare .box .num{flex:0 0 auto;width:40px;line-height:1;font-size:14px;font-weight:400;color:#aaa;text-align:right;}
.portfolio-wrap .sec-1 .list li .compare .cau{display:flex;align-items:center;gap:4px;padding:16px 0 0;border-top:1px solid #e8e8e8;}
.portfolio-wrap .sec-1 .list li .compare .cau i{flex:0 0 auto;width:16px;height:16px;background:url("../img/icon_bang.png") no-repeat center / contain;}
.portfolio-wrap .sec-1 .list li .compare .cau p{display:block;line-height:1;font-size:12px;color:#848484;}
.portfolio-wrap .sec-1 .list li .growth{}
.portfolio-wrap .sec-1 .list li .growth .flex{display:flex;}
.portfolio-wrap .sec-1 .list li .growth .box{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;}
.portfolio-wrap .sec-1 .list li .growth .box .top{margin:8px 0 0;line-height:1;font-size:14px;font-weight:400;color:#aaa;}
.portfolio-wrap .sec-1 .list li .growth .box .bar{width:67px;border-radius:3px;background:#d8d8d8;}
.portfolio-wrap .sec-1 .list li .growth .box .bar.h32{height:32px;}
.portfolio-wrap .sec-1 .list li .growth .box .bar.h43{height:43px;}
.portfolio-wrap .sec-1 .list li .growth .box .bar.h56{height:56px;}
.portfolio-wrap .sec-1 .list li .growth .box .num{margin:0 0 8px;line-height:1;font-size:16px;font-weight:700;color:#848484;}
.portfolio-wrap .sec-1 .list li .growth .box.on .num{color:#007aff;}
.portfolio-wrap .sec-1 .list li .growth .box.on .bar{background:#007aff;}
.portfolio-wrap .sec-1 .list li .growth .rate{margin:16px 0 0;padding:16px;display:flex;align-items:center;justify-content:space-between;border-radius:4px;border:1px solid #e8e8e8;background:#fff;}
.portfolio-wrap .sec-1 .list li .growth .rate dt{line-height:1;font-size:14px;color:#848484;}
.portfolio-wrap .sec-1 .list li .growth .rate dd{line-height:1;font-size:18px;font-weight:700;color:#007aff;}
.portfolio-wrap .sec-1 .list li .keyword{}
.portfolio-wrap .sec-1 .list li .keyword dl{display:flex;align-items:center;justify-content:space-between;height:36px;}
.portfolio-wrap .sec-1 .list li .keyword dt{display:flex;align-items:center;gap:8px;line-height:1;font-size:14px;font-weight:400;color:#4a4a4a;}
.portfolio-wrap .sec-1 .list li .keyword dt:before{content:'';width:4px;height:4px;border-radius:4px;background:#007aff;}
.portfolio-wrap .sec-1 .list li .keyword dd{display:flex;align-items:center;justify-content:center;padding:0 8px;min-width:36px;height:20px;border-radius:20px;background:#e8f0ff;font-size:12px;font-weight:700;color:#007aff;}
.portfolio-wrap .sec-1 .list li .keyword dl.on dd{color:#fff;background:#007aff;;}
.portfolio-wrap .sec-1 .list li .rank{display:flex;gap:18px;}
.portfolio-wrap .sec-1 .list li .rank .box{flex:1;position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;}
.portfolio-wrap .sec-1 .list li .rank .box:before{content:'';position:absolute;top:50%;left:-18px;width:18px;height:18px;background:url("../img/m4_rank_arrow.png") no-repeat center / 10px;transform: translateY(-50%);}
.portfolio-wrap .sec-1 .list li .rank .box:nth-child(1):before{display:none;}
.portfolio-wrap .sec-1 .list li .rank .num{display:flex;height:48px;align-items:center;}
.portfolio-wrap .sec-1 .list li .rank .num i{display:flex;align-items:center;justify-content:center;border-radius:4px;width: 72px;background:#e8e8e8;font-size:16px;font-weight:700;color:#848484;}
.portfolio-wrap .sec-1 .list li .rank .num i.h48{height:48px;}
.portfolio-wrap .sec-1 .list li .rank .num i.h38{height:38px;}
.portfolio-wrap .sec-1 .list li .rank .num i.h28{height:28px;}
.portfolio-wrap .sec-1 .list li .rank .top{margin:8px 0 0;line-height:1;font-size:14px;font-weight:400;color:#aaa;}
.portfolio-wrap .sec-1 .list li .rank .box.on .num{}
.portfolio-wrap .sec-1 .list li .rank .box.on .num i{background:#007aff;color:#fff;}
.portfolio-wrap .sec-1 .list li .rank .box.on .top{color:#007aff;}
.portfolio-wrap .sec-1 .list li .change{margin:16px 0 0;padding:16px;width:440px;max-width:100%;border-radius:8px;background:#f8f9fb;}
.portfolio-wrap .sec-1 .list li .change dl{display:flex;align-items:center;justify-content:space-between;}
.portfolio-wrap .sec-1 .list li .change dt{line-height:22px;font-size:14px;font-weight:600;color:#848484;}
.portfolio-wrap .sec-1 .list li .change dd{line-height:22px;font-size:22px;font-weight:700;color:#007aff;}
.portfolio-wrap .sec-1 .list li .change dd span{margin:8px 0 0;line-height:1;font-size:14px;}
.portfolio-wrap .sec-1 .list li .image{width:704px;max-width:100%;}
.portfolio-wrap .sec-1 .list li .image img{width:100%;height:auto;border-radius:10px;overflow:hidden;}
.portfolio-wrap .sec-2{padding:100px 0;background:#000;}
.portfolio-wrap .sec-2 .page-title .sub{color:rgb(255 255 255 / 30%);}
.portfolio-wrap .sec-2 .page-title .tit{color:#fff;}
.portfolio-wrap .sec-2 .page-title .txt{font-size: 16px;font-weight: 400;color: rgb(255 255 255/ 50%);}
.portfolio-wrap .sec-2 .page-title .div{background:#fff}
.portfolio-wrap .sec-2 .list{}
.portfolio-wrap .sec-2 .list ul{}
.portfolio-wrap .sec-2 .list li{margin:0 0 30px;padding:32px;display:flex;gap:40px;border-radius:8px;background:rgb(255 255 255 / 12%);flex-wrap: wrap;}
.portfolio-wrap .sec-2 .list li .img{width:560px;height:380px;border-radius:8px;background:#fff;overflow:hidden;max-width:100%;}
.portfolio-wrap .sec-2 .list li .img img{width:100%;height:100%;object-fit:cover;}
.portfolio-wrap .sec-2 .list li .box{display:flex;width: 796px;max-width: 100%;}
.portfolio-wrap .sec-2 .list li .con{flex:1;position:relative;padding:32px;}
.portfolio-wrap .sec-2 .list li .con + .con:before{content:'';position:absolute;top:0;left:0;bottom:0;width:1px;background:linear-gradient(to top, rgb(255 255 255 / 0%) 0%, rgb(255 255 255 / 30%) 50%, rgb(255 255 255 / 0%) 100%)}
.portfolio-wrap .sec-2 .list li .top{margin:0 0 16px;display:flex;align-items:center;gap:8px;}
.portfolio-wrap .sec-2 .list li .top .num{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:32px;border:1px solid #007aff;font-size:14px;font-weight:700;color:#007aff;}
.portfolio-wrap .sec-2 .list li .top .tit{line-height:1;font-size:22px;font-weight:600;color:#fff;}
.portfolio-wrap .sec-2 .list li .txt{line-height:1.2;font-size:16px;color:rgb(255 255 255 / 50%);margin:0 0 20px;}
.portfolio-wrap .sec-2 .list li .desc{}
.portfolio-wrap .sec-2 .list li .desc dl{margin:0 0 8px;padding:8px 0;}
.portfolio-wrap .sec-2 .list li .desc dl:last-child{margin:0;}
.portfolio-wrap .sec-2 .list li .desc dt{margin:0 0 16px;line-height:1;font-size:14px;font-weight:600;color:#848484;}
.portfolio-wrap .sec-2 .list li .desc dd{line-height:24px;font-size:16px;color:#fff;}
.portfolio-wrap .sec-2 .list li .desc dd p{position:relative;padding:4px 0;padding-left:12px;}
.portfolio-wrap .sec-2 .list li .desc dd p:before{content:'';position:absolute;top: 12px;left:0;width:4px;height:4px;border-radius:4px;background:#007aff;}
.portfolio-wrap .sec-2 .list li .result{margin:16px 0 0;padding:16px 0 0;border-top:1px solid rgb(255 255 255/ 10%);}
.portfolio-wrap .sec-2 .list li .result dt{margin:0 0 16px;line-height:1;font-size:14px;font-weight:600;color:#848484;text-transform:uppercase;letter-spacing:2px;}
.portfolio-wrap .sec-2 .list li .result dd{display:block;line-height:1;font-size:18px;font-weight:600;color:#007aff;}
.portfolio-wrap .sec-3{padding:100px 0;background:#fff;}
.portfolio-wrap .sec-3 .page-title .txt{font-size: 16px;font-weight: 400;color: #848484;}
.portfolio-wrap .sec-3 .image{display:flex;align-items:center;justify-content:center;overflow: hidden;}
.portfolio-wrap .sec-3 .image img{width:auto;max-width:100%;height:auto;}
.portfolio-wrap .sec-4{padding:100px 0;background:#000 linear-gradient(to bottom, #000 0%, rgb(0 122 255 / 20%) 100%);}
.portfolio-wrap .sec-4 .counsel{display:flex;flex-direction:column;align-items:center;justify-content:center;}
.portfolio-wrap .sec-4 .counsel .sub{margin: 0 0 16px;line-height: 1;font-size: 14px;font-weight: 500;color: rgb(255 255 255 / 30%);text-transform: uppercase;letter-spacing: 2px;}
.portfolio-wrap .sec-4 .counsel .tit{margin: 0 0 30px;display: block;line-height: 1;font-size: 40px;font-weight: 700;color: #fff;}
.portfolio-wrap .sec-4 .counsel .txt{display: block;line-height: 1;font-size: 16px;font-weight: 400;color: rgb(255 255 255 / 50%);}
.portfolio-wrap .sec-4 .counsel .bts{margin: 50px 0 0;display: flex;align-items: center;justify-content: center;}
.portfolio-wrap .sec-4 .counsel .bts a{padding: 0 20px;display: flex;align-items: center;justify-content: center;gap: 8px;height: 50px;border-radius: 4px;background: #007aff;font-size: 18px;font-weight: 600;color: #fff;}
.portfolio-wrap .sec-4 .counsel .bts a:after{content:'';width:16px;height:16px;background: url("../img/icon_link_arrow.png") no-repeat center / contain;}

.contact-wrap{padding: 100px 0 120px;}
.contact-wrap .inner{width:680px !important;}
.contact-wrap .tabs{margin:0 0 60px;display:flex;align-items:center;justify-content:center;}
.contact-wrap .tabs ul{margin:0 auto;display:flex;padding:6px;border-radius:8px;background:#f2f2f2;}
.contact-wrap .tabs li{}
.contact-wrap .tabs li button{display:flex;align-items:center;justify-content:center;width:150px;height:44px;border-radius:6px;background:transparent;font-size:16px;font-weight:500;color:#aaa;}
.contact-wrap .tabs li button.on{color:#171719;background:#fff;box-shadow:0 1px 4px rgb(0 0 0 / 12%);}
.contact-wrap .content{}
.contact-wrap .part{border-bottom:1px solid #e8e8e8;padding:0 0 20px 0;margin:0 0 20px;display: none;}
.contact-wrap .part.is-active{display:block;}
.contact-wrap .part dl{}
.contact-wrap .part dt{margin:0 0 8px;line-height:1;font-size:14px;font-weight:400;color:#848484;}
.contact-wrap .part dd{display:flex;gap:16px;}
.contact-wrap .part dd button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px 16px;border-radius:8px;border:1px solid #e8e8e8;}
.contact-wrap .part dd button strong{display:block;line-height:1;font-size:16px;font-weight:600;color:#1a1a1a;}
.contact-wrap .part dd button p{display:block;line-height:1;font-size:12px;font-weight:400;color:#aaa;}
.contact-wrap .part dd button.on{border-color:#007aff;background:#f0f6ff;}
.contact-wrap .part dd button.on strong{color:#007aff;}
.contact-wrap .part dd button.on p{color:#007aff;}
.contact-wrap .form{margin:0 0 20px;}
.contact-wrap .form dl{margin:0 0 20px;}
.contact-wrap .form dl:last-child{margin:0;}
.contact-wrap .form dt{display:flex;align-items:center;margin:0 0 8px;line-height:1;font-size:14px;font-weight:400;color:#848484;}
.contact-wrap .form dt .req{margin: 0 0 0 2px;color:#007aff;}
.contact-wrap .form dd{}
.contact-wrap .form dd .inp{}
.contact-wrap .form dd .inp input{display:block;width:100%;height:48px;padding:0 16px;border-radius:6px;border:1px solid #e8e8e8;font-size:16px;font-weight:300;color:#171719;}
.contact-wrap .form dd .inp input::placeholder{color:#aaa !important;}
.contact-wrap .form dd .inp textarea{display:block;width:100%;height:170px;padding:16px 16px;border-radius:6px;border:1px solid #e8e8e8;font-size:16px;font-weight:300;color:#171719;}
.contact-wrap .form dd .word{margin:8px 0 0;line-height:1;font-size:12px;color:#848484;text-align:right;}
.contact-wrap .agree{margin: 0 0 50px;}
.contact-wrap .agree .checkbox{display:flex;align-items:center;cursor:pointer;gap:8px;}
.contact-wrap .agree .checkbox input{display:none;}
.contact-wrap .agree .checkbox input ~ .ico{flex:0 0 auto;position:relative;width:16px;height:16px;border-radius:4px;border:1px solid #e8e8e8;}
.contact-wrap .agree .checkbox input ~ .ico:after{content:'';position:absolute;top: 3px;left: 3px;width: 6px;height: 4px;border-left:2px solid #e0e0e0;border-bottom:2px solid #fff;transform:rotate(-45deg);display:none;}
.contact-wrap .agree .checkbox input ~ .txt{}
.contact-wrap .agree .checkbox input ~ .txt strong{display:flex;align-items:center;line-height:1;font-size:14px;font-weight:600;color:#171719;}
.contact-wrap .agree .checkbox input ~ .txt strong i{margin: 0 0 0 4px;font-weight:30;color:#007aff;}
.contact-wrap .agree .checkbox input ~ .txt p{margin:8px 0 0;display:flex;flex-wrap:wrap;}
.contact-wrap .agree .checkbox input ~ .txt p span{display:flex;align-items:center;line-height: 1;font-size: 12px;font-weight: 400;color: #848484;}
.contact-wrap .agree .checkbox input ~ .txt p span:before{content:'';margin:0 8px;width:1px;height:6px;background:#e8e8e8;flex: 0 0 auto;}
.contact-wrap .agree .checkbox input ~ .txt p span:nth-child(1):before{display:none;}
.contact-wrap .agree .checkbox input:checked ~ .ico{border-color:#007aff;background:#007aff;}
.contact-wrap .agree .checkbox input:checked ~ .ico:after{display:block;}
.contact-wrap .button{display:flex;align-items:center;justify-content:center;width:312px;max-width:100%;margin:0 auto;}
.contact-wrap .button button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:50px;border-radius:4px;background:#007aff;font-size:18px;font-weight:500;color:#fff;}
.contact-wrap .button button:after{content:'';width:16px;height:16px;background: url("../img/icon_link_arrow.png") no-repeat center / contain;}
.contact-wrap .button button:disabled{background:#ccc;}
.contact-wrap .caution{margin:16px 0 0;line-height:1;font-size:12px;font-weight:400;color:#848484;text-align:center;}

@media (max-width:1560px){
    #wrap .inner{width:calc(100% - 100px);}
}
@media (max-width:1024px){

    .pc-only{display:none !important;}
    .mo-only{display:block !important;}

    #wrap .inner{width:100%;}

    #header{background:#000;}
    #header .inner{padding: 0 20px;}
    #header .gnb{position:fixed;z-index: 100;padding: 84px 20px 20px;top:0;left:0;width:100%;height:100dvh;background:#000;transform: translateX(100%);opacity: 0;visibility: hidden;}
    #header .gnb ul{display: flex;flex-direction:column;align-items: stretch;gap: 24px;}
    #header .gnb li{}
    #header .gnb li a{justify-content: flex-start;height: 30px;padding: 0;font-size: 24px;font-weight: 700;border: 0 !important;}
    #header .menu{display:block;}

    #header.is-active .gnb{opacity: 1;visibility:visible;transform: translateX(0);}

    #header.white{background:#000;}
    #header.white:after{background:rgb(0 0 0);}
    #header.white .logo a{background: url("../img/logo.svg") no-repeat center / contain;}
    #header.white .gnb li a{color:#fff;}

    #footer{padding: 60px 28px 104px;}
    #footer .inner{flex-direction:column;align-items:stretch;gap:56px;}
    #footer .menu{order:1;}
    #footer .menu dd a{padding:0;margin:0 0 12px;font-weight: 400;}
    #footer .menu dd a:last-child{margin:0;}
    #footer .content{order:2;}
    #footer .comp .name{font-size: 16px;color:#5c5c5c;}
    #footer .comp .link{}
    #footer .comp .link a{font-size: 16px;color:#5c5c5c;}
    #footer .info p{gap:4px 0;}
    #footer .info p span{width:100%;font-size: 16px;color:#5c5c5c;}
    #footer .info p span:before{display: none;}
    #footer .down a{padding: 0;background:#000;gap:0;}
    #footer .down a .icon{width:28px;height:28px;}
    #footer .down a .text{font-size:16px;}
    #footer .gotop{right:12px;bottom:26px;left:unset;margin:0;}

    #main .sec-1{padding: 290px 0 0 0;}
    #main .sec-1 .text{padding: 0 32px;}
    #main .sec-1 .text .tit{font-size: 32px;}
    #main .sec-1 .text .txt{margin: 72px 0 0;font-size:18px;}
    #main .sec-1 .marquee{margin:40px 0 0;padding: 10px 0;}
    #main .sec-1 .marquee .marquee-wrapper{gap:10px;}
    #main .sec-1 .marquee .marquee-track{gap:10px;}
    #main .sec-1 .marquee .marquee-item{width:100px;height:50px;padding:10px;border-radius:10px;}
    #main .sec-1 .bottom{flex-direction:column;gap:40px;margin-top: 30px;padding: 10px 0 35px;}
    #main .sec-1 .image{display: none;}
    #main .sec-1 .figure{padding: 0 16px;}
    #main .sec-1 .figure .box{margin-bottom:24px;display:flex;flex-direction:row;align-items: center;gap: 24px;}
    #main .sec-1 .figure .tit{line-height: 1.5;font-size: 14px;margin-bottom: 0;}
    #main .sec-1 .figure .txt{line-height:1.5;font-size:16px;display: none;}
    #main .sec-1 .figure .num{margin-bottom: 0;font-size: 32px;}
    #main .sec-1 .figure .con{
        gap: 6px;
        margin: 0;
    }
    #main .sec-1 .figure .con dl{padding:14px;border-radius:10px;background:#262727;
        text-align: center;
    }
    #main .sec-1 .figure .con dt{font-size:11px;}
    #main .sec-1 .figure .con dd{font-size:18px;}
    #main .sec-2{padding:20px;}
    #main .sec-2 .title{margin:0 0 10px;font-size:24px;}
    #main .sec-2 .text{flex-direction:column;gap: 22px;}
    #main .sec-2 .text .bar{display:none;}
    #main .sec-2 .text .tit{line-height:22px;font-size:16px;font-weight:500;}
    #main .sec-2 .text .txt{line-height:22px;font-size:16px;font-weight:500;}
    #main .sec-3{padding:20px;background:#fff;}
    #main .sec-3 .title{margin:0 0 14px;text-align:left;}
    #main .sec-3 .title .txt{margin:0;line-height:1.5;font-size:24px;font-weight:700;color:#171719;}
    #main .sec-3 .title .txt span{display:block;}
    #main .sec-3 .title .tit{line-height:1.5;font-size:24px;}
    #main .sec-3 .list{padding:0 0 30px;}
    #main .sec-3 .list ul{flex-direction:column;gap:0;}
    #main .sec-3 .list li{width:100%;border-bottom:1px solid #d6d6d6;}
    #main .sec-3 .list li:last-child{border:0;}
    #main .sec-3 .list li .box{padding:16px 0;display:flex;align-items:center;justify-content:space-between;flex-direction:row;}
    #main .sec-3 .list li .text{line-height:21px;font-size:18px;font-weight:500;color:#171719;}
    #main .sec-3 .list li .icon{display:none;margin:0;}
    #main .sec-4{padding: 20px 20px 50px;}
    #main .sec-4 .flex{flex-direction:column;align-items:stretch;}
    #main .sec-4 .text .tit{margin:0 0 10px;line-height:29px;font-size:24px;}
    #main .sec-4 .text .txt{margin:0 0 10px;line-height:22px;font-size:16px;font-weight:500;color:#171719;}
    #main .sec-4 .text .bts{}
    #main .sec-4 .text .bts a{font-size:14px;}
    #main .sec-4 .text .bts a:after{width:14px;height:14px;}
    #main .sec-4 .image{flex:1;}
    #main .sec-4 .image img{max-width:100%;height:auto;display:block;border-radius:10px;overflow:hidden;}

    #contents{}
    #contents .subvisual.fixed{padding: 64px 0 0 0 !important;top: 0 !important;}
    #contents .subvisual.fixed:not(.type1){background: #000;}
    #contents .subvisual .text{display:none;}
    #contents .subvisual .tabs{position: relative;}
    #contents .subvisual .tabs li{position:relative;}
    #contents .subvisual .tabs li:before{content:'';pointer-events:none;position:absolute;top:0;left:0;bottom:0;width:1px;background:rgb(255 255 255 / 8%);}
    #contents .subvisual .tabs li button{height:48px;font-size:13px;color:rgb(255 255 255 / 75%);)}
    #contents .subvisual .tabs li.on button{color:#007aff;background:transparent;}
    #contents .subvisual.type1{position: relative;padding: 64px 0 0 0;}
    #contents .subvisual.type1 .flex{flex-direction:column;align-items: stretch;}
    #contents .subvisual.type1 .inner{padding: 56px 24px 48px;}
    #contents .subvisual.type1 .text{padding: 0;display:block;opacity: 1;visibility: visible;}
    #contents .subvisual.type1 .text .sub{margin:0 0 21px;font-size:11px;}
    #contents .subvisual.type1 .text .tit{line-height:36px;font-size:28px;}
    #contents .subvisual.type1 .text .tit.tit-s{line-height:36px;font-size:28px;}
    #contents .subvisual.type1 .text .tit span{display:block;color:#007aff;}
    #contents .subvisual.type1 .text .txt{margin:20px 0 0;line-height:22px;font-size:14px;}
    #contents .subvisual.type1 .tabs{margin:32px 0 0;flex-direction:column;border-top:1px solid rgb(255 255 255 / 8%);}
    #contents .subvisual.type1 .tabs li{border-bottom:1px solid rgb(255 255 255 / 8%);}
    #contents .subvisual.type1 .tabs li:before{display:none;}
    #contents .subvisual.type1 .tabs li button{height:50px;font-size:14px;font-weight:500;justify-content:flex-start;}
    #contents .subvisual.type1 .tabs li button:hover{color:#fff;}
    #contents .subvisual.type1 .tabs li button:before{margin:0 16px 0 0;font-size:11px;font-weight:400;color:rgb(255 255 255 / 30%);}
    #contents .subvisual.type1 .tabs li.on button{color:#007aff;background:transparent;}
    #contents .subvisual.type1 .tabs li:nth-child(1) button:before{content:'01';}
    #contents .subvisual.type1 .tabs li:nth-child(2) button:before{content:'02';}
    #contents .subvisual.type1 .tabs li:nth-child(3) button:before{content:'03';}
    #contents .subvisual.type1 .tabs li:nth-child(4) button:before{content:'04';}
    #contents .subvisual.type1 .figure{width: 100%;border-top: 1px solid rgb(255 255 255 / 8%);}
    #contents .subvisual.type1 .figure dl{flex:1;width: 100%;gap:6px;padding:20px 20px 6px;text-align:left;border-left:1px solid rgb(255 255 255 / 8%);}
    #contents .subvisual.type1 .figure dl:first-child{padding-left:0;border-left:0;}
    #contents .subvisual.type1 .figure dl:last-child{padding-right:0;}
    #contents .subvisual.type1 .figure dt{font-size:11px;}
    #contents .subvisual.type1 .figure dd{font-size:22px;}
    #contents .subvisual .info{gap:8px;}
    #contents .subvisual .info dl{padding:12px 14px;width:100%;flex:1;background:#000;border:1px solid rgb(255 255 255 / 12%);}
    #contents .subvisual .info dt{font-size:10px;font-weight:500;color:rgb(255 255 255 / 35%);}
    #contents .subvisual .info dd{margin: 4px 0 0;font-size: 12px;text-align: left;color: rgb(255 255 255 / 70%);}


    .page-title{margin:0 0 10px;}
    .page-title .sub{margin:0 0 10px;font-size:15px;letter-spacing:2px;font-weight:400;}
    .page-title .tit{margin:0 0 12px;font-size: 22px;}
    .page-title .txt{margin:12px 0 0 0;display:block;line-height:1.2;font-size:28px;font-weight:700;color:#171719;}
    .page-title .txt span{color:#007aff;}
    .page-title .div{margin: 12px 0 10px;width: 32px;}

    .company-wrap{}
    .company-wrap .sec{padding:20px;}
    .company-wrap .sec-1 .head{margin:0 0 28px;}
    .company-wrap .sec-1 .list{}
    .company-wrap .sec-1 .list ul{flex-direction:column;gap: 28px;}
    .company-wrap .sec-1 .list li{width:100%;}
    .company-wrap .sec-1 .list .img{margin:0 0 28px;}
    .company-wrap .sec-1 .list .tit{font-size:24px;}
    .company-wrap .sec-1 .list .txt{font-size:16px;}
    .company-wrap .sec-1 .list .txt br{display:none;}
    .company-wrap .sec-2{padding:48px 20px;}
    .company-wrap .sec-2 .orga .client{margin: 0 0 20px;width:123px;height:46px;font-size:13px;}
    .company-wrap .sec-2 .orga .ceo{margin: 0 0 20px;width:95px;height:46px;font-size:13px;background:rgb(13 13 13);border:1px solid rgb(255 255 255 / 5%);}
    .company-wrap .sec-2 .orga .depart{margin: 0 0 10px;padding:12px;}
    .company-wrap .sec-2 .orga .depart:before{top:-20px;height:20px;}
    .company-wrap .sec-2 .orga .depart .eng{margin:0 0 4px;font-size:13px;}
    .company-wrap .sec-2 .orga .depart .tit{font-size:10px;}
    .company-wrap .sec-2 .orga .team{padding:12px 8px;}
    .company-wrap .sec-2 .orga .team:before{height:10px;top:-10px;}
    .company-wrap .sec-2 .orga .team li{margin: 0 0 8px;line-height: 18px;font-size:11px;font-weight:500;padding: 0;display: flex;justify-content: flex-start;align-items: center;color: rgb(255 255 255 / 70%);}
    .company-wrap .sec-2 .orga .team li:before{content:'';margin:0 5px 0 0 ;width:3px;height:3px;border-radius:3px;background:#007aff;}
    .company-wrap .sec-2 .orga .og{gap:8px;padding: 20px 0 0;}
    .company-wrap .sec-2 .orga .og1:before{top:20px;}
    .company-wrap .sec-3 .list{margin:40px 0 0;}
    .company-wrap .sec-3 .list li{gap: 12px;padding: 0 0 28px 20px;}
    .company-wrap .sec-3 .list li .num{padding: 2px 0;width: 52px;line-height: 20px;font-size: 16px;text-align: center;}
    .company-wrap .sec-3 .list li .txt{position: static;padding: 0 0 10px 0;width: 100%;}
    .company-wrap .sec-3 .list li .txt:before{top: 6px;left: 2px;width: 8px;height: 8px;background:  #007aff;}
    .company-wrap .sec-3 .list li .txt:after{right: unset;left: 7px;height: calc(100% + 28px);background: rgb(255 255 255 / 12%);}
    .company-wrap .sec-3 .list li .txt p{margin: 0 0 8px;padding: 0 0 0 14px;line-height: 20px;font-size: 13px;}

    .competence-wrap .sec-1{padding:20px;background:#fff;}
    .competence-wrap .sec-1 .inner{border-bottom:1px solid #e0e0e0;}
    .competence-wrap .sec-1 .title{padding: 0 0 28px;text-align:left;}
    .competence-wrap .sec-1 .title .sub{display:none;}
    .competence-wrap .sec-1 .title .tit{margin:0 0 24px;line-height:30px;font-size:20px;}
    .competence-wrap .sec-1 .title .txt{line-height:36px;font-size:28px;font-weight: 700;}
    .competence-wrap .sec-1 .title .txt span{display:block;}
    .competence-wrap .sec-2{padding: 28px 20px;}
    .competence-wrap .sec-2 .list{padding:0;}
    .competence-wrap .sec-2 .list > ul{}
    .competence-wrap .sec-2 .list > ul > li{padding:28px 0;}
    .competence-wrap .sec-2 .list .flex{flex-wrap:wrap;gap: 0;}
    .competence-wrap .sec-2 .list .text{}
    .competence-wrap .sec-2 .list .text .sub{margin:0 0 24px;line-height:30px;font-size:20px;font-weight:800;color:#000;}
    .competence-wrap .sec-2 .list .text .tit{margin:0 0 12px;line-height:36px;font-size:24px;font-weight:700;}
    .competence-wrap .sec-2 .list .text .txt{line-height:22px;font-size:16px;}
    .competence-wrap .sec-2 .list .text .txt br{display:none;}
    .competence-wrap .sec-2 .list .text .con{display:none;}
    .competence-wrap .sec-2 .list .cont{margin: 25px 0 0;}
    .competence-wrap .sec-2 .list .cont .image{display:none;}
    .competence-wrap .sec-2 .list .cont .desc{display:block;}
    .competence-wrap .sec-2 .list .figure{gap:8px;flex-wrap:nowrap;}
    .competence-wrap .sec-2 .list .figure dl{flex:1;padding:16px;height: 82px;justify-content: center;}
    .competence-wrap .sec-2 .list .figure dt{font-size:10px;margin:4px 0 0;}
    .competence-wrap .sec-2 .list .figure dd{font-size:18px;}
    .competence-wrap .sec-2 .list .percent{padding:20px;}
    .competence-wrap .sec-2 .list .percent .tit{margin:0 0 12px;line-height:1;font-size:13px;}
    .competence-wrap .sec-2 .list .percent .con{}
    .competence-wrap .sec-2 .list .percent .con li{margin:0 0 14px;}
    .competence-wrap .sec-2 .list .percent .txt{margin:0 0 4px;}
    .competence-wrap .sec-2 .list .percent .txt{}
    .competence-wrap .sec-2 .list .percent .txt dt{line-height:1;font-size:13px;}
    .competence-wrap .sec-2 .list .percent .txt dd{line-height:1;font-size:13px;}
    .competence-wrap .sec-2 .list .percent .cau{margin:14px 0 0;line-height:1;font-size:11px;}
    .competence-wrap .sec-2 .list .hour{padding: 24px;flex-direction: row;gap: 20px;}
    .competence-wrap .sec-2 .list .hour .ico{margin: 0;}
    .competence-wrap .sec-2 .list .hour .ico img{max-width:100%;height:auto;}
    .competence-wrap .sec-2 .list .hour .con{flex:1;text-align:left;}
    .competence-wrap .sec-2 .list .hour .tit{margin:0 0 5px;font-size:28px;}
    .competence-wrap .sec-2 .list .hour .txt{margin:0 0 4px;font-size:15px;}
    .competence-wrap .sec-2 .list .hour .cau{font-size:13px;}
    .competence-wrap .sec-2 .list .status{padding:16px;}
    .competence-wrap .sec-2 .list .status .tit{margin:0 0 12px;line-height:1;font-size:13px;}
    .competence-wrap .sec-2 .list .status .label{top:16px;right:16px;font-size:10px;}
    .competence-wrap .sec-2 .list .status .label:before{content:'';width:6px;height:6px;}
    .competence-wrap .sec-2 .list .status .con{margin:0 0 12px;gap:6px;}
    .competence-wrap .sec-2 .list .status .con dl{border-radius:8px;padding:10px 8px;}
    .competence-wrap .sec-2 .list .status .con dt{margin: 0 0 4px;line-height: 15px;font-size:10px;}
    .competence-wrap .sec-2 .list .status .con dd{line-height: 14px;font-size:14px;}
    .competence-wrap .sec-2 .list .status .graph{}
    .competence-wrap .sec-2 .list .status .graph img{max-width:100%;height:auto;border-radius:10px;padding:20px 16px;background:#fff;}
    .competence-wrap .sec-2 .list .process{padding: 20px;}
    .competence-wrap .sec-2 .list .process .tit{margin:0 0 16px;font-size:13px;}
    .competence-wrap .sec-2 .list .process .tit br{display:none;}
    .competence-wrap .sec-2 .list .process .con{margin: 0 0 16px;gap: 16px;}
    .competence-wrap .sec-2 .list .process .con dl{}
    .competence-wrap .sec-2 .list .process .con dl:after{width:16px;}
    .competence-wrap .sec-2 .list .process .con dt{width: 36px;height: 36px;font-size: 13px;}
    .competence-wrap .sec-2 .list .process .con dd{margin: 6px 0 0;font-size: 10px;}
    .competence-wrap .sec-2 .list .process .txt{font-size: 12px;}

    .business-wrap{}
    .business-wrap .sec{padding: 0;}
    .business-wrap .sec:last-child .inner{padding: 0;}
    .business-wrap .sec:first-child .inner{padding-top: 0;}
    .business-wrap .sec .inner{border: 0;padding: 0;}
    .business-wrap .sec .flex{flex-direction: column;padding: 0 24px 24px;gap: 0;}
    .business-wrap .sec .text{margin: 0 0 40px;width: 100%;}
    .business-wrap .sec .text .box{position:relative;margin: 0 -24px 40px;padding: 150px 24px 16px 24px;background: #000;}
    .business-wrap .sec .text .box:before{content:'';position:absolute;inset:0;background: linear-gradient(0deg, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.1) 50%, rgba(0, 0, 0, 0) 100%);pointer-events:none;}
    .business-wrap .sec .text .num{position:relative;z-index:2;margin: 0 0 6px;font-size: 11px;color: rgb(255 255 255 / 50%);}
    .business-wrap .sec .text .tit{position:relative;z-index:2;margin: 0;line-height: 30px;font-size: 20px;color: #fff;}
    .business-wrap .sec .text .txt{margin: 0 0 10px;font-size: 16px;word-break:keep-all;}
    .business-wrap .sec .text .txt br{display:none;}
    .business-wrap .sec .text .con{font-size:16px;}
    .business-wrap .sec .text .con br{display:none;}
    .business-wrap .sec .cont{background: #fff;border: 1px solid #e8e8e8;border-radius: 8px;width: 100%;overflow: hidden;}
    .business-wrap .sec .cont .box{padding: 25px;border-radius: 0;background: #fff;}
    .business-wrap .sec .cont .txt{font-size: 12px;}
    .business-wrap .sec .cont .tit{margin: 4px 0 0;line-height: 20px;font-size: 13px;}
    .business-wrap .sec .cont .tit span{color:#007aff;}
    .business-wrap .sec .cont .cau{border-top: 1px solid #e8e8e8;padding: 12px 24px;line-height: 16px;font-size: 11px;}
    .business-wrap .sec .list{margin: 16px 0 0 0;padding: 0 24px 60px;}
    .business-wrap .sec .list .top{margin:0 0 16px;line-height:1;font-size:14px;font-weight:500;color:#848484;}
    .business-wrap .sec .list .con{}
    .business-wrap .sec .list .con ul{gap:0;border-top:1px solid #e8e8e8;}
    .business-wrap .sec .list .con li{width:100%;border-bottom:1px solid #e8e8e8;}
    .business-wrap .sec .list .con li .button{height:52px;padding:15px 0;border-radius:0;border:0;gap: 14px;}
    .business-wrap .sec .list .con li .button .num{width: 22px;font-size: 11px;}
    .business-wrap .sec .list .con li .button .tit{font-size: 14px;}
    .business-wrap .sec .list .con li .button .arr{transform: rotate(90deg);}
    .business-wrap .sec .list .con li .layer{position: relative;top: 0;left: 0;transform: unset;padding: 0;margin: 0 0 24px;box-shadow: none;opacity: 1;visibility: visible;display: none;}
    .business-wrap .sec .list .con li .layer .tit{display: none;}
    .business-wrap .sec .list .con li .layer .txt{margin: 0 0 16px;line-height: 22px;font-size: 13px;}
    .business-wrap .sec .list .con li .layer .close{display: none;}
    .business-wrap .sec .list .con li .layer .effect{}
    .business-wrap .sec .list .con li .layer .effect dt{padding: 8px 14px;line-height: 17px;font-size: 11px;}
    .business-wrap .sec .list .con li .layer .effect dd{}
    .business-wrap .sec .list .con li .layer .effect dd p{padding: 0 14px;gap:8px;height: 42px;font-size: 13px;}
    .business-wrap .sec .list .con li.on{}
    .business-wrap .sec .list .con li.on .button .tit{}
    .business-wrap .sec .list .con li.on .layer{display:block;}
    .business-wrap .sec-1 .text .box{background:url("../img/m3_tit1.jpg") no-repeat center / cover;}
    .business-wrap .sec-2 .text .box{background:url("../img/m3_tit2.jpg") no-repeat center / cover;}
    .business-wrap .sec-3 .text .box{background:url("../img/m3_tit3.jpg") no-repeat center / cover;}
    .business-wrap .sec-4 .text .box{background:url("../img/m3_tit4.jpg") no-repeat center / cover;}

    .portfolio-wrap{}
    .portfolio-wrap .page-title{padding: 48px 24px 0;}
    .portfolio-wrap .sec-1{padding: 0;}
    .portfolio-wrap .sec-1 .list{padding:8px 0;}
    .portfolio-wrap .sec-1 .list li{flex-wrap:wrap;gap: 0;border: 0;padding: 8px 24px;}
    .portfolio-wrap .sec-1 .list li:nth-child(3),
    .portfolio-wrap .sec-1 .list li:nth-child(4){background:#f7f7f7;}
    .portfolio-wrap .sec-1 .list li:nth-child(2) .text,
    .portfolio-wrap .sec-1 .list li:nth-child(4) .text{border:0;}
    .portfolio-wrap .sec-1 .list li .text{order: 2;width: 100%;border-bottom:1px solid #e8e8e8;p;padding: 0 0 16px;}
    .portfolio-wrap .sec-1 .list li .head{margin:0 0 16px;}
    .portfolio-wrap .sec-1 .list li .head .num{width:28px;height:28px;font-size:11px;}
    .portfolio-wrap .sec-1 .list li .head .tit{font-size:16px;}
    .portfolio-wrap .sec-1 .list li .cont{margin: 0 0 20px 36px;}
    .portfolio-wrap .sec-1 .list li .cont dl{margin:0 0 8px;}
    .portfolio-wrap .sec-1 .list li .cont dt{line-height:20px;font-size:10px;min-width: 12px;}
    .portfolio-wrap .sec-1 .list li .cont dd{line-height:20px;font-size:13px;}
    .portfolio-wrap .sec-1 .list li .figure{margin: 0 0 16px 36px;width: calc(100% - 36px);padding: 16px;background: #f7f7f7;}
    .portfolio-wrap .sec-1 .list li .figure .tit{margin: 0 0 12px;line-height: 15px;font-size: 10px;}
    .portfolio-wrap .sec-1 .list li .compare{}
    .portfolio-wrap .sec-1 .list li .compare .box{margin:0 0 16px;}
    .portfolio-wrap .sec-1 .list li .compare .box .top{width:36px;font-size:11px;}
    .portfolio-wrap .sec-1 .list li .compare .box .bar{height:6px;}
    .portfolio-wrap .sec-1 .list li .compare .box .bar i{position:absolute;top:0;left:0;bottom:0;border-radius:4px;background:#007aff;}
    .portfolio-wrap .sec-1 .list li .compare .box .num{width:36px;font-size:11px;}
    .portfolio-wrap .sec-1 .list li .compare .cau{padding:4px 0 0;}
    .portfolio-wrap .sec-1 .list li .compare .cau i{width:12px;height:12px;}
    .portfolio-wrap .sec-1 .list li .compare .cau p{font-size:10px;}
    .portfolio-wrap .sec-1 .list li .growth{}
    .portfolio-wrap .sec-1 .list li .growth .flex{display:flex;}
    .portfolio-wrap .sec-1 .list li .growth .box{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;}
    .portfolio-wrap .sec-1 .list li .growth .box .top{font-size: 10px;}
    .portfolio-wrap .sec-1 .list li .growth .box .bar{margin: 10px 0 0;width: 74px;}
    .portfolio-wrap .sec-1 .list li .growth .box .bar.h32{height:32px;}
    .portfolio-wrap .sec-1 .list li .growth .box .bar.h43{height:43px;}
    .portfolio-wrap .sec-1 .list li .growth .box .bar.h56{height:56px;}
    .portfolio-wrap .sec-1 .list li .growth .box .num{margin: 0 0 auto;font-size: 13px;}
    .portfolio-wrap .sec-1 .list li .growth .rate{margin: 12px 0 0;padding: 12px 12px;}
    .portfolio-wrap .sec-1 .list li .growth .rate dt{line-height:1;font-size: 11px;}
    .portfolio-wrap .sec-1 .list li .growth .rate dd{line-height:1;font-size: 14px;}
    .portfolio-wrap .sec-1 .list li .keyword{}
    .portfolio-wrap .sec-1 .list li .keyword dl{height: 18px;margin: 0 0 6px;}
    .portfolio-wrap .sec-1 .list li .keyword dl:last-child{margin:0;}
    .portfolio-wrap .sec-1 .list li .keyword dt{font-size: 12px;}
    .portfolio-wrap .sec-1 .list li .keyword dt:before{width:3px;height:3px;}
    .portfolio-wrap .sec-1 .list li .keyword dd{height: 18px;min-width: 34px;padding: 0 6px;font-size:12px;}
    .portfolio-wrap .sec-1 .list li .rank{display:flex;gap:18px;}
    .portfolio-wrap .sec-1 .list li .rank .box{flex:1;position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;}
    .portfolio-wrap .sec-1 .list li .rank .box:before{content:'';position:absolute;top:50%;left:-18px;width:18px;height:18px;background:url("../img/m4_rank_arrow.png") no-repeat center / 10px;transform: translateY(-50%);}
    .portfolio-wrap .sec-1 .list li .rank .box:nth-child(1):before{display:none;}
    .portfolio-wrap .sec-1 .list li .rank .num{width: 100%;height: 38px;}
    .portfolio-wrap .sec-1 .list li .rank .num i{width: 100%;height: 38px !important;font-size: 15px;}
    .portfolio-wrap .sec-1 .list li .rank .top{margin: 6px 0 0;line-height: 13px;font-size: 10px;}
    .portfolio-wrap .sec-1 .list li .rank .box.on .num{}
    .portfolio-wrap .sec-1 .list li .rank .box.on .num i{background:#007aff;color:#fff;}
    .portfolio-wrap .sec-1 .list li .rank .box.on .top{color:#007aff;}
    .portfolio-wrap .sec-1 .list li .change{margin: 0 0  16px 36px;width: calc(100% - 36px);padding: 12px 16px;background: #f7f7f7;}
    .portfolio-wrap .sec-1 .list li .change dl{display:flex;align-items:center;justify-content:space-between;}
    .portfolio-wrap .sec-1 .list li .change dt{line-height: 18px;font-size: 12px;}
    .portfolio-wrap .sec-1 .list li .change dd{line-height: 18px;font-size: 18px;}
    .portfolio-wrap .sec-1 .list li .change dd span{margin: 3px 0 0;line-height:1;font-size: 11px;}
    .portfolio-wrap .sec-1 .list li .image{order: 1;width: 100%;margin: 0 0 22px;}
    .portfolio-wrap .sec-1 .list li .image img{width:100%;height:auto;border-radius:10px;overflow:hidden;}
    .portfolio-wrap .sec-2{padding:0;}
    .portfolio-wrap .sec-2 .page-title .sub{font-size: 11px;color:rgb(255 255 255 / 30%);}
    .portfolio-wrap .sec-2 .page-title .tit{color:#fff;}
    .portfolio-wrap .sec-2 .page-title .txt{font-size: 13px;}
    .portfolio-wrap .sec-2 .page-title .div{background:#007aff}
    .portfolio-wrap .sec-2 .list{}
    .portfolio-wrap .sec-2 .list ul{}
    .portfolio-wrap .sec-2 .list li{flex-direction:column;margin:0;padding: 24px;gap: 16px;background: transparent;}
    .portfolio-wrap .sec-2 .list li .img{width: 100%;height: auto;}
    .portfolio-wrap .sec-2 .list li .img img{width:100%;height: auto;}
    .portfolio-wrap .sec-2 .list li .box{flex-direction: column;gap: 12px;}
    .portfolio-wrap .sec-2 .list li .con{padding: 20px;border-radius: 6px;border: 1px solid rgb(255 255 255 / 10%);}
    .portfolio-wrap .sec-2 .list li .con:before{display:none;}
    .portfolio-wrap .sec-2 .list li .top{margin:0 0 16px;display:flex;align-items:center;gap:8px;}
    .portfolio-wrap .sec-2 .list li .top .num{width: 28px;height: 29px;font-size: 11px;}
    .portfolio-wrap .sec-2 .list li .top .tit{line-height:1;font-size: 15px;}
    .portfolio-wrap .sec-2 .list li .txt{line-height:1.2;font-size: 10px;margin: 0 0 16px 40px;}
    .portfolio-wrap .sec-2 .list li .desc{margin: 0 0 16px 40px;}
    .portfolio-wrap .sec-2 .list li .desc dl{margin: 0 0 16px;padding: 0;}
    .portfolio-wrap .sec-2 .list li .desc dl:last-child{margin:0;}
    .portfolio-wrap .sec-2 .list li .desc dt{margin: 0 0 10px;line-height:1;font-size: 10px;font-weight: 700;color: rgb(255 255 255 / 30%);text-transform: uppercase;letter-spacing: 2px;}
    .portfolio-wrap .sec-2 .list li .desc dd{line-height: 19px;font-size: 12px;}
    .portfolio-wrap .sec-2 .list li .desc dd p{position:relative;padding:4px 0;padding-left:12px;}
    .portfolio-wrap .sec-2 .list li .desc dd p:before{content:'';position:absolute;top: 12px;left:0;width:4px;height:4px;border-radius:4px;background:#007aff;}
    .portfolio-wrap .sec-2 .list li .result{margin:16px 0 0;padding: 16px 0 0 40px;border-top:1px solid rgb(255 255 255/ 10%);display: flex;gap: 8px;align-items: center;}
    .portfolio-wrap .sec-2 .list li .result dt{margin: 0;font-size: 10px;flex: 0 0 auto;}
    .portfolio-wrap .sec-2 .list li .result dd{display:block;line-height: 20px;font-size: 13px;}
    .portfolio-wrap .sec-3{padding:0;}
    .portfolio-wrap .sec-3 .page-title .txt{line-height: 20px;font-size: 13px;}
    .portfolio-wrap .sec-3 .image{margin: 24px 24px 52px;border-radius: 6px;border: 1px solid #ebebeb;}
    .portfolio-wrap .sec-3 .image img{width:auto;max-width:100%;height:auto;}
    .portfolio-wrap .sec-4{padding: 52px 24px;background: #000;}
    .portfolio-wrap .sec-4 .counsel{align-items: flex-start;text-align: left;}
    .portfolio-wrap .sec-4 .counsel .sub{margin: 0 0 12px;line-height: 1;font-size: 11px;}
    .portfolio-wrap .sec-4 .counsel .tit{margin: 0 0 12px;display: block;line-height: 1;font-size: 24px;}
    .portfolio-wrap .sec-4 .counsel .txt{display: block;line-height: 22px;font-size: 14px;}
    .portfolio-wrap .sec-4 .counsel .bts{width: 100%;margin: 28px 0 0;}
    .portfolio-wrap .sec-4 .counsel .bts a{width: 100%;height: 54px;font-size: 15px;}
    .portfolio-wrap .sec-4 .counsel .bts a:after{content:'';width:16px;height:16px;background: url("../img/icon_link_arrow.png") no-repeat center / contain;}

    .contact-wrap{padding: 28px 24px 52px;}
    .contact-wrap .tabs{margin: 0 0 28px;}
    .contact-wrap .tabs ul{}
    .contact-wrap .tabs li{}
    .contact-wrap .tabs li button{font-size:14px;}
    .contact-wrap .content{}
    .contact-wrap .part{border-bottom: 1px solid #f2f2f2;padding: 0 0 28px 0;margin: 0 0 28px;display: none;}
    .contact-wrap .part.is-active{display:block;}
    .contact-wrap .part dl{}
    .contact-wrap .part dt{margin: 0 0 10px;line-height: 18px;font-size: 12px;}
    .contact-wrap .part dd{gap: 7px;}
    .contact-wrap .part dd button{padding: 14px;text-align: left;align-items: flex-start;gap: 3px;}
    .contact-wrap .part dd button strong{display:block;line-height: 21px;font-size: 14px;}
    .contact-wrap .part dd button p{line-height: 17px;font-size: 11px;}
    .contact-wrap .form{margin:0 0 20px;}
    .contact-wrap .form dl{margin:0 0 20px;}
    .contact-wrap .form dl:last-child{margin:0;}
    .contact-wrap .form dt{margin:0 0 8px;line-height:1;font-size: 12px;color: #999;}
    .contact-wrap .form dt .req{margin: 0 0 0 2px;color:#007aff;}
    .contact-wrap .form dd{}
    .contact-wrap .form dd .inp{}
    .contact-wrap .form dd .inp input{height: 50px;font-size: 14px;}
    .contact-wrap .form dd .inp input::placeholder{color:#aaa !important;}
    .contact-wrap .form dd .inp textarea{height: 162px;font-size: 14px;}
    .contact-wrap .form dd .word{margin:8px 0 0;line-height:1;font-size: 11px;}
    .contact-wrap .agree{margin: 0 0 28px;}
    .contact-wrap .agree .checkbox{align-items: flex-start;}
    .contact-wrap .agree .checkbox input{display:none;}
    .contact-wrap .agree .checkbox input ~ .ico{}
    .contact-wrap .agree .checkbox input ~ .txt{}
    .contact-wrap .agree .checkbox input ~ .txt strong{font-size: 13px;}
    .contact-wrap .agree .checkbox input ~ .txt p{margin: 4px 0 0;}
    .contact-wrap .agree .checkbox input ~ .txt p span{width: 100%;line-height: 17px;font-size: 11px;}
    .contact-wrap .agree .checkbox input ~ .txt p span:before{display:none;}
    .contact-wrap .button{width: 100%;}
    .contact-wrap .button button{width:100%;height: 55px;font-size: 15px;}
    .contact-wrap .caution{margin:16px 0 0;font-size: 11px;}

}
@keyframes marquee-slide {
    0% {
        transform:translateX(0);
    }
    100% {
        transform:translateX(var(--scroll-dist, -100%));
    }
}

