@charset "UTF-8";

#wrapper { position:relative; width:var(--vw); overflow:hidden; }
.inner { position:relative; margin:0 auto; padding:0; width:100%; max-width:1000px; z-index:2; }
.inner_narrow { position:relative; margin:0 auto; padding:0; width:100%; max-width:880px; z-index:2; }


/* load */

/* Page Top */
#backToTop { position:fixed; bottom:4vw; right:4vw; z-index:500; cursor:pointer; opacity:0; transition:opacity 0.3s ease-in-out,color 0.3s ease-in-out; }
#backToTop.show { opacity:1; }
#backToTop.fiexd { bottom:4vw; }
#backToTop a { width:20px; height:85px; display:block; }
#backToTop a span.backto { position:absolute; bottom:10px; left:-9px; font-size:var(--font-size-M); font-weight:var(--font-weight-L); transform:rotate(90deg); display:inline-block; }
#backToTop a span.arrow { position:absolute; top:0; left:9px; display:inline-block; width:1px; height:40px; background-color:var(--color-blk); transition:background-color 0.3s ease-in-out; }
#backToTop a span.arrow::before, #backToTop a span.arrow::after { content:""; position:absolute; top:0; left:calc(50% - 0.5px); width:1px; height:8px; background-color:var(--color-blk); transform-origin:50% 0.5px; transition:background-color 0.3s ease-in-out; }
#backToTop a span.arrow::before { transform:rotate(45deg); }
#backToTop a span.arrow::after { transform:rotate(-45deg); }

#backToTop.is-white a span.backto { color:var(--color-wht)!important; }
#backToTop.is-white a span.arrow { background-color:var(--color-wht)!important; }
#backToTop.is-white a span.arrow::before, #backToTop.is-white a span.arrow::after { background-color:var(--color-wht)!important; }



/* Header */
#header_top { position:fixed; top:0; width:var(--vw); height:100px; background:rgba(255,255,255,0.7); opacity:0; z-index:100; }
#header { position:fixed; top:0; width:var(--vw); height:100px; background:rgba(255,255,255,0.7); z-index:100; }
.header_inner { margin:0 auto; width:100%; max-width:1000px; height:100px; align-items:center; }
#h_logo { padding:0; width:200px; }
#gnavi { margin:0; padding:0; }
#gnavi ul.gnav { position:relative; align-items:center; }
#gnavi ul.gnav li { position:relative; margin:0; text-align:center; }
#gnavi ul.gnav li a { position:relative; margin:0 0.5em; padding:0 0.3em; height:100%; font-size:var(--font-size-SL); letter-spacing:0.05em; transition:transform 0.3s ease; display:block; }
#gnavi ul.gnav li a:hover { opacity:0.7; }
#gnavi ul.gnav li a::before { background:var(--color-blk); content:''; width:100%; height:1px; position:absolute; left:0; bottom:0; transform-origin:right top; transform:scale(0, 1); transition:transform .3s; }
#gnavi ul.gnav li:last-child a { margin-left:0.8em; padding:0.4em 1.5em 0.5em; color:var(--color-wht); background:var(--color-blk); }
#gnavi ul.gnav li:last-child a:hover { background:#616161; }

#gnavi .popmenu { position:absolute; display:block; top:200%; left:50%; transform:translateX(-50%); padding:0; width:max-content; z-index:100; visibility:hidden; opacity:0; transition:opacity 0.3s, visibility 0.3s; background:#fff; }
#gnavi .gnav > li:hover .popmenu { visibility:visible; opacity:1; }
#gnavi .popmenu li { width:100%; text-align:left!important; }
#gnavi .popmenu li a { display:block; margin:0!important; padding:10px 5px!important; text-decoration:none; color:var(--color-blk); border-top:solid 1px var(--color-blk); }
#gnavi .popmenu li a:hover {}
#gnavi .popmenu li:first-child a { position:relative; padding:10px 30px 10px 5px!important; font-weight:var(--font-weight-SB); }
#gnavi .popmenu li:first-child a span { position:absolute; top:50%; right:10px; display:inline-block; width:12px; height:2px; margin-top:0; background-color:var(--color-blk); border-radius:9999px; }
#gnavi .popmenu li:first-child a span::before { position:absolute; content:""; top:calc(50% - 2px); right:0; width:8px; height:2px; background-color:var(--color-blk); transform:rotate(45deg); transform-origin:calc(100% - 2px) 50%; border-radius:9999px; }
#gnavi .popmenu li:last-child a { margin-top:0; margin-left:0; padding:0; color:var(--color-blk)!important; background:none!important; border-bottom:solid 1px var(--color-blk)!important; }
#gnavi .popmenu li:last-child a:hover { background:none!important; }

#navi_btn { display:none; }

/*spnav*/
.spnav { display:none; }

/* Footer */
.dark-section { margin-top:auto; }
.footerwrap { position:relative; padding:80px 0; width:var(--vw); background-color:var(--color-blk); z-index:3; }
.footerwrap.comp_pc { margin-top:-140px; }
#footer { color:var(--color-wht); }
#footer .f_menu { width:100%; }
#footer .f_menu ul.ft_menu_lst { }
#footer .f_menu ul.ft_menu_lst li { position:relative; }
#footer .f_menu ul.ft_menu_lst li a { margin:0 0 28px; font-size:var(--font-size-R); font-weight:var(--font-weight-SB); display:block; }
#footer .f_menu ul.ft_menu_lst li a:hover { opacity:0.7; }
#footer .f_menu ul.ft_menu_lst li ul.ft_menu_sub { position:absolute; top:100%; left:0; width:max-content; z-index:10; }
#footer .f_menu ul.ft_menu_lst li ul.ft_menu_sub li { }
#footer .f_menu ul.ft_menu_lst li ul.ft_menu_sub li a { margin:0 0 12px; font-size:var(--font-size-SS); font-weight:var(--font-weight-L); display:block; }
#footer .f_menu ul.ft_menu_lst li ul.ft_menu_sub li a:hover { opacity:0.7; }
#footer .f_sign { margin:150px 0 0; width:100%; align-items:flex-end; }
#footer .f_sign .f_sign_lft {}
#footer .f_sign .f_sign_lft .f_logo { margin:0 0 25px; width:18em; }
#footer .f_sign .f_sign_lft p { font-size:var(--font-size-SL); line-height:1.8;}
#footer .f_sign .f_sign_lft p span { font-weight:var(--font-weight-L); }
#footer .f_sign .f_sign_rgt ul.ft_sns { margin:0 0 45px; align-items:center; }
#footer .f_sign .f_sign_rgt ul.ft_sns li { display:flex; justify-content:flex-end; }
#footer .f_sign .f_sign_rgt ul.ft_sns li a { width:50%; display:block; }
#footer .f_sign .f_sign_rgt ul.ft_sns li a:hover { opacity:0.7; }
#footer .f_sign .f_sign_rgt small { font-size:var(--font-size-S); }
#footer .f_sign .f_sign_rgt small a:hover { opacity:0.7; }


/* Common */
#container { position:relative; z-index:1; }
.block_wht { position:relative; background:var(--color-wht); }
.block_trans { position:relative; z-index:2; }
.block_blk { position:relative; background:var(--color-blk); color:var(--color-wht); }
.block_gry { position:relative; background:var(--color-gry); clear:both; }
.vmor_blk a { background:var(--color-blk); transition:transform 0.3s ease; }
.vmor_arw a { position:relative; padding:15px 25px 17px; color:var(--color-wht); width:240px; transition:transform 0.3s ease; display:block; }
.vmor_arw a span { position:absolute; top:55%; right:20px; display:inline-block; width:50px; height:2px; margin-top:0; background-color:var(--color-wht); border-radius:9999px; }
.vmor_arw a span::before { position:absolute; content:""; top:calc(50% - 2px); right:0; width:12px; height:2px; background-color:var(--color-wht); transform:rotate(45deg); transform-origin:calc(100% - 2px) 50%; border-radius:9999px; }
.vmor_arw a:hover { background:#616161!important; }

.ft_contact { position:relative; padding:150px 0 180px 0; text-align:center; z-index:2; }
.ft_contact h2 { font-size:var(--font-size-ttlR); font-weight:var(--font-weight-M); line-height:var(--liheight-def); }
.ft_contact p { margin:20px 0 0 0; }
.ft_contact .vmore a { position:relative; margin:40px auto 0; padding:15px 20px 17px 20px; width:320px; height:60px; font-size:var(--font-size-L); text-align:left; line-height:1.4em; }



/* KV */
#kv { position:relative; width:100%; height:100vh; overflow:hidden; }
.vdo { position:absolute; inset:0; width:100%; height:auto; overflow:hidden; }
.vdo video { margin:0; padding:0; width:100%; height:100%; object-fit:cover; object-position:top center; display:block; border:none!important; outline:none!important; overflow:hidden; vertical-align:bottom; box-sizing:border-box; }
.vdo_overlay { position:absolute; top:0; left:0; width:100%; height:100vh; display:flex; flex-direction:column; justify-content:center; align-items:center; }
.vdo_overlay .catch_txt { position:absolute; width:70vw; min-width:1000px; display:flex; align-items:center; justify-content:flex-start; }
.vdo_overlay .catch_txt h3 { margin-top:-8vw; font-size:1.5vw; line-height:3.4vw; font-weight:var(--font-weight-M); display:flex; flex-direction:column; }
.line_mask { overflow:hidden; line-height:1.8; }
.vdo_overlay .catch_txt h3 span { display:block; opacity:0; transform:translateY(100%); will-change:transform, opacity; }
.svg_wrap svg { max-width:100%; }
.svg_wrap svg .st0 { opacity:0; fill:transparent; stroke:#A0A0A0; stroke-width:1px; stroke-dasharray:1000px; animation:svgAnime 3.0s linear 1s 1 forwards; }
@keyframes svgAnime { 0% { stroke-dashoffset:1000px; fill:transparent; opacity:1; } 70% { stroke-dashoffset:0px; fill:transparent; opacity:1; } 100% { stroke-dashoffset:0px; stroke:transparent; fill:#000; opacity:1; } }
.vdo_overlay .catch { position:absolute; bottom:6vw; width:70vw; min-width:1000px; }


/* TOP */
.top_works { position:relative; padding:150px 0 80px; z-index:3; }
.top_works h3 { margin:0 0 0 -5px; font-size:var(--font-size-ttlM); font-weight:var(--font-weight-SB); line-height:var(--liheight-def); letter-spacing:-0.01em; }
.top_works h2 { margin:10px 0 35px 0; font-size:var(--font-size-subttl); line-height:var(--liheight-def); }
.top_works p { width:22em; font-size:var(--font-size-R); line-height:1.8em; letter-spacing:0.1em; }
.top_works ul { margin:15px 0 0 0; }
.top_works ul li { position:relative; width:140px; height:140px; color:var(--color-wht); text-align:center; font-size:var(--font-size-M); font-weight:var(--font-weight-L); line-height:1.4em; display:flex; justify-content:center; align-items:center; border-radius:50%; }
.top_works ul li:last-child { margin:0 0 0 -10px; }
.circle-svg { position:absolute; top:0; left:0; width:100%; height:100%; overflow:visible; shape-rendering:geometricPrecision; }
.circle-border { fill:none; stroke:var(--color-wht); stroke-width:1.3px; stroke-dasharray:433.5; stroke-dashoffset:433.5; shape-rendering:geometricPrecision; }
.circle-text { opacity:0; }
.top_works .vmor_gry { margin:35px 0 0 0; }
.top_works .vmor_gry a { background:#A0A0A0; }
.top_works .slide-show { position:absolute; bottom:-170px; right:-150px; width:712px; height:550px; background-color:var(--color-blk); z-index:2; }
.top_works .slide-show_panel { position:absolute; top:0; right:0; width:100%; height:100%; display:flex; justify-content:flex-end; align-items:center; z-index:2; }
.top_works .slide-show_panel:nth-child(1) { opacity:1; z-index:3; }
.top_works .slide-show_panel:nth-child(n+2) { opacity:0; }
.top_works .slide-show_panel img { width:100%; height:100%; object-fit:cover; }

.top_aboutus { position:relative; padding:450px 0 0 0; align-items:flex-end; z-index:2; }
.top_aboutus .top_aboutus_pic { width:50%; display:flex; justify-content:flex-end; }
.top_aboutus .top_aboutus_pic figure { width:350px; }
.top_aboutus .top_aboutus_txt { position:relative; padding:0 0 0 5%; width:50%; z-index:2; }
.top_aboutus .top_aboutus_txt h3 { position:absolute; left:-28px; top:-105px; font-size:var(--font-size-ttlM); font-weight:var(--font-weight-SB); line-height:var(--liheight-def); letter-spacing:-0.01em; z-index:2; }
.top_aboutus .top_aboutus_txt h2 { font-size:var(--font-size-L); font-weight:var(--font-weight-SB); letter-spacing:0.08em; }
.top_aboutus .top_aboutus_txt p { margin:50px 0 45px 0; font-weight:var(--font-weight-M); line-height:2em; }

.top_service { position:relative; padding:250px 0 0 0; align-items:flex-end; z-index:2; }
.top_service .top_service_txt { position:relative; padding:0 5% 0 0; width:50%; text-align:right; z-index:2; }
.top_service .top_service_txt h3 { position:absolute; right:-28px; top:-105px; font-size:var(--font-size-ttlM); font-weight:var(--font-weight-SB); line-height:var(--liheight-def); letter-spacing:-0.01em; z-index:2; }
.top_service .top_service_txt h2 { font-size:var(--font-size-L); font-weight:var(--font-weight-SB); letter-spacing:0.08em; }
.top_service .top_service_txt p { margin:75px 0 60px 0; font-weight:var(--font-weight-M); line-height:2em; }
.top_service .top_service_txt .vmor_blk { display:flex; justify-content:flex-end; }
.top_service .top_service_txt .vmor_blk a { text-align:left; }
.top_service .top_service_pic { width:50%; }
.top_service .top_service_pic figure { width:350px; }
.ph-cont { position:relative; height:350px; overflow:hidden; }
.para-ph { position:absolute; top:0; width:350px; height:450px; object-fit:cover; }

ul.top_com_rec { position:relative; padding:250px 0 0 0; align-items:center; z-index:2; }
ul.top_com_rec li { position:relative; height:400px; width:50%; color:var(--color-wht); text-align:center; overflow:hidden; }
ul.top_com_rec li a { position:absolute; top:0; left:0; width:100%; height:100%; display:block; }
ul.top_com_rec li a::before { content:''; position:absolute; top:0; left:0; width:100%; height:100%; background-size:cover; background-position:center center; transition:transform 0.3s ease; transform:scale(1); }
ul.top_com_rec li a:hover::before { transform:scale(1.03); }
ul.top_com_rec li.comp a::before { background-image:url('../images/top_recruit.webp'); }
ul.top_com_rec li.recr a::before { background-image:url('../images/top_company.webp'); }
ul.top_com_rec li a::after { content:''; position:absolute; top:0; left:0; right:0; bottom:0; background-color:rgba(0, 0, 0, 0.5); transition:background-color 0.3s ease; z-index:2; }
ul.top_com_rec li a:hover::after { background-color:rgba(0, 0, 0, 0.8); }
ul.top_com_rec li div.bginner { position:absolute; top:50%; left:50%; transform:translate(-50%, -50%); z-index:3; color: var(--color-wht); text-align:center; }
ul.top_com_rec li h3 { font-size:var(--font-size-ttlS); font-weight:var(--font-weight-M); line-height:var(--liheight-def); }
ul.top_com_rec li h2 { margin:15px 0 0 0; font-size:var(--font-size-L); font-weight:var(--font-weight-M); }
ul.top_com_rec li .vmore_comp { position:relative; margin:50px 0 0 0; }
ul.top_com_rec li .vmore_comp span { position:absolute; top:95%; right:calc(50% - 75px); display:inline-block; width:24px; height:1px; margin-top:0; background-color:var(--color-wht); }
ul.top_com_rec li .vmore_comp span::before { position:absolute; content:""; top:calc(50% - 2px); right:0; width:10px; height:1px; background-color:var(--color-wht); transform:rotate(45deg); transform-origin:calc(100% - 2px) 50%; }
ul.top_com_rec li .vmore_recr { position:relative; margin:50px 0 0 0; }
ul.top_com_rec li .vmore_recr span { position:absolute; top:-3px; right:calc(50% - 75px); display:inline-block; width:24px; height:24px; display:block; }

.top_news { position:relative; padding:130px 0 0 0; z-index:2; }
.top_news h2 { font-size:var(--font-size-ttlR); font-weight:var(--font-weight-M); line-height:var(--liheight-def); }
.top_news ul { margin:15px 0 0 0; border-top:solid 2px var(--color-blk); background:var(--color-wht); }
.top_news ul li a { padding:30px 0; border-bottom:solid 1px #A0A0A0; display:block; }
.top_news ul li:last-child a { border-bottom:solid 2px var(--color-blk); }
.top_news ul li dt { margin:0 0 0 0.5%; width:14%; }
.top_news ul li dd { margin:0 0.5% 0 0; width:85%; }
.top_news .vmore { position:absolute; top:145px; right:0; }

.top_contact { position:relative; padding:150px 0 180px 0; text-align:center; z-index:2; }
.top_contact h2 { font-size:var(--font-size-ttlR); font-weight:var(--font-weight-M); line-height:var(--liheight-def); }
.top_contact p { margin:20px 0 0 0; }
.top_contact .vmore a { position:relative; margin:40px auto 0; padding:15px 35px 17px 35px; width:360px; height:60px; font-size:var(--font-size-L); text-align:left; line-height:1.4em; }

/* TOP Line */
.svg-wrapper { position:relative; }
.svg-wrapper-sp { position:static; }
.svg-line-posi, .svg-line-nega { visibility:hidden; }
.svg-cont01 { position:absolute; width:677px; top:-150px; left:50%; transform:translateX(-50px); z-index:-1; }
.svg-cont01 #ill_abt01 { position:absolute; top:388px; right:90px; z-index:3; width:50%; }
.svg-cont01 #ill_abt02 { position:absolute; top:357px; right:220px; z-index:2; }
.svg-cont01 #ill_abt03 { position:absolute; top:435px; right:305px; z-index:2; }
.svg-cont02 { position:absolute; width:1034px; top:-210px; left:50%; transform:translateX(-650px); z-index:-1; }
.svg-cont02 #ill_ser01 { position:absolute; top:120px; left:-34px; z-index:2; }
.svg-cont02 #ill_ser02 { position:absolute; top:315px; left:-28px; z-index:2; }
.svg-cont02 #ill_ser03 { position:absolute; top:410px; left:80px; z-index:2; }
.svg-cont03 { position:absolute; width:558px; top:-50px; left:50%; transform:translateX(-279px); z-index:-1; }
.svg-cont04 { position:absolute; width:926px; top:-30px; left:50%; transform:translateX(-435px); z-index:-1; }
.svg-line-posi { stroke-dasharray:0; stroke-dashoffset:0; visibility:hidden; }
.svg-line-nega { stroke-dasharray:0; stroke-dashoffset:0; visibility:hidden; }



/* TITLE Area */
#ttlarea { margin:130px 0 0 0; padding-top:0; }
#ttlarea ul.breadcumbs {}
#ttlarea ul.breadcumbs li { font-size:var(--font-size-S); font-weight:var(--font-weight-L); }
#ttlarea ul.breadcumbs li a { display:block; }
#ttlarea ul.breadcumbs li a::after { padding:0 0.5em; content:">"; }
#ttlarea ul.breadcumbs li:last-child { padding:0; content:""; }
#ttlarea ul.breadcumbs li a:hover { opacity:0.7; }
#ttlarea .ttl_01 { margin:100px 0 0 0; }
#ttlarea .ttl_01 h2.ttl01_en { margin:0 0 15px; font-size:var(--font-size-ttlL); font-weight:var(--font-weight-SB); line-height:var(--liheight-def); letter-spacing:-0.01em; }
#ttlarea .ttl_01 h1.ttl01_jp { font-size:var(--font-size-L); font-weight:var(--font-weight-SB); }
#ttlarea .ttl_02 { margin:45px 0 0 0; text-align:center; }
#ttlarea .ttl_02 h2.ttl02_en { margin:0 0 15px; font-size:var(--font-size-ttlM); font-weight:var(--font-weight-SB); line-height:var(--liheight-def); letter-spacing:-0.01em; }
#ttlarea .ttl_02 h1.ttl02_jp { font-size:var(--font-size-L); font-weight:var(--font-weight-SB); line-height:var(--liheight-def); }
#ttlarea .ttl_02 p.ttl02sub_jp { margin:20px 0 0 0; }
#ttlarea .ttl_02 p.ttl02sustain { margin:20px 0 100px 0; line-height:2em; }
#ttlarea .ttl_03 { position:relative; margin:50px 0 210px 0; }
#ttlarea .ttl_03 div.ttl_03lft { width:60%; text-align:left; z-index:2; }
#ttlarea .ttl_03 div.ttl_03rgt { position:absolute; top:0; right:0; width:50%; }
#ttlarea .ttl_03 div.ttl_03rgt_sp { display:none; }
#ttlarea .ttl_03 div.ttl03_en01 { margin:0; line-height:var(--liheight-def); }
#ttlarea .ttl_03 div.ttl03_en02 { margin:35px 0 0 0; font-size:var(--font-size-LL); font-weight:var(--font-weight-SB); }
#ttlarea .ttl_03 h1.ttl03_jp01 { margin:20px 0 0; font-size:var(--font-size-SL); font-weight:var(--font-weight-SB); line-height:var(--liheight-def); }
#ttlarea .ttl_03 h2.ttl03_jp02 { margin:85px 0 0; font-size:var(--font-size-ttlR); font-weight:var(--font-weight-SB); line-height:1.4em; letter-spacing:0.05em; }
#ttlarea .ttl_03 p.txt03_jp { margin:50px 0 0 0; width:70%; line-height:2.2em; }

#works_ttlarea { margin:100px 0 55px 0; }
#works_ttlarea figure { margin:0 0 25px; width:100%; overflow:hidden; }
#works_ttlarea figure img { width:100%; height:100%; object-fit:cover; object-position:center; display:block; }
#works_ttlarea ul.breadcumbs {}
#works_ttlarea ul.breadcumbs li { font-size:var(--font-size-S); font-weight:var(--font-weight-L); }
#works_ttlarea ul.breadcumbs li a { display:block; }
#works_ttlarea ul.breadcumbs li a::after { padding:0 0.5em; content:">"; }
#works_ttlarea ul.breadcumbs li:last-child { padding:0; content:""; }
#works_ttlarea ul.breadcumbs li a:hover { opacity:0.7; }

/* Common Line */
.svg-common { position:absolute; width:1805px; top:-300px; left:50%; transform:translateX(-1000px); z-index:-1; }
.svg-ft_common { position:absolute; width:1851px; top:90px; left:50%; transform:translateX(-1000px); z-index:-1; }
.svg-ft_common_comp { position:static; width:1851px; margin:-460px 0 0 -490px; z-index:-1; }
.ill-firstview-fast,
.ill-firstview,
.ill-firstview-slow,
.ill-scrollin-fast,
.ill-scrollin,
.ill-scrollin-slow { opacity:0; }



/* About us */
.aboutus_head { position:relative; }
.aboutus_head .block_gry { margin:630px 0 0 0; }
.aboutus_head h3 { padding:100px 0 0 0; font-weight:var(--font-weight-M); line-height:var(--liheight-def); text-align:center; letter-spacing:0.05em; }
.aboutus_head h4 { margin:20px 0 0 0; font-size:var(--font-size-ttlSS); font-weight:var(--font-weight-B); line-height:var(--liheight-def); text-align:center; letter-spacing:0.05em; }
.aboutus_head p strong { font-size:var(--font-size-L); font-weight:var(--font-weight-SB); }
.aboutus_head p { margin:40px 0 0 0; padding:0 0 100px; font-weight:var(--font-weight-M); text-align:center; line-height:2.2em; }
#abus_ph01 { position:absolute; top:-880px; right:-380px; width:100%; }

.abus_cont { position:relative; }
.abus_cont h3.abus_ttl01 { margin:0 0 15px; font-size:var(--font-size-ttlM); font-weight:var(--font-weight-SB); line-height:var(--liheight-def); letter-spacing:-0.01em; }
.abus_cont h2.abus_ttl02 { font-size:var(--font-size-L); font-weight:var(--font-weight-M); }
.abus_cont h2.abus_ttl03 { font-size:var(--font-size-L); font-weight:var(--font-weight-SB); line-height:var(--liheight-def); }
.abus_cont h3.abus_ttl04 {}
.abus_cont p.abus_txt strong { margin:0 0 10px; font-size:var(--font-size-L); font-weight:var(--font-weight-M); display:inline-block; }
.abus_cont p.abus_txt { margin:45px 0 0 0; line-height:2em; }
.abus_cont p.abus_txt span { margin:0 0 10px; font-size:var(--font-size-L); font-weight:var(--font-weight-SB); line-height:2em; display:inline-block; letter-spacing:0.2em; }

.abus_purpose { position:relative; padding-top:200px; }
.abus_purpose #abus_ph02 { position:absolute; top:0; left:-180px; width:50%; }
.abus_purpose .abus_txt { margin:0 0 0 380px; padding:50px 0 0 0; }
.abus_purpose .abus_txt h2 { position:relative; padding:0 0 30px; font-size:var(--font-size-ttlSS); font-weight:var(--font-weight-SB); line-height:var(--liheight-def); }
.abus_purpose .abus_txt h2:after { position:absolute; bottom:0; left:0; content:""; height:2px; width:75px; background:var(--color-blk); }
.abus_purpose .abus_txt ul { margin:50px 0 0 0; }
.abus_purpose .abus_txt ul li { width:25%; }
.abus_purpose .abus_txt ul li h4 { padding:0 0 10px; font-weight:var(--font-size-L); font-weight:var(--font-weight-SB); }
.abus_purpose .abus_txt ul li p { font-size:var(--font-size-SL); line-height:1.8em; }

.abus_mission { position:relative; padding-top:300px; }
.abus_mission #abus_ph03 { position:absolute; top:0; right:0; width:50%; }
.abus_mission h3 { padding:50px 0 0 0; }

.abus_vision { position:relative; padding-top:300px; }
.abus_vision #abus_ph04 { position:absolute; top:0; left:0; width:50%; }
.abus_vision .abus_vision_inner { margin:30px 0 0 490px; }

.abus_value { position:relative; padding-top:250px; }
.abus_value #abus_ph05 { position:absolute; top:0; right:0; width:60%; }
.abus_value p.abus_txt02 { margin-top:10px!important; }

.abus_tagline { position:relative; padding-top:240px; padding-bottom:450px; }
.abus_tagline #abus_ph06 { position:absolute; bottom:-430px; left:-500px; width:100%; }
.abus_tagline .abus_tagline_inner { margin:0 0 0 auto; width:660px; }
.abus_tagline .abus_tagline_inner h2.abus_ttl04 { margin:10px 0 0 0; width:660px; }


ul.com_sus { position:relative; padding:0; align-items:center; z-index:2; }
ul.com_sus li { position:relative; height:400px; width:50%; color:var(--color-wht); text-align:center; overflow:hidden; }
ul.com_sus li a { position:absolute; top:0; left:0; width:100%; height:100%; display:block; }
ul.com_sus li a::before { content:''; position:absolute; top:0; left:0; width:100%; height:100%; background-size:cover; background-position:center center; transition:transform 0.3s ease; transform:scale(1); }
ul.com_sus li a:hover::before { transform:scale(1.03); }
ul.com_sus li.comp a::before { background-image:url('../images/top_recruit.webp'); }
ul.com_sus li.sust a::before { background-image:url('../images/top_sustainable.webp'); }
ul.com_sus li a::after { content:''; position:absolute; top:0; left:0; right:0; bottom:0; background-color:rgba(0, 0, 0, 0.5); transition:background-color 0.3s ease; z-index:2; }
ul.com_sus li a:hover::after { background-color:rgba(0, 0, 0, 0.8); }
ul.com_sus li div.bginner { position:absolute; top:50%; left:50%; transform:translate(-50%, -50%); z-index:3; color:var(--color-wht); text-align:center; }
ul.com_sus li h3 { font-size:var(--font-size-ttlS); font-weight:var(--font-weight-M); line-height:var(--liheight-def); }
ul.com_sus li h2 { margin:15px 0 0 0; font-size:var(--font-size-L); font-weight:var(--font-weight-M); }
ul.com_sus li .vmore_com_sus { position:relative; margin:50px 0 0 0; }
ul.com_sus li .vmore_com_sus span { position:absolute; top:95%; right:calc(50% - 75px); display:inline-block; width:24px; height:1px; margin-top:0; background-color:var(--color-wht); }
ul.com_sus li .vmore_com_sus span::before { position:absolute; content:""; top:calc(50% - 2px); right:0; width:10px; height:1px; background-color:var(--color-wht); transform:rotate(45deg); transform-origin:calc(100% - 2px) 50%; }

/* Aboutus Line */
.svg-abus01 { position:absolute; width:1306px; top:295px; left:-570px; transform:translateX(0); z-index:-1; }
.svg-abus01 #ill_abt01 { position:absolute; top:120px; right:380px; z-index:2; }
.svg-abus02 { position:absolute; width:1248px; top:-300px; left:50%; transform:translateX(-625px); z-index:-1; }
.svg-abus03 { position:absolute; width:864px; top:-370px; left:50%; transform:translateX(-240px); z-index:-1; }
.svg-abus04 { position:absolute; width:878px; top:-30px; left:50%; transform:translateX(-438px); z-index:-1 }




/* Sustainability */
.sust_blk01 { padding:120px 0 100px; }
.sust_blk01 h2 { font-size:var(--font-size-ttlSS); font-weight:var(--font-weight-SB); line-height:var(--liheight-def); }
.sust_blk01 h3 { margin:45px 0 0 0; font-size:var(--font-size-LS); font-weight:var(--font-weight-SB); line-height:var(--liheight-def); }
.sust_blk01 p.sust_top { margin:15px 0 0 0; }
.sust_blk01 p { margin:35px 0 0 0; line-height:1.8em; }
.sust_blk02 { padding:120px 0 100px; }
.sust_blk02 h2 { font-size:var(--font-size-ttlSS); font-weight:var(--font-weight-SB); line-height:var(--liheight-def); }
.sust_blk02 p.sust_top { margin:45px 0 0 0; line-height:1.8em; }
.sust_blk02 h3 { margin:45px 0 0 0; font-size:var(--font-size-LS); font-weight:var(--font-weight-SB); line-height:var(--liheight-def); }
.sust_blk02 dl { margin:35px 0 0 0; }
.sust_blk02 dt { margin:25px 0 0 0; font-size:var(--font-size-subttl2); font-weight:var(--font-weight-SB); line-height:var(--liheight-def); }
.sust_blk02 dd { margin:15px 0 0 0; line-height:1.8em; }
.sust_blk03 { padding:0 0 120px; }
.sust_blk03 h2 { font-size:var(--font-size-ttlSS); font-weight:var(--font-weight-SB); line-height:var(--liheight-def); text-align:center; }
.sust_blk03 ul.sust_list {}
.sust_blk03 ul.sust_list li { margin:40px 0 0; }
.sust_blk03 ul.sust_list li div.sust_lst { align-items:center; }
.sust_blk03 ul.sust_list li a figure { margin:0 30px 0 0; width:320px; }
.sust_blk03 ul.sust_list li a div.sust_lst_txt { width:calc(100% - 350px); }
.sust_blk03 ul.sust_list li a div.sust_lst_txt p.sust_ttl { font-size:var(--font-size-L); font-weight:var(--font-weight-SB); line-height:1.8em; }
.sust_blk03 ul.sust_list li a div.sust_lst_txt p.sust_desc { margin:10px 0 0 0; line-height:1.8em; }
.sust_blk03 ul.sust_list li a div.sust_lst_txt div.sust_meta { margin:20px 0 0 0; align-items:center; }
.sust_blk03 ul.sust_list li a div.sust_lst_txt div.sust_meta figure { margin:0 10px 0 0; width:40px; }
.sust_blk03 ul.sust_list li a div.sust_lst_txt div.sust_meta div.date { line-height:var(--liheight-def); }
.sust_blk03 ul.sust_list li a:hover { opacity:0.7; }
.sust_otherlink { margin:40px auto 0; padding:0; width:360px; }
.sust_otherlink a { position:relative; width:360px; height:60px; padding:0 0 0 40px; font-size:var(--font-size-M); color:var(--color-wht); text-align:center; background:var(--color-blk); display:flex; align-items:center; }
.sust_otherlink a span { position:absolute; top:33%; right:30px; display:inline-block; width:22px; height:auto; }
.sust_otherlink a:hover { background:#616161!important; }

/* Sustainability */
.svg-sust01 { position:absolute; width:605px; top:280px; right:-20px; z-index:1; }
.svg-sust01 #ill_sust01 { position:absolute; top:25px; right:100px; z-index:3; }
.svg-sust01 #ill_sust02 { position:absolute; top:357px; right:100px; z-index:2; }


/* Service */
.service_head { position:relative; }
.service_head .block_blk { margin:450px 0 0 0; }
.service_head h3 { padding:100px 0 0 0; font-weight:var(--font-weight-M); line-height:var(--liheight-def); color:var(--color-wht); text-align:center; letter-spacing:0.05em; }
.service_head h4 { margin:20px 0 0 0; font-size:var(--font-size-ttlSS); font-weight:var(--font-weight-B); line-height:var(--liheight-def); color:var(--color-wht); text-align:center; letter-spacing:0.05em; }
.service_head p strong { margin:0 0 20px; font-size:var(--font-size-L); font-weight:var(--font-weight-SB); display:inline-block; }
.service_head p { margin:40px 0 0 0; padding:0; font-weight:var(--font-weight-R); color:var(--color-blk); text-align:left; line-height:2.2em; }
.service_head p.sevctop { margin:40px 0 0 0; padding:0 0 100px; font-weight:var(--font-weight-R); color:var(--color-wht); text-align:center; line-height:2.2em; }
#srvc_ph01 { position:absolute; top:50px; right:50px; width:50%; }

.service_cont {}
.service_cont h3.srvc_ttl01 { margin:0 0 15px; font-size:var(--font-size-ttlM); font-weight:var(--font-weight-SB); line-height:var(--liheight-def); letter-spacing:-0.01em; }
.service_cont h2.srvc_ttl02 { font-size:var(--font-size-L); font-weight:var(--font-weight-M); }
.service_cont h2.srvc_ttl03 { font-size:var(--font-size-L); font-weight:var(--font-weight-SB); line-height:var(--liheight-def); }
.service_cont p.srvc_txt strong { margin:0 0 10px; font-size:var(--font-size-L); font-weight:var(--font-weight-M); display:inline-block; }
.service_cont p.srvc_txt { margin:40px 0 0 0; line-height:1.8em; }
.service_cont p.srvc_txt strong em { margin:0 5px; width:45px; border-bottom:solid 2px var(--color-blk); display:inline-block; }

.srvc_creative { position:relative; padding:150px 0 550px; }
.srvc_creative .srvc_cre_ttl {  }
.srvc_creative .srvc_cre_ttl p { width:270px; }
.srvc_creative .srvc_img_cre { position:relative; }
.srvc_creative .srvc_img_cre a { width:200px; height:200px; color:var(--color-wht); background:var(--color-blk); text-align:center; border-radius:50%; display:flex; align-items:center; justify-content:center; flex-direction:column; }
.srvc_creative .srvc_img_cre a:hover { background:#616161; }
.srvc_creative .srvc_img_cre a h4 { font-size:var(--font-size-S); line-height:2em; }
.srvc_creative .srvc_img_cre a h4 span { font-size:var(--font-size-LS); font-weight:var(--font-weight-SB); line-height:var(--liheight-def); }
.srvc_creative .srvc_img_cre a div.vmore { position:relative; margin:15px 0 0 0; padding:0 25px 0 0; font-weight:var(--font-weight-SB); }
.srvc_creative .srvc_img_cre a div.vmore span { position:absolute; top:75%; right:0; display:inline-block; width:20px; height:1px; margin-top:0; background-color:var(--color-wht); border-radius:9999px; }
.srvc_creative .srvc_img_cre a div.vmore span::before { position:absolute; content:""; top:-3px; right:0; width:8px; height:2px; background-color:var(--color-wht); transform:rotate(45deg); border-radius:9999px; }

.srvc_creative .srvc_img_cre .srvc_img_crecont { position:absolute; top:-180px; left:160px; width:441px; }
.srvc_creative .srvc_img_cre .srvc_btn_crecont { position:absolute; top:219px; left:211px; z-index:5; }
.srvc_creative .srvc_img_cre .srvc_svg_crecont { width:441px; }

.srvc_creative .srvc_img_cre .srvc_img_crespac { position:absolute; top:-220px; left:575px; width:448px; }
.srvc_creative .srvc_img_cre .srvc_btn_crespac { position:absolute; top:265px; left:31px; z-index:5; }
.srvc_creative .srvc_img_cre .srvc_svg_crespac { width:448px; }

.srvc_and_pc { position:absolute; top:1000px; left:46.5%; z-index:20; }
.srvc_and_pc img { width:112px; }

.srvc_science { position:relative; padding:240px 0 100px; z-index:5; }
.srvc_science .srvc_and { position:absolute; top:0; left:50%; transform:translate(-50%, -50%); }
.srvc_science .srvc_and img { width:112px; }
.srvc_science .srvc_sci_image { width:45%; }
.srvc_science .srvc_sci_ttl { width:45%; }
.srvc_science .srvc_sci_ttl p { width:450px; }
.srvc_science .srvc_img_sci { position:absolute; top:50px; left:130px;}
.srvc_science .srvc_img_ttl { padding:10px; border:dashed 1px var(--color-blk); border-radius:50%; display:flex; align-items:center; justify-content:center; }
.srvc_science .srvc_img_ttl span { width:160px; height:160px; background:#ccc;font-size:var(--font-size-L); font-weight:var(--font-weight-SB); line-height:var(--liheight-def); border-radius:50%; display:flex; align-items:center; justify-content:center; }
.srvc_science ul.srvc_img_lst { position:relative; }
.srvc_science ul.srvc_img_lst li { width:210px; height:210px; text-align:center; line-height:1.8em; border:solid 1px var(--color-blk); border-radius:50%; display:flex; align-items:center; justify-content:center; }
.srvc_science ul.srvc_img_lst li.point01 { position:absolute; top:-320px; left:-130px; }
.srvc_science ul.srvc_img_lst li.point02 { position:absolute; top:-320px; left:100px; }
.srvc_science ul.srvc_img_lst li.point03 { position:absolute; top:-70px; left:-130px; }
.srvc_science ul.srvc_img_lst li.point04 { position:absolute; top:-70px; left:100px; }
.omo_link_pc { position:relative; margin:0 auto; padding:0 0 110px; width:100%; max-width:1000px; z-index:2; }
.omo_link_pc a { position:relative; margin:0 auto; padding:0 0 0 50px; width:320px; height:60px; background:#6FC7E2; font-size:var(--font-size-M); color:var(--color-wht); display:flex; align-items:center; justify-content:left; }
.omo_link_pc a div.omo_logo { width:100px; display:inline-block; }
.omo_link_pc a span { position:absolute; top:33%; right:30px; display:inline-block; width:22px; height:auto; }
.omo_link_pc a:hover { background:#39A4C5!important; }

.srvc_science .omo_link a { position:relative; margin:110px auto 0; padding:0 0 0 50px; width:320px; height:60px; background:#6FC7E2; font-size:var(--font-size-M); color:var(--color-wht); display:flex; align-items:center; justify-content:left; }
.srvc_science .omo_link a div.omo_logo { width:100px; display:inline-block; }
.srvc_science .omo_link a span { position:absolute; top:33%; right:30px; display:inline-block; width:22px; height:auto; }

.srvc_reason { padding:150px 0 200px; }
.srvc_reason h2 { font-size:var(--font-size-ttlSS); text-align:center; font-weight:var(--font-weight-SB); line-height:var(--liheight-def); letter-spacing:0.08em; }
.srvc_reason p { margin:30px 0 0 0; line-height:1.8em; text-align:center; }
.srvc_reason ul { margin:50px 0 0 0; gap:50px; }
.srvc_reason ul li { padding:50px; width:calc((100% - 50px) / 2); background-color:var(--color-gry); }
.srvc_reason ul li dl.q_ttl { margin:0 0 20px; padding:0 0 30px; border-bottom:solid 1px var(--color-wht); }
.srvc_reason ul li dl dt { width:20%; font-size:var(--font-size-ttlS); color:var(--color-wht); line-height:1; }
.srvc_reason ul li dl.q_ttl dd { width:80%; font-weight:var(--font-weight-B); line-height:1.8em; }
.srvc_reason ul li dl.a_txt dd { width:80%; font-size:var(--font-weight-M); line-height:1.8em; }

ul.con_tra_fab { position:relative; padding:0; align-items:center; z-index:2; }
ul.con_tra_fab li { position:relative; height:400px; width:calc(100% / 3); color:var(--color-wht); text-align:center; overflow:hidden; }
ul.con_tra_fab li a { position:absolute; top:0; left:0; width:100%; height:100%; display:block; }
ul.con_tra_fab li a::before { content:''; position:absolute; top:0; left:0; width:100%; height:100%; background-size:cover; background-position:center center; transition:transform 0.3s ease; transform:scale(1); }
ul.con_tra_fab li a:hover::before { transform:scale(1.03); }
ul.con_tra_fab li.cont a::before { background-image:url('../images/content.webp'); }
ul.con_tra_fab li.trai a::before { background-image:url('../images/trailer.webp'); }
ul.con_tra_fab li.fab a::before { background-image:url('../images/fab.webp'); }
ul.con_tra_fab li a::after { content:''; position:absolute; top:0; left:0; right:0; bottom:0; background-color:rgba(0, 0, 0, 0.5); transition:background-color 0.3s ease; z-index:2; }
ul.con_tra_fab li a:hover::after { background-color:rgba(0, 0, 0, 0.8); }
ul.con_tra_fab li div.bginner { position:absolute; top:50%; left:50%; transform:translate(-50%, -50%); width:100%; z-index:3; color:var(--color-wht); text-align:center; }
ul.con_tra_fab li h3 { font-size:var(--font-size-ttlS); font-weight:var(--font-weight-M); line-height:var(--liheight-def); }
ul.con_tra_fab li h2 { margin:15px 0 0 0; font-size:var(--font-size-L); font-weight:var(--font-weight-M); }
ul.con_tra_fab li .vmore_con_tra_fab { position:relative; margin:50px 0 0 0; }
ul.con_tra_fab li .vmore_con_tra_fab span { position:absolute; top:-2px; right:calc(50% - 70px); display:inline-block; width:22px; height:1px; margin-top:0; }

/* Service Line */
.svg-srvc01 { position:absolute; width:1849px; top:-315px; left:-330px; transform:translateX(0); z-index:-1; }
.svg-srvc01 #ill_srvc01 { position:absolute; top:340px; left:390px; z-index:2; }
.svg-srvc02 { position:absolute; width:1575px; top:-123px; left:50%; transform:translateX(-775px); z-index:1; }
.svg-srvc03 { position:absolute; width:900px; top:-130px; left:50%; transform:translateX(-410px); z-index:-1; }
.svg-srvc04 { position:absolute; width:900px; top:-120px; left:50%; transform:translateX(-420px); z-index:-1 }


.srvc_blk01 { padding:120px 0; }
.srvc_blk01 h3 { padding:0; color:var(--color-blk); font-size:var(--font-size-ttlSS); text-align:center; font-weight:var(--font-weight-SB); line-height:var(--liheight-def); letter-spacing:0.08em; }
.srvc_blk01 ul.srvc_lst01 { margin:80px 0 0 0; gap:80px 0; }
.srvc_blk01 ul.srvc_lst01 li { width:calc((100% - 160px) / 3); }
.srvc_blk01 ul.srvc_lst01 dt { margin:0 0 15px; }
.srvc_blk01 ul.srvc_lst01 dt span { margin:0 0 0 5px; font-size:var(--font-size-ttlR); font-weight:var(--font-weight-SB); }
.srvc_blk01 ul.srvc_lst01 dd { font-size:var(--font-size-L); font-weight:var(--font-weight-SB); line-height:1.8em; }

.srvc_blk02 { padding:210px 0 0 0; }
.srvc_blk02 h3 { margin:0 0 50px; font-size:var(--font-size-ttlSS); font-weight:var(--font-weight-SB); line-height:var(--liheight-def); letter-spacing:0.08em; }
.srvc_blk02 p { margin:0; line-height:1.8em; }
.srvc_blk_dtl01 { position:relative; padding:140px 0 0 0; align-items:stretch; }
.srvc_blk_dtl02 { position:relative; padding:140px 0 0 0; align-items:stretch; }
.srvc_blk_dtl03 { position:relative; padding:140px 0 0 0; align-items:stretch; }
.srvc_blk_dtl03space { padding-bottom:200px!important; }
.srvc_blk_dtltxt { width:50%; display:flex; flex-direction:column; }
.srvc_blk_dtltxt h4 { position:relative; margin:0 0 15px; padding:0 0 20px; font-size:var(--font-size-subttl2); font-weight:var(--font-weight-SB); line-height:var(--liheight-def); display:inline-block; }
.srvc_blk_dtltxt h4:before { position:absolute; content:''; width:30px; height:2px; left:0; bottom:0; background-color:var(--color-blk); display:inline-block; }
.srvc_blk_dtltxt p { line-height:2em; }
.srvc_blk_dtltxt ul { margin-top:auto; }
.srvc_blk_dtltxt ul li { width:48%; }
.srvc_blk_dtlph { width:40%; margin:0; }
.srvc_blk_dtlph_sp { display:none; }
.cont_otherlink { margin:100px auto 0; padding:0 0 170px 0; }
.cont_otherlink a { position:relative; padding:0 0 0 40px; width:460px; height:60px; font-size:var(--font-size-M); color:var(--color-wht); text-align:center; background:var(--color-blk); display:flex; align-items:center; }
.cont_otherlink a span { position:absolute; top:33%; right:35px; display:inline-block; width:22px; height:auto; }
.cont_otherlink a:hover { background:#616161!important; }

.srvc_blk03 { padding:120px 0 100px; }
.srvc_blk03 .srvc_worksttl { margin:0 0 20px; font-size:var(--font-size-ttlR); font-weight:var(--font-weight-SB); line-height:var(--liheight-def); display:flex; align-items:flex-end; }
.srvc_blk03 .srvc_worksttl span { }
.srvc_blk03 .srvc_worksttl h2 { margin:0 0 0 1em; font-size:var(--font-size-M); line-height:2em; }
.srvc_blk03 .morbtn_blk a { margin:0 auto; padding:15px 20px 17px 20px; width:320px!important; height:60px; line-height:1.4em; background:var(--color-blk); font-size:var(--font-size-L)!important; display:flex; transition:transform 0.3s ease; }

.slider-container { position:relative; margin-bottom:35px; margin-left: calc(50vw - 500px)!important; width:100%; overflow:hidden; }
.slide-item { width:300px; height:300px; margin-right:30px; }
.slide-item img { width:100%; height:100%; object-fit:cover; }
.slick-custom-prev,.slick-custom-next { position:absolute; top:20px; z-index:10; cursor:pointer; }
.slick-custom-prev { left:900px; width:43px; }
.slick-custom-next { left:957px; width:43px; }

/* Service Line */
.svg-space_cont01 { position:absolute; width:1715px; top:-380px; left:50%; transform:translateX(-920px); z-index:-1; }
.svg-space_cont02 { position:absolute; width:1518px; top:-200px; left:50%; transform:translateX(-710px); z-index:-1; }
.svg-ft_space_cont { position:absolute; width:900px; top:-370px; left:50%; transform:translateX(-420px); z-index:-1; }





/* Company */
.company_head { margin:120px 0 50px; }
.company_head ul { margin:0 2em 0 0; padding:0 0 8px; gap:45px; border-bottom:solid 1px #000; }
.company_head ul li { position:relative; }
.company_head ul li a { padding:0 1.3em 0 0; width:100%; display:block; appearance:none; -webkit-appearance:none; -moz-appearance:none; }
.company_head ul li a::after { content:""; position:absolute; right:0; top:45%; width:12px; height:12px; border-right:2px solid #000; border-bottom:2px solid #000; transform:translateY(-60%) rotate(45deg); pointer-events:none; }
.company_blk { padding:120px 0 100px; }
.company_blk h3 { margin:0 0 15px; font-size:var(--font-size-ttlS); font-weight:var(--font-weight-SB); line-height:var(--liheight-def); letter-spacing:-0.01em; z-index:2; }
.company_blk h2 { margin:0 0 40px; font-size:var(--font-size-L); font-weight:var(--font-weight-SB); letter-spacing:0.08em; }
.company_blk div.comp_msgtxt {}
.company_blk div.comp_msgtxt p { width:70%; font-size:var(--font-size-R); line-height:2em; }
.company_blk div.comp_msgph { width:25%; text-align:center; }
.company_blk div.comp_msgph figure { width:100%; }
.company_blk div.comp_msgph p { margin:5px 0 0 0; font-size:var(--font-size-SL); line-height:1.4em; display:inline-block; }
.company_blk div.comp_msgph p span { margin:5px 0 0 0; font-size:var(--font-size-L); font-weight:var(--font-weight-SB); display:inline-block; }
.company_blk ul.comp_lst01 { margin:0; }
.company_blk ul.comp_lst01 li:first-child { padding:25px 0 45px; }
.company_blk ul.comp_lst01 li { padding:45px 0; border-bottom:solid 1px #000; }
.company_blk ul.comp_lst01 li:last-child { border-bottom:none; }
.company_blk ul.comp_lst01 li dt { width:17%; font-weight:var(--font-weight-SB); line-height:1.8em; }
.company_blk ul.comp_lst01 li dd { width:83%; line-height:1.8em; }
.company_blk ul.comp_lst01 li dd dl dt { margin:0 1em 0 0; width:12%; font-weight:normal; }
.company_blk ul.comp_lst01 li dd dl dd { width:auto; }
.company_blk ul.comp_lst01 li dl.comp_isms { margin-top:35px; }
.company_blk ul.comp_lst01 li dl.comp_prof_txt { width:75%; }
.company_blk ul.comp_lst01 li dl.comp_prof_txt dt { width:23%; }
.company_blk ul.comp_lst01 li dl.comp_prof_txt dd { width:77%; }
.company_blk ul.comp_lst01 li ul.comp_prof_ph { width:20%; }
.company_blk ul.comp_lst01 li ul.comp_prof_ph li { margin:0 0 10px; padding:0; border:none; }
.company_blk ul.comp_lst02 { margin:0; }
.company_blk ul.comp_lst02 li:first-child { padding:25px 0 45px; }
.company_blk ul.comp_lst02 li { padding:0 0 45px; }
.company_blk ul.comp_lst02 li h4 { margin:0 0 12px; font-size:var(--font-size-LL); font-weight:var(--font-weight-SB); }
.company_blk ul.comp_lst02 li dt { width:5%; line-height:1.8em; }
.company_blk ul.comp_lst02 li dd { width:95%; line-height:1.8em; }
#comp_msg { padding-top:120px; margin-top:-120px; }



/* Works */
.works_srh_wrap { margin:120px 0 100px 0; background:#F5F5F5; }
.works_srh_wrap .works_srh_tab { padding:20px 0; font-size:var(--font-size-M); text-align:center; line-height:var(--liheight-def); user-select:none; cursor:pointer; }
.works_srh_wrap #acc-tri span { position:relative; padding-right:40px; display:inline-block; }
.works_srh_wrap #acc-tri span::after { position:absolute; content:'+'; top:60%; right:10px; width:20px; height:20px; line-height:0.9; border:solid 1px var(--color-blk); border-radius:50%; transform:translateY(-50%); transition:transform 0.3s ease-out; }
.works_srh_wrap .works_srh_cont { }
.works_srh_wrap #acc-cont { padding:0 50px; --content-height:0px; height:var(--content-height); overflow:hidden; transition:height 0.3s ease-out, padding 0.3s ease-out; border-top:none; }
.is-closed { padding:0 50px; --content-height: 0px !important; }
.is-open #acc-cont { padding:50px; }
.works_srh_wrap #acc-tri.is-open-icon span::after { content:'-'; line-height:0.7; }
.works_srh_wrap .works_srh_cont .workscat { padding:50px 0 20px; border-bottom:solid 1px #A0A0A0; }
.works_srh_wrap .works_srh_cont .workstag { margin:20px 0 50px;}
.works_srh_wrap .works_srh_cont dl {}
.works_srh_wrap .works_srh_cont dt { padding:10px 0 0 0; width:20%; font-size:var(--font-size-SL); }
.works_srh_wrap .works_srh_cont dd { width:80%; }
.works_srh_wrap .works_srh_cont dd ul { gap:10px; }
.works_srh_wrap .works_srh_cont dd ul li { width:calc((100% - 30px) / 4); font-size:var(--font-size-SS); text-align:center; }
.works_srh_wrap .works_srh_cont dd ul li .flexbox01 input[type="checkbox"] { display:none; }
.works_srh_wrap .works_srh_cont dd ul li .srh_label { padding:8px 0; width:100%; background:var(--color-wht); border:solid 1px #A0A0A0; transition:all 0.3s; cursor:pointer; display:inline-block; }
.works_srh_wrap .works_srh_cont dd ul li .srh_label:has(input:checked) { background-color:var(--color-blk); color:var(--color-wht); }
.works_srh_wrap .works_srh_btn { margin:0 auto 50px; width:300px; }
.works_srh_wrap .works_srh_btn button { padding:15px 0; width:100%; color:var(--color-wht)!important; text-align:center; background:var(--color-blk)!important; cursor: pointer; }

.workslst { margin:0 0 85px; }
.workslst ul { gap:85px 20px; }
.workslst li { width:calc((100% - 40px) / 3 ); }
.workslst li a:hover { opacity:0.7; }
.workslst li dl {}
.workslst li dl dt {}
.workslst li dl dd { margin:20px 0 0; }
.workslst li dl dd div.works_cat { margin:0 0 10px; padding:8px 0; width:140px; color:var(--color-wht); font-size:var(--font-size-SS); text-align:center; line-height:var(--liheight-def); background:var(--color-blk); display:inline-block; }
.workslst li dl dd div.works_date { margin:0 0 13px; font-size:var(--font-size-SL); font-weight:var(--font-weight-SB); }
.workslst li dl dd h2 { margin:0 0 5px; font-size:var(--font-size-R); font-weight:var(--font-weight-SB); line-height:1.4em; }
.workslst li dl dd h3 { font-size:var(--font-size-SS); }

.works_dtl {}
.works_dtl .works_head { margin:0 0 65px; }
.works_dtl .works_head div.works_date { margin:0 0 15px; font-size:var(--font-size-M); font-weight:var(--font-weight-SB); }
.works_dtl .works_head h2 { margin:0 0 5px; font-size:var(--font-size-LS); font-weight:var(--font-weight-SB); line-height:var(--liheight-def); letter-spacing:0.05em; }
.works_dtl .works_head h2 span { font-size:var(--font-size-SL); font-weight:var(--font-weight-R); line-height:1; letter-spacing:0; display:inline-block; }
.works_dtl .works_body { padding:0; }
.works_dtl .works_body h3 { margin:100px 0 25px 0; font-size:var(--font-size-LS); font-weight:var(--font-weight-SB); line-height:1.4em; letter-spacing:0.05em; }
.works_dtl .works_body p { margin:0 0 35px 0; line-height:1.8em; }
.works_dtl .works_body img { margin:0 0 20px; }
.works_dtl .works_body video { width:100%; max-width:100%; height:auto; line-height:0; margin:0 0 20px; }
.works_dtl .works_btm { margin:80px 0 0 0; }
.works_dtl .works_btm .works_btm_point { margin:0 0 50px; padding:40px 45px; background:var(--color-gry); }
.works_dtl .works_btm .works_btm_point h4 { margin:0 0 15px; font-size:var(--font-size-L); font-weight:var(--font-weight-SB); }
.works_dtl .works_btm .works_btm_point p { line-height:1.8em; }
.works_dtl .works_btm ul.works_btm_dtl { margin:0 0 100px; }
.works_dtl .works_btm ul.works_btm_dtl li { margin:0 0 25px; }
.works_dtl .works_btm ul.works_btm_dtl li dl {}
.works_dtl .works_btm ul.works_btm_dtl li dl dt { margin:0; width:10%; font-size:var(--font-size-R); font-weight:var(--font-weight-SB); }
.works_dtl .works_btm ul.works_btm_dtl li dl dd { width:90%; }
.works_dtl .works_btm ul.works_btm_dtl li dl dd a:hover { opacity:0.7; }
.works_btn { margin:0 auto 130px; width:310px; font-size:var(--font-size-L); background:var(--color-blk); }
.works_btn a { margin:0!important; padding:20px!important; width:310px!important; }



/* News */
.newslst { margin:120px 0 70px; }
.newslst ul { border-top:solid 2px var(--color-blk); }
.newslst ul li { border-bottom:solid 1px var(--color-blk); }
.newslst ul li:last-child { border-bottom:solid 2px var(--color-blk); }
.newslst ul li a { padding:25px 0; font-size:var(--font-size-R); display:block; }
.newslst ul li a dl { align-items:center; }
.newslst ul li a dt { width:25%; align-items:center; }
.newslst ul li a dt span { margin:0 0 0 3em; padding:0.5em 1em; color:var(--color-wht); font-size:var(--font-size-S); background:var(--color-blk); display:inline-block; }
.newslst ul li a dd { width:70%; }
.newslst ul li a:hover { opacity:0.7; }
ul.pagenation { margin:0 0 100px; }
ul.pagenation li {}
ul.pagenation li span.current { padding:1em; font-size:var(--font-size-R); opacity:0.5; display:block; }
ul.pagenation li a { padding:1em; font-size:var(--font-size-R); display:block; }
ul.pagenation li a:hover { opacity:0.7; }

.newsdtl { margin:120px 0 70px; }
.newsdtl .newsdtl_ttl { font-size:var(--font-size-R); }
.newsdtl .newsdtl_ttl span { margin:0 2em 0 0; padding:0.5em 1em; color:var(--color-wht); font-size:var(--font-size-S); background:var(--color-blk); display:inline-block; }
.newsdtl h2 { margin:30px 0 0 0; font-size:var(--font-size-L); font-weight:var(--font-weight-SB); }
.newsdtl_cont { margin:30px 0 0 0; padding-top:35px; border-top:solid 1px var(--color-blk);}
.newsdtl_cont p { font-size:var(--font-size-R); line-height:2em; }
.newsdtl .news_back a { position:relative; margin:60px 0 120px; text-align:center; display:block; }
.newsdtl .news_back a span { position:absolute; top:55%; left:41%; display:inline-block; width:20px; height:1px; margin-top:0; background-color:var(--color-blk); border-radius:9999px; }
.newsdtl .news_back a span::before { position:absolute; content:""; top:-3px; left:-1px; width:8px; height:1px; background-color:var(--color-blk); transform:rotate(-45deg); border-radius:9999px; }



/* Contact */
.contact { margin:120px 0 200px 0; }
.contact p { font-size:var(--font-size-L); text-align:center; line-height:var(--liheight-def); }
.contact ul { margin:60px 0 0 0; gap:80px; }
.contact ul li { display:flex; align-items:stretch; }
.contact ul li.vmor_arw_hlf a { position:relative; padding:40px; width:300px; color:var(--color-wht); background:var(--color-blk); line-height:1.4; display:flex; align-items:center; }
.contact ul li.vmor_arw_hlf a span { position:absolute; top:55%; right:40px; display:inline-block; width:40px; height:2px; margin-top:0; background-color:var(--color-wht); border-radius:9999px; }
.contact ul li.vmor_arw_hlf a span::before { position:absolute; content:""; top:calc(50% - 3px); right:0; width:12px; height:2px; background-color:var(--color-wht); transform:rotate(45deg); transform-origin:calc(100% - 2px) 50%; border-radius:9999px; }
.contact ul li.vmor_arw_hlf a:hover { background:#616161!important; }
.contact ul li.vmor_arw_hlf a em { font-size:var(--font-size-SS); font-style:normal; display:contents; }

.contact_inner { margin:60px 0 200px 0; }
.contact_inner ul.formlst { width:100%; }
.contact_inner ul.formlst li { margin:0 0 40px; }
.contact_inner ul.formlst li dl { width:100%; }
.contact_inner ul.formlst li dt { margin:0 0 20px; font-size:var(--font-size-M); font-weight:var(--font-weight-SB); line-height:1.6em; }
.contact_inner ul.formlst li dt em { font-style:normal; font-weight:var(--font-weight-R); }
.contact_inner ul.formlst li dt span { margin:0 0 0 1em; color:#FF8310; display:inline-block; }
.contact_inner ul.formlst li dd { position:relative; width:100%; }
.contact_inner ul.formlst li dd.selectwrap select { padding:12px 1em; width:100%; border:solid 1px var(--color-gry); appearance:none; -webkit-appearance:none; -moz-appearance:none; }
.contact_inner ul.formlst li dd.selectwrap::after { content:""; position:absolute; right:20px; top:20px; width:14px; height:14px; border-right:2px solid #000; border-bottom:2px solid #000; transform:translateY(-60%) rotate(45deg); pointer-events:none; }
.contact_inner ul.formlst li dd input { padding:12px 1em; width:100%; border:solid 1px var(--color-gry); }
.contact_inner ul.formlst li dd textarea { padding:12px 1em; width:100%; height:7.6em; line-height:1.6em; border:solid 1px var(--color-gry); }
.contact_inner ul.formlst li dd .placeholder { font-size:var(--font-size-R); }
.contact_inner ul.formlst li ul.formlst_inner { margin:0; width:100%; gap:0; }
.contact_inner ul.formlst li ul.formlst_inner li { margin:0; width:49%; }
.contact_inner ul.formlst li dd .privacy { padding:40px 40px 0 40px; height:440px; border:solid 2px var(--color-blk); overflow-y:scroll; }
.contact_inner ul.formlst li dd .privacy h5 { margin:0 0 10px; font-size:var(--font-size-R); font-weight:var(--font-weight-SB); }
.contact_inner ul.formlst li dd .privacy p { margin:0 0 35px; font-size:var(--font-size-R); line-height:1.8em; }
.contact_inner ul.formlst li input[type=submit] { padding:15px 0; width:100%; font-size:var(--font-size-L); color:var(--color-wht); text-align:center; background:var(--color-blk); display:block; cursor:pointer; }
.contact_inner ul.formlst li #submitBtn[disabled] { opacity:0.4; cursor:not-allowed; pointer-events:none; }
.contact_inner ul.formlst li #submitBtn { opacity:1; transition:0.2s; }

.wpcf7-spinner { margin:10px 24px 0!important; left:calc(50% - 36px)!important; }
.wpcf7-not-valid-tip { margin:8px 0 0 0; color:var(--color-red)!important; font-size:var(--font-size-S)!important; }
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output { margin:0!important; padding:0!important; color:var(--color-red)!important; font-size:var(--font-size-M)!important; text-align:center!important; border:none!important; line-height:1.6em; }
.wpcf7 form .wpcf7-response-output { margin:0; padding:0; border:none!important; }
.wpcf7 form.sent .wpcf7-response-output { border:none!important; color:#fff; }
.wpcf7-mail-sent-ok { display:none!important; }

.contact_inner ul.formlst li dd .howtoknow { display:flex; flex-wrap:wrap; list-style:none; padding:0; margin:0; }
.contact_inner ul.formlst li dd .howtoknow .wpcf7-list-item { margin:0 0 10px; width:25%; display:inline-block; }
.contact_inner ul.formlst li dd .howtoknow input[type=checkbox] { display:none; }
.contact_inner ul.formlst li dd .howtoknow label { position:relative; cursor:pointer; padding-left:32px; font-size:var(--font-size-R); display:inline-block; }
.contact_inner ul.formlst li dd .howtoknow label .wpcf7-list-item-label::before { position:absolute; content:""; left:0; top 4px; width:18px; height:18px; border:1px solid var(--color-blk); box-sizing:border-box; }
.contact_inner ul.formlst li dd .howtoknow input[type=checkbox]:checked + .wpcf7-list-item-label::after { position:absolute; content:""; left:6px; top:3px; width:6px; height:10px; border-right:2px solid var(--color-blk); border-bottom:2px solid var(--color-blk); transform:rotate(45deg); }

.contact_inner ul.formlst li.agree .wpcf7-list-item { margin:0; }
.contact_inner ul.formlst li.agree input[type=checkbox] { display:none; }
.contact_inner ul.formlst li.agree label { cursor:pointer; position:relative; padding-left:32px; font-size:var(--font-size-R); display:inline-block; }
.contact_inner ul.formlst li.agree label::before { content:""; position:absolute; left:0; top:0; width:18px; height:18px; border:1px solid var(--color-blk); background:#fff; box-sizing:border-box; }
.contact_inner ul.formlst li.agree input[type=checkbox]:checked + span::after,
.contact_inner ul.formlst li.agree input[type=checkbox]:checked + label::after { content:""; position:absolute; left:6px; top:3px; width:6px; height:10px; border-right:2px solid var(--color-blk); border-bottom:2px solid var(--color-blk); transform:rotate(45deg); }

.thx_content { padding:120px 0 140px; text-align:center; }
.thx_content p { font-size:var(--font-size-L); line-height:2em; }
.thx_content .thxtotop { margin:50px auto 0; width:310px; font-size:var(--font-size-L); background:var(--color-blk); text-align:left; }
.thx_content .thxtotop a { padding:20px 0 0 25px!important; width:310px!important; height:60px; }



/* Static */
.static { margin:120px 0 100px; }
.static p { margin:0 0 50px; line-height:1.8em; }
.static p strong { font-size:var(--font-size-L); font-weight:var(--font-weight-SB); }
.static p.detail__underline { margin:0 0 120px; }
.static p.date { float:right; }
.static div.detail_sub_wrap { margin:20px 0 50px; }
.static p.detail_sub { margin:0 0 20px; }
.static h3.detail__title { margin:0 0 40px; font-size:var(--font-size-ttlSS); font-weight:var(--font-weight-SB); line-height:var(--liheight-def); }
.static h4.detail__subtitle { margin:0 0 15px; font-size:var(--font-size-LS); font-weight:var(--font-weight-SB); line-height:var(--liheight-def); }
.static .detail__table { margin:-30px 0 0 0; }
.static .detail__table table { margin:0 0 75px; width:100%; }
.static .detail__table table th { padding:15px; font-weight:var(--font-weight-SB); line-height:1.6em; background:#D9D9D9; border-bottom:solid 1px var(--color-blk); }
.static .detail__table table th:first-child { border-right:solid 1px var(--color-blk); }
.static .detail__table table td { padding:15px; line-height:1.6em; border-bottom:solid 1px var(--color-blk); }
.static .detail__table table td:first-child { border-right:solid 1px var(--color-blk); }
.static .detail__table--sub { margin:-30px 0 0 0; }
.static .detail__table--sub table { margin:0 0 75px; width:100%; border-top:solid 1px var(--color-blk); }
.static .detail__table--sub table th { padding:15px; font-weight:var(--font-weight-SB); line-height:1.6em; background:#D9D9D9; border-right:solid 1px var(--color-blk); border-bottom:solid 1px var(--color-blk); }
.static .detail__table--sub table td { padding:15px; line-height:1.6em; border-bottom:solid 1px var(--color-blk); }
.static .detail_pmark { margin:70px 0 120px; padding:120px 0 70px 0; border-top:solid 1px var(--color-blk); border-bottom:solid 1px var(--color-blk); clear:both; }
.static .detail__privacymark { margin:-30px 0 0 0; }
.static .detail__privacymark__logo { margin:0 20px 0 0; width:124px; }
.static .detail__privacymark__text { margin:auto 0 0 0; line-height:1.6em; }










@media only screen and (max-width: 1024px) {

.inner { margin:0 5%; width:90%; max-width:100%; }
.inner_narrow { margin:0 5%; width:90%; max-width:100%; }

/* Header */
.header_inner { margin:0 5vw; max-width:90vw; }
#h_logo { padding:0; width:18vw; }
#gnavi { margin:0; padding:0; }
#gnavi ul.gnav { position:relative; align-items:center; }
#gnavi ul.gnav li { margin:0; text-align:center; }
#gnavi ul.gnav li a { margin:0; padding:0 0.5vw; }
#gnavi ul.gnav li:last-child a { margin-left:0.5vw; padding:0.4em 1vw 0.5em; }


/* KV */
.vdo_overlay { margin:0 5vw; width:90vw; }
.vdo_overlay .catch_txt { min-width:100%; }
.svg_wrap svg { max-width:100%; }
.svg_wrap svg .st0 { stroke-dasharray:100%; animation:svgAnime 3.0s linear 1s 1 forwards; }
@keyframes svgAnime { 0% { stroke-dashoffset:100%; fill:transparent; opacity:1; } 70% { stroke-dashoffset:0px; fill:transparent; opacity:1; } 100% { stroke-dashoffset:0px; stroke:transparent; fill:#000; opacity:1; } }
.vdo_overlay .catch { min-width:100%; }

.svg-ft_common_comp { margin:-460px 0 0 -600px; }

/* TOP */
.top_works { padding:150px 5vw 80px; }
.top_works .slide-show { width:70%; }
}












@media only screen and (max-width: 767px) {

.inner { margin:0 5%; width:90%; max-width:100%; }
.inner_narrow { margin:0 5%; width:90%; max-width:100%; }


/* Page Top */
#backToTop { display:none; }


/* Header */
#header_top { height:65px; }
#header { height:65px; }
.header_inner { max-width:100%; height:65px; }
#h_logo { padding:0; width:8em; }
#gnavi { margin:0; padding:0; }
#gnavi ul.gnav { display:none; }


#navi_btn { position:fixed; right:5vw; top:20px; z-index:202; display:block; }
.menu { position:absolute; right:0; width:24px; height:22px; z-index:202; display:block; cursor:pointer; }
.menu_line { position:absolute; width:24px; height:2px; background-color:var(--color-blk); transition:transform .3s; }
.menu_line01 { top:3px; right:0; display:block; }
.menu_line02 { top:10px; right:0; display:block; }
.menu_line03 { top:17px; right:0; display:block; }
.menu.active { width:24px; height:22px; display:block; cursor:pointer; }
.menu_line.active { height:2px; background:var(--color-blk); display:block; }
.menu_line01.active { top:10px; right:0; transform:rotate(-20deg); }
.menu_line02.active { display:none; }
.menu_line03.active { top:10px; right:0; transform:rotate(20deg); }
.no-scroll { position:fixed; overflow:hidden; width:100%; }

/*spnav*/
.spnav { display:none; }
.spnav { position:fixed; top:0; width:100%; height:100dvh; background-color:var(--color-blk); z-index:100; overflow-y:auto; max-height:100vh; }
.spnav_wrap { position:absolute; top:0; width:var(--vw); height:100%; background-color:var(--color-blk); }
.spnav_menu { padding:65px 0 0 0; width:100%; height:100%; background-color:var(--color-blk); display:flex; flex-direction:column; }
.spnav_menu_inner { }
.spnav_menu ul.spnav_menu_lst { margin:0; padding:0; width:100%; }
.spnav_menu ul.spnav_menu_lst li { margin:0; width:100%; }
.spnav_menu ul.spnav_menu_lst li a { padding:15px 5%; width:100%; font-size:var(--font-size-L); font-weight:var(--font-weight-SB); color:var(--color-wht); border-bottom:solid 1px var(--color-wht); display:block; }
.spnav_menu ul.spnav_menu_lst li ul.spnav_submenu { background:var(--color-wht); display:none; }
.spnav_menu ul.spnav_menu_lst li ul.spnav_submenu li { margin:0; width:100%; }
.spnav_menu ul.spnav_menu_lst li ul.spnav_submenu li a { padding:15px 5%; color:var(--color-blk); border-bottom:solid 1px var(--color-blk); }
.has-child > a { position:relative; display:block; }
.has-child > a::after { content:'＋'; position:absolute; right:5%; transition:transform 0.3s; }
.has-child.open > a::after { content:'－'; transform:rotate(00deg); }

.spnav_menu .spnav_ft { margin:auto 0 0 0; }
.spnav_menu ul.spnav_menu_ico { margin:10vw 5% 0 5%; }
.spnav_menu ul.spnav_menu_ico li { margin:0 0 0 15px; }
.spnav_menu ul.spnav_menu_ico li.spnav_note { width:20px; }
.spnav_menu ul.spnav_menu_ico li.spnav_x { width:20px; }
.spnav_menu ul.spnav_menu_ico li.spnav_insta { width:21px; }
.spnav_menu ul.spnav_menu_ico li.spnav_ytube { margin:3px 0 0 15px; width:24px; }

.spnav_menu .spnav_menu_ft { margin:10px 5% 15px; font-size:var(--font-size-S); color:var(--color-wht); }
.spnav_menu .spnav_menu_ft a { position:relative; margin:5px 3em 5px 0; padding:0 0.5em 0 0; color:var(--color-wht); display:inline-block; }
.spnav_menu .spnav_menu_ft a span { position:absolute; top:-4px; right:-24px; display:inline-block; width:24px; height:24px; display:block; }


/* Footer */
.footerwrap { padding:20px 0; }
.footerwrap.comp_pc { margin-top:0; }
#footer .f_menu { display:none; }
#footer .f_sign { margin:0; }
#footer .f_sign .f_sign_lft { display:none; }
#footer .f_sign .f_sign_rgt ul.ft_sns { display:none; }
#footer .f_sign .f_sign_rgt small { font-size:var(--font-size-S); }
#footer .f_sign .f_sign_rgt small p.address { margin:0 0 20px 0; font-size:var(--font-size-SL); line-height:1.6em; }
#footer .f_sign .f_sign_rgt small p.address span { font-weight:var(--font-weight-L); }
#footer .f_sign .f_sign_rgt small p a { position:relative; margin:5px 3em 5px 0; padding:0 0.5em 0 0; display:inline-block; }
#footer .f_sign .f_sign_rgt small p a span { position:absolute; top:-4px; right:-24px; display:inline-block; width:24px; height:24px; display:block; }


/* Common */
#container { position:relative; z-index:1; }
.block_wht { position:relative; background:var(--color-wht); }
.block_blk { position:relative; background:var(--color-blk); color:var(--color-wht); }
.block_gry { position:relative; background:var(--color-gry); }
.vmor_blk a { background:var(--color-blk); transition:transform 0.3s ease; }
.vmor_arw a { margin:0 auto; padding:15px 25px 17px; width:65%; }

.ft_contact { padding:80px 0 80px 0; }
.ft_contact h2 { font-size:var(--font-size-ttlSS); }
.ft_contact p { margin:10px 0 0 0; line-height:1.8em; }
.ft_contact .vmore a { margin:30px auto 0; padding:15px 20px 17px 20px; width:80%; height:auto; font-size:var(--font-size-M); }



/* KV */
#kv { height:100vh; }
.vdo { top:43%; transform:translate(0, -50%); }
.vdo video { height:auto; object-fit:contain; }
.vdo_overlay { position:relative; margin:0; width:100%; height:100vh; display:flex; flex-direction:column; align-items:center; }
.vdo_overlay .catch_txt { position:static; margin-top:48vw; width:90vw; min-width:auto; }
.vdo_overlay .catch_txt h3 { margin-top:0; font-size:3.3vw; line-height:8vw; }
.svg_wrap svg .st0 { opacity:0; fill:transparent; stroke:#A0A0A0; stroke-width:1px; stroke-dasharray:100%; animation:svgAnime 3.0s linear 1s 1 forwards; }
@keyframes svgAnime { 0% { stroke-dashoffset:100%; fill:transparent; opacity:1; } 70% { stroke-dashoffset:0px; fill:transparent; opacity:1; } 100% { stroke-dashoffset:0px; stroke:transparent; fill:#000; opacity:1; } }
.vdo_overlay .catch { position:static; margin-top:5vw; width:90vw; min-width:auto; }


/* TOP */
.top_works { position:relative; padding:50px 0 0; }
.top_works h3 { margin:0 0 0 -3px; display:inline; font-size:var(--font-size-ttlS); }
.top_works h2 { margin:10px 0 0 10px; display:inline; font-size:var(--font-size-M); }
.top_works p { margin:20px 0 0 0; width:100%; line-height:1.8em; }
.top_works ul { margin:40px 0 0 0; justify-content:center; }
.top_works ul li { position:relative; padding-top:40%; width:40%; height:0; line-height:1.4em; }
.top_works ul li:last-child { margin:0 0 0 -10px; }
.circle-svg { position:absolute; top:0; left:0; width:100%; height:100%; shape-rendering:geometricPrecision; display:block; }
.circle-border { fill:none; stroke:var(--color-wht); stroke-width:1.3px; shape-rendering:geometricPrecision; }
.circle-text { position:absolute; top:50%; left:50%; transform:translate(-50%, -50%); text-align:center; opacity:0; }
.top_works .vmor_gry { margin:35px 0 0 0; }
.top_works .vmor_gry a { background:#A0A0A0; }
.top_works .slide-show { position:static; margin:40px 0 0 -5vw; padding-top:77.25vw; width:100vw; height:auto; }
.top_works .slide-show_panel { position:absolute; top:auto; bottom:0; right:-5vw; width:100vw; height:auto; }
.top_works .slide-show_panel img { object-fit:contain; }

.top_aboutus { padding:85px 0 0 0; }
.top_aboutus .top_aboutus_pic { display:none; }
.top_aboutus .top_aboutus_txt { position:relative; padding:0; width:100%; }
.top_aboutus .top_aboutus_txt h3 { position:static; font-size:var(--font-size-ttlS); }
.top_aboutus .top_aboutus_txt h2 { margin:8px 0 0 0; font-size:var(--font-size-M); }
.top_aboutus .top_aboutus_txt p { margin:35px 0 20px 0; line-height:1.8em; }
.top_aboutus .top_aboutus_sp { margin:0 0 35px 0; }

.top_service { padding:100px 0 0 0; }
.top_service .top_service_txt { position:relative; padding:0; width:100%; text-align:left; }
.top_service .top_service_txt h3 { position:static; font-size:var(--font-size-ttlS); }
.top_service .top_service_txt h2 { margin:8px 0 0 0; font-size:var(--font-size-M); }
.top_service .top_service_txt p { margin:35px 0 20px 0; line-height:1.8em; }
.top_service .top_service_txt .vmor_blk { display:flex; justify-content:center; }
.top_service .top_service_txt .vmor_blk a { text-align:left; }
.top_service .top_service_pic { display:none; }
.top_service .top_service_sp { margin:0 0 35px 0; }

ul.top_com_rec { padding:80px 0 0 0; }
ul.top_com_rec li { height:160px; width:100%; }
ul.top_com_rec li h3 { font-size:var(--font-size-LS); }
ul.top_com_rec li h2 { position:relative; margin:15px 0 0 0; font-size:var(--font-size-R); }
ul.top_com_rec li h2 span { position:absolute; top:75%; right:5px; display:inline-block; width:20px; height:1px; margin-top:0; background-color:var(--color-wht); }
ul.top_com_rec li h2 span::before { position:absolute; content:""; top:calc(50% - 2px); right:0; width:7px; height:1px; background-color:var(--color-wht); transform:rotate(45deg); transform-origin:calc(100% - 2px) 50%; }
ul.top_com_rec li h2 em { position:absolute; top:-5%; right:-10px; display:inline-block; width:20px; height:1px; margin-top:0; }
ul.top_com_rec li .vmore_comp { display:none; }
ul.top_com_rec li .vmore_recr { display:none; }

.top_news { padding:80px 0 0 0; }
.top_news h2 { font-size:var(--font-size-ttlS); }
.top_news ul { margin:15px 0 35px 0; }
.top_news ul li a { padding:18px 0; }
.top_news ul li dt { margin:0 0 8px 0; width:100%; }
.top_news ul li dd { margin:0; width:100%; }
.top_news .vmore { position:static; }

.top_contact { position:relative; padding:100px 0 90px 0; text-align:center; z-index:2; }
.top_contact h2 { font-size:var(--font-size-ttlS); }
.top_contact p { margin:10px 0 0 0; line-height:1.8em; }
.top_contact .vmore a { margin:30px auto 0; padding:15px 5% 17px 5%; width:80%; height:auto; font-size:var(--font-size-M); }

/* TOP Line */
.svg-wrapper { position:relative; }
.svg-wrapper-sp { position:relative; }
.svg-cont01 { position:absolute; width:100%; height:0; padding-top:150%; top:25%; left:55%; transform:translate(-50%, -50%); }
.svg-cont01 svg { position:absolute; top:0; left:0; width:100%; height:100%; }
.svg-cont01 #ill_abt01 { position:absolute; top:40%; right:0; width:50%; }
.svg-cont02 { position:absolute; width:100%; height:0; padding-top:130%; top:20%; left:70%; transform:translate(-50%, -50%); z-index:-1; }
.svg-cont02 svg { position:absolute; top:0; left:0; width:100%; height:100%; }
.svg-cont02 #ill_ser01 { position:absolute; top:35%; left:30%; z-index:2; width:50%; }
.svg-cont03sp { position:absolute; width:100%; height:0; padding-top:80%; top:20%; left:80%; transform:translate(-50%, -50%); }
.svg-cont03sp svg { position:absolute; top:0; left:0; width:100%; height:100%; }
.svg-cont03 { position:absolute; width:100%; height:0; padding-top:70%; top:10%; left:60%; transform:translate(-50%, -50%); }
.svg-cont03 svg { position:absolute; top:0; left:0; width:100%; height:100%; }
.svg-cont04 { position:absolute; width:100%; height:0; padding-top:150%; top:10%; left:50%; transform:translate(-50%, -50%); }
.svg-cont04 svg { position:absolute; top:0; left:0; width:100%; height:100%; }
.svg-line-posi { stroke-dasharray:0; stroke-dashoffset:0; visibility:hidden; }
.svg-line-nega { stroke-dasharray:0; stroke-dashoffset:0; visibility:hidden; }



/* TITLE Area */
#ttlarea { margin:110px 0 0 0; }
#ttlarea ul.breadcumbs { display:none; }
#ttlarea .ttl_01 { margin:0; }
#ttlarea .ttl_01 h2.ttl01_en { margin:0 0 8px; font-size:var(--font-size-ttlSS); }
#ttlarea .ttl_01 h1.ttl01_jp { font-size:var(--font-size-R); }
#ttlarea .ttl_02 { margin:0; }
#ttlarea .ttl_02 h2.ttl02_en { margin:0 0 8px; font-size:var(--font-size-ttlSS); }
#ttlarea .ttl_02 h1.ttl02_jp { font-size:var(--font-size-R); }
#ttlarea .ttl_02 p.ttl02sub_jp { margin:20px 0 0 0; }
#ttlarea .ttl_02 p.ttl02sustain { margin:20px 0 60px 0; }
#ttlarea .ttl_02 p.ttl02sustain br { display:none; }
#ttlarea .ttl_03 { position:relative; margin:30px 0 30px 0; }
#ttlarea .ttl_03 div.ttl_03lft { width:100%; }
#ttlarea .ttl_03 div.ttl_03rgt { display:none; }
#ttlarea .ttl_03 div.ttl_03rgt_sp { margin:30px 0 0 -5.5%; display:block; }
#ttlarea .ttl_03 div.ttl_03rgt_sp img { width:100vw; max-width:100vw; }
#ttlarea .ttl_03 div.ttl03_en01 { margin:0; }
#ttlarea .ttl_03 div.ttl03_en02 { margin:15px 0 0 0; font-size:var(--font-size-LS); }
#ttlarea .ttl_03 h1.ttl03_jp01 { margin:10px 0 0; font-size:var(--font-size-R); }
#ttlarea .ttl_03 h2.ttl03_jp02 { margin:35px 0 0; font-size:var(--font-size-LL); }
#ttlarea .ttl_03 p.txt03_jp { margin:25px 0 0 0; width:100%; line-height:1.8em; }

#works_ttlarea { margin:65px 0 35px 0; }
#works_ttlarea ul.breadcumbs { display:none; }

/* Common Line */
.svg-common { position:absolute; width:150%; top:-250%; left:-25%; transform:translateX(0); z-index:-1; }
.svg-common-sust { position:absolute; width:200%; top:-55%; left:-50%; transform:translateX(0); z-index:-1; }
.svg-ft_common { position:absolute; width:180%; top:5%; left:-30%; transform:translateX(0); z-index:-1; }
.svg-ft_common_comp { position:absolute; margin:0; width:230%; top:10%; left:-55%; transform:translateX(0); z-index:-1; }



/* About us */
.aboutus_head { position:relative; }
.aboutus_head .block_gry { margin:0 0 0 0; }
.aboutus_head h3 { padding:80px 0 0 0; text-align:left; }
.aboutus_head h4 { margin:20px 0 0 0; font-size:var(--font-size-LL); line-height:1.4em; text-align:left; }
.aboutus_head p strong { margin:0 0 10px; font-size:var(--font-size-M); display:inline-block; }
.aboutus_head p { margin:30px 0 0 0; padding:0 0 80px; font-weight:var(--font-weight-R); text-align:left; line-height:1.8em; }
#abus_ph01 { position:static; width:100vw; margin:40px 0 0 -5.5%; }

.abus_cont { position:relative; }
.abus_cont h3.abus_ttl01 { margin:0 0 10px; font-size:var(--font-size-ttlSS); }
.abus_cont h2.abus_ttl02 { font-size:var(--font-size-R); }
.abus_cont h2.abus_ttl03 { font-size:var(--font-size-R); }
.abus_cont h3.abus_ttl04 {}
.abus_cont p.abus_txt strong { margin:0 0 10px; font-size:var(--font-size-M); }
.abus_cont p.abus_txt { margin:40px 0 0 0; }
.abus_cont p.abus_txt span { margin:0 0 10px; font-size:var(--font-size-M); line-height:2em; }

.abus_purpose { position:relative; padding-top:80px; }
.abus_purpose #abus_ph02 { position:static; width:100vw; margin:20px 0 80px -5.5%; }
.abus_purpose .abus_txt { margin:0; padding:0; }
.abus_purpose .abus_txt h2 { padding:0 0 20px; font-size:var(--font-size-LL); }
.abus_purpose .abus_txt h2:after { display:none; }
.abus_purpose .abus_txt ul { margin:0; }
.abus_purpose .abus_txt ul li { margin:20px 0 0 0; width:100%; }
.abus_purpose .abus_txt ul li h4 { padding:0 0 5px; font-size:var(--font-size-L); }
.abus_purpose .abus_txt ul li p { font-size:var(--font-size-SL); }

.abus_mission { padding-top:0; }
.abus_mission #abus_ph03 { position:static; width:100vw; margin:20px 0 80px -5.5%; }
.abus_mission h3 { padding:0; }

.abus_vision { padding-top:0; }
.abus_vision #abus_ph04 { position:static; width:100vw; margin:20px 0 80px -5.5%; }
.abus_vision .abus_vision_inner { margin:30px 0 0 0; }

.abus_value { padding-top:0; }
.abus_value #abus_ph05 { position:static; width:100vw; margin:20px 0 80px -5.5%; }
.abus_value p.abus_txt02 { margin-top:10px!important; }

.abus_tagline { padding-top:0; padding-bottom:0; }
.abus_tagline #abus_ph06 { position:static; width:100vw; margin:20px 0 80px -5.5%; }
.abus_tagline .abus_tagline_inner { margin:0; width:100%; }
.abus_tagline .abus_tagline_inner h2.abus_ttl04 { margin:10px 0 0 0; width:100%; }


ul.com_sus li { height:160px; width:100%; }
ul.com_sus li h3 { font-size:var(--font-size-LS); }
ul.com_sus li h2 { position:relative; margin:10px 0 0 0; font-size:var(--font-size-R); font-weight:var(--font-weight-R); display:inline-block; }
ul.com_sus li h2 span { position:absolute; top:75%; right:-25px; display:inline-block; width:20px; height:1px; margin-top:0; background-color:var(--color-wht); }
ul.com_sus li h2 span::before { position:absolute; content:""; top:calc(50% - 2px); right:0; width:7px; height:1px; background-color:var(--color-wht); transform:rotate(45deg); transform-origin:calc(100% - 2px) 50%; }
ul.com_sus li .vmore_com_sus { display:none; }


/* Aboutus Line */
.svg-abus01 { position:absolute; width:170%; top:-13%; left:-20%; transform:translateX(0); z-index:-1; }
.svg-abus01 #ill_abt01 { position:absolute; top:60px; right:25%; width:30%; z-index:2; }
.svg-abus02sp1 { position:absolute; width:100%; top:-15%; left:30%; transform:translateX(0); z-index:-1; }
.svg-abus02sp2 { position:absolute; width:80%; top:-120%; left:45%; transform:translateX(0); z-index:-1; }
.svg-abus02sp3 { position:absolute; width:80%; top:-35%; left:40%; transform:translateX(0); z-index:-1; }
.svg-abus03 { position:absolute; width:80%; top:-15%; left:-3%; transform:translateX(0); z-index:-1; }
.svg-abus04 { position:absolute; width:80%; top:-50%; left:10%; transform:translateX(0); z-index:-1; }



/* Sustainability */
.sust_blk01 { padding:60px 0 250px; }
.sust_blk01 h2 { font-size:var(--font-size-LL); line-height:1.4em; }
.sust_blk01 h3 { margin:45px 0 0 0; font-size:var(--font-size-L); line-height:1.4em; }
.sust_blk01 p.sust_top { margin:15px 0 0 0; }
.sust_blk01 p { margin:25px 0 0 0; }
.sust_blk02 { padding:60px 0 75px; }
.sust_blk02 h2 { font-size:var(--font-size-LL); line-height:1.4em; }
.sust_blk02 p.sust_top { margin:45px 0 0 0; }
.sust_blk02 h3 { margin:40px 0 0 0; font-size:var(--font-size-M); }
.sust_blk02 dl { margin:20px 0 0 0; }
.sust_blk02 dt { margin:20px 0 0 0; font-size:var(--font-size-R); }
.sust_blk02 dd { margin:10px 0 0 0; }
.sust_blk03 { padding:0 0 75px; }
.sust_blk03 h2 { font-size:var(--font-size-LL); line-height:1.4em; text-align:left; }
.sust_blk03 ul.sust_list li { margin:40px 0 0; }
.sust_blk03 ul.sust_list li div.sust_lst { align-items:flex-start; }
.sust_blk03 ul.sust_list li a figure { margin:0 0 20px 0; width:100%; }
.sust_blk03 ul.sust_list li a div.sust_lst_txt { width:100%; }
.sust_blk03 ul.sust_list li a div.sust_lst_txt p.sust_ttl { font-size:var(--font-size-L); }
.sust_otherlink { margin:30px auto 0; padding:0; width:80%; }
.sust_otherlink a { position:relative; width:85%; height:70px; padding:0 20px; line-height:1.4em; text-align:center; justify-content:center; margin:0 auto; }
.sust_otherlink a span { right:20px; }

/* Sustainability */
.svg-sust01 { position:absolute; width:120%; top:auto; right:auto; bottom:2%; z-index:1; }
.svg-sust01 #ill_sust01 { position:absolute; top:auto; bottom:0; left:-15%; right:auto; z-index:3; }



/* Service */
.service_head { position:relative; }
.service_head .block_blk { margin:0; background-color:var(--color-gry); }
.service_head h3 { padding:80px 0 0 0; font-weight:var(--font-weight-M); color:var(--color-blk); text-align:left; }
.service_head h4 { margin:20px 0 0 0; font-size:var(--font-size-LS); font-weight:var(--font-weight-SB); color:var(--color-blk); text-align:left; }
.service_head p strong { margin:0 0 20px; font-size:var(--font-size-L); font-weight:var(--font-weight-SB); display:inline-block; }
.service_head p { margin:30px 0 0 0; padding:0 0 80px; font-weight:var(--font-weight-R); color:var(--color-blk); text-align:left; }
.service_head p.sevctop { margin:30px 0 0 0; padding:0 0 80px; font-weight:var(--font-weight-R); color:var(--color-blk); text-align:left; }
#srvc_ph01 { position:static; margin:100px 0 0 -5.5%; width:100vw; }

.service_cont h3.srvc_ttl01 { margin:0 0 10px; font-size:var(--font-size-ttlSS); }
.service_cont h2.srvc_ttl02 { font-size:var(--font-size-R); font-weight:var(--font-weight-M); }
.service_cont h2.srvc_ttl03 { font-size:var(--font-size-L); font-weight:var(--font-weight-SB); line-height:var(--liheight-def); }
.service_cont p.srvc_txt strong { margin:0 0 10px; font-size:var(--font-size-L); font-weight:var(--font-weight-M); display:inline-block; }
.service_cont p.srvc_txt { margin:30px 0 0 0; line-height:1.8em; }

.srvc_creative { position:relative; padding:80px 0 80px; }
.srvc_creative .srvc_cre_ttl {  }
.srvc_creative .srvc_cre_ttl p { width:100%; }
.srvc_creative .srvc_img_cre { position:relative; }
.srvc_creative .srvc_img_cre a { width:30vw; height:30vw; }
.srvc_creative .srvc_img_cre a h4 { font-size:var(--font-size-SS); line-height:2em; }
.srvc_creative .srvc_img_cre a h4 span { font-size:var(--font-size-M);  }
.srvc_creative .srvc_img_cre a div.vmore { position:relative; margin:5px 0 0 0; font-size:var(--font-size-SS); }
.srvc_creative .srvc_img_cre a div.vmore span { position:absolute; top:75%; right:0; display:inline-block; width:20px; height:1px; margin-top:0; background-color:var(--color-wht); border-radius:9999px; }
.srvc_creative .srvc_img_cre a div.vmore span::before { position:absolute; content:""; top:-3px; right:0; width:8px; height:2px; background-color:var(--color-wht); transform:rotate(45deg); border-radius:9999px; }

.srvc_creative .srvc_img_cre .srvc_img_crecont { position:static; width:100%; }
.srvc_creative .srvc_img_cre .srvc_btn_crecont { position:absolute; top:23.4%; left:34%; z-index:5; }
.srvc_creative .srvc_img_cre .srvc_svg_crecont { width:50%; }

.srvc_creative .srvc_img_cre .srvc_img_crespac { position:static; width:100%; }
.srvc_creative .srvc_img_cre .srvc_btn_crespac { position:absolute; top:51%; left:34%; z-index:5; }
.srvc_creative .srvc_img_cre .srvc_svg_crespac { width:50%; }

.srvc_creative .srvc_img_cre .srvc_img_cre_sp { margin:30px 0 0 0; padding:0 5%; }

.srvc_science { padding:80px 0 80px; }
.srvc_science .srvc_and { position:absolute; top:0; left:calc(50% - 0); }
.srvc_science .srvc_and img { width:25%; margin:auto; display:flex; }
.srvc_science .srvc_sci_image { width:100%; }
.srvc_science .srvc_sci_ttl { width:100%; }
.srvc_science .srvc_sci_ttl p { width:100%; }
.srvc_science .srvc_img_sci_sp { position:relative; }
.srvc_science .srvc_img_sci_sp .srvc_img_ttl { position:absolute; top:36.5%; left:33%; padding:10px; border:dashed 1px var(--color-blk); border-radius:50%; display:flex; align-items:center; justify-content:center; }
.srvc_science .srvc_img_sci_sp .srvc_img_ttl span { width:25vw; height:25vw; font-size:var(--font-size-M); }
.srvc_science .srvc_img_sci_sp ul.srvc_img_lst { position:relative; margin:30px 5vw 0; }
.srvc_science .srvc_img_sci_sp ul.srvc_img_lst li { margin:2.5vw; width:35vw; height:35vw; font-size:var(--font-size-SS); }
.srvc_science .srvc_img_sci_sp ul.srvc_img_lst li.point01 { position:static; }
.srvc_science .srvc_img_sci_sp ul.srvc_img_lst li.point02 { position:static; }
.srvc_science .srvc_img_sci_sp ul.srvc_img_lst li.point03 { position:static; }
.srvc_science .srvc_img_sci_sp ul.srvc_img_lst li.point04 { position:static; }
.srvc_science .omo_link a { position:relative; margin:40px auto 0; padding:15px 20px 15px 20px; width:70%; height:auto; }
.srvc_science .omo_link a div.omo_logo { width:100px; display:inline-block; }
.srvc_science .omo_link a span { position:absolute; top:28%; right:25px; display:inline-block; width:22px; height:auto; }

.srvc_reason { padding:80px 0 80px; }
.srvc_reason h2 { font-size:var(--font-size-LS); line-height:1.4em; text-align:left; }
.srvc_reason p { margin:30px 0 0 0; text-align:left; }
.srvc_reason ul { margin:20px 0 0 0; gap:20px; }
.srvc_reason ul li { padding:20px; width:100%; }
.srvc_reason ul li dl.q_ttl { margin:0 0 20px; padding:0 0 20px; }
.srvc_reason ul li dl dt { width:20%; font-size:var(--font-size-ttlS); }
.srvc_reason ul li dl.q_ttl dd { width:80%; font-weight:var(--font-weight-B); }
.srvc_reason ul li dl.a_txt dd { width:80%; font-size:var(--font-weight-M); }

ul.con_tra_fab li { height:160px; width:100%; }
ul.con_tra_fab li h3 { font-size:var(--font-size-LS); }
ul.con_tra_fab li h2 { position:relative; margin:10px 0 0 0; font-size:var(--font-size-R); font-weight:var(--font-weight-R); display:inline-block; }
ul.con_tra_fab li h2 span { position:absolute; top:-2px; right:-30px; display:inline-block; width:22px; height:1px; margin-top:0; }
ul.con_tra_fab li .vmore_con_tra_fab { display:none; }

/* Service Line */
.svg-srvc01 { position:absolute; width:100%; top:-20%; left:25%; transform:translateX(0); z-index:-1; }
.svg-srvc01 #ill_srvc01 { position:absolute; top:30%; left:20%; width:80%; z-index:2; }
.svg-srvc02sp1 { position:absolute; width:140%; top:-5%; left:-25%; transform:translateX(0); z-index:1; }
.svg-srvc02sp2 { position:absolute; width:140%; top:0; left:20%; transform:translateX(0); z-index:1; }
.svg-srvc03 { position:absolute; width:120%; height:0; padding-top:0; top:-60%; left:-10%; transform:translate(0, 0); }
.svg-srvc04 { position:absolute; width:100%; top:-90%; left:0; transform:translateX(0); z-index:-1; }


.srvc_blk01 { padding:80px 0; }
.srvc_blk01 h3 { padding:0; font-size:var(--font-size-LS); color:var(--color-blk); text-align:center; }
.srvc_blk01 ul.srvc_lst01 { margin:50px 0 0 0; gap:50px 0; }
.srvc_blk01 ul.srvc_lst01 li { width:100%; text-align:center; }
.srvc_blk01 ul.srvc_lst01 dt { margin:0 0 15px; }
.srvc_blk01 ul.srvc_lst01 dt span { margin:0 0 0 5px; font-size:var(--font-size-ttlS); }
.srvc_blk01 ul.srvc_lst01 dd { font-size:var(--font-size-L); }

.srvc_blk02 { padding:90px 0 0 0; }
.srvc_blk02 h3 { margin:0 0 25px; font-size:var(--font-size-LS); }
.srvc_blk02 p { margin:0; }
.srvc_blk_dtl01 { padding:80px 0 0 0; }
.srvc_blk_dtl02 { padding:80px 0 0 0; }
.srvc_blk_dtl03 { padding:80px 0 0 0; }
.srvc_blk_dtl03space { padding-bottom:90px!important; }
.srvc_blk_dtltxt { width:100%; }
.srvc_blk_dtltxt h4 { position:relative; margin:0 0 15px; padding:0 0 20px; font-size:var(--font-size-subttl2); }
.srvc_blk_dtltxt p { line-height:2em; }
.srvc_blk_dtltxt ul { margin-top:auto; }
.srvc_blk_dtltxt ul li { width:48%; }
.srvc_blk_dtlph { display:none; }
.srvc_blk_dtlph_sp { margin:35px 0 15px 0; display:block; }
.cont_otherlink { margin:40px auto 0; padding:0 0 80px 0; width:80%; }
.cont_otherlink a { padding:15px 20px 17px 20px; width:100%; height:70px; line-height:1.4em; font-size:var(--font-size-M); text-align:center; justify-content:center; margin:0 auto; }
.cont_otherlink a span { right:20px; }


.srvc_blk03 { padding:80px 0 80px; }
.srvc_blk03 .srvc_worksttl { margin:0 0 20px 5%; font-size:var(--font-size-ttlSS); }
.srvc_blk03 .srvc_worksttl h2 { margin:0 0 0 1em; font-size:var(--font-size-M); }
.srvc_blk03 .morbtn_blk a { padding:15px 20px 17px 20px; width:80%!important; height:auto; font-size:var(--font-size-M)!important; }

.slider-container { position:relative; margin-bottom:35px; margin-left:0!important; width:100%; overflow:hidden; }
.slide-item { width:170px; height:auto; margin-right:15px; }
.slide-item img { width:100%; height:100%; object-fit:cover; }
.slick-custom-prev,.slick-custom-next { position:absolute; top:0; z-index:10; cursor:pointer; }
.slick-custom-prev { left:70%; width:43px; }
.slick-custom-next { left:85%; width:43px; }

/* Service Line */
.svg-space_cont01 { position:absolute; width:200%; top:-15%; left:-10%; transform:translateX(0); z-index:-1; }
.svg-space_cont02sp01 { position:absolute; width:120%; top:-15%; left:-10%; transform:translateX(0); z-index:-1; }
.svg-space_cont02sp02 { position:absolute; width:150%; top:-30%; left:-10%; transform:translateX(0); z-index:-1; }
.svg-space_cont02sp03 { position:absolute; width:120%; top:0%; left:-10%; transform:translateX(0); z-index:-1; }
.svg-ft_space_cont { position:absolute; width:230%; top:10%; left:-55%; transform:translateX(0); z-index:-1; }



/* Company */
.company_head { margin:60px 0 30px; }
.company_head ul { margin:0 2em 0 0; padding:0 0 8px; gap:5%; border-bottom:none; }
.company_blk { padding:80px 0 55px; }
.company_blk h3 { margin:0 0 15px; font-size:var(--font-size-ttlS); }
.company_blk h2 { margin:0 0 40px; font-size:var(--font-size-L); }
.company_blk div.comp_msgtxt { flex-direction:column-reverse; }
.company_blk div.comp_msgtxt p { margin:30px 0 0 0; width:100%; font-size:var(--font-size-R); }
.company_blk div.comp_msgph { width:100%; text-align:left; }
.company_blk div.comp_msgph figure { width:100%; }
.company_blk div.comp_msgph p { margin:5px 0 0 0; }
.company_blk div.comp_msgph p span { margin:5px 0 0 0; }
.company_blk ul.comp_lst01 { margin:0; }
.company_blk ul.comp_lst01 li:first-child { padding:25px 0 25px; }
.company_blk ul.comp_lst01 li { padding:25px 0; }
.company_blk ul.comp_lst01 li dt { width:100%; }
.company_blk ul.comp_lst01 li dd { width:100%; }
.company_blk ul.comp_lst01 li dd dl dt { width:25%; }
.company_blk ul.comp_lst01 li dd dl.comp_isms { margin-top:35px; }
.company_blk ul.comp_lst01 li dl.comp_prof_txt { width:100%; }
.company_blk ul.comp_lst01 li dl.comp_prof_txt dt { width:100%; }
.company_blk ul.comp_lst01 li dl.comp_prof_txt dd { width:100%; }
.company_blk ul.comp_lst01 li ul.comp_prof_ph { display:none; }
.company_blk ul.comp_lst02 li:first-child { padding:15px 0 30px; }
.company_blk ul.comp_lst02 li { padding:0 0 30px; }
.company_blk ul.comp_lst02 li h4 { margin:0 0 12px; }
.company_blk ul.comp_lst02 li dt { width:15%; }
.company_blk ul.comp_lst02 li dd { width:85%; }



/* Works */
.works_srh_wrap { margin:60px 0 50px 0; }
.works_srh_wrap .works_srh_tab { padding:20px 0; font-size:var(--font-size-M); text-align:center; line-height:var(--liheight-def); user-select:none; cursor:pointer; }
.works_srh_wrap #acc-tri span { position:relative; padding-right:40px; display:inline-block; }
.works_srh_wrap #acc-tri span::after { position:absolute; content:'+'; top:60%; right:10px; width:20px; height:20px; line-height:0.9; border:solid 1px var(--color-blk); border-radius:50%; transform:translateY(-50%); transition:transform 0.3s ease-out; }
.works_srh_wrap #acc-cont { padding:0 35px; }
.is-closed { padding:0 35px; }
.is-open #acc-cont { padding:35px; }
.works_srh_wrap .works_srh_cont .workscat { padding:35px 0 20px; border:none; }
.works_srh_wrap .works_srh_cont .workstag { margin:20px 0 35px; }
.works_srh_wrap .works_srh_cont dt { padding:0 0 10px; width:100%; }
.works_srh_wrap .works_srh_cont dd { width:100%; }
.works_srh_wrap .works_srh_cont dd ul { display:flex; flex-wrap:wrap; align-items:stretch; }
.works_srh_wrap .works_srh_cont dd ul li { font-size:var(--font-size-SS); display:flex; }
.works_srh_wrap .works_srh_cont dd ul li .srh_label { min-height:70px; padding:4px; display:flex; align-items:center; justify-content:center; height:100%; }
.works_srh_wrap .works_srh_btn { margin:0 auto 35px; width:50%; }

.workslst { margin:0 0 35px; }
.workslst ul { gap:35px 0; }
.workslst li { width:100%; }
.workslst li dl dd { margin:15px 0 0; }
.workslst li dl dd div.works_cat { width:30%; }
.workslst li dl dd div.works_date { margin:0 0 10px; }

.works_dtl .works_head { margin:0 0 35px; }
.works_dtl .works_head div.works_date { margin:0 0 10px; }
.works_dtl .works_head h2 { margin:0 0 5px; }
.works_dtl .works_body h3 { margin:40px 0 25px 0; }
.works_dtl .works_body p { margin:0 0 35px 0; line-height:1.8em; }
.works_dtl .works_body img { margin:0 0 15px; }
.works_dtl .works_btm { margin:25px 0 0 0; }
.works_dtl .works_btm .works_btm_point { margin:0 0 35px; padding:20px 25px; }
.works_dtl .works_btm .works_btm_point h4 { margin:0 0 15px; }
.works_dtl .works_btm .works_btm_point p { line-height:1.8em; }
.works_dtl .works_btm ul.works_btm_dtl { margin:0 0 35px; }
.works_dtl .works_btm ul.works_btm_dtl li { margin:0 0 15px; }
.works_dtl .works_btm ul.works_btm_dtl li dl dt { margin:0; width:25%; }
.works_dtl .works_btm ul.works_btm_dtl li dl dd { width:75%; }
.works_btn { margin:0 auto 75px; width:80%; }
.works_btn a { width:100%!important; }



/* News */
.newslst { margin:60px 0 40px; }
.newslst ul li a { padding:20px 0; }
.newslst ul li a dt { margin:0 3% 0 1.5%; width:45.5%; font-size:var(--font-size-SL); }
.newslst ul li a dt span { margin:0 0 0 5%; }
.newslst ul li a dd { width:48.5%; line-height:1.4em; font-size:var(--font-size-SL); }
ul.pagenation { margin:0 0 80px; }

.newsdtl { margin:60px 0 50px; }
.newsdtl .newsdtl_ttl span { margin:0 1em 0 0; padding:0.5em 1em; }
.newsdtl h2 { margin:20px 0 0 0; }
.newsdtl_cont { margin:20px 0 0 0; padding-top:20px; }
.newsdtl_cont p { line-height:2em; }
.newsdtl .news_back a { position:relative; margin:60px 0 80px; }
.newsdtl .news_back a span { position:absolute; top:55%; left:25%; }


/* Contact */
.contact { margin:60px 0 120px 0; }
.contact p { font-size:var(--font-size-L); }
.contact ul { margin:45px 0 0 0; gap:20px; }
.contact ul li { margin:0 10%; width:80%; }
.contact ul li.vmor_arw_hlf a { width:100%; min-height:120px }

.contact_inner { margin:60px 0 120px 0; }
.contact_inner ul.formlst li { margin:0 0 25px; }
.contact_inner ul.formlst li dt { margin:0 0 5px; }
.contact_inner ul.formlst li dd .privacy { padding:25px 25px 0 25px; height:300px; }
.contact_inner ul.formlst li dd .privacy h5 { margin:0 0 5px; }
.contact_inner ul.formlst li dd .privacy p { margin:0 0 25px; }

.contact_inner ul.formlst li dd .howtoknow .wpcf7-list-item { width:100%; }

.thx_content { padding:60px 0 120px; text-align:left; }
.thx_content br { display:none; }
.thx_content .thxtotop { margin:40px auto 0; width:80%; }
.thx_content .thxtotop a { width:100%!important; }


/* Static */
.static { margin:60px 0 80px; }
.static p { margin:0 0 25px; }
.static p strong { font-size: var(--font-size-R); line-height:1.4em; }
.static p.detail__underline { margin:0 0 50px; }
.static div.detail_sub_wrap { margin:20px 0 30px; }
.static p.detail_sub { margin:0 0 20px; }
.static h3.detail__title { margin:0 0 30px; font-size:var(--font-size-LL); }
.static h4.detail__subtitle { margin:0 0 10px; font-size:var(--font-size-M); line-height:1.4em; }
.static .detail__table { margin:0 0 0 0; }
.static .detail__table table { margin:0 0 30px; width:100%; }
.static .detail__table table th { padding:10px; }
.static .detail__table table td { padding:10px; }
.static .detail__table--sub { margin:0 0 0 0; }
.static .detail__table--sub table { margin:0 0 30px; width:100%; }
.static .detail__table--sub table th { padding:10px; }
.static .detail__table--sub table td { padding:10px; }
.static .detail_pmark { margin:30px 0 70px; padding:60px 0 40px 0; }
.static .detail__privacymark { margin:0 0 0 0; }
.static .detail__privacymark__logo { margin:0 20px 0 0; width:20%; }
.static .detail__privacymark__text { margin:auto 0 0 0; width:calc(80% - 20px); }
}








@media screen and (max-width: 576px) {

/* TOP Line */
.svg-wrapper { position:relative; }
.svg-wrapper-sp { position:relative; }
.svg-cont01 { position:absolute; width:100%; height:0; padding-top:150%; top:25%; left:60%; transform:translate(-50%, -50%); }
.svg-cont01 svg { position:absolute; top:0; left:0; width:100%; height:100%; }
.svg-cont01 #ill_abt01 { position:absolute; top:40%; right:0; width:50%; }
.svg-cont02 { position:absolute; width:100%; height:0; padding-top:150%; top:2%; left:70%; transform:translate(-50%, -50%); z-index:-1; }
.svg-cont02 svg { position:absolute; top:0; left:0; width:100%; height:100%; }
.svg-cont02 #ill_ser01 { position:absolute; top:35%; left:30%; z-index:2; width:50%; }
.svg-cont03sp { position:absolute; width:100%; height:0; padding-top:80%; top:30%; left:70%; transform:translate(-50%, -50%); }
.svg-cont03sp svg { position:absolute; top:0; left:0; width:100%; height:100%; }
.svg-cont03 { position:absolute; width:100%; height:0; padding-top:70%; top:10%; left:60%; transform:translate(-50%, -50%); }
.svg-cont03 svg { position:absolute; top:0; left:0; width:100%; height:100%; }
.svg-cont04 { position:absolute; width:100%; height:0; padding-top:150%; top:22%; left:50%; transform:translate(-50%, -50%); }
.svg-cont04 svg { position:absolute; top:0; left:0; width:100%; height:100%; }
.svg-line-posi { stroke-dasharray:0; stroke-dashoffset:0; visibility:hidden; }
.svg-line-nega { stroke-dasharray:0; stroke-dashoffset:0; visibility:hidden; }

/* Common Line */
.svg-common { position:absolute; width:180%; top:-170%; left:-40%; transform:translateX(0); z-index:-1; }
.svg-common-sust { position:absolute; width:200%; top:-55%; left:-50%; transform:translateX(0); z-index:-1; }
.svg-ft_common { position:absolute; width:230%; top:10%; left:-55%; transform:translateX(0); z-index:-1; }

/* Aboutus Line */
.svg-abus01 { position:absolute; width:170%; top:-8%; left:-20%; transform:translateX(0); z-index:-1; }
.svg-abus01 #ill_abt01 { position:absolute; top:60px; right:25%; width:30%; z-index:2; }
.svg-abus02sp1 { position:absolute; width:100%; top:-5%; left:50%; transform:translateX(0); z-index:-1; }
.svg-abus02sp2 { position:absolute; width:100%; top:-90%; left:33%; transform:translateX(0); z-index:-1; }
.svg-abus02sp3 { position:absolute; width:100%; top:-35%; left:28%; transform:translateX(0); z-index:-1; }
.svg-abus03 { position:absolute; width:100%; top:-15%; left:-3%; transform:translateX(0); z-index:-1; }
.svg-abus04 { position:absolute; width:100%; top:-28%; left:0; transform:translateX(0); z-index:-1; }

/* Sustainability */
.svg-sust01 { position:absolute; width:120%; top:auto; right:auto; bottom:2%; z-index:1; }
.svg-sust01 #ill_sust01 { position:absolute; top:auto; bottom:0; left:-15%; right:auto; z-index:3; }

/* Service Line */
.svg-srvc01 { position:absolute; width:100%; top:-20%; left:25%; transform:translateX(0); z-index:-1; }
.svg-srvc01 #ill_srvc01 { position:absolute; top:30%; left:20%; width:80%; z-index:2; }
.svg-srvc02sp1 { position:absolute; width:140%; top:-5%; left:-25%; transform:translateX(0); z-index:1; }
.svg-srvc02sp2 { position:absolute; width:140%; top:0; left:20%; transform:translateX(0); z-index:1; }
.svg-srvc03 { position:absolute; width:120%; height:0; padding-top:0; top:-60%; left:-10%; transform:translate(0, 0); }
.svg-srvc04 { position:absolute; width:120%; top:-55%; left:-10%; transform:translateX(0); z-index:-1; }

}






@media screen and (max-width: 480px) {
.svg-abus02sp2 { position:absolute; width:100%; top:-75%; left:33%; transform:translateX(0); z-index:-1; }
}
