@charset "UTF-8";/*! destyle.css v4.0.1 | MIT License | https://github.com/nicolas-cusan/destyle.min.css */*,:before,:after{box-sizing:border-box;border-style:solid;border-width:0;min-width:0}html{line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{margin:0}main{display:block}p,table,blockquote,address,pre,iframe,form,figure,dl{margin:0}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;margin:0}ul,ol{margin:0;padding:0;list-style:none}dt{font-weight:700}dd{margin-left:0}hr{box-sizing:content-box;height:0;overflow:visible;border-top-width:1px;margin:0;clear:both;color:inherit}pre{font-family:monospace,monospace;font-size:inherit}address{font-style:inherit}a{background-color:transparent;text-decoration:none;color:inherit}abbr[title]{text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:inherit}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}svg,img,embed,object,iframe{vertical-align:bottom}button,input,optgroup,select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;vertical-align:middle;color:inherit;font:inherit;background:transparent;padding:0;margin:0;border-radius:0;text-align:inherit;text-transform:inherit}button,[type=button],[type=reset],[type=submit]{cursor:pointer}button:disabled,[type=button]:disabled,[type=reset]:disabled,[type=submit]:disabled{cursor:default}:-moz-focusring{outline:auto}select:disabled{opacity:inherit}option{padding:0}fieldset{margin:0;padding:0;min-width:0}legend{padding:0}progress{vertical-align:baseline}textarea{overflow:auto}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[type=number]{-moz-appearance:textfield}label[for]{cursor:pointer}details{display:block}summary{display:list-item}[contenteditable]:focus{outline:auto}table{border-color:inherit;border-collapse:collapse}caption{text-align:left}td,th{vertical-align:top;padding:0}th{text-align:left;font-weight:700}.title.gs_heading,.title.gs_heroTitle{color:var(--gray)}.gs_index,.gs_topItem,.gs_reveal{opacity:0}@keyframes particleAlpha{0%{opacity:.1}50%{opacity:.5}to{opacity:0}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes arrow{0%,to{opacity:1;transform:translate(0)}50%{opacity:.5;transform:translate(100%)}51%{opacity:.5;transform:translate(-100%)}}@keyframes bg{0%{transform:scale(1)}to{transform:scale(1.07)}}@keyframes bg2{0%{transform:scale(1.07) translate(0)}to{transform:scale(1.07) translate(-3.5%)}}@keyframes bg3{0%{background-position:0% 50%}to{background-position:-100% 50%}}@keyframes menuBtn-animation{0%{transform:rotate(0)}25%{transform:rotate(0)}50%{transform:rotate(0)}75%{transform:rotate(0)}to{transform:rotate(180deg)}}@keyframes slide1{0%{transform:translate(100%)}to{transform:translate(-100%)}}@keyframes slide2{0%{transform:translate(0)}to{transform:translate(-200%)}}:root{--whiteRGB: 255, 255, 255;--white: #ffffff;--pure-black: #000000;--pure-blackRGB: 0, 0, 0;--black: #0f0f0f;--light-gray: #f5f5f5;--dark-gray: #6e6e6e;--gray: #a0a0a0;--main-text: var(--dark-gray);--link-text: var(--black);--title-text: var(--black);--placeholder: var(--dark-gray);--border-size: 1px;--layoutW: 1728;--contentW: 1684.8;--gridW: 262.8;--gapW: 21.6;--grid: 262.8px;--gap: 21.6px;--header-h: 43.2px;--fv-header-h: 134px;--btn-bg: var(--black);--fz-normal: 14.4px;--parts-bg: #fff;--main-bg: #fff;--required: #ff6757;--red: #dc3232;--zheader4: 10004;--zheader3: 10003;--zheader2: 10002;--zmenuBtn: 10001;--zheader: 10000;--zmenu: 9999;--zspsticker: 9999;--z-1000: 1000;--zfooter: 1;--speed-hover: .3s;--speed-showcase: 120s;--speed-showcase2: -60s}@media only screen and (max-width:850px){:root{--header-h: 110px;--fv-header-h: 160px;--fz-normal: 14px;--gap: 30px;--layoutW: 390;--contentW: 330;--gapW: 30}}.cTaC{text-align:center!important}@media only screen and (max-width:850px){.cMB{display:inline-block!important}.cMBB{display:block!important}.cDT,.cDTB{display:none!important}#wrapper{position:relative;width:100%;overflow-x:hidden}#content{position:relative;width:100%;word-wrap:break-word;overflow:hidden;transition:all .4s cubic-bezier(.215,.61,.355,1) .2s}}@media only screen and (min-width:851px){.cMB,.cMBB{display:none!important}.cDT{display:inline-block!important}.cDTB{display:block!important}#wrapper{position:relative;width:100%;overflow-x:hidden}#content{position:relative;width:100%;word-wrap:break-word;overflow:hidden;transition:all .4s cubic-bezier(.215,.61,.355,1) .2s}}.hero{position:relative}.hero .heroImg{width:100%;height:100%;object-fit:cover}.hero .heroTextArea{position:absolute;z-index:1}@media only screen and (max-width:850px){.hero{height:100vh;height:100svh}.hero .heroTextArea{position:absolute;left:0;top:0;z-index:1;width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:0 30px}}@media only screen and (min-width:851px){.hero{height:100vh;height:100svh;padding:var(--gap)}.hero .heroTextArea{position:absolute;left:calc(15.2083333333vw + 43.2px);top:0;z-index:1;width:calc(30.4166666667vw + 21.6px);height:100%;display:flex;flex-direction:column;justify-content:center}.hero .cCaption{right:43.2px;bottom:41.2px}}.hero #kvSlider{position:relative;height:100%;background:var(--light-gray)}.hero #kvSlider:after{position:absolute;left:0;top:0;z-index:var(--z-footer);content:"";display:block;width:100%;height:100%;background:var(--light-gray);pointer-events:none}.hero #kvSlider:not(.slick-initialized) .slide{display:none}.hero #kvSlider.slick-initialized:after{animation:fadeOut 6s cubic-bezier(.19,1,.22,1) .45s 1 normal both}.hero #kvSlider .slick-list,.hero #kvSlider .slick-track{height:100%}.hero #kvSlider .slick-slide{overflow:hidden;display:inline-block;backface-visibility:hidden}.hero #kvSlider .slick-slide>div{height:100%}.hero #kvSlider .slick-slide>div>div{height:100%}.single .hero,.concept .hero,.services .hero{position:relative}.single .hero:after,.concept .hero:after,.services .hero:after{position:absolute;left:0;top:0;z-index:2;content:"";display:block;width:100%;height:100%;background:var(--light-gray);pointer-events:none}.single .hero.shown:after,.concept .hero.shown:after,.services .hero.shown:after{animation:fadeOut 6s cubic-bezier(.19,1,.22,1) .45s 1 normal both}@media only screen and (min-width:851px){.single .hero:after,.concept .hero:after,.services .hero:after{left:var(--gap);top:var(--gap);width:calc(100% - var(--gap) * 2);height:calc(100% - var(--gap) * 2)}}.single .hero{height:auto}.single .hero figure{position:relative;width:100%;height:auto}@media only screen and (max-width:850px){.single .hero{padding-top:var(--fv-header-h)}}@media only screen and (max-width:850px){.services .hero .heroTitle{position:relative;padding-top:30px}.services .hero .cLinks{display:none}}@media only screen and (min-width:851px){.services .hero .heroTitle{position:relative;padding-right:10px;padding-bottom:4px;transform:translate(-2px)}.services .hero .cLinks{position:absolute;left:0;top:calc(100% + 26.2px);width:360px}.services .hero img{object-position:62% 50%}}@media only screen and (max-width:850px){.cSectionGray{position:relative;background:var(--light-gray)}.cTextBox,.cTextBox2{text-align:center;width:calc(100% - 60px);margin:0 auto;padding:78px 0 80px}.cTextBox .title,.cTextBox2 .title{margin-bottom:26px}.cTextBox .cBtn1,.cTextBox2 .cBtn1{margin-top:30px}.cTextBox3{text-align:left;padding:78px 0 80px}.cTextBox3:has(.imageArea){padding:0 0 80px}.cTextBox3 .imageArea{margin-bottom:54px}.cTextBox3 .imageArea figure{background:var(--light-gray)}.cTextBox3 .formArea,.cTextBox3 .textArea{width:calc(100% - 60px);margin:0 auto}.cTextBox3 img{width:100%;height:auto}}@media only screen and (min-width:851px){.cSectionGray{position:relative;background:var(--light-gray)}.cSectionGray:before,.cSectionGray:after{content:"";display:block;width:21.6px;height:100%;z-index:1;background:var(--white)}.cSectionGray:before{position:absolute;left:0;top:0}.cSectionGray:after{position:absolute;right:0;top:0}.cTextBox{text-align:center;width:calc(60.8333333333% + 64.8px);margin:0 auto;padding:115.6px 0 124.6px}.cTextBox .title{margin-bottom:36px}.cTextBox .cBtn1{margin-top:36px}.cTextBox2{width:calc(60.8333333333% + 64.8px);margin:0 auto;padding:115.6px 0 124.6px;display:flex;gap:var(--gap)}.cTextBox2 .titleArea,.cTextBox2 .textArea{width:100%}.cTextBox2 .title{width:clamp(90px,90%,410px)}.cTextBox2 .textArea{padding:8px 0 0;text-align:justify}.cTextBox2 .cBtn1{text-align:right;margin-top:38px;padding-right:5px}.cTextBox3{width:calc(60.8333333333% + 64.8px);margin:0 auto;padding:124.6px 0 113.6px;display:flex;gap:54px}.cTextBox3 .formArea,.cTextBox3 .imageArea,.cTextBox3 .textArea{width:50%}.cTextBox3 img{width:100%;height:auto}.cTextBox3 .imageArea{padding:6px 0 0}.cTextBox3 .imageArea figure{background:var(--light-gray)}.cTextBox3 .textArea{text-align:justify;text-align-last:left}}.cNoResults{position:relative;display:flex;align-items:center;text-align:center}.cNoResults .title{color:var(--link-text)}.cNoResults .liner{text-align:center;text-align-last:center}@media only screen and (max-width:850px){.cNoResults .title{margin-bottom:18px}}@media only screen and (min-width:851px){.cNoResults .title{margin-bottom:24px}.cNoResults .cBtn1{margin-top:38px}}.cSectionTitle{font-family:acumin-pro,Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif;font-weight:600;line-height:1;color:var(--link-text)}@media only screen and (max-width:850px){.cSectionTitle{font-size:21.9px}}@media only screen and (min-width:851px){.cSectionTitle{font-size:22.56px}}.cSectionTitle span{display:block;font-family:acumin-pro,Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif;font-weight:300}@media only screen and (max-width:850px){.cSectionTitle span{font-size:14px;line-height:1.8}}@media only screen and (min-width:851px){.cSectionTitle span{font-size:var(--fz-normal);line-height:1.8}}@media only screen and (max-width:850px){.cSectionTitle span{padding-top:5px}}@media only screen and (min-width:851px){.cSectionTitle span{padding-top:5px}}.title{font-family:acumin-pro,Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif;font-weight:600;color:var(--link-text)}@media only screen and (max-width:850px){.title{font-size:27.3px;line-height:1.399}}@media only screen and (min-width:851px){.title{font-size:35.16px;line-height:1.4}}.cTitle2{font-family:acumin-pro,Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif;font-weight:600;color:var(--link-text)}@media only screen and (max-width:850px){.cTitle2{font-size:18px;line-height:1.4}}@media only screen and (min-width:851px){.cTitle2{font-size:18px;line-height:1.4}}@media only screen and (max-width:850px){.cTitle2{margin-bottom:17px}}@media only screen and (min-width:851px){.cTitle2{margin-bottom:19.2px}}.liner{font-family:acumin-pro,Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif;font-weight:300;text-align:justify;text-align-last:left;letter-spacing:-.005em}@media only screen and (max-width:850px){.liner{font-size:14px;line-height:1.8}}@media only screen and (min-width:851px){.liner{font-size:var(--fz-normal);line-height:1.8}}.cCaption{position:absolute;display:flex;justify-content:flex-end;align-items:center;color:var(--main-text);line-height:1;text-align:right}@media only screen and (max-width:850px){.cCaption{font-size:7.5px;right:15px;bottom:14px}}@media only screen and (min-width:851px){.cCaption{font-size:9.6px;letter-spacing:.01em;right:32.4px;bottom:32.4px}}@media only screen and (max-width:850px){.cBtn1{font-size:14px;line-height:1.8}}@media only screen and (min-width:851px){.cBtn1{font-size:var(--fz-normal);line-height:1.8}}.cBtn1 a{display:inline-flex;align-items:center;gap:.65em;line-height:1}@media only screen and (max-width:850px){.cBtn1 a{gap:10px}}.cBtn1 a .icon{position:relative;display:flex;justify-content:center;align-items:center;width:auto;height:.85em;overflow:hidden;transform:translateY(.05em)}@media only screen and (max-width:850px){.cBtn1 a .icon{height:13px}}.cBtn1 a .icon img{backface-visibility:hidden;width:auto;height:100%}.cBtn1 a:hover .icon img{animation:arrow .8s cubic-bezier(.19,1,.22,1) 0s 1 normal both}.cAwards{line-height:0;display:flex;flex-shrink:0}@media only screen and (max-width:850px){.cAwards{gap:10px}.cAwards li{flex-shrink:0;width:28px;height:28px}.cAwards li img{width:100%;height:auto}}@media only screen and (min-width:851px){.cAwards{gap:10px}.cAwards li{flex-shrink:0;width:30px;height:30px}.cAwards li img{width:100%;height:auto}}.cClientInfo{display:flex}.cClientInfo li{position:relative;flex-grow:0;line-height:1!important;padding:0 .7em 0 0}@media only screen and (max-width:850px){.cClientInfo li{font-size:14px;line-height:1.8}}@media only screen and (min-width:851px){.cClientInfo li{font-size:var(--fz-normal);line-height:1.8}}@media only screen and (max-width:850px){.cClientInfo li{justify-content:center;line-height:1.1;padding:0 .76em 0 0}}.cClientInfo li+li{padding:0 .7em}.cClientInfo li+li:before{position:absolute;left:0;top:0;width:var(--border-size);height:104.1666666667%;content:"";display:block;border-left:var(--border-size) solid}@media only screen and (max-width:850px){.cClientInfo li+li:before{top:1px;height:15px}}.cClientInfo li+li:before{border-color:var(--main-text)}@media only screen and (max-width:850px){.cClientInfo li+li{padding:0 10px}}.cLinks{display:flex}.cLinks li{position:relative;flex-grow:0;line-height:1}@media only screen and (max-width:850px){.cLinks li{font-size:14px;line-height:1.8}}@media only screen and (min-width:851px){.cLinks li{font-size:var(--fz-normal);line-height:1.8}}.cLinks li+li a{padding:0 .7em}.cLinks li+li a:before{position:absolute;left:0;top:0;width:var(--border-size);height:104.1666666667%;content:"";display:block;border-left:var(--border-size) solid}@media only screen and (max-width:850px){.cLinks li+li a:before{top:1px;height:15px}}.cLinks li+li a:before{border-color:var(--main-text)}@media only screen and (max-width:850px){.cLinks li+li a a{padding:0 10px}}.cLinks a{position:relative;display:block;transition:color var(--speed-hover);padding:0 .7em 0 0;line-height:1}.cLinks a:link,.cLinks a:visited,.cLinks a:hover,.cLinks a:active{color:var(--main-text)}.cLinks a.active,.cLinks a:hover{color:var(--black)}@media only screen and (max-width:850px){.cLinks{justify-content:center}.cLinks a{line-height:1.1;padding:0 .76em 0 0}}html{overflow-y:scroll;scroll-behavior:smooth}html,body{width:100%;height:100%}body{width:100%;background:var(--white);font-family:acumin-pro,Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif;font-weight:300;color:var(--main-text);text-align:left;word-wrap:break-word;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased}@media only screen and (max-width:850px){body{font-size:14px;line-height:1.8}}@media only screen and (min-width:851px){body{font-size:var(--fz-normal);line-height:1.8}}body.fixed{position:fixed;left:0;top:0;touch-action:none;overscroll-behavior:none}h1,h2,h3,h4,li,p,dt,dd,th,td{opacity:0}.wf-active h1,.wf-active h2,.wf-active h3,.wf-active h4,.wf-active li,.wf-active p,.wf-active dt,.wf-active dd,.wf-active th,.wf-active td{opacity:1;transition:opacity .3s}a{cursor:pointer;-webkit-tap-highlight-color:rgba(var(--white),.5)}a:link,a:visited,a:hover,a:active{color:var(--link-text)}a.scroll img,a.scroll div,a.scroll dl,a.scroll ul,a.scroll td,a.scroll dd,a.scroll span,a.scroll svg{pointer-events:none}a:where(:not(.wp-element-button)){text-decoration:none!important}strong{font-weight:700}dt,dd,th,td{font-family:acumin-pro,Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif;font-weight:300}@media only screen and (max-width:850px){dt,dd,th,td{font-size:14px;line-height:1.8}}@media only screen and (min-width:851px){dt,dd,th,td{font-size:var(--fz-normal);line-height:1.8}}#browserMessage{position:fixed;top:50%;left:50%;z-index:var(--zheader3);transform:translate(-50%,-50%);z-index:10004;width:100%;margin:0 auto;background-color:#ff6757;color:#fff;text-align:center;line-height:1.4}#browserMessage dt{font-size:var(--fz-list-title)}#browserMessage dd{font-size:var(--fz-normal)}.cMenuBtn{--bg: var(--pure-black);position:relative;display:flex;align-items:center;width:35px;height:35px}.cMenuBtn img{flex-shrink:0;width:35px;height:35px}.cMenuBtn a{animation-name:menuBtn-animation;animation-duration:4s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;display:flex;width:35px;height:35px;padding-left:0;padding-right:0;border:none;background-color:transparent;color:inherit;cursor:pointer;transition:.3s ease}.cMenuBtn__bars{display:none;position:relative;width:30px;height:var(--border-size);transform:translate(2px,17px);background-color:var(--bg);transition:.3s}.cMenuBtn__bars:before,.cMenuBtn__bars:after{content:"";display:block;position:absolute;left:0;width:100%;height:100%;background-color:var(--bg);transition:.3s}.cMenuBtn__bars:before{transform:translateY(-10px)}.cMenuBtn__bars:after{transform:translateY(10px)}.cMenuBtn.opened a{animation:none}.cMenuBtn.opened img{display:none}.cMenuBtn.opened .cMenuBtn__bars{display:block;background-color:transparent}.cMenuBtn.opened .cMenuBtn__bars:before{transform:rotate(45deg)}.cMenuBtn.opened .cMenuBtn__bars:after{transform:rotate(-45deg)}@media only screen and (min-width:851px){.cMenuBtn{display:none}}.lang{display:flex}.lang li{position:relative;flex-grow:0;line-height:1}@media only screen and (max-width:850px){.lang li{font-size:14px;line-height:1.8}}@media only screen and (min-width:851px){.lang li{font-size:var(--fz-normal);line-height:1.8}}.lang li+li a:before{position:absolute;left:0;top:0;width:var(--border-size);height:104.1666666667%;content:"";display:block;border-left:var(--border-size) solid}@media only screen and (max-width:850px){.lang li+li a:before{top:1px;height:15px}}.lang li+li a:before{border-color:var(--dark-gray)}.lang a{position:relative;display:block;color:var(--dark-gray);transition:color var(--speed-hover);padding:0 .7em;line-height:1}.lang a.active,.lang a:hover{color:var(--black)}@media only screen and (max-width:850px){.lang a{line-height:1.1;padding:0 .76em}}.wpml-ls-statics-footer.wpml-ls.wpml-ls-legacy-list-vertical{display:flex!important;margin-bottom:0!important;border:none!important}.wpml-ls-statics-footer.wpml-ls.wpml-ls-legacy-list-vertical ul{display:flex!important}.wpml-ls-statics-footer.wpml-ls.wpml-ls-legacy-list-vertical li{position:relative;flex-grow:0;line-height:1}@media only screen and (max-width:850px){.wpml-ls-statics-footer.wpml-ls.wpml-ls-legacy-list-vertical li{font-size:14px;line-height:1.8}}@media only screen and (min-width:851px){.wpml-ls-statics-footer.wpml-ls.wpml-ls-legacy-list-vertical li{font-size:var(--fz-normal);line-height:1.8}}.wpml-ls-statics-footer.wpml-ls.wpml-ls-legacy-list-vertical li+li a:before{position:absolute;left:0;top:0;width:var(--border-size);height:104.1666666667%;content:"";display:block;border-left:var(--border-size) solid}@media only screen and (max-width:850px){.wpml-ls-statics-footer.wpml-ls.wpml-ls-legacy-list-vertical li+li a:before{top:1px;height:15px}}.wpml-ls-statics-footer.wpml-ls.wpml-ls-legacy-list-vertical li+li a:before{border-color:var(--dark-gray)}.wpml-ls-statics-footer.wpml-ls.wpml-ls-legacy-list-vertical a.wpml-ls-link{position:relative;display:block;color:var(--dark-gray);transition:color var(--speed-hover);padding:0 .7em;line-height:1}.wpml-ls-statics-footer.wpml-ls.wpml-ls-legacy-list-vertical a.wpml-ls-link:hover{color:var(--black)}.wpml-ls-statics-footer.wpml-ls.wpml-ls-legacy-list-vertical a.wpml-ls-link span{vertical-align:top}.wpml-ls-statics-footer.wpml-ls.wpml-ls-legacy-list-vertical .wpml-ls-current-language a.wpml-ls-link{color:var(--black)}@media only screen and (max-width:850px){.wpml-ls-statics-footer.wpml-ls.wpml-ls-legacy-list-vertical a.wpml-ls-link{line-height:1.1;padding:0 .76em}}#headerMob{position:fixed;top:0;left:0;z-index:var(--zheader);width:100%}#headerMob .logo{position:absolute;top:30px;left:30px;width:64px}#headerMob #menuBtn{position:absolute;top:30px;right:27px}#menu{background:var(--white);position:fixed;right:0;top:0;z-index:var(--zmenu);width:100%;height:100vh;height:100svh;overflow:hidden;height:0;color:var(--main-text);transition:opacity .5s,height .5s;text-align:center}#menu .scrollBox{position:relative;width:100%;height:100%;min-height:100dvh;padding-top:var(--header-h);display:flex;flex-direction:column;justify-content:center;-webkit-overflow-scrolling:touch;overflow:auto}#menu .gnavi{padding:33px 0;transition:opacity .5s .8s;overflow-y:auto}#menu .gnavi li{font-family:acumin-pro,Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif;font-weight:300;font-size:27.3px;line-height:2;position:relative;overflow:hidden}#menu .gnavi li+li{margin-top:.45em}#menu .gnavi li>a{display:inline-block;text-decoration:none}#menu .gnavi li>a span{display:block}#menu .lang,#menu .wpml-ls-statics-footer.wpml-ls.wpml-ls-legacy-list-vertical{position:absolute;top:88px;right:19px}#menu.opened{position:fixed;height:100dvh;opacity:1}@media only screen and (max-width:850px){#header,.fvHeader{display:none}}@media only screen and (min-width:851px){#headerMob{display:none}.fvHeader{z-index:var(--zmenu);width:100%;height:var(--fv-header-h)}.fvHeader .box1{position:absolute;left:0;top:0;width:100%;display:flex;justify-content:space-between;padding:55.8px 54.4px 0 64.8px}.fvHeader .logo{width:64.8px;padding-top:8px;line-height:1}.fvHeader .navi{position:absolute;left:50%;transform:translateX(-50%);display:flex;justify-content:center;gap:54px;padding-left:0;line-height:1}}@media only screen and (min-width:851px) and (max-width:850px){.fvHeader .navi{font-size:14px;line-height:1.8}}@media only screen and (min-width:851px) and (min-width:851px){.fvHeader .navi{font-size:var(--fz-normal);line-height:1.8}}@media only screen and (min-width:851px){.fvHeader .navi li{position:relative}.fvHeader .navi a{padding-bottom:.08em;position:relative;display:block;overflow:hidden}.fvHeader .navi a:link,.fvHeader .navi a:visited,.fvHeader .navi a:hover,.fvHeader .navi a:active{color:var(--link-text)}.fvHeader .navi a:after{position:absolute;left:0;bottom:0;width:100%;height:100%;content:"";display:block;border-bottom:var(--border-size) solid;transform:translate(-101%);transform-origin:left top;transition:transform var(--s@charset "UTF-8";

/*! destyle.css v4.0.1 | MIT License | https://github.com/nicolas-cusan/destyle.min.css */
*,
:before,
:after {
    box-sizing: border-box;
    border-style: solid;
    border-width: 0;
    min-width: 0
}

html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent
}

body {
    margin: 0
}

main {
    display: block
}

p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
    margin: 0
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-size: inherit;
    font-weight: inherit;
    margin: 0
}

ul,
ol {
    margin: 0;
    padding: 0;
    list-style: none
}

dt {
    font-weight: 700
}

dd {
    margin-left: 0
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible;
    border-top-width: 1px;
    margin: 0;
    clear: both;
    color: inherit
}

pre {
    font-family: monospace, monospace;
    font-size: inherit
}

address {
    font-style: inherit
}

a {
    background-color: transparent;
    text-decoration: none;
    color: inherit
}

abbr[title] {
    text-decoration: underline dotted
}

b,
strong {
    font-weight: bolder
}

code,
kbd,
samp {
    font-family: monospace, monospace;
    font-size: inherit
}

small {
    font-size: 80%
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

svg,
img,
embed,
object,
iframe {
    vertical-align: bottom
}

button,
input,
optgroup,
select,
textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    vertical-align: middle;
    color: inherit;
    font: inherit;
    background: transparent;
    padding: 0;
    margin: 0;
    border-radius: 0;
    text-align: inherit;
    text-transform: inherit
}

button,
[type=button],
[type=reset],
[type=submit] {
    cursor: pointer
}

button:disabled,
[type=button]:disabled,
[type=reset]:disabled,
[type=submit]:disabled {
    cursor: default
}

:-moz-focusring {
    outline: auto
}

select:disabled {
    opacity: inherit
}

option {
    padding: 0
}

fieldset {
    margin: 0;
    padding: 0;
    min-width: 0
}

legend {
    padding: 0
}

progress {
    vertical-align: baseline
}

textarea {
    overflow: auto
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    outline-offset: -2px
}

[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

[type=number] {
    -moz-appearance: textfield
}

label[for] {
    cursor: pointer
}

details {
    display: block
}

summary {
    display: list-item
}

[contenteditable]:focus {
    outline: auto
}

table {
    border-color: inherit;
    border-collapse: collapse
}

caption {
    text-align: left
}

td,
th {
    vertical-align: top;
    padding: 0
}

th {
    text-align: left;
    font-weight: 700
}

.title.gs_heading,
.title.gs_heroTitle {
    color: var(--gray)
}

.gs_index,
.gs_topItem,
.gs_reveal {
    opacity: 0
}

@keyframes particleAlpha {
    0% {
        opacity: .1
    }

    50% {
        opacity: .5
    }

    to {
        opacity: 0
    }
}

@keyframes fadeOut {
    0% {
        opacity: 1
    }

    to {
        opacity: 0
    }
}

@keyframes arrow {

    0%,
    to {
        opacity: 1;
        transform: translate(0)
    }

    50% {
        opacity: .5;
        transform: translate(100%)
    }

    51% {
        opacity: .5;
        transform: translate(-100%)
    }
}

@keyframes bg {
    0% {
        transform: scale(1)
    }

    to {
        transform: scale(1.07)
    }
}

@keyframes bg2 {
    0% {
        transform: scale(1.07) translate(0)
    }

    to {
        transform: scale(1.07) translate(-3.5%)
    }
}

@keyframes bg3 {
    0% {
        background-position: 0% 50%
    }

    to {
        background-position: -100% 50%
    }
}

@keyframes menuBtn-animation {
    0% {
        transform: rotate(0)
    }

    25% {
        transform: rotate(0)
    }

    50% {
        transform: rotate(0)
    }

    75% {
        transform: rotate(0)
    }

    to {
        transform: rotate(180deg)
    }
}

@keyframes slide1 {
    0% {
        transform: translate(100%)
    }

    to {
        transform: translate(-100%)
    }
}

@keyframes slide2 {
    0% {
        transform: translate(0)
    }

    to {
        transform: translate(-200%)
    }
}

:root {
    --whiteRGB: 255, 255, 255;
    --white: #ffffff;
    --pure-black: #000000;
    --pure-blackRGB: 0, 0, 0;
    --black: #0f0f0f;
    --light-gray: #f5f5f5;
    --dark-gray: #6e6e6e;
    --gray: #a0a0a0;
    --main-text: var(--dark-gray);
    --link-text: var(--black);
    --title-text: var(--black);
    --placeholder: var(--dark-gray);
    --border-size: 1px;
    --layoutW: 1728;
    --contentW: 1684.8;
    --gridW: 262.8;
    --gapW: 21.6;
    --grid: 262.8px;
    --gap: 21.6px;
    --header-h: 43.2px;
    --fv-header-h: 134px;
    --btn-bg: var(--black);
    --fz-normal: 14.4px;
    --parts-bg: #fff;
    --main-bg: #fff;
    --required: #ff6757;
    --red: #dc3232;
    --zheader4: 10004;
    --zheader3: 10003;
    --zheader2: 10002;
    --zmenuBtn: 10001;
    --zheader: 10000;
    --zmenu: 9999;
    --zspsticker: 9999;
    --z-1000: 1000;
    --zfooter: 1;
    --speed-hover: .3s;
    --speed-showcase: 120s;
    --speed-showcase2: -60s
}

@media only screen and (max-width:850px) {
    :root {
        --header-h: 110px;
        --fv-header-h: 160px;
        --fz-normal: 14px;
        --gap: 30px;
        --layoutW: 390;
        --contentW: 330;
        --gapW: 30
    }
}

.cTaC {
    text-align: center !important
}

@media only screen and (max-width:850px) {
    .cMB {
        display: inline-block !important
    }

    .cMBB {
        display: block !important
    }

    .cDT,
    .cDTB {
        display: none !important
    }

    #wrapper {
        position: relative;
        width: 100%;
        overflow-x: hidden
    }

    #content {
        position: relative;
        width: 100%;
        word-wrap: break-word;
        overflow: hidden;
        transition: all .4s cubic-bezier(.215, .61, .355, 1) .2s
    }
}

@media only screen and (min-width:851px) {

    .cMB,
    .cMBB {
        display: none !important
    }

    .cDT {
        display: inline-block !important
    }

    .cDTB {
        display: block !important
    }

    #wrapper {
        position: relative;
        width: 100%;
        overflow-x: hidden
    }

    #content {
        position: relative;
        width: 100%;
        word-wrap: break-word;
        overflow: hidden;
        transition: all .4s cubic-bezier(.215, .61, .355, 1) .2s
    }
}

.hero {
    position: relative
}

.hero .heroImg {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.hero .heroTextArea {
    position: absolute;
    z-index: 1
}

@media only screen and (max-width:850px) {
    .hero {
        height: 100vh;
        height: 100svh
    }

    .hero .heroTextArea {
        position: absolute;
        left: 0;
        top: 0;
        z-index: 1;
        width: 100%;
        height: 100%;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        text-align: center;
        padding: 0 30px
    }
}

@media only screen and (min-width:851px) {
    .hero {
        height: 100vh;
        height: 100svh;
        padding: var(--gap)
    }

    .hero .heroTextArea {
        position: absolute;
        left: calc(15.2083333333vw + 43.2px);
        top: 0;
        z-index: 1;
        width: calc(30.4166666667vw + 21.6px);
        height: 100%;
        display: flex;
        flex-direction: column;
        justify-content: center
    }

    .hero .cCaption {
        right: 43.2px;
        bottom: 41.2px
    }
}

.hero #kvSlider {
    position: relative;
    height: 100%;
    background: var(--light-gray)
}

.hero #kvSlider:after {
    position: absolute;
    left: 0;
    top: 0;
    z-index: var(--z-footer);
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: var(--light-gray);
    pointer-events: none
}

.hero #kvSlider:not(.slick-initialized) .slide {
    display: none
}

.hero #kvSlider.slick-initialized:after {
    animation: fadeOut 6s cubic-bezier(.19, 1, .22, 1) .45s 1 normal both
}

.hero #kvSlider .slick-list,
.hero #kvSlider .slick-track {
    height: 100%
}

.hero #kvSlider .slick-slide {
    overflow: hidden;
    display: inline-block;
    backface-visibility: hidden
}

.hero #kvSlider .slick-slide>div {
    height: 100%
}

.hero #kvSlider .slick-slide>div>div {
    height: 100%
}

.single .hero,
.concept .hero,
.services .hero {
    position: relative
}

.single .hero:after,
.concept .hero:after,
.services .hero:after {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 2;
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: var(--light-gray);
    pointer-events: none
}

.single .hero.shown:after,
.concept .hero.shown:after,
.services .hero.shown:after {
    animation: fadeOut 6s cubic-bezier(.19, 1, .22, 1) .45s 1 normal both
}

@media only screen and (min-width:851px) {

    .single .hero:after,
    .concept .hero:after,
    .services .hero:after {
        left: var(--gap);
        top: var(--gap);
        width: calc(100% - var(--gap) * 2);
        height: calc(100% - var(--gap) * 2)
    }
}

.single .hero {
    height: auto
}

.single .hero figure {
    position: relative;
    width: 100%;
    height: auto
}

@media only screen and (max-width:850px) {
    .single .hero {
        padding-top: var(--fv-header-h)
    }
}

@media only screen and (max-width:850px) {
    .services .hero .heroTitle {
        position: relative;
        padding-top: 30px
    }

    .services .hero .cLinks {
        display: none
    }
}

@media only screen and (min-width:851px) {
    .services .hero .heroTitle {
        position: relative;
        padding-right: 10px;
        padding-bottom: 4px;
        transform: translate(-2px)
    }

    .services .hero .cLinks {
        position: absolute;
        left: 0;
        top: calc(100% + 26.2px);
        width: 360px
    }

    .services .hero img {
        object-position: 62% 50%
    }
}

@media only screen and (max-width:850px) {
    .cSectionGray {
        position: relative;
        background: var(--light-gray)
    }

    .cTextBox,
    .cTextBox2 {
        text-align: center;
        width: calc(100% - 60px);
        margin: 0 auto;
        padding: 78px 0 80px
    }

    .cTextBox .title,
    .cTextBox2 .title {
        margin-bottom: 26px
    }

    .cTextBox .cBtn1,
    .cTextBox2 .cBtn1 {
        margin-top: 30px
    }

    .cTextBox3 {
        text-align: left;
        padding: 78px 0 80px
    }

    .cTextBox3:has(.imageArea) {
        padding: 0 0 80px
    }

    .cTextBox3 .imageArea {
        margin-bottom: 54px
    }

    .cTextBox3 .imageArea figure {
        background: var(--light-gray)
    }

    .cTextBox3 .formArea,
    .cTextBox3 .textArea {
        width: calc(100% - 60px);
        margin: 0 auto
    }

    .cTextBox3 img {
        width: 100%;
        height: auto
    }
}

@media only screen and (min-width:851px) {
    .cSectionGray {
        position: relative;
        background: var(--light-gray)
    }

    .cSectionGray:before,
    .cSectionGray:after {
        content: "";
        display: block;
        width: 21.6px;
        height: 100%;
        z-index: 1;
        background: var(--white)
    }

    .cSectionGray:before {
        position: absolute;
        left: 0;
        top: 0
    }

    .cSectionGray:after {
        position: absolute;
        right: 0;
        top: 0
    }

    .cTextBox {
        text-align: center;
        width: calc(60.8333333333% + 64.8px);
        margin: 0 auto;
        padding: 115.6px 0 124.6px
    }

    .cTextBox .title {
        margin-bottom: 36px
    }

    .cTextBox .cBtn1 {
        margin-top: 36px
    }

    .cTextBox2 {
        width: calc(60.8333333333% + 64.8px);
        margin: 0 auto;
        padding: 115.6px 0 124.6px;
        display: flex;
        gap: var(--gap)
    }

    .cTextBox2 .titleArea,
    .cTextBox2 .textArea {
        width: 100%
    }

    .cTextBox2 .title {
        width: clamp(90px, 90%, 410px)
    }

    .cTextBox2 .textArea {
        padding: 8px 0 0;
        text-align: justify
    }

    .cTextBox2 .cBtn1 {
        text-align: right;
        margin-top: 38px;
        padding-right: 5px
    }

    .cTextBox3 {
        width: calc(60.8333333333% + 64.8px);
        margin: 0 auto;
        padding: 124.6px 0 113.6px;
        display: flex;
        gap: 54px
    }

    .cTextBox3 .formArea,
    .cTextBox3 .imageArea,
    .cTextBox3 .textArea {
        width: 50%
    }

    .cTextBox3 img {
        width: 100%;
        height: auto
    }

    .cTextBox3 .imageArea {
        padding: 6px 0 0
    }

    .cTextBox3 .imageArea figure {
        background: var(--light-gray)
    }

    .cTextBox3 .textArea {
        text-align: justify;
        text-align-last: left
    }
}

.cNoResults {
    position: relative;
    display: flex;
    align-items: center;
    text-align: center
}

.cNoResults .title {
    color: var(--link-text)
}

.cNoResults .liner {
    text-align: center;
    text-align-last: center
}

@media only screen and (max-width:850px) {
    .cNoResults .title {
        margin-bottom: 18px
    }
}

@media only screen and (min-width:851px) {
    .cNoResults .title {
        margin-bottom: 24px
    }

    .cNoResults .cBtn1 {
        margin-top: 38px
    }
}

.cSectionTitle {
    font-family: acumin-pro, Helvetica Neue, Arial, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, sans-serif;
    font-weight: 600;
    line-height: 1;
    color: var(--link-text)
}

@media only screen and (max-width:850px) {
    .cSectionTitle {
        font-size: 21.9px
    }
}

@media only screen and (min-width:851px) {
    .cSectionTitle {
        font-size: 22.56px
    }
}

.cSectionTitle span {
    display: block;
    font-family: acumin-pro, Helvetica Neue, Arial, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, sans-serif;
    font-weight: 300
}

@media only screen and (max-width:850px) {
    .cSectionTitle span {
        font-size: 14px;
        line-height: 1.8
    }
}

@media only screen and (min-width:851px) {
    .cSectionTitle span {
        font-size: var(--fz-normal);
        line-height: 1.8
    }
}

@media only screen and (max-width:850px) {
    .cSectionTitle span {
        padding-top: 5px
    }
}

@media only screen and (min-width:851px) {
    .cSectionTitle span {
        padding-top: 5px
    }
}

.title {
    font-family: acumin-pro, Helvetica Neue, Arial, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, sans-serif;
    font-weight: 600;
    color: var(--link-text)
}

@media only screen and (max-width:850px) {
    .title {
        font-size: 27.3px;
        line-height: 1.399
    }
}

@media only screen and (min-width:851px) {
    .title {
        font-size: 35.16px;
        line-height: 1.4
    }
}

.cTitle2 {
    font-family: acumin-pro, Helvetica Neue, Arial, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, sans-serif;
    font-weight: 600;
    color: var(--link-text)
}

@media only screen and (max-width:850px) {
    .cTitle2 {
        font-size: 18px;
        line-height: 1.4
    }
}

@media only screen and (min-width:851px) {
    .cTitle2 {
        font-size: 18px;
        line-height: 1.4
    }
}

@media only screen and (max-width:850px) {
    .cTitle2 {
        margin-bottom: 17px
    }
}

@media only screen and (min-width:851px) {
    .cTitle2 {
        margin-bottom: 19.2px
    }
}

.liner {
    font-family: acumin-pro, Helvetica Neue, Arial, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, sans-serif;
    font-weight: 300;
    text-align: justify;
    text-align-last: left;
    letter-spacing: -.005em
}

@media only screen and (max-width:850px) {
    .liner {
        font-size: 14px;
        line-height: 1.8
    }
}

@media only screen and (min-width:851px) {
    .liner {
        font-size: var(--fz-normal);
        line-height: 1.8
    }
}

.cCaption {
    position: absolute;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    color: var(--main-text);
    line-height: 1;
    text-align: right
}

@media only screen and (max-width:850px) {
    .cCaption {
        font-size: 7.5px;
        right: 15px;
        bottom: 14px
    }
}

@media only screen and (min-width:851px) {
    .cCaption {
        font-size: 9.6px;
        letter-spacing: .01em;
        right: 32.4px;
        bottom: 32.4px
    }
}

@media only screen and (max-width:850px) {
    .cBtn1 {
        font-size: 14px;
        line-height: 1.8
    }
}

@media only screen and (min-width:851px) {
    .cBtn1 {
        font-size: var(--fz-normal);
        line-height: 1.8
    }
}

.cBtn1 a {
    display: inline-flex;
    align-items: center;
    gap: .65em;
    line-height: 1
}

@media only screen and (max-width:850px) {
    .cBtn1 a {
        gap: 10px
    }
}

.cBtn1 a .icon {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: auto;
    height: .85em;
    overflow: hidden;
    transform: translateY(.05em)
}

@media only screen and (max-width:850px) {
    .cBtn1 a .icon {
        height: 13px
    }
}

.cBtn1 a .icon img {
    backface-visibility: hidden;
    width: auto;
    height: 100%
}

.cBtn1 a:hover .icon img {
    animation: arrow .8s cubic-bezier(.19, 1, .22, 1) 0s 1 normal both
}

.cAwards {
    line-height: 0;
    display: flex;
    flex-shrink: 0
}

@media only screen and (max-width:850px) {
    .cAwards {
        gap: 10px
    }

    .cAwards li {
        flex-shrink: 0;
        width: 28px;
        height: 28px
    }

    .cAwards li img {
        width: 100%;
        height: auto
    }
}

@media only screen and (min-width:851px) {
    .cAwards {
        gap: 10px
    }

    .cAwards li {
        flex-shrink: 0;
        width: 30px;
        height: 30px
    }

    .cAwards li img {
        width: 100%;
        height: auto
    }
}

.cClientInfo {
    display: flex
}

.cClientInfo li {
    position: relative;
    flex-grow: 0;
    line-height: 1 !important;
    padding: 0 .7em 0 0
}

@media only screen and (max-width:850px) {
    .cClientInfo li {
        font-size: 14px;
        line-height: 1.8
    }
}

@media only screen and (min-width:851px) {
    .cClientInfo li {
        font-size: var(--fz-normal);
        line-height: 1.8
    }
}

@media only screen and (max-width:850px) {
    .cClientInfo li {
        justify-content: center;
        line-height: 1.1;
        padding: 0 .76em 0 0
    }
}

.cClientInfo li+li {
    padding: 0 .7em
}

.cClientInfo li+li:before {
    position: absolute;
    left: 0;
    top: 0;
    width: var(--border-size);
    height: 104.1666666667%;
    content: "";
    display: block;
    border-left: var(--border-size) solid
}

@media only screen and (max-width:850px) {
    .cClientInfo li+li:before {
        top: 1px;
        height: 15px
    }
}

.cClientInfo li+li:before {
    border-color: var(--main-text)
}

@media only screen and (max-width:850px) {
    .cClientInfo li+li {
        padding: 0 10px
    }
}

.cLinks {
    display: flex
}

.cLinks li {
    position: relative;
    flex-grow: 0;
    line-height: 1
}

@media only screen and (max-width:850px) {
    .cLinks li {
        font-size: 14px;
        line-height: 1.8
    }
}

@media only screen and (min-width:851px) {
    .cLinks li {
        font-size: var(--fz-normal);
        line-height: 1.8
    }
}

.cLinks li+li a {
    padding: 0 .7em
}

.cLinks li+li a:before {
    position: absolute;
    left: 0;
    top: 0;
    width: var(--border-size);
    height: 104.1666666667%;
    content: "";
    display: block;
    border-left: var(--border-size) solid
}

@media only screen and (max-width:850px) {
    .cLinks li+li a:before {
        top: 1px;
        height: 15px
    }
}

.cLinks li+li a:before {
    border-color: var(--main-text)
}

@media only screen and (max-width:850px) {
    .cLinks li+li a a {
        padding: 0 10px
    }
}

.cLinks a {
    position: relative;
    display: block;
    transition: color var(--speed-hover);
    padding: 0 .7em 0 0;
    line-height: 1
}

.cLinks a:link,
.cLinks a:visited,
.cLinks a:hover,
.cLinks a:active {
    color: var(--main-text)
}

.cLinks a.active,
.cLinks a:hover {
    color: var(--black)
}

@media only screen and (max-width:850px) {
    .cLinks {
        justify-content: center
    }

    .cLinks a {
        line-height: 1.1;
        padding: 0 .76em 0 0
    }
}

html {
    overflow-y: scroll;
    scroll-behavior: smooth
}

html,
body {
    width: 100%;
    height: 100%
}

body {
    width: 100%;
    background: var(--white);
    font-family: acumin-pro, Helvetica Neue, Arial, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, sans-serif;
    font-weight: 300;
    color: var(--main-text);
    text-align: left;
    word-wrap: break-word;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased
}

@media only screen and (max-width:850px) {
    body {
        font-size: 14px;
        line-height: 1.8
    }
}

@media only screen and (min-width:851px) {
    body {
        font-size: var(--fz-normal);
        line-height: 1.8
    }
}

body.fixed {
    position: fixed;
    left: 0;
    top: 0;
    touch-action: none;
    overscroll-behavior: none
}

h1,
h2,
h3,
h4,
li,
p,
dt,
dd,
th,
td {
    opacity: 0
}

.wf-active h1,
.wf-active h2,
.wf-active h3,
.wf-active h4,
.wf-active li,
.wf-active p,
.wf-active dt,
.wf-active dd,
.wf-active th,
.wf-active td {
    opacity: 1;
    transition: opacity .3s
}

a {
    cursor: pointer;
    -webkit-tap-highlight-color: rgba(var(--white), .5)
}

a:link,
a:visited,
a:hover,
a:active {
    color: var(--link-text)
}

a.scroll img,
a.scroll div,
a.scroll dl,
a.scroll ul,
a.scroll td,
a.scroll dd,
a.scroll span,
a.scroll svg {
    pointer-events: none
}

a:where(:not(.wp-element-button)) {
    text-decoration: none !important
}

strong {
    font-weight: 700
}

dt,
dd,
th,
td {
    font-family: acumin-pro, Helvetica Neue, Arial, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, sans-serif;
    font-weight: 300
}

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

    dt,
    dd,
    th,
    td {
        font-size: 14px;
        line-height: 1.8
    }
}

@media only screen and (min-width:851px) {

    dt,
    dd,
    th,
    td {
        font-size: var(--fz-normal);
        line-height: 1.8
    }
}

#browserMessage {
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: var(--zheader3);
    transform: translate(-50%, -50%);
    z-index: 10004;
    width: 100%;
    margin: 0 auto;
    background-color: #ff6757;
    color: #fff;
    text-align: center;
    line-height: 1.4
}

#browserMessage dt {
    font-size: var(--fz-list-title)
}

#browserMessage dd {
    font-size: var(--fz-normal)
}

.cMenuBtn {
    --bg: var(--pure-black);
    position: relative;
    display: flex;
    align-items: center;
    width: 35px;
    height: 35px
}

.cMenuBtn img {
    flex-shrink: 0;
    width: 35px;
    height: 35px
}

.cMenuBtn a {
    animation-name: menuBtn-animation;
    animation-duration: 4s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
    display: flex;
    width: 35px;
    height: 35px;
    padding-left: 0;
    padding-right: 0;
    border: none;
    background-color: transparent;
    color: inherit;
    cursor: pointer;
    transition: .3s ease
}

.cMenuBtn__bars {
    display: none;
    position: relative;
    width: 30px;
    height: var(--border-size);
    transform: translate(2px, 17px);
    background-color: var(--bg);
    transition: .3s
}

.cMenuBtn__bars:before,
.cMenuBtn__bars:after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--bg);
    transition: .3s
}

.cMenuBtn__bars:before {
    transform: translateY(-10px)
}

.cMenuBtn__bars:after {
    transform: translateY(10px)
}

.cMenuBtn.opened a {
    animation: none
}

.cMenuBtn.opened img {
    display: none
}

.cMenuBtn.opened .cMenuBtn__bars {
    display: block;
    background-color: transparent
}

.cMenuBtn.opened .cMenuBtn__bars:before {
    transform: rotate(45deg)
}

.cMenuBtn.opened .cMenuBtn__bars:after {
    transform: rotate(-45deg)
}

@media only screen and (min-width:851px) {
    .cMenuBtn {
        display: none
    }
}

.lang {
    display: flex
}

.lang li {
    position: relative;
    flex-grow: 0;
    line-height: 1
}

@media only screen and (max-width:850px) {
    .lang li {
        font-size: 14px;
        line-height: 1.8
    }
}

@media only screen and (min-width:851px) {
    .lang li {
        font-size: var(--fz-normal);
        line-height: 1.8
    }
}

.lang li+li a:before {
    position: absolute;
    left: 0;
    top: 0;
    width: var(--border-size);
    height: 104.1666666667%;
    content: "";
    display: block;
    border-left: var(--border-size) solid
}

@media only screen and (max-width:850px) {
    .lang li+li a:before {
        top: 1px;
        height: 15px
    }
}

.lang li+li a:before {
    border-color: var(--dark-gray)
}

.lang a {
    position: relative;
    display: block;
    color: var(--dark-gray);
    transition: color var(--speed-hover);
    padding: 0 .7em;
    line-height: 1
}

.lang a.active,
.lang a:hover {
    color: var(--black)
}

@media only screen and (max-width:850px) {
    .lang a {
        line-height: 1.1;
        padding: 0 .76em
    }
}

.wpml-ls-statics-footer.wpml-ls.wpml-ls-legacy-list-vertical {
    display: flex !important;
    margin-bottom: 0 !important;
    border: none !important
}

.wpml-ls-statics-footer.wpml-ls.wpml-ls-legacy-list-vertical ul {
    display: flex !important
}

.wpml-ls-statics-footer.wpml-ls.wpml-ls-legacy-list-vertical li {
    position: relative;
    flex-grow: 0;
    line-height: 1
}

@media only screen and (max-width:850px) {
    .wpml-ls-statics-footer.wpml-ls.wpml-ls-legacy-list-vertical li {
        font-size: 14px;
        line-height: 1.8
    }
}

@media only screen and (min-width:851px) {
    .wpml-ls-statics-footer.wpml-ls.wpml-ls-legacy-list-vertical li {
        font-size: var(--fz-normal);
        line-height: 1.8
    }
}

.wpml-ls-statics-footer.wpml-ls.wpml-ls-legacy-list-vertical li+li a:before {
    position: absolute;
    left: 0;
    top: 0;
    width: var(--border-size);
    height: 104.1666666667%;
    content: "";
    display: block;
    border-left: var(--border-size) solid
}

@media only screen and (max-width:850px) {
    .wpml-ls-statics-footer.wpml-ls.wpml-ls-legacy-list-vertical li+li a:before {
        top: 1px;
        height: 15px
    }
}

.wpml-ls-statics-footer.wpml-ls.wpml-ls-legacy-list-vertical li+li a:before {
    border-color: var(--dark-gray)
}

.wpml-ls-statics-footer.wpml-ls.wpml-ls-legacy-list-vertical a.wpml-ls-link {
    position: relative;
    display: block;
    color: var(--dark-gray);
    transition: color var(--speed-hover);
    padding: 0 .7em;
    line-height: 1
}

.wpml-ls-statics-footer.wpml-ls.wpml-ls-legacy-list-vertical a.wpml-ls-link:hover {
    color: var(--black)
}

.wpml-ls-statics-footer.wpml-ls.wpml-ls-legacy-list-vertical a.wpml-ls-link span {
    vertical-align: top
}

.wpml-ls-statics-footer.wpml-ls.wpml-ls-legacy-list-vertical .wpml-ls-current-language a.wpml-ls-link {
    color: var(--black)
}

@media only screen and (max-width:850px) {
    .wpml-ls-statics-footer.wpml-ls.wpml-ls-legacy-list-vertical a.wpml-ls-link {
        line-height: 1.1;
        padding: 0 .76em
    }
}

#headerMob {
    position: fixed;
    top: 0;
    left: 0;
    z-index: var(--zheader);
    width: 100%
}

#headerMob .logo {
    position: absolute;
    top: 30px;
    left: 30px;
    width: 64px
}

#headerMob #menuBtn {
    position: absolute;
    top: 30px;
    right: 27px
}

#menu {
    background: var(--white);
    position: fixed;
    right: 0;
    top: 0;
    z-index: var(--zmenu);
    width: 100%;
    height: 100vh;
    height: 100svh;
    overflow: hidden;
    height: 0;
    color: var(--main-text);
    transition: opacity .5s, height .5s;
    text-align: center
}

#menu .scrollBox {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 100dvh;
    padding-top: var(--header-h);
    display: flex;
    flex-direction: column;
    justify-content: center;
    -webkit-overflow-scrolling: touch;
    overflow: auto
}

#menu .gnavi {
    padding: 33px 0;
    transition: opacity .5s .8s;
    overflow-y: auto
}

#menu .gnavi li {
    font-family: acumin-pro, Helvetica Neue, Arial, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, sans-serif;
    font-weight: 300;
    font-size: 27.3px;
    line-height: 2;
    position: relative;
    overflow: hidden
}

#menu .gnavi li+li {
    margin-top: .45em
}

#menu .gnavi li>a {
    display: inline-block;
    text-decoration: none
}

#menu .gnavi li>a span {
    display: block
}

#menu .lang,
#menu .wpml-ls-statics-footer.wpml-ls.wpml-ls-legacy-list-vertical {
    position: absolute;
    top: 88px;
    right: 19px
}

#menu.opened {
    position: fixed;
    height: 100dvh;
    opacity: 1
}

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

    #header,
    .fvHeader {
        display: none
    }
}

@media only screen and (min-width:851px) {
    #headerMob {
        display: none
    }

    .fvHeader {
        z-index: var(--zmenu);
        width: 100%;
        height: var(--fv-header-h)
    }

    .fvHeader .box1 {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        display: flex;
        justify-content: space-between;
        padding: 55.8px 54.4px 0 64.8px
    }

    .fvHeader .logo {
        width: 64.8px;
        padding-top: 8px;
        line-height: 1
    }

    .fvHeader .navi {
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        display: flex;
        justify-content: center;
        gap: 54px;
        padding-left: 0;
        line-height: 1
    }
}

@media only screen and (min-width:851px) and (max-width:850px) {
    .fvHeader .navi {
        font-size: 14px;
        line-height: 1.8
    }
}

@media only screen and (min-width:851px) and (min-width:851px) {
    .fvHeader .navi {
        font-size: var(--fz-normal);
        line-height: 1.8
    }
}

@media only screen and (min-width:851px) {
    .fvHeader .navi li {
        position: relative
    }

    .fvHeader .navi a {
        padding-bottom: .08em;
        position: relative;
        display: block;
        overflow: hidden
    }

    .fvHeader .navi a:link,
    .fvHeader .navi a:visited,
    .fvHeader .navi a:hover,
    .fvHeader .navi a:active {
        color: var(--link-text)
    }

    .fvHeader .navi a:after {
        position: absolute;
        left: 0;
        bottom: 0;
        width: 100%;
        height: 100%;
        content: "";
        display: block;
        border-bottom: var(--border-size) solid;
        transform: translate(-101%);
        transform-origin: left top;
        transition: transform var(--speed-hover)
    }

    .fvHeader .navi a:hover:after {
        transform: translate(0)
    }

    .fvHeader .lang,
    .fvHeader .wpml-ls-statics-footer.wpml-ls.wpml-ls-legacy-list-vertical {
        padding-top: 5.5px
    }

    .single .fvHeader,
    .concept .fvHeader,
    .services .fvHeader {
        position: absolute;
        left: 0;
        top: 0
    }

    #header {
        position: fixed;
        left: 0;
        top: 0;
        z-index: var(--zheader);
        align-items: center;
        background: rgba(var(--pure-blackRGB), .9);
        color: #fff;
        opacity: 0;
        transform: translateY(calc(var(--header-h) * -1));
        transition: transform 1s, opacity .5s .3s;
        width: 100%;
        height: var(--header-h)
    }

    #header a {
        color: #fff
    }

    #header.shown {
        transform: translateY(0);
        opacity: 1
    }

    #header .box1 {
        position: relative;
        width: 100%;
        height: 100%;
        display: flex;
        justify-content: space-between;
        padding: 0 55px 0 64px
    }

    #header .textlogo {
        display: flex;
        justify-content: center;
        align-items: center;
        line-height: 1;
        width: 77.5px
    }

    #header .textlogo svg {
        width: 100%;
        height: auto
    }

    #header .textlogo path {
        fill: #fff
    }

    #header .navi {
        position: absolute;
        left: 50%;
        transform: translate(-50%, .6em);
        display: inline-flex;
        justify-content: center;
        gap: 54px;
        padding-left: 0;
        line-height: 1
    }
}

@media only screen and (min-width:851px) and (max-width:850px) {
    #header .navi {
        font-size: 14px;
        line-height: 1.8
    }
}

@media only screen and (min-width:851px) and (min-width:851px) {
    #header .navi {
        font-size: var(--fz-normal);
        line-height: 1.8
    }
}

@media only screen and (min-width:851px) {
    #header .navi li {
        position: relative;
        padding-top: .2em
    }

    #header .navi a {
        padding-bottom: .08em;
        position: relative;
        display: block;
        overflow: hidden
    }

    #header .navi a:after {
        position: absolute;
        left: 0;
        bottom: 0;
        width: 100%;
        height: 100%;
        content: "";
        display: block;
        border-bottom: var(--border-size) solid;
        transform: translate(-101%);
        transform-origin: left top;
        transition: transform var(--speed-hover)
    }

    #header .navi a:hover:after {
        transform: translate(0)
    }

    #header .lang {
        align-items: center;
        transform: translateY(-.1em)
    }

    #header .lang a {
        color: var(--gray);
        transition: color .5s
    }

    #header .lang a:before {
        border-color: var(--gray)
    }

    #header .lang a.active,
    #header .lang a:hover {
        color: var(--white)
    }

    #header .wpml-ls-statics-footer.wpml-ls.wpml-ls-legacy-list-vertical {
        align-items: center;
        transform: translateY(-.1em)
    }

    #header .wpml-ls-statics-footer.wpml-ls.wpml-ls-legacy-list-vertical ul a {
        color: var(--gray);
        transition: color .5s
    }

    #header .wpml-ls-statics-footer.wpml-ls.wpml-ls-legacy-list-vertical ul a:before {
        border-color: var(--gray)
    }

    #header .wpml-ls-statics-footer.wpml-ls.wpml-ls-legacy-list-vertical ul a:hover,
    #header .wpml-ls-statics-footer.wpml-ls.wpml-ls-legacy-list-vertical ul .wpml-ls-current-language a.wpml-ls-link {
        color: var(--white)
    }

    #menuBtn,
    #menu {
        display: none
    }
}

.copyright {
    color: var(--link-text);
    line-height: 1
}

@media only screen and (max-width:850px) {
    .copyright {
        font-size: 14px;
        line-height: 1.8
    }
}

@media only screen and (min-width:851px) {
    .copyright {
        font-size: var(--fz-normal);
        line-height: 1.8
    }
}

#footer,
#footer:link,
#footer:visited,
#footer:hover,
#footer:active {
    color: var(--link-text)
}

#footer .forContact {
    display: none
}

#footer .forPages,
.contact #footer .forContact {
    display: block
}

.contact #footer .forPages {
    display: none
}

@media only screen and (max-width:850px) {
    #footer {
        width: calc(100% - 60px);
        margin: 0 auto;
        display: flex;
        flex-direction: column-reverse;
        gap: 20px;
        padding: 0 0 30px;
        align-items: center
    }

    #footer .box {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        background-color: var(--light-gray);
        height: 80px
    }
}

@media only screen and (min-width:851px) {
    #footer {
        width: 100%;
        display: flex;
        padding: 0 var(--gap) var(--gap) var(--gap);
        gap: var(--gap);
        align-items: center
    }

    #footer .box {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        background-color: var(--light-gray);
        height: 129.6px
    }
}

.pagenation {
    font-family: acumin-pro, Helvetica Neue, Arial, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, sans-serif;
    font-weight: 600;
    color: var(--title-text);
    font-size: var(--fz-btn);
    line-height: 1.4;
    color: var(--main-text);
    margin: 2em 0;
    text-align: center
}

.pagenation:before {
    display: block;
    width: 0;
    height: 0;
    margin-top: calc((1 - 1.4) * .5em);
    content: ""
}

.pagenation:after {
    display: block;
    width: 0;
    height: 0;
    margin-bottom: calc((1 - 1.4) * .5em);
    content: ""
}

.pagenation a {
    text-decoration: none;
    color: var(--link-text)
}

.pagenation a:hover {
    opacity: .75;
    transition: opacity .3s cubic-bezier(.215, .61, .355, 1)
}

.pagenationInner {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 1em
}

.pagenationNum {
    display: block;
    margin: 0 .5em;
    transition: .4s ease
}

.pagenationNum.current {
    color: var(--main-text)
}

.pagenation .prev {
    margin-right: .5em
}

.pagenation .next {
    margin-left: .5em
}

.pagenation .first {
    margin-right: 1em
}

.pagenation .last {
    margin-left: 1em
}

a,
input,
select,
option,
button {
    outline: 0
}

.cFormParts input,
.cFormParts textarea {
    position: relative;
    border: none;
    background: var(--light-gray);
    border-radius: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 100%;
    box-sizing: border-box;
    margin: 0;
    line-height: 1.2;
    outline: none;
    color: var(--link-text)
}

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

    .cFormParts input,
    .cFormParts textarea {
        font-size: 14px;
        line-height: 1.8
    }
}

@media only screen and (min-width:851px) {

    .cFormParts input,
    .cFormParts textarea {
        font-size: var(--fz-normal);
        line-height: 1.8
    }
}

.cFormParts input::placeholder,
.cFormParts textarea::placeholder {
    color: var(--placeholder)
}

@media only screen and (max-width:850px) {
    .cFormParts input {
        height: 55px;
        padding: 0 20px
    }
}

@media only screen and (min-width:851px) {
    .cFormParts input {
        height: 54px;
        padding: 0 var(--gap)
    }
}

.cFormParts textarea {
    border: none;
    resize: none;
    scrollbar-width: thin;
    scrollbar-color: var(--link-text) transparent
}

@media only screen and (max-width:850px) {
    .cFormParts textarea {
        font-size: 14px;
        line-height: 1.8
    }
}

@media only screen and (min-width:851px) {
    .cFormParts textarea {
        font-size: var(--fz-normal);
        line-height: 1.8
    }
}

@media only screen and (max-width:850px) {
    .cFormParts textarea {
        height: 270px;
        padding: 12px 20px
    }
}

@media only screen and (min-width:851px) {
    .cFormParts textarea {
        height: 259.2px;
        padding: 16px var(--gap)
    }
}

.cFormParts textarea::-webkit-scrollbar {
    width: 1px
}

.cFormParts textarea::-webkit-scrollbar-thumb {
    background-color: var(--link-text)
}

.cFormParts textarea::-webkit-scrollbar-track {
    background-color: transparent
}

.cFormParts {
    position: relative
}

@media only screen and (max-width:850px) {
    .cFormParts {
        margin-bottom: 20px
    }
}

.cSubmit {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-end
}

.cSubmit>button,
.cSubmit>input {
    cursor: pointer;
    display: inline;
    align-items: center;
    width: auto;
    margin: 0;
    padding: 0;
    line-height: 1.3 !important;
    border: none;
    color: var(--link-text);
    background: transparent;
    text-decoration: none
}

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

    .cSubmit>button,
    .cSubmit>input {
        font-size: 14px;
        line-height: 1.8
    }
}

@media only screen and (min-width:851px) {

    .cSubmit>button,
    .cSubmit>input {
        font-size: var(--fz-normal);
        line-height: 1.8
    }
}

.cSubmit .icon {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: auto;
    height: .85em;
    overflow: hidden;
    transform: translateY(.05em);
    padding-left: 8px
}

@media only screen and (max-width:850px) {
    .cSubmit .icon {
        padding-top: 2px;
        padding-left: 8px;
        height: 16px
    }
}

.cSubmit .icon img {
    transition: transform .2s linear, opacity .1s linear;
    backface-visibility: hidden;
    width: auto;
    height: 100%;
    opacity: 1;
    transform: translate(0)
}

.cSubmit.disabled {
    cursor: default;
    color: var(--main-text);
    opacity: .5
}

.cSubmit.disabled .icon img {
    opacity: 0;
    transform: translate(-50%);
    transition: none
}

.cSubmit:not(.disabled):hover .icon img {
    animation: arrow .8s cubic-bezier(.19, 1, .22, 1) 0s 1 normal both
}

.thanksArea {
    visibility: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--light-gray)
}

.thanksArea.shown {
    visibility: visible
}

.thanksArea dl {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center
}

.thanksArea dt {
    font-family: acumin-pro, Helvetica Neue, Arial, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, sans-serif;
    font-weight: 600;
    margin-bottom: 1em;
    color: var(--link-text)
}

@media only screen and (max-width:850px) {
    .thanksArea dt {
        font-size: 27.3px;
        line-height: 1.399
    }
}

@media only screen and (min-width:851px) {
    .thanksArea dt {
        font-size: 35.16px;
        line-height: 1.4
    }
}

.thanksArea dd {
    color: var(--main-text)
}

@media only screen and (max-width:850px) {
    .thanksArea dd {
        font-size: 14px;
        line-height: 1.8
    }
}

@media only screen and (min-width:851px) {
    .thanksArea dd {
        font-size: var(--fz-normal);
        line-height: 1.8
    }
}

@media only screen and (max-width:850px) {
    .thanksArea {
        height: 270px;
        padding: 12px 20px
    }

    .thanksArea dt {
        font-size: 17.5px
    }
}

@media only screen and (min-width:851px) {
    .thanksArea {
        height: 488.2px
    }

    .thanksArea dt {
        font-size: 22.56px
    }
}

.wpcf7 .wpcf7-submit:disabled {
    cursor: default !important
}

.wpcf7-not-valid-tip {
    color: var(--red)
}

.wpcf7 form.init .wpcf7-response-output {
    border-color: var(--main-text)
}

.wpcf7 form.invalid .wpcf7-response-output {
    border-color: var(--red) !important;
    color: var(--red) !important;
    padding: 1em;
    margin-left: 0;
    margin-right: 0
}

@media only screen and (max-width:850px) {
    .wpcf7 form.invalid .wpcf7-response-output {
        text-align: center
    }
}

@media only screen and (min-width:851px) {
    .wpcf7 form.invalid .wpcf7-response-output {
        text-align: left
    }
}

.wpcf7 form.sent .wpcf7-response-output {
    display: none
}

.wpcf7-spinner {
    display: none !important
}

.isJa .thanksArea dt {
    font-feature-settings: "palt";
    font-family: source-han-sans-japanese, Helvetica Neue, Arial, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, sans-serif;
    font-weight: 500
}

.isJa .wpcf7-not-valid-tip,
.isJa .wpcf7-response-output,
.isJa .cFormParts input,
.isJa .cFormParts textarea,
.isJa .thanksArea dd {
    font-family: source-han-sans-japanese, Helvetica Neue, Arial, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, sans-serif;
    font-weight: 200
}

.isCn .thanksArea dt {
    font-feature-settings: "palt";
    font-family: source-han-sans-simplified-c, Helvetica Neue, Arial, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, sans-serif;
    font-weight: 500
}

.isCn .wpcf7-not-valid-tip,
.isCn .wpcf7-response-output,
.isCn .cFormParts input,
.isCn .cFormParts textarea,
.isCn .thanksArea dd {
    font-family: source-han-sans-simplified-c, Helvetica Neue, Arial, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, sans-serif;
    font-weight: 200
}

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

    .archive .section1,
    .projects .section1 {
        margin: -10px;
        padding: var(--fv-header-h) 30px 48px
    }

    .archive .cSelectCat .selectCheckbox,
    .projects .cSelectCat .selectCheckbox {
        display: none
    }

    .archive .cSelectCat .selectTitle,
    .projects .cSelectCat .selectTitle {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 10px;
        padding-top: 2px;
        line-height: 1;
        color: var(--link-text)
    }
}

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

    .archive .cSelectCat .selectTitle,
    .projects .cSelectCat .selectTitle {
        font-size: 14px;
        line-height: 1.8
    }
}

@media only screen and (max-width:850px) and (min-width:851px) {

    .archive .cSelectCat .selectTitle,
    .projects .cSelectCat .selectTitle {
        font-size: var(--fz-normal);
        line-height: 1.8
    }
}

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

    .archive .cSelectCat .selectTitle .icon,
    .projects .cSelectCat .selectTitle .icon {
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
        width: auto;
        height: .85em;
        overflow: hidden;
        transform: translateY(10%) rotate(90deg);
        height: 13px
    }

    .archive .cSelectCat .selectTitle .icon img,
    .projects .cSelectCat .selectTitle .icon img {
        backface-visibility: hidden;
        width: auto;
        height: 100%
    }

    .archive .cSelectCat .selectMenus,
    .projects .cSelectCat .selectMenus {
        height: 0;
        overflow: hidden;
        backface-visibility: hidden;
        transition: all .3s
    }

    .archive .cSelectCat .selectCheckbox:checked+.selectTitle+.selectMenus,
    .projects .cSelectCat .selectCheckbox:checked+.selectTitle+.selectMenus {
        height: auto;
        padding: 46px 0 15px
    }

    .archive .cSelectCat .selectCheckbox:checked+.selectTitle .icon,
    .projects .cSelectCat .selectCheckbox:checked+.selectTitle .icon {
        transform: translateY(10%) rotate(-90deg)
    }

    .archive .cSelectCat .navi,
    .projects .cSelectCat .navi {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        gap: 29.5px min(45px, 15.71%);
        line-height: 1;
        width: 100%;
        margin: 0 auto
    }
}

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

    .archive .cSelectCat .navi,
    .projects .cSelectCat .navi {
        font-size: 14px;
        line-height: 1.8
    }
}

@media only screen and (max-width:850px) and (min-width:851px) {

    .archive .cSelectCat .navi,
    .projects .cSelectCat .navi {
        font-size: var(--fz-normal);
        line-height: 1.8
    }
}

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

    .archive .cSelectCat .navi li,
    .projects .cSelectCat .navi li {
        position: relative;
        width: 22.857%;
        text-align: center
    }

    .archive .cSelectCat .navi li:nth-of-type(1),
    .projects .cSelectCat .navi li:nth-of-type(1) {
        order: 1
    }

    .archive .cSelectCat .navi a:link,
    .projects .cSelectCat .navi a:link,
    .archive .cSelectCat .navi a:visited,
    .projects .cSelectCat .navi a:visited,
    .archive .cSelectCat .navi a:hover,
    .projects .cSelectCat .navi a:hover,
    .archive .cSelectCat .navi a:active,
    .projects .cSelectCat .navi a:active {
        color: var(--main-text)
    }

    .archive .cSelectCat .navi .disabled,
    .projects .cSelectCat .navi .disabled,
    .archive .cSelectCat .navi .disabled a span,
    .projects .cSelectCat .navi .disabled a span {
        color: var(--gray)
    }

    .archive .cSelectCat .navi .disabled a,
    .projects .cSelectCat .navi .disabled a {
        pointer-events: none
    }

    .archive .cSelectCat .navi .disabled .txt:before,
    .projects .cSelectCat .navi .disabled .txt:before {
        display: none
    }

    .archive .cSelectCat .navi .active a:link,
    .projects .cSelectCat .navi .active a:link,
    .archive .cSelectCat .navi .active a:visited,
    .projects .cSelectCat .navi .active a:visited,
    .archive .cSelectCat .navi .active a:hover,
    .projects .cSelectCat .navi .active a:hover,
    .archive .cSelectCat .navi .active a:active,
    .projects .cSelectCat .navi .active a:active {
        color: var(--link-text)
    }

    .archive .projectList,
    .projects .projectList {
        padding-bottom: 30px
    }

    .archive .projectList>li,
    .projects .projectList>li {
        position: relative;
        width: 100%;
        background: var(--light-gray);
        aspect-ratio: 3/4
    }

    .archive .projectList>li+li,
    .projects .projectList>li+li {
        margin-top: 30px
    }

    .archive .projectList>li>a,
    .projects .projectList>li>a {
        display: block;
        width: 100%;
        height: 100%;
        text-decoration: none
    }
}

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

    .archive .projectList>li>a,
    .projects .projectList>li>a {
        font-size: 14px;
        line-height: 1.8
    }
}

@media only screen and (max-width:850px) and (min-width:851px) {

    .archive .projectList>li>a,
    .projects .projectList>li>a {
        font-size: var(--fz-normal);
        line-height: 1.8
    }
}

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

    .archive .projectList>li>a figure,
    .projects .projectList>li>a figure {
        position: relative;
        width: 100%;
        height: 100%
    }

    .archive .projectList>li>a figure img,
    .projects .projectList>li>a figure img {
        width: 100%;
        height: auto
    }

    .archive .projectList>li>a figure figcaption,
    .projects .projectList>li>a figure figcaption {
        position: absolute;
        right: 30px;
        bottom: 30px;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        color: var(--link-text);
        line-height: 1;
        text-align: right
    }

    .archive .projectList>li>a .cAwards,
    .projects .projectList>li>a .cAwards {
        position: absolute;
        left: 30px;
        top: 30px
    }
}

@media only screen and (min-width:851px) {

    .archive .cSelectCat .selectCheckbox,
    .archive .cSelectCat .selectTitle,
    .projects .cSelectCat .selectCheckbox,
    .projects .cSelectCat .selectTitle {
        display: none
    }

    .archive .cSelectCat .navi,
    .projects .cSelectCat .navi {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 54.48px;
        min-height: 129.6px;
        padding-top: 11px;
        padding-right: 7.5px;
        line-height: 1
    }
}

@media only screen and (min-width:851px) and (max-width:850px) {

    .archive .cSelectCat .navi,
    .projects .cSelectCat .navi {
        font-size: 14px;
        line-height: 1.8
    }
}

@media only screen and (min-width:851px) and (min-width:851px) {

    .archive .cSelectCat .navi,
    .projects .cSelectCat .navi {
        font-size: var(--fz-normal);
        line-height: 1.8
    }
}

@media only screen and (min-width:851px) {

    .archive .cSelectCat .navi li,
    .projects .cSelectCat .navi li {
        position: relative
    }

    .archive .cSelectCat .navi a,
    .projects .cSelectCat .navi a {
        padding-bottom: .08em;
        transition: color .5s
    }

    .archive .cSelectCat .navi a:link,
    .projects .cSelectCat .navi a:link,
    .archive .cSelectCat .navi a:visited,
    .projects .cSelectCat .navi a:visited,
    .archive .cSelectCat .navi a:hover,
    .projects .cSelectCat .navi a:hover,
    .archive .cSelectCat .navi a:active,
    .projects .cSelectCat .navi a:active {
        color: var(--main-text)
    }

    .archive .cSelectCat .navi a:hover,
    .projects .cSelectCat .navi a:hover {
        color: var(--link-text)
    }

    .archive .cSelectCat .navi .disabled,
    .projects .cSelectCat .navi .disabled,
    .archive .cSelectCat .navi .disabled a span,
    .projects .cSelectCat .navi .disabled a span {
        color: var(--gray)
    }

    .archive .cSelectCat .navi .disabled a,
    .projects .cSelectCat .navi .disabled a {
        pointer-events: none
    }

    .archive .cSelectCat .navi .disabled .txt:before,
    .projects .cSelectCat .navi .disabled .txt:before {
        display: none
    }

    .archive .cSelectCat .navi .active a,
    .projects .cSelectCat .navi .active a {
        color: var(--link-text)
    }

    .archive .projectList,
    .projects .projectList {
        display: flex;
        flex-wrap: wrap;
        gap: var(--gap);
        padding: 0 var(--gap) var(--gap)
    }

    .archive .projectList>li,
    .projects .projectList>li {
        position: relative;
        display: flex;
        flex-direction: column;
        background: var(--light-gray);
        width: calc((100% - var(--gap)) / 2);
        aspect-ratio: 16/10
    }

    .archive .projectList>li>a,
    .projects .projectList>li>a {
        display: block;
        flex-grow: 0;
        width: 100%;
        height: 100%;
        text-decoration: none
    }

    .archive .projectList>li>a figure,
    .projects .projectList>li>a figure {
        overflow: hidden
    }

    .archive .projectList>li>a figure img,
    .projects .projectList>li>a figure img {
        transform: scale(1);
        transition: transform 1.6s cubic-bezier(.215, .61, .355, 1)
    }

    .archive .projectList>li>a:hover figure img,
    .projects .projectList>li>a:hover figure img {
        transform: scale(1.04)
    }
}

@media only screen and (min-width:851px) and (max-width:850px) {

    .archive .projectList>li>a,
    .projects .projectList>li>a {
        font-size: 14px;
        line-height: 1.8
    }
}

@media only screen and (min-width:851px) and (min-width:851px) {

    .archive .projectList>li>a,
    .projects .projectList>li>a {
        font-size: var(--fz-normal);
        line-height: 1.8
    }
}

@media only screen and (min-width:851px) {

    .archive .projectList>li>a figure,
    .projects .projectList>li>a figure {
        position: relative;
        width: 100%;
        height: 100%
    }

    .archive .projectList>li>a figure img,
    .projects .projectList>li>a figure img {
        width: 100%;
        height: auto
    }

    .archive .projectList>li>a figure figcaption,
    .projects .projectList>li>a figure figcaption {
        position: absolute;
        right: 32.4px;
        bottom: 30.4px;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        color: var(--link-text);
        line-height: 1;
        text-align: right
    }

    .archive .projectList>li>a .cAwards,
    .projects .projectList>li>a .cAwards {
        position: absolute;
        left: 32.4px;
        top: 32.4px
    }
}

article [class*=is-layout-constrained]>:where(:not(.alignleft):not(.alignright):not(.alignfull)) {
    max-width: none !important
}

@media only screen and (max-width:850px) {
    .single .hero figure {
        aspect-ratio: 3/4
    }

    .single .titleArea {
        display: flex;
        flex-direction: column-reverse;
        margin: 30px 30px 18px
    }

    .single .titleArea .title {
        font-size: 21.9px
    }

    .single .titleArea .title:before {
        display: block;
        width: 0;
        height: 0;
        margin-top: calc((1 - var(--lh, 1.6)) * .5em);
        content: ""
    }

    .single .titleArea .title:after {
        display: block;
        width: 0;
        height: 0;
        margin-bottom: calc((1 - var(--lh, 1.6)) * .5em);
        content: ""
    }

    .single .titleArea .awardsArea {
        min-height: 28px;
        margin-bottom: 30.5px
    }

    .single .titleArea .cAwards {
        flex-direction: row-reverse
    }

    .single .cClientInfo {
        margin-bottom: 34.5px
    }

    .single .bodyArea p {
        text-align: justify;
        text-align-last: left
    }

    .single .bodyArea p:before {
        display: block;
        width: 0;
        height: 0;
        margin-top: calc((1 - var(--lh, 1.6)) * .5em);
        content: ""
    }

    .single .bodyArea p:after {
        display: block;
        width: 0;
        height: 0;
        margin-bottom: calc((1 - var(--lh, 1.6)) * .5em);
        content: ""
    }

    .single .bodyArea p+p {
        margin-top: 20px
    }

    .single .bodyArea p+p:before {
        display: block;
        width: 0;
        height: 0;
        margin-top: calc((1 - var(--lh, 1.6)) * .5em);
        content: ""
    }

    .single .bodyArea p+p:after {
        display: block;
        width: 0;
        height: 0;
        margin-bottom: calc((1 - var(--lh, 1.6)) * .5em);
        content: ""
    }

    .single .boxCentered {
        margin: 0 30px 88px
    }

    .single .gallery img {
        width: 100%;
        height: 100%;
        object-fit: cover
    }

    .single .gallery figure {
        width: 100%;
        height: 100%
    }

    .single .gallery>li {
        position: relative;
        background: var(--light-gray);
        margin: 0 0 var(--gap)
    }

    .single .gallery.threeSplit>li:nth-of-type(1) {
        aspect-ratio: 3/4
    }

    .single .gallery.threeSplit>li:nth-of-type(2) {
        aspect-ratio: 4/3
    }

    .single .gallery.threeSplit>li:nth-of-type(3) {
        aspect-ratio: 4/3
    }

    .single .gallery.threeSplit.pattern2>li:nth-of-type(1) {
        aspect-ratio: 4/3
    }

    .single .gallery.threeSplit.pattern2>li:nth-of-type(2) {
        aspect-ratio: 4/3
    }

    .single .gallery.threeSplit.pattern2>li:nth-of-type(3) {
        aspect-ratio: 3/4
    }

    .single .gallery.twoSplit>li {
        aspect-ratio: 3/4
    }

    .single .gallery.full>li {
        aspect-ratio: 4/3
    }
}

@media only screen and (min-width:851px) {
    .single .fvHeader {
        position: absolute;
        left: 0;
        top: 0
    }

    .single .hero figure {
        aspect-ratio: 140/71
    }

    .single .titleArea {
        display: flex;
        justify-content: space-between;
        width: calc(60.8333333333% + 64.8px);
        margin: 104.6px auto 20px
    }

    .single .titleArea .title:before {
        display: block;
        width: 0;
        height: 0;
        margin-top: calc((1 - var(--lh, 1.6)) * .5em);
        content: ""
    }

    .single .titleArea .title:after {
        display: block;
        width: 0;
        height: 0;
        margin-bottom: calc((1 - var(--lh, 1.6)) * .5em);
        content: ""
    }

    .single .titleArea .cAwards {
        flex-direction: row-reverse;
        padding-top: 4px;
        gap: 12px
    }

    .single .titleArea .cAwards li {
        width: 32.4px;
        height: 32.4px
    }

    .single .cClientInfo {
        margin-bottom: 49px
    }

    .single .bodyArea p {
        text-align: justify;
        text-align-last: left
    }

    .single .bodyArea p:before {
        display: block;
        width: 0;
        height: 0;
        margin-top: calc((1 - var(--lh, 1.6)) * .5em);
        content: ""
    }

    .single .bodyArea p:after {
        display: block;
        width: 0;
        height: 0;
        margin-bottom: calc((1 - var(--lh, 1.6)) * .5em);
        content: ""
    }

    .single .bodyArea p+p {
        margin-top: 30.2px
    }

    .single .bodyArea p+p:before {
        display: block;
        width: 0;
        height: 0;
        margin-top: calc((1 - var(--lh, 1.6)) * .5em);
        content: ""
    }

    .single .bodyArea p+p:after {
        display: block;
        width: 0;
        height: 0;
        margin-bottom: calc((1 - var(--lh, 1.6)) * .5em);
        content: ""
    }

    .single .boxCentered {
        width: calc(60.8333333333% + 64.8px);
        margin: 0 auto 129.6px
    }

    .single .gallery {
        margin: 0 var(--gap) var(--gap)
    }

    .single .gallery img {
        width: 100%;
        height: auto
    }

    .single .gallery>li {
        position: relative;
        background: var(--light-gray)
    }

    .single .gallery>li img {
        width: 100%;
        height: 100%;
        object-fit: cover
    }

    .single .gallery.threeSplit {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(2, 1fr);
        gap: var(--gap)
    }

    .single .gallery.threeSplit>li:nth-of-type(1) {
        grid-area: 1/1/3/2;
        aspect-ratio: auto
    }

    .single .gallery.threeSplit>li:nth-of-type(2) {
        grid-area: 1/2/2/3;
        aspect-ratio: auto 16/10
    }

    .single .gallery.threeSplit>li:nth-of-type(3) {
        grid-area: 2/2/3/3;
        aspect-ratio: auto 16/10
    }

    .single .gallery.threeSplit.pattern2>li:nth-of-type(1) {
        grid-area: 1/1/2/2;
        aspect-ratio: auto 16/10
    }

    .single .gallery.threeSplit.pattern2>li:nth-of-type(2) {
        grid-area: 2/1/3/2;
        aspect-ratio: auto 16/10
    }

    .single .gallery.threeSplit.pattern2>li:nth-of-type(3) {
        grid-area: 1/2/3/3;
        aspect-ratio: auto
    }

    .single .gallery.twoSplit {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: 1fr;
        gap: var(--gap)
    }

    .single .gallery.twoSplit>li {
        aspect-ratio: auto 225/287
    }

    .single .gallery.full>li {
        aspect-ratio: auto 16/10
    }
}

.single.isJa .bodyArea p {
    font-family: source-han-sans-japanese, Helvetica Neue, Arial, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, sans-serif;
    font-weight: 200
}

.single.isCn .bodyArea p {
    font-family: source-han-sans-simplified-c, Helvetica Neue, Arial, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, sans-serif;
    font-weight: 200
}

.home .fvHeader {
    position: absolute;
    left: 0;
    top: 0
}

.home .hero #kvSlider .heroImg {
    backface-visibility: hidden;
    transition-timing-function: linear;
    transform-origin: center;
    transition-delay: 2s;
    transform: scale(1);
    transition-property: transform
}

.home .hero #kvSlider .slick-active .heroImg {
    transition-duration: 8s !important;
    transform: scale(1.07);
    transition-delay: 0s
}

.home .hero #kvSlider .slide1 {
    animation: bg 8s linear;
    animation-iteration-count: 1
}

@media only screen and (max-width:850px) {
    .home .hero #kvSlider .slick-active .heroImg {
        transform: scale(1.1)
    }
}

@media only screen and (max-width:850px) {
    .home .projectList>li {
        position: relative;
        width: 100%;
        background: var(--light-gray)
    }

    .home .projectList>li+li {
        margin-top: 30px;
        aspect-ratio: auto 3/4
    }

    .home .projectList>li>a {
        display: block;
        width: 100%;
        text-decoration: none
    }
}

@media only screen and (max-width:850px) and (max-width:850px) {
    .home .projectList>li>a {
        font-size: 14px;
        line-height: 1.8
    }
}

@media only screen and (max-width:850px) and (min-width:851px) {
    .home .projectList>li>a {
        font-size: var(--fz-normal);
        line-height: 1.8
    }
}

@media only screen and (max-width:850px) {
    .home .projectList>li>a figure {
        position: relative;
        width: 100%;
        height: auto
    }

    .home .projectList>li>a figure img {
        width: 100%;
        height: auto
    }

    .home .projectList>li>a figure figcaption {
        position: absolute;
        right: 30px;
        bottom: 30px;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        color: var(--link-text);
        line-height: 1;
        text-align: right
    }

    .home .projectList>li>a .cAwards {
        position: absolute;
        left: 30px;
        top: 30px
    }

    .home .clientLogos {
        display: flex;
        flex-wrap: wrap;
        gap: 30px 18px;
        width: 87.6923%;
        margin: 0 auto
    }

    .home .clientLogos li {
        width: calc((100% - 18px)/2)
    }

    .home .section8 .cTextBox2 {
        padding-bottom: 62px
    }

    .home .section9 {
        padding-bottom: 70px
    }
}

@media only screen and (min-width:851px) {
    .home .projectList {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(3, auto);
        gap: var(--gap);
        padding: 0 var(--gap)
    }

    .home .projectList>li:nth-of-type(1) {
        grid-area: 1/1/3/2;
        aspect-ratio: auto
    }

    .home .projectList>li:nth-of-type(2) {
        grid-area: 1/2/2/3;
        aspect-ratio: auto 16/10
    }

    .home .projectList>li:nth-of-type(3) {
        grid-area: 2/2/3/3;
        aspect-ratio: auto 16/10
    }

    .home .projectList>li:nth-of-type(4) {
        grid-area: 3/1/4/3;
        aspect-ratio: auto 16/9
    }

    .home .projectList.pattern2>li:nth-of-type(1) {
        grid-area: 1/1/2/2;
        aspect-ratio: auto 16/10
    }

    .home .projectList.pattern2>li:nth-of-type(2) {
        grid-area: 2/1/3/2;
        aspect-ratio: auto 16/10
    }

    .home .projectList.pattern2>li:nth-of-type(3) {
        grid-area: 1/2/3/3;
        aspect-ratio: auto
    }

    .home .projectList.pattern2>li:nth-of-type(4) {
        grid-area: 3/1/5/3;
        aspect-ratio: auto 16/9
    }

    .home .projectList>li {
        position: relative;
        display: flex;
        flex-direction: column;
        background: var(--light-gray)
    }

    .home .projectList>li>a {
        display: block;
        flex-grow: 0;
        width: 100%;
        text-decoration: none
    }

    .home .projectList>li>a figure {
        overflow: hidden
    }

    .home .projectList>li>a figure img {
        transform: scale(1);
        transition: transform 1.6s cubic-bezier(.215, .61, .355, 1)
    }

    .home .projectList>li>a:hover figure img {
        transform: scale(1.04)
    }
}

@media only screen and (min-width:851px) and (max-width:850px) {
    .home .projectList>li>a {
        font-size: 14px;
        line-height: 1.8
    }
}

@media only screen and (min-width:851px) and (min-width:851px) {
    .home .projectList>li>a {
        font-size: var(--fz-normal);
        line-height: 1.8
    }
}

@media only screen and (min-width:851px) {
    .home .projectList>li>a figure {
        position: relative;
        width: 100%;
        height: auto
    }

    .home .projectList>li>a figure img {
        width: 100%;
        height: auto
    }

    .home .projectList>li>a figure figcaption {
        position: absolute;
        right: 32.4px;
        bottom: 20.4px;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        color: var(--link-text);
        line-height: 1;
        text-align: right
    }

    .home .projectList>li>a .cAwards {
        position: absolute;
        left: 32.4px;
        top: 32.4px
    }

    .home .clientLogos {
        display: flex;
        flex-wrap: wrap;
        gap: 61.2px 80.4px;
        width: calc(52.0833333333% + 321.6px);
        margin: 0 auto;
        line-height: 1
    }

    .home .clientLogos li {
        width: calc((100% - 321.6px)/5)
    }

    .home .section2 .cTextBox {
        padding-top: 92.6px
    }

    .home .section8 .cTextBox2 {
        padding-bottom: 98px
    }

    .home .section9 {
        padding-bottom: calc(88px + var(--gap))
    }
}

.home.isJa .cTextBox .title,
.home.isJa .cTextBox2 .title {
    font-feature-settings: "palt";
    font-family: source-han-sans-japanese, Helvetica Neue, Arial, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, sans-serif;
    font-weight: 500
}

.home.isJa .cTextBox .liner,
.home.isJa .cTextBox2 .liner {
    font-family: source-han-sans-japanese, Helvetica Neue, Arial, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, sans-serif;
    font-weight: 200
}

@media only screen and (min-width:851px) {
    .home.isJa .section8 .cTextBox2 .title {
        width: clamp(90px, 90%, 420px)
    }
}

.home.isCn .cTextBox .title,
.home.isCn .cTextBox2 .title {
    font-feature-settings: "palt";
    font-family: source-han-sans-simplified-c, Helvetica Neue, Arial, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, sans-serif;
    font-weight: 500
}

.home.isCn .cTextBox .liner,
.home.isCn .cTextBox2 .liner {
    font-family: source-han-sans-simplified-c, Helvetica Neue, Arial, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, sans-serif;
    font-weight: 200
}

@media only screen and (min-width:851px) {
    .home.isCn .section8 .cTextBox2 .title {
        width: clamp(90px, 90%, 420px)
    }
}

@media only screen and (max-width:850px) {
    .services .section2 .cTextBox2 .title {
        margin-bottom: 44px
    }

    .services .section4 {
        padding-top: 4px
    }

    .services .section4 .cTextBox2 .title {
        margin-bottom: 44px
    }

    .services .section5 {
        padding-bottom: 90px
    }

    .services .section5 .cTextBox2 {
        padding-top: 84px
    }

    .services .section5 .cTextBox2 .title {
        margin-bottom: 44px
    }

    .services .projectShowcase {
        position: relative;
        display: flex;
        width: 100%;
        overflow: hidden;
        margin-bottom: 90px
    }

    .services .projectShowcase ul {
        padding: 0;
        width: 100%;
        width: calc((100% + 30px)*4);
        display: flex;
        flex-shrink: 0
    }

    .services .projectShowcase ul:first-of-type {
        animation: slide1 var(--speed-showcase) var(--speed-showcase2) linear infinite
    }

    .services .projectShowcase ul:last-of-type {
        animation: slide2 var(--speed-showcase) linear infinite
    }

    .services .projectShowcase li {
        --gap: 30px;
        position: relative;
        margin-right: var(--gap)
    }

    .services .projectShowcase li img {
        width: 100%;
        height: auto
    }

    .services .projectShowcase li img+img {
        margin-top: var(--gap)
    }

    .services .projectList>li {
        position: relative;
        width: 100%;
        background: var(--light-gray)
    }

    .services .projectList>li img {
        width: 100%;
        height: auto
    }

    .services .projectList>li+li {
        margin-top: 30px
    }

    .services .cSectionGray .projectList>li {
        background: #e9e9e9
    }
}

@media only screen and (min-width:851px) {
    .services .section2 .cTextBox2 {
        padding-top: 92px
    }

    .services .section2 .cTextBox2 .title {
        width: clamp(90px, 100%, 456px)
    }

    .services .section4 {
        padding-bottom: 129.6px
    }

    .services .section4 .cTextBox2 {
        padding-bottom: 115.8px
    }

    .services .section4 .cTextBox2 .title {
        width: 80%;
        width: clamp(90px, 100%, 456px)
    }

    .services .section5 {
        padding-bottom: 129.6px
    }

    .services .section5 .cTextBox2 {
        padding-top: 113.2px
    }

    .services .section5 .cTextBox2 .title {
        width: 80%;
        width: clamp(90px, 90%, 420px)
    }

    .services .projectShowcase {
        position: relative;
        display: flex;
        width: 100%;
        overflow: hidden;
        margin-bottom: 129.6px
    }

    .services .projectShowcase ul {
        padding: 0;
        width: 100%;
        width: calc(121.6666666667% + 172.8px);
        display: flex;
        flex-shrink: 0
    }

    .services .projectShowcase ul:first-of-type {
        animation: slide1 var(--speed-showcase) var(--speed-showcase2) linear infinite
    }

    .services .projectShowcase ul:last-of-type {
        animation: slide2 var(--speed-showcase) linear infinite
    }

    .services .projectShowcase li {
        position: relative;
        margin-right: var(--gap)
    }

    .services .projectShowcase li img {
        width: 100%;
        height: auto
    }

    .services .projectShowcase li img+img {
        margin-top: var(--gap)
    }

    .services .projectList {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(2, 1fr);
        gap: var(--gap);
        width: calc(60.8333333333% + 64.8px);
        margin: 0 auto
    }

    .services .projectList img {
        width: 100%;
        height: auto
    }

    .services .projectList>li {
        position: relative;
        background: var(--light-gray)
    }

    .services .projectList>li:nth-of-type(1) {
        grid-area: 1/1/3/2
    }

    .services .projectList>li:nth-of-type(1) img {
        width: 100%;
        height: 100%;
        object-fit: cover
    }

    .services .projectList>li:nth-of-type(2) {
        grid-area: 1/2/2/3
    }

    .services .projectList>li:nth-of-type(3) {
        grid-area: 2/2/3/3
    }

    .services .projectList.pattern2>li:nth-of-type(1) {
        grid-area: 1/1/2/2
    }

    .services .projectList.pattern2>li:nth-of-type(2) {
        grid-area: 2/1/3/2
    }

    .services .projectList.pattern2>li:nth-of-type(3) {
        grid-area: 1/2/3/3
    }

    .services .projectList.pattern2>li:nth-of-type(3) img {
        width: 100%;
        height: 100%;
        object-fit: cover
    }

    .services .cSectionGray .projectList>li {
        background: #e9e9e9
    }
}

.services.isJa .title,
.services.isJa .cTitle2 {
    font-feature-settings: "palt";
    font-family: source-han-sans-japanese, Helvetica Neue, Arial, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, sans-serif;
    font-weight: 500
}

.services.isJa .liner {
    font-family: source-han-sans-japanese, Helvetica Neue, Arial, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, sans-serif;
    font-weight: 200
}

.services.isCn .title,
.services.isCn .cTitle2 {
    font-feature-settings: "palt";
    font-family: source-han-sans-simplified-c, Helvetica Neue, Arial, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, sans-serif;
    font-weight: 500
}

.services.isCn .liner {
    font-family: source-han-sans-simplified-c, Helvetica Neue, Arial, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, sans-serif;
    font-weight: 200
}

.about .section1 .cTextBox3 .imageArea:before {
    content: url(/wp-content/uploads/about_s1_01.jpg);
    display: none
}

.about .section1 .cTextBox3 .imageArea figure {
    aspect-ratio: 80/113
}

.about table li {
    text-align: left
}

@media only screen and (max-width:850px) {
    .about .section1 {
        padding-top: var(--fv-header-h)
    }

    .about .section1 .cSectionTitle {
        margin-bottom: 14px
    }

    .about .section1 .liner+.liner {
        padding-top: .6em
    }

    .about .section2 .cSectionTitle {
        margin-bottom: 45px
    }

    .about .section2 .textArea+.textArea {
        padding-top: 72px
    }

    .about .section2 .textArea+.textArea .cSectionTitle {
        margin-bottom: 32px
    }

    .about .section2 .cTextBox3 {
        padding-bottom: 70px
    }

    .about .titleWithIcon {
        display: flex;
        align-items: flex-end;
        justify-content: space-between;
        margin-bottom: 34px
    }

    .about .titleWithIcon .cSectionTitle {
        margin-bottom: 0
    }

    .about .titleWithIcon .cAwards {
        gap: 10px
    }

    .about .titleWithIcon .cAwards li {
        width: 28px;
        height: 28px
    }

    .about .timelines {
        width: calc(100% + 5px)
    }

    .about .timelines th {
        width: 60px
    }

    .about .timelines th,
    .about .timelines td {
        line-height: 1.3;
        padding-bottom: 13px
    }

    .about .timelines li {
        line-height: 1.3;
        letter-spacing: -.01em
    }

    .about .timelines li+li {
        padding-top: 6px
    }

    .about .section3 .cSectionTitle {
        margin-bottom: 20px
    }

    .about .section3 .liner {
        margin-bottom: 30px
    }

    .about .section3 dl+dl {
        padding-top: .6em
    }
}

@media only screen and (min-width:851px) {
    .about .section1 .cSectionTitle {
        margin-bottom: 12px
    }

    .about .section1 .cTextBox3 {
        padding-bottom: 128.6px
    }

    .about .section1 .liner+.liner {
        padding-top: .5em
    }

    .about .section2 .cSectionTitle {
        margin-bottom: 38px
    }

    .about .titleWithIcon {
        display: flex;
        gap: 32.4px
    }

    .about .titleWithIcon .cAwards {
        gap: 12px
    }

    .about .titleWithIcon .cAwards li {
        width: 27.6px;
        height: 27.6px
    }

    .about .timelines th {
        width: 64.8px
    }

    .about .timelines th,
    .about .timelines td {
        line-height: 1.3;
        padding-bottom: 6px
    }

    .about .timelines li {
        padding-bottom: 8.64px
    }

    .about .section3 .cTextBox3 {
        padding-bottom: calc(100px + var(--gap))
    }

    .about .section3 .cSectionTitle {
        margin-bottom: 16.4px
    }

    .about .section3 .liner {
        margin-bottom: 28.2px
    }

    .about .section3 dl {
        display: flex
    }

    .about .section3 dl+dl {
        padding-top: .1em
    }

    .about .section3 dt {
        width: 151.2px
    }

    .about .section3 dd {
        width: calc(100% - 151.2px)
    }

    .about .section3 .address {
        margin-bottom: 12px
    }
}

.about.isJa .section1 .cSectionTitle span,
.about.isJa .liner,
.about.isJa table th,
.about.isJa table td,
.about.isJa .info dt,
.about.isJa .info dd {
    font-family: source-han-sans-japanese, Helvetica Neue, Arial, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, sans-serif;
    font-weight: 200
}

.about.isCn .section1 .cSectionTitle span,
.about.isCn .liner,
.about.isCn table th,
.about.isCn table td,
.about.isCn .info dt,
.about.isCn .info dd {
    font-family: source-han-sans-simplified-c, Helvetica Neue, Arial, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, sans-serif;
    font-weight: 200
}

.contact .newsletter-cf7 .wpcf7-response-output {
    display: none
}

.contact .infos a {
    color: var(--main-text);
    transition: color var(--speed-hover)
}

.contact .infos a:hover {
    color: var(--link-text)
}

@media only screen and (max-width:850px) {
    .contact section {
        padding: var(--fv-header-h) 30px 90px
    }

    .contact .message {
        padding-bottom: 88px
    }

    .contact .infos {
        padding-top: 54.5px
    }

    .contact .infos dt {
        text-align: center;
        color: var(--link-text);
        padding-bottom: 10px
    }

    .contact .infos dt:before {
        display: block;
        width: 0;
        height: 0;
        margin-top: calc((1 - var(--lh, 1.6)) * .5em);
        content: ""
    }

    .contact .infos dt:after {
        display: block;
        width: 0;
        height: 0;
        margin-bottom: calc((1 - var(--lh, 1.6)) * .5em);
        content: ""
    }

    .contact .infos dd:not(.newsletter-cf7) {
        text-align: center
    }

    .contact .infos dd:not(.newsletter-cf7):before {
        display: block;
        width: 0;
        height: 0;
        margin-top: -.4em;
        content: ""
    }

    .contact .infos dd:not(.newsletter-cf7):after {
        display: block;
        width: 0;
        height: 0;
        margin-bottom: -.4em;
        content: ""
    }

    .contact .info1 {
        border-top: var(--border-size) solid var(--gray);
        padding-top: 85px
    }

    .contact .info4 dt {
        padding-bottom: 13px
    }

    .contact .info4 .newsletter-cf7 .cSubmit {
        margin-top: 20px
    }

    .contact .cSubmit {
        margin-top: 40px
    }

    .contact .thanksArea {
        position: absolute;
        left: 30px;
        top: 384px;
        width: calc(100% - 60px)
    }
}

@media only screen and (min-width:851px) {
    .contact section {
        padding: 126.6px 0 129.6px
    }

    .contact .gridBox {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(5, auto);
        grid-column-gap: 54px;
        grid-row-gap: 18.6px;
        width: calc(60.8333333333% + 64.8px);
        margin: 0 auto
    }

    .contact .info1 {
        grid-area: 1/1/2/2
    }

    .contact .info2 {
        grid-area: 2/1/3/2
    }

    .contact .info3 {
        grid-area: 3/1/4/2
    }

    .contact .info4 {
        grid-area: 4/1/5/2
    }

    .contact .cFormArea .wpcf7,
    .contact .cFormArea form {
        display: contents;
        line-height: inherit
    }

    .contact .name {
        grid-area: 1/2/2/3
    }

    .contact .email {
        grid-area: 2/2/3/3
    }

    .contact .company {
        grid-area: 3/2/4/3
    }

    .contact .message {
        grid-area: 4/2/5/3
    }

    .contact .thanksArea {
        grid-area: 1/2/5/3
    }

    .contact .thanksArea {
        z-index: 1
    }

    .contact .infos dt {
        color: var(--link-text);
        padding-bottom: 10px
    }

    .contact .infos dt:before {
        display: block;
        width: 0;
        height: 0;
        margin-top: calc((1 - var(--lh, 1.6)) * .5em);
        content: ""
    }

    .contact .infos dt:after {
        display: block;
        width: 0;
        height: 0;
        margin-bottom: calc((1 - var(--lh, 1.6)) * .5em);
        content: ""
    }

    .contact .infos dd:not(.newsletter-cf7):before {
        display: block;
        width: 0;
        height: 0;
        margin-top: -.4em;
        content: ""
    }

    .contact .infos dd:not(.newsletter-cf7):after {
        display: block;
        width: 0;
        height: 0;
        margin-bottom: -.4em;
        content: ""
    }

    .contact .info4 {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        padding-top: 23px
    }

    .contact .info4 dt {
        padding-bottom: 16px
    }

    .contact .cFormArea form .cFormParts {
        width: 100%;
        padding-top: 3px
    }

    .contact .cFormArea form .cSubmit {
        margin-top: 38.2px
    }
}

.contact.isJa .info1 dt,
.contact.isJa .info2 dt,
.contact.isJa .info3 dt,
.contact.isJa .newsletter-form dt {
    font-family: source-han-sans-japanese, Helvetica Neue, Arial, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, sans-serif;
    font-weight: 200
}

.contact.isCn .info1 dt,
.contact.isCn .info2 dt,
.contact.isCn .info3 dt,
.contact.isCn .info4 .infos:not(.newsletter-form) dd,
.contact.isCn .newsletter-form dt {
    font-family: source-han-sans-simplified-c, Helvetica Neue, Arial, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, sans-serif;
    font-weight: 200
}

.concept .hero #kvSlider .heroImg {
    backface-visibility: hidden;
    transform: scale(1.1) translate(0);
    transition-property: transform
}

.concept .hero #kvSlider .heroTitle {
    position: relative
}

.concept .hero #kvSlider .heroTitle .title {
    display: inline-block;
    cursor: pointer
}

@media only screen and (max-width:850px) {
    .concept .hero #kvSlider .heroTextArea {
        text-align: left;
        letter-spacing: -.03em
    }

    .concept .hero #kvSlider .heroTitle {
        width: 100%
    }

    .concept .hero #kvSlider .title {
        font-size: 7vw
    }

    .concept .hero #kvSlider .count {
        position: absolute;
        left: 0;
        bottom: -40px;
        line-height: 1
    }
}

@media only screen and (min-width:851px) {
    .concept .hero #kvSlider .heroTextArea {
        left: calc(15.2083333333vw + 21.6px);
        width: 600px
    }

    .concept .hero #kvSlider .heroTextArea5 {
        width: 700px
    }

    .concept .hero #kvSlider .count {
        position: absolute;
        left: 0;
        bottom: -43.2px;
        line-height: 1
    }
}

.concept #footer {
    display: none
}

.concept.isJa .title {
    font-feature-settings: "palt";
    font-family: source-han-sans-japanese, Helvetica Neue, Arial, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, sans-serif;
    font-weight: 500
}

.concept.isCn .title {
    font-feature-settings: "palt";
    font-family: source-han-sans-simplified-c, Helvetica Neue, Arial, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, sans-serif;
    font-weight: 500
}

.error404 .fvHeader {
    position: absolute;
    left: 0;
    top: 0
}

.error404 .title {
    color: var(--link-text)
}

.error404 .liner {
    text-align: center;
    text-align-last: center
}

.error404 .section1 {
    height: 100vh;
    height: 100svh;
    position: relative;
    display: flex;
    align-items: center
}

@media only screen and (max-width:850px) {
    .error404 .section1 {
        padding-bottom: 7px
    }

    .error404 .title {
        margin-bottom: 18px
    }
}

@media only screen and (min-width:851px) {
    .error404 .section1 {
        padding-bottom: 10px
    }

    .error404 .title {
        margin-bottom: 24px
    }

    .error404 .cBtn1 {
        margin-top: 38px
    }
}

.error404.isJa .title {
    font-feature-settings: "palt";
    font-family: source-han-sans-japanese, Helvetica Neue, Arial, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, sans-serif;
    font-weight: 500
}

.error404.isJa .liner {
    font-family: source-han-sans-japanese, Helvetica Neue, Arial, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, sans-serif;
    font-weight: 200
}

.error404.isCn .title {
    font-feature-settings: "palt";
    font-family: source-han-sans-simplified-c, Helvetica Neue, Arial, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, sans-serif;
    font-weight: 500
}

.error404.isCn .liner {
    font-family: source-han-sans-simplified-c, Helvetica Neue, Arial, Hiragino Kaku Gothic ProN, Hiragino Sans, Meiryo, sans-serif;
    font-weight: 200
}

.page-template-page-mailpoet-confirm .fvHeader {
    position: absolute;
    left: 0;
    top: 0
}

.page-template-page-mailpoet-confirm .title {
    color: var(--link-text)
}

.page-template-page-mailpoet-confirm .liner {
    text-align: center;
    text-align-last: center
}

.page-template-page-mailpoet-confirm .hero {
    position: relative;
    display: flex;
    align-items: center;
    padding: 0
}

.page-template-page-mailpoet-confirm .hero:before {
    position: absolute;
    inset: var(--gap);
    z-index: -1;
    content: "";
    display: block;
    background: var(--light-gray)
}

@media only screen and (max-width:850px) {
    .page-template-page-mailpoet-confirm .hero:before {
        top: 0;
        right: 0;
        bottom: 0;
        left: 0
    }

    .page-template-page-mailpoet-confirm .title {
        margin-bottom: 18px
    }
}

@media only screen and (min-width:851px) {
    .page-template-page-mailpoet-confirm .hero {
        padding-bottom: 10px
    }

    .page-template-page-mailpoet-confirm .title {
        margin-bottom: 24px
    }

    .page-template-page-mailpoet-confirm .cBtn1 {
        margin-top: 38px
    }
}

@media print {

    header,
    footer,
    #menu {
        display: none !important
    }

    img {
        max-width: 100%;
        width: auto;
        height: auto
    }

    section {
        display: block !important
    }
}peed-hover)}.fvHeader .navi a:hover:after{transform:translate(0)}.fvHeader .lang,.fvHeader .wpml-ls-statics-footer.wpml-ls.wpml-ls-legacy-list-vertical{padding-top:5.5px}.single .fvHeader,.concept .fvHeader,.services .fvHeader{position:absolute;left:0;top:0}#header{position:fixed;left:0;top:0;z-index:var(--zheader);align-items:center;background:rgba(var(--pure-blackRGB),.9);color:#fff;opacity:0;transform:translateY(calc(var(--header-h) * -1));transition:transform 1s,opacity .5s .3s;width:100%;height:var(--header-h)}#header a{color:#fff}#header.shown{transform:translateY(0);opacity:1}#header .box1{position:relative;width:100%;height:100%;display:flex;justify-content:space-between;padding:0 55px 0 64px}#header .textlogo{display:flex;justify-content:center;align-items:center;line-height:1;width:77.5px}#header .textlogo svg{width:100%;height:auto}#header .textlogo path{fill:#fff}#header .navi{position:absolute;left:50%;transform:translate(-50%,.3em);display:inline-flex;justify-content:center;gap:54px;padding-left:0;line-height:1}}@media only screen and (min-width:851px) and (max-width:850px){#header .navi{font-size:14px;line-height:1.8}}@media only screen and (min-width:851px) and (min-width:851px){#header .navi{font-size:var(--fz-normal);line-height:1.8}}@media only screen and (min-width:851px){#header .navi li{position:relative;padding-top:.2em}#header .navi a{padding-bottom:.08em;position:relative;display:block;overflow:hidden}#header .navi a:after{position:absolute;left:0;bottom:0;width:100%;height:100%;content:"";display:block;border-bottom:var(--border-size) solid;transform:translate(-101%);transform-origin:left top;transition:transform var(--speed-hover)}#header .navi a:hover:after{transform:translate(0)}#header .lang{align-items:center;transform:translateY(-.1em)}#header .lang a{color:var(--gray);transition:color .5s}#header .lang a:before{border-color:var(--gray)}#header .lang a.active,#header .lang a:hover{color:var(--white)}#header .wpml-ls-statics-footer.wpml-ls.wpml-ls-legacy-list-vertical{align-items:center;transform:translateY(-.1em)}#header .wpml-ls-statics-footer.wpml-ls.wpml-ls-legacy-list-vertical ul a{color:var(--gray);transition:color .5s}#header .wpml-ls-statics-footer.wpml-ls.wpml-ls-legacy-list-vertical ul a:before{border-color:var(--gray)}#header .wpml-ls-statics-footer.wpml-ls.wpml-ls-legacy-list-vertical ul a:hover,#header .wpml-ls-statics-footer.wpml-ls.wpml-ls-legacy-list-vertical ul .wpml-ls-current-language a.wpml-ls-link{color:var(--white)}#menuBtn,#menu{display:none}}.copyright{color:var(--link-text);line-height:1}@media only screen and (max-width:850px){.copyright{font-size:14px;line-height:1.8}}@media only screen and (min-width:851px){.copyright{font-size:var(--fz-normal);line-height:1.8}}#footer,#footer:link,#footer:visited,#footer:hover,#footer:active{color:var(--link-text)}#footer .forContact{display:none}#footer .forPages,.contact #footer .forContact{display:block}.contact #footer .forPages{display:none}@media only screen and (max-width:850px){#footer{width:calc(100% - 60px);margin:0 auto;display:flex;flex-direction:column-reverse;gap:20px;padding:0 0 30px;align-items:center}#footer .box{display:flex;justify-content:center;align-items:center;width:100%;background-color:var(--light-gray);height:80px}}@media only screen and (min-width:851px){#footer{width:100%;display:flex;padding:0 var(--gap) var(--gap) var(--gap);gap:var(--gap);align-items:center}#footer .box{display:flex;justify-content:center;align-items:center;width:100%;background-color:var(--light-gray);height:129.6px}}.pagenation{font-family:acumin-pro,Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif;font-weight:600;color:var(--title-text);font-size:var(--fz-btn);line-height:1.4;color:var(--main-text);margin:2em 0;text-align:center}.pagenation:before{display:block;width:0;height:0;margin-top:calc((1 - 1.4) * .5em);content:""}.pagenation:after{display:block;width:0;height:0;margin-bottom:calc((1 - 1.4) * .5em);content:""}.pagenation a{text-decoration:none;color:var(--link-text)}.pagenation a:hover{opacity:.75;transition:opacity .3s cubic-bezier(.215,.61,.355,1)}.pagenationInner{display:flex;justify-content:center;align-items:center;margin-top:1em}.pagenationNum{display:block;margin:0 .5em;transition:.4s ease}.pagenationNum.current{color:var(--main-text)}.pagenation .prev{margin-right:.5em}.pagenation .next{margin-left:.5em}.pagenation .first{margin-right:1em}.pagenation .last{margin-left:1em}a,input,select,option,button{outline:0}.cFormParts input,.cFormParts textarea{position:relative;border:none;background:var(--light-gray);border-radius:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;box-sizing:border-box;margin:0;line-height:1.2;outline:none;color:var(--link-text)}@media only screen and (max-width:850px){.cFormParts input,.cFormParts textarea{font-size:14px;line-height:1.8}}@media only screen and (min-width:851px){.cFormParts input,.cFormParts textarea{font-size:var(--fz-normal);line-height:1.8}}.cFormParts input::placeholder,.cFormParts textarea::placeholder{color:var(--placeholder)}@media only screen and (max-width:850px){.cFormParts input{height:55px;padding:0 20px}}@media only screen and (min-width:851px){.cFormParts input{height:54px;padding:0 var(--gap)}}.cFormParts textarea{border:none;resize:none;scrollbar-width:thin;scrollbar-color:var(--link-text) transparent}@media only screen and (max-width:850px){.cFormParts textarea{font-size:14px;line-height:1.8}}@media only screen and (min-width:851px){.cFormParts textarea{font-size:var(--fz-normal);line-height:1.8}}@media only screen and (max-width:850px){.cFormParts textarea{height:270px;padding:12px 20px}}@media only screen and (min-width:851px){.cFormParts textarea{height:259.2px;padding:16px var(--gap)}}.cFormParts textarea::-webkit-scrollbar{width:1px}.cFormParts textarea::-webkit-scrollbar-thumb{background-color:var(--link-text)}.cFormParts textarea::-webkit-scrollbar-track{background-color:transparent}.cFormParts{position:relative}@media only screen and (max-width:850px){.cFormParts{margin-bottom:20px}}.cSubmit{position:relative;display:flex;align-items:center;justify-content:flex-end}.cSubmit>button,.cSubmit>input{cursor:pointer;display:inline;align-items:center;width:auto;margin:0;padding:0;line-height:1.3!important;border:none;color:var(--link-text);background:transparent;text-decoration:none}@media only screen and (max-width:850px){.cSubmit>button,.cSubmit>input{font-size:14px;line-height:1.8}}@media only screen and (min-width:851px){.cSubmit>button,.cSubmit>input{font-size:var(--fz-normal);line-height:1.8}}.cSubmit .icon{position:relative;display:flex;justify-content:center;align-items:center;width:auto;height:.85em;overflow:hidden;transform:translateY(.05em);padding-left:8px}@media only screen and (max-width:850px){.cSubmit .icon{padding-top:2px;padding-left:8px;height:16px}}.cSubmit .icon img{transition:transform .2s linear,opacity .1s linear;backface-visibility:hidden;width:auto;height:100%;opacity:1;transform:translate(0)}.cSubmit.disabled{cursor:default;color:var(--main-text);opacity:.5}.cSubmit.disabled .icon img{opacity:0;transform:translate(-50%);transition:none}.cSubmit:not(.disabled):hover .icon img{animation:arrow .8s cubic-bezier(.19,1,.22,1) 0s 1 normal both}.thanksArea{visibility:hidden;display:flex;align-items:center;justify-content:center;background:var(--light-gray)}.thanksArea.shown{visibility:visible}.thanksArea dl{display:flex;flex-direction:column;align-items:center;text-align:center}.thanksArea dt{font-family:acumin-pro,Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif;font-weight:600;margin-bottom:1em;color:var(--link-text)}@media only screen and (max-width:850px){.thanksArea dt{font-size:27.3px;line-height:1.399}}@media only screen and (min-width:851px){.thanksArea dt{font-size:35.16px;line-height:1.4}}.thanksArea dd{color:var(--main-text)}@media only screen and (max-width:850px){.thanksArea dd{font-size:14px;line-height:1.8}}@media only screen and (min-width:851px){.thanksArea dd{font-size:var(--fz-normal);line-height:1.8}}@media only screen and (max-width:850px){.thanksArea{height:270px;padding:12px 20px}.thanksArea dt{font-size:17.5px}}@media only screen and (min-width:851px){.thanksArea{height:488.2px}.thanksArea dt{font-size:22.56px}}.wpcf7 .wpcf7-submit:disabled{cursor:default!important}.wpcf7-not-valid-tip{color:var(--red)}.wpcf7 form.init .wpcf7-response-output{border-color:var(--main-text)}.wpcf7 form.invalid .wpcf7-response-output{border-color:var(--red)!important;color:var(--red)!important;padding:1em;margin-left:0;margin-right:0}@media only screen and (max-width:850px){.wpcf7 form.invalid .wpcf7-response-output{text-align:center}}@media only screen and (min-width:851px){.wpcf7 form.invalid .wpcf7-response-output{text-align:left}}.wpcf7 form.sent .wpcf7-response-output{display:none}.wpcf7-spinner{display:none!important}.isJa .thanksArea dt{font-feature-settings:"palt";font-family:source-han-sans-japanese,Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif;font-weight:500}.isJa .wpcf7-not-valid-tip,.isJa .wpcf7-response-output,.isJa .cFormParts input,.isJa .cFormParts textarea,.isJa .thanksArea dd{font-family:source-han-sans-japanese,Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif;font-weight:200}.isCn .thanksArea dt{font-feature-settings:"palt";font-family:source-han-sans-simplified-c,Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif;font-weight:500}.isCn .wpcf7-not-valid-tip,.isCn .wpcf7-response-output,.isCn .cFormParts input,.isCn .cFormParts textarea,.isCn .thanksArea dd{font-family:source-han-sans-simplified-c,Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif;font-weight:200}@media only screen and (max-width:850px){.archive .section1,.projects .section1{margin:-10px;padding:var(--fv-header-h) 30px 48px}.archive .cSelectCat .selectCheckbox,.projects .cSelectCat .selectCheckbox{display:none}.archive .cSelectCat .selectTitle,.projects .cSelectCat .selectTitle{display:flex;justify-content:center;align-items:center;gap:10px;padding-top:2px;line-height:1;color:var(--link-text)}}@media only screen and (max-width:850px) and (max-width:850px){.archive .cSelectCat .selectTitle,.projects .cSelectCat .selectTitle{font-size:14px;line-height:1.8}}@media only screen and (max-width:850px) and (min-width:851px){.archive .cSelectCat .selectTitle,.projects .cSelectCat .selectTitle{font-size:var(--fz-normal);line-height:1.8}}@media only screen and (max-width:850px){.archive .cSelectCat .selectTitle .icon,.projects .cSelectCat .selectTitle .icon{position:relative;display:flex;justify-content:center;align-items:center;width:auto;height:.85em;overflow:hidden;transform:translateY(10%) rotate(90deg);height:13px}.archive .cSelectCat .selectTitle .icon img,.projects .cSelectCat .selectTitle .icon img{backface-visibility:hidden;width:auto;height:100%}.archive .cSelectCat .selectMenus,.projects .cSelectCat .selectMenus{height:0;overflow:hidden;backface-visibility:hidden;transition:all .3s}.archive .cSelectCat .selectCheckbox:checked+.selectTitle+.selectMenus,.projects .cSelectCat .selectCheckbox:checked+.selectTitle+.selectMenus{height:auto;padding:46px 0 15px}.archive .cSelectCat .selectCheckbox:checked+.selectTitle .icon,.projects .cSelectCat .selectCheckbox:checked+.selectTitle .icon{transform:translateY(10%) rotate(-90deg)}.archive .cSelectCat .navi,.projects .cSelectCat .navi{display:flex;justify-content:center;flex-wrap:wrap;gap:29.5px min(45px,15.71%);line-height:1;width:100%;margin:0 auto}}@media only screen and (max-width:850px) and (max-width:850px){.archive .cSelectCat .navi,.projects .cSelectCat .navi{font-size:14px;line-height:1.8}}@media only screen and (max-width:850px) and (min-width:851px){.archive .cSelectCat .navi,.projects .cSelectCat .navi{font-size:var(--fz-normal);line-height:1.8}}@media only screen and (max-width:850px){.archive .cSelectCat .navi li,.projects .cSelectCat .navi li{position:relative;width:22.857%;text-align:center}.archive .cSelectCat .navi li:nth-of-type(1),.projects .cSelectCat .navi li:nth-of-type(1){order:1}.archive .cSelectCat .navi a:link,.projects .cSelectCat .navi a:link,.archive .cSelectCat .navi a:visited,.projects .cSelectCat .navi a:visited,.archive .cSelectCat .navi a:hover,.projects .cSelectCat .navi a:hover,.archive .cSelectCat .navi a:active,.projects .cSelectCat .navi a:active{color:var(--main-text)}.archive .cSelectCat .navi .disabled,.projects .cSelectCat .navi .disabled,.archive .cSelectCat .navi .disabled a span,.projects .cSelectCat .navi .disabled a span{color:var(--gray)}.archive .cSelectCat .navi .disabled a,.projects .cSelectCat .navi .disabled a{pointer-events:none}.archive .cSelectCat .navi .disabled .txt:before,.projects .cSelectCat .navi .disabled .txt:before{display:none}.archive .cSelectCat .navi .active a:link,.projects .cSelectCat .navi .active a:link,.archive .cSelectCat .navi .active a:visited,.projects .cSelectCat .navi .active a:visited,.archive .cSelectCat .navi .active a:hover,.projects .cSelectCat .navi .active a:hover,.archive .cSelectCat .navi .active a:active,.projects .cSelectCat .navi .active a:active{color:var(--link-text)}.archive .projectList,.projects .projectList{padding-bottom:30px}.archive .projectList>li,.projects .projectList>li{position:relative;width:100%;background:var(--light-gray);aspect-ratio:3/4}.archive .projectList>li+li,.projects .projectList>li+li{margin-top:30px}.archive .projectList>li>a,.projects .projectList>li>a{display:block;width:100%;height:100%;text-decoration:none}}@media only screen and (max-width:850px) and (max-width:850px){.archive .projectList>li>a,.projects .projectList>li>a{font-size:14px;line-height:1.8}}@media only screen and (max-width:850px) and (min-width:851px){.archive .projectList>li>a,.projects .projectList>li>a{font-size:var(--fz-normal);line-height:1.8}}@media only screen and (max-width:850px){.archive .projectList>li>a figure,.projects .projectList>li>a figure{position:relative;width:100%;height:100%}.archive .projectList>li>a figure img,.projects .projectList>li>a figure img{width:100%;height:auto}.archive .projectList>li>a figure figcaption,.projects .projectList>li>a figure figcaption{position:absolute;right:30px;bottom:30px;display:flex;justify-content:flex-end;align-items:center;color:var(--link-text);line-height:1;text-align:right}.archive .projectList>li>a .cAwards,.projects .projectList>li>a .cAwards{position:absolute;left:30px;top:30px}}@media only screen and (min-width:851px){.archive .cSelectCat .selectCheckbox,.archive .cSelectCat .selectTitle,.projects .cSelectCat .selectCheckbox,.projects .cSelectCat .selectTitle{display:none}.archive .cSelectCat .navi,.projects .cSelectCat .navi{display:flex;align-items:center;justify-content:center;gap:54.48px;min-height:129.6px;padding-top:11px;padding-right:7.5px;line-height:1}}@media only screen and (min-width:851px) and (max-width:850px){.archive .cSelectCat .navi,.projects .cSelectCat .navi{font-size:14px;line-height:1.8}}@media only screen and (min-width:851px) and (min-width:851px){.archive .cSelectCat .navi,.projects .cSelectCat .navi{font-size:var(--fz-normal);line-height:1.8}}@media only screen and (min-width:851px){.archive .cSelectCat .navi li,.projects .cSelectCat .navi li{position:relative}.archive .cSelectCat .navi a,.projects .cSelectCat .navi a{padding-bottom:.08em;transition:color .5s}.archive .cSelectCat .navi a:link,.projects .cSelectCat .navi a:link,.archive .cSelectCat .navi a:visited,.projects .cSelectCat .navi a:visited,.archive .cSelectCat .navi a:hover,.projects .cSelectCat .navi a:hover,.archive .cSelectCat .navi a:active,.projects .cSelectCat .navi a:active{color:var(--main-text)}.archive .cSelectCat .navi a:hover,.projects .cSelectCat .navi a:hover{color:var(--link-text)}.archive .cSelectCat .navi .disabled,.projects .cSelectCat .navi .disabled,.archive .cSelectCat .navi .disabled a span,.projects .cSelectCat .navi .disabled a span{color:var(--gray)}.archive .cSelectCat .navi .disabled a,.projects .cSelectCat .navi .disabled a{pointer-events:none}.archive .cSelectCat .navi .disabled .txt:before,.projects .cSelectCat .navi .disabled .txt:before{display:none}.archive .cSelectCat .navi .active a,.projects .cSelectCat .navi .active a{color:var(--link-text)}.archive .projectList,.projects .projectList{display:flex;flex-wrap:wrap;gap:var(--gap);padding:0 var(--gap) var(--gap)}.archive .projectList>li,.projects .projectList>li{position:relative;display:flex;flex-direction:column;background:var(--light-gray);width:calc((100% - var(--gap)) / 2);aspect-ratio:16/10}.archive .projectList>li>a,.projects .projectList>li>a{display:block;flex-grow:0;width:100%;height:100%;text-decoration:none}.archive .projectList>li>a figure,.projects .projectList>li>a figure{overflow:hidden}.archive .projectList>li>a figure img,.projects .projectList>li>a figure img{transform:scale(1);transition:transform 1.6s cubic-bezier(.215,.61,.355,1)}.archive .projectList>li>a:hover figure img,.projects .projectList>li>a:hover figure img{transform:scale(1.04)}}@media only screen and (min-width:851px) and (max-width:850px){.archive .projectList>li>a,.projects .projectList>li>a{font-size:14px;line-height:1.8}}@media only screen and (min-width:851px) and (min-width:851px){.archive .projectList>li>a,.projects .projectList>li>a{font-size:var(--fz-normal);line-height:1.8}}@media only screen and (min-width:851px){.archive .projectList>li>a figure,.projects .projectList>li>a figure{position:relative;width:100%;height:100%}.archive .projectList>li>a figure img,.projects .projectList>li>a figure img{width:100%;height:auto}.archive .projectList>li>a figure figcaption,.projects .projectList>li>a figure figcaption{position:absolute;right:32.4px;bottom:30.4px;display:flex;justify-content:flex-end;align-items:center;color:var(--link-text);line-height:1;text-align:right}.archive .projectList>li>a .cAwards,.projects .projectList>li>a .cAwards{position:absolute;left:32.4px;top:32.4px}}article [class*=is-layout-constrained]>:where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width:none!important}@media only screen and (max-width:850px){.single .hero figure{aspect-ratio:3/4}.single .titleArea{display:flex;flex-direction:column-reverse;margin:30px 30px 18px}.single .titleArea .title{font-size:21.9px}.single .titleArea .title:before{display:block;width:0;height:0;margin-top:calc((1 - var(--lh, 1.6)) * .5em);content:""}.single .titleArea .title:after{display:block;width:0;height:0;margin-bottom:calc((1 - var(--lh, 1.6)) * .5em);content:""}.single .titleArea .awardsArea{min-height:28px;margin-bottom:30.5px}.single .titleArea .cAwards{flex-direction:row-reverse}.single .cClientInfo{margin-bottom:34.5px}.single .bodyArea p{text-align:justify;text-align-last:left}.single .bodyArea p:before{display:block;width:0;height:0;margin-top:calc((1 - var(--lh, 1.6)) * .5em);content:""}.single .bodyArea p:after{display:block;width:0;height:0;margin-bottom:calc((1 - var(--lh, 1.6)) * .5em);content:""}.single .bodyArea p+p{margin-top:20px}.single .bodyArea p+p:before{display:block;width:0;height:0;margin-top:calc((1 - var(--lh, 1.6)) * .5em);content:""}.single .bodyArea p+p:after{display:block;width:0;height:0;margin-bottom:calc((1 - var(--lh, 1.6)) * .5em);content:""}.single .boxCentered{margin:0 30px 88px}.single .gallery img{width:100%;height:100%;object-fit:cover}.single .gallery figure{width:100%;height:100%}.single .gallery>li{position:relative;background:var(--light-gray);margin:0 0 var(--gap)}.single .gallery.threeSplit>li:nth-of-type(1){aspect-ratio:3/4}.single .gallery.threeSplit>li:nth-of-type(2){aspect-ratio:4/3}.single .gallery.threeSplit>li:nth-of-type(3){aspect-ratio:4/3}.single .gallery.threeSplit.pattern2>li:nth-of-type(1){aspect-ratio:4/3}.single .gallery.threeSplit.pattern2>li:nth-of-type(2){aspect-ratio:4/3}.single .gallery.threeSplit.pattern2>li:nth-of-type(3){aspect-ratio:3/4}.single .gallery.twoSplit>li{aspect-ratio:3/4}.single .gallery.full>li{aspect-ratio:4/3}}@media only screen and (min-width:851px){.single .fvHeader{position:absolute;left:0;top:0}.single .hero figure{aspect-ratio:140/71}.single .titleArea{display:flex;justify-content:space-between;width:calc(60.8333333333% + 64.8px);margin:104.6px auto 20px}.single .titleArea .title:before{display:block;width:0;height:0;margin-top:calc((1 - var(--lh, 1.6)) * .5em);content:""}.single .titleArea .title:after{display:block;width:0;height:0;margin-bottom:calc((1 - var(--lh, 1.6)) * .5em);content:""}.single .titleArea .cAwards{flex-direction:row-reverse;padding-top:4px;gap:12px}.single .titleArea .cAwards li{width:32.4px;height:32.4px}.single .cClientInfo{margin-bottom:49px}.single .bodyArea p{text-align:justify;text-align-last:left}.single .bodyArea p:before{display:block;width:0;height:0;margin-top:calc((1 - var(--lh, 1.6)) * .5em);content:""}.single .bodyArea p:after{display:block;width:0;height:0;margin-bottom:calc((1 - var(--lh, 1.6)) * .5em);content:""}.single .bodyArea p+p{margin-top:30.2px}.single .bodyArea p+p:before{display:block;width:0;height:0;margin-top:calc((1 - var(--lh, 1.6)) * .5em);content:""}.single .bodyArea p+p:after{display:block;width:0;height:0;margin-bottom:calc((1 - var(--lh, 1.6)) * .5em);content:""}.single .boxCentered{width:calc(60.8333333333% + 64.8px);margin:0 auto 129.6px}.single .gallery{margin:0 var(--gap) var(--gap)}.single .gallery img{width:100%;height:auto}.single .gallery>li{position:relative;background:var(--light-gray)}.single .gallery>li img{width:100%;height:100%;object-fit:cover}.single .gallery.threeSplit{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr);gap:var(--gap)}.single .gallery.threeSplit>li:nth-of-type(1){grid-area:1/1/3/2;aspect-ratio:auto}.single .gallery.threeSplit>li:nth-of-type(2){grid-area:1/2/2/3;aspect-ratio:auto 16/10}.single .gallery.threeSplit>li:nth-of-type(3){grid-area:2/2/3/3;aspect-ratio:auto 16/10}.single .gallery.threeSplit.pattern2>li:nth-of-type(1){grid-area:1/1/2/2;aspect-ratio:auto 16/10}.single .gallery.threeSplit.pattern2>li:nth-of-type(2){grid-area:2/1/3/2;aspect-ratio:auto 16/10}.single .gallery.threeSplit.pattern2>li:nth-of-type(3){grid-area:1/2/3/3;aspect-ratio:auto}.single .gallery.twoSplit{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:1fr;gap:var(--gap)}.single .gallery.twoSplit>li{aspect-ratio:auto 225/287}.single .gallery.full>li{aspect-ratio:auto 16/10}}.single.isJa .bodyArea p{font-family:source-han-sans-japanese,Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif;font-weight:200}.single.isCn .bodyArea p{font-family:source-han-sans-simplified-c,Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif;font-weight:200}.home .fvHeader{position:absolute;left:0;top:0}.home .hero #kvSlider .heroImg{backface-visibility:hidden;transition-timing-function:linear;transform-origin:center;transition-delay:2s;transform:scale(1);transition-property:transform}.home .hero #kvSlider .slick-active .heroImg{transition-duration:8s!important;transform:scale(1.07);transition-delay:0s}.home .hero #kvSlider .slide1{animation:bg 8s linear;animation-iteration-count:1}@media only screen and (max-width:850px){.home .hero #kvSlider .slick-active .heroImg{transform:scale(1.1)}}@media only screen and (max-width:850px){.home .projectList>li{position:relative;width:100%;background:var(--light-gray)}.home .projectList>li+li{margin-top:30px;aspect-ratio:auto 3/4}.home .projectList>li>a{display:block;width:100%;text-decoration:none}}@media only screen and (max-width:850px) and (max-width:850px){.home .projectList>li>a{font-size:14px;line-height:1.8}}@media only screen and (max-width:850px) and (min-width:851px){.home .projectList>li>a{font-size:var(--fz-normal);line-height:1.8}}@media only screen and (max-width:850px){.home .projectList>li>a figure{position:relative;width:100%;height:auto}.home .projectList>li>a figure img{width:100%;height:auto}.home .projectList>li>a figure figcaption{position:absolute;right:30px;bottom:30px;display:flex;justify-content:flex-end;align-items:center;color:var(--link-text);line-height:1;text-align:right}.home .projectList>li>a .cAwards{position:absolute;left:30px;top:30px}.home .clientLogos{display:flex;flex-wrap:wrap;gap:30px 18px;width:87.6923%;margin:0 auto}.home .clientLogos li{width:calc((100% - 18px)/2)}.home .section8 .cTextBox2{padding-bottom:62px}.home .section9{padding-bottom:70px}}@media only screen and (min-width:851px){.home .projectList{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,auto);gap:var(--gap);padding:0 var(--gap)}.home .projectList>li:nth-of-type(1){grid-area:1/1/3/2;aspect-ratio:auto}.home .projectList>li:nth-of-type(2){grid-area:1/2/2/3;aspect-ratio:auto 16/10}.home .projectList>li:nth-of-type(3){grid-area:2/2/3/3;aspect-ratio:auto 16/10}.home .projectList>li:nth-of-type(4){grid-area:3/1/4/3;aspect-ratio:auto 16/9}.home .projectList.pattern2>li:nth-of-type(1){grid-area:1/1/2/2;aspect-ratio:auto 16/10}.home .projectList.pattern2>li:nth-of-type(2){grid-area:2/1/3/2;aspect-ratio:auto 16/10}.home .projectList.pattern2>li:nth-of-type(3){grid-area:1/2/3/3;aspect-ratio:auto}.home .projectList.pattern2>li:nth-of-type(4){grid-area:3/1/5/3;aspect-ratio:auto 16/9}.home .projectList>li{position:relative;display:flex;flex-direction:column;background:var(--light-gray)}.home .projectList>li>a{display:block;flex-grow:0;width:100%;text-decoration:none}.home .projectList>li>a figure{overflow:hidden}.home .projectList>li>a figure img{transform:scale(1);transition:transform 1.6s cubic-bezier(.215,.61,.355,1)}.home .projectList>li>a:hover figure img{transform:scale(1.04)}}@media only screen and (min-width:851px) and (max-width:850px){.home .projectList>li>a{font-size:14px;line-height:1.8}}@media only screen and (min-width:851px) and (min-width:851px){.home .projectList>li>a{font-size:var(--fz-normal);line-height:1.8}}@media only screen and (min-width:851px){.home .projectList>li>a figure{position:relative;width:100%;height:auto}.home .projectList>li>a figure img{width:100%;height:auto}.home .projectList>li>a figure figcaption{position:absolute;right:32.4px;bottom:20.4px;display:flex;justify-content:flex-end;align-items:center;color:var(--link-text);line-height:1;text-align:right}.home .projectList>li>a .cAwards{position:absolute;left:32.4px;top:32.4px}.home .clientLogos{display:flex;flex-wrap:wrap;gap:61.2px 80.4px;width:calc(52.0833333333% + 321.6px);margin:0 auto;line-height:1}.home .clientLogos li{width:calc((100% - 321.6px)/5)}.home .section2 .cTextBox{padding-top:92.6px}.home .section8 .cTextBox2{padding-bottom:98px}.home .section9{padding-bottom:calc(88px + var(--gap))}}.home.isJa .cTextBox .title,.home.isJa .cTextBox2 .title{font-feature-settings:"palt";font-family:source-han-sans-japanese,Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif;font-weight:500}.home.isJa .cTextBox .liner,.home.isJa .cTextBox2 .liner{font-family:source-han-sans-japanese,Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif;font-weight:200}@media only screen and (min-width:851px){.home.isJa .section8 .cTextBox2 .title{width:clamp(90px,90%,420px)}}.home.isCn .cTextBox .title,.home.isCn .cTextBox2 .title{font-feature-settings:"palt";font-family:source-han-sans-simplified-c,Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif;font-weight:500}.home.isCn .cTextBox .liner,.home.isCn .cTextBox2 .liner{font-family:source-han-sans-simplified-c,Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif;font-weight:200}@media only screen and (min-width:851px){.home.isCn .section8 .cTextBox2 .title{width:clamp(90px,90%,420px)}}@media only screen and (max-width:850px){.services .section2 .cTextBox2 .title{margin-bottom:44px}.services .section4{padding-top:4px}.services .section4 .cTextBox2 .title{margin-bottom:44px}.services .section5{padding-bottom:90px}.services .section5 .cTextBox2{padding-top:84px}.services .section5 .cTextBox2 .title{margin-bottom:44px}.services .projectShowcase{position:relative;display:flex;width:100%;overflow:hidden;margin-bottom:90px}.services .projectShowcase ul{padding:0;width:100%;width:calc((100% + 30px)*4);display:flex;flex-shrink:0}.services .projectShowcase ul:first-of-type{animation:slide1 var(--speed-showcase) var(--speed-showcase2) linear infinite}.services .projectShowcase ul:last-of-type{animation:slide2 var(--speed-showcase) linear infinite}.services .projectShowcase li{--gap:30px;position:relative;margin-right:var(--gap)}.services .projectShowcase li img{width:100%;height:auto}.services .projectShowcase li img+img{margin-top:var(--gap)}.services .projectList>li{position:relative;width:100%;background:var(--light-gray)}.services .projectList>li img{width:100%;height:auto}.services .projectList>li+li{margin-top:30px}.services .cSectionGray .projectList>li{background:#e9e9e9}}@media only screen and (min-width:851px){.services .section2 .cTextBox2{padding-top:92px}.services .section2 .cTextBox2 .title{width:clamp(90px,100%,456px)}.services .section4{padding-bottom:129.6px}.services .section4 .cTextBox2{padding-bottom:115.8px}.services .section4 .cTextBox2 .title{width:80%;width:clamp(90px,100%,456px)}.services .section5{padding-bottom:129.6px}.services .section5 .cTextBox2{padding-top:113.2px}.services .section5 .cTextBox2 .title{width:80%;width:clamp(90px,90%,420px)}.services .projectShowcase{position:relative;display:flex;width:100%;overflow:hidden;margin-bottom:129.6px}.services .projectShowcase ul{padding:0;width:100%;width:calc(121.6666666667% + 172.8px);display:flex;flex-shrink:0}.services .projectShowcase ul:first-of-type{animation:slide1 var(--speed-showcase) var(--speed-showcase2) linear infinite}.services .projectShowcase ul:last-of-type{animation:slide2 var(--speed-showcase) linear infinite}.services .projectShowcase li{position:relative;margin-right:var(--gap)}.services .projectShowcase li img{width:100%;height:auto}.services .projectShowcase li img+img{margin-top:var(--gap)}.services .projectList{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr);gap:var(--gap);width:calc(60.8333333333% + 64.8px);margin:0 auto}.services .projectList img{width:100%;height:auto}.services .projectList>li{position:relative;background:var(--light-gray)}.services .projectList>li:nth-of-type(1){grid-area:1/1/3/2}.services .projectList>li:nth-of-type(1) img{width:100%;height:100%;object-fit:cover}.services .projectList>li:nth-of-type(2){grid-area:1/2/2/3}.services .projectList>li:nth-of-type(3){grid-area:2/2/3/3}.services .projectList.pattern2>li:nth-of-type(1){grid-area:1/1/2/2}.services .projectList.pattern2>li:nth-of-type(2){grid-area:2/1/3/2}.services .projectList.pattern2>li:nth-of-type(3){grid-area:1/2/3/3}.services .projectList.pattern2>li:nth-of-type(3) img{width:100%;height:100%;object-fit:cover}.services .cSectionGray .projectList>li{background:#e9e9e9}}.services.isJa .title,.services.isJa .cTitle2{font-feature-settings:"palt";font-family:source-han-sans-japanese,Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif;font-weight:500}.services.isJa .liner{font-family:source-han-sans-japanese,Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif;font-weight:200}.services.isCn .title,.services.isCn .cTitle2{font-feature-settings:"palt";font-family:source-han-sans-simplified-c,Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif;font-weight:500}.services.isCn .liner{font-family:source-han-sans-simplified-c,Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif;font-weight:200}.about .section1 .cTextBox3 .imageArea:before{content:url(/wp-content/uploads/about_s1_01.jpg);display:none}.about .section1 .cTextBox3 .imageArea figure{aspect-ratio:80/113}.about table li{text-align:left}@media only screen and (max-width:850px){.about .section1{padding-top:var(--fv-header-h)}.about .section1 .cSectionTitle{margin-bottom:14px}.about .section1 .liner+.liner{padding-top:.6em}.about .section2 .cSectionTitle{margin-bottom:45px}.about .section2 .textArea+.textArea{padding-top:72px}.about .section2 .textArea+.textArea .cSectionTitle{margin-bottom:32px}.about .section2 .cTextBox3{padding-bottom:70px}.about .titleWithIcon{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:34px}.about .titleWithIcon .cSectionTitle{margin-bottom:0}.about .titleWithIcon .cAwards{gap:10px}.about .titleWithIcon .cAwards li{width:28px;height:28px}.about .timelines{width:calc(100% + 5px)}.about .timelines th{width:60px}.about .timelines th,.about .timelines td{line-height:1.3;padding-bottom:13px}.about .timelines li{line-height:1.3;letter-spacing:-.01em}.about .timelines li+li{padding-top:6px}.about .section3 .cSectionTitle{margin-bottom:20px}.about .section3 .liner{margin-bottom:30px}.about .section3 dl+dl{padding-top:.6em}}@media only screen and (min-width:851px){.about .section1 .cSectionTitle{margin-bottom:12px}.about .section1 .cTextBox3{padding-bottom:128.6px}.about .section1 .liner+.liner{padding-top:.5em}.about .section2 .cSectionTitle{margin-bottom:38px}.about .titleWithIcon{display:flex;gap:32.4px}.about .titleWithIcon .cAwards{gap:12px}.about .titleWithIcon .cAwards li{width:27.6px;height:27.6px}.about .timelines th{width:64.8px}.about .timelines th,.about .timelines td{line-height:1.3;padding-bottom:6px}.about .timelines li{padding-bottom:8.64px}.about .section3 .cTextBox3{padding-bottom:calc(100px + var(--gap))}.about .section3 .cSectionTitle{margin-bottom:16.4px}.about .section3 .liner{margin-bottom:28.2px}.about .section3 dl{display:flex}.about .section3 dl+dl{padding-top:.1em}.about .section3 dt{width:151.2px}.about .section3 dd{width:calc(100% - 151.2px)}.about .section3 .address{margin-bottom:12px}}.about.isJa .section1 .cSectionTitle span,.about.isJa .liner,.about.isJa table th,.about.isJa table td,.about.isJa .info dt,.about.isJa .info dd{font-family:source-han-sans-japanese,Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif;font-weight:200}.about.isCn .section1 .cSectionTitle span,.about.isCn .liner,.about.isCn table th,.about.isCn table td,.about.isCn .info dt,.about.isCn .info dd{font-family:source-han-sans-simplified-c,Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif;font-weight:200}.contact .newsletter-cf7 .wpcf7-response-output{display:none}.contact .infos a{color:var(--main-text);transition:color var(--speed-hover)}.contact .infos a:hover{color:var(--link-text)}@media only screen and (max-width:850px){.contact section{padding:var(--fv-header-h) 30px 90px}.contact .message{padding-bottom:88px}.contact .infos{padding-top:54.5px}.contact .infos dt{text-align:center;color:var(--link-text);padding-bottom:10px}.contact .infos dt:before{display:block;width:0;height:0;margin-top:calc((1 - var(--lh, 1.6)) * .5em);content:""}.contact .infos dt:after{display:block;width:0;height:0;margin-bottom:calc((1 - var(--lh, 1.6)) * .5em);content:""}.contact .infos dd:not(.newsletter-cf7){text-align:center}.contact .infos dd:not(.newsletter-cf7):before{display:block;width:0;height:0;margin-top:-.4em;content:""}.contact .infos dd:not(.newsletter-cf7):after{display:block;width:0;height:0;margin-bottom:-.4em;content:""}.contact .info1{border-top:var(--border-size) solid var(--gray);padding-top:85px}.contact .info4 dt{padding-bottom:13px}.contact .info4 .newsletter-cf7 .cSubmit{margin-top:20px}.contact .cSubmit{margin-top:40px}.contact .thanksArea{position:absolute;left:30px;top:384px;width:calc(100% - 60px)}}@media only screen and (min-width:851px){.contact section{padding:126.6px 0 129.6px}.contact .gridBox{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(5,auto);grid-column-gap:54px;grid-row-gap:18.6px;width:calc(60.8333333333% + 64.8px);margin:0 auto}.contact .info1{grid-area:1/1/2/2}.contact .info2{grid-area:2/1/3/2}.contact .info3{grid-area:3/1/4/2}.contact .info4{grid-area:4/1/5/2}.contact .cFormArea .wpcf7,.contact .cFormArea form{display:contents;line-height:inherit}.contact .name{grid-area:1/2/2/3}.contact .email{grid-area:2/2/3/3}.contact .company{grid-area:3/2/4/3}.contact .message{grid-area:4/2/5/3}.contact .thanksArea{grid-area:1/2/5/3}.contact .thanksArea{z-index:1}.contact .infos dt{color:var(--link-text);padding-bottom:10px}.contact .infos dt:before{display:block;width:0;height:0;margin-top:calc((1 - var(--lh, 1.6)) * .5em);content:""}.contact .infos dt:after{display:block;width:0;height:0;margin-bottom:calc((1 - var(--lh, 1.6)) * .5em);content:""}.contact .infos dd:not(.newsletter-cf7):before{display:block;width:0;height:0;margin-top:-.4em;content:""}.contact .infos dd:not(.newsletter-cf7):after{display:block;width:0;height:0;margin-bottom:-.4em;content:""}.contact .info4{display:flex;flex-direction:column;justify-content:space-between;padding-top:23px}.contact .info4 dt{padding-bottom:16px}.contact .cFormArea form .cFormParts{width:100%;padding-top:3px}.contact .cFormArea form .cSubmit{margin-top:38.2px}}.contact.isJa .info1 dt,.contact.isJa .info2 dt,.contact.isJa .info3 dt,.contact.isJa .newsletter-form dt{font-family:source-han-sans-japanese,Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif;font-weight:200}.contact.isCn .info1 dt,.contact.isCn .info2 dt,.contact.isCn .info3 dt,.contact.isCn .info4 .infos:not(.newsletter-form) dd,.contact.isCn .newsletter-form dt{font-family:source-han-sans-simplified-c,Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif;font-weight:200}.concept .hero #kvSlider .heroImg{backface-visibility:hidden;transform:scale(1.1) translate(0);transition-property:transform}.concept .hero #kvSlider .heroTitle{position:relative}.concept .hero #kvSlider .heroTitle .title{display:inline-block;cursor:pointer}@media only screen and (max-width:850px){.concept .hero #kvSlider .heroTextArea{text-align:left;letter-spacing:-.03em}.concept .hero #kvSlider .heroTitle{width:100%}.concept .hero #kvSlider .title{font-size:7vw}.concept .hero #kvSlider .count{position:absolute;left:0;bottom:-40px;line-height:1}}@media only screen and (min-width:851px){.concept .hero #kvSlider .heroTextArea{left:calc(15.2083333333vw + 21.6px);width:600px}.concept .hero #kvSlider .heroTextArea5{width:700px}.concept .hero #kvSlider .count{position:absolute;left:0;bottom:-43.2px;line-height:1}}.concept #footer{display:none}.concept.isJa .title{font-feature-settings:"palt";font-family:source-han-sans-japanese,Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif;font-weight:500}.concept.isCn .title{font-feature-settings:"palt";font-family:source-han-sans-simplified-c,Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif;font-weight:500}.error404 .fvHeader{position:absolute;left:0;top:0}.error404 .title{color:var(--link-text)}.error404 .liner{text-align:center;text-align-last:center}.error404 .section1{height:100vh;height:100svh;position:relative;display:flex;align-items:center}@media only screen and (max-width:850px){.error404 .section1{padding-bottom:7px}.error404 .title{margin-bottom:18px}}@media only screen and (min-width:851px){.error404 .section1{padding-bottom:10px}.error404 .title{margin-bottom:24px}.error404 .cBtn1{margin-top:38px}}.error404.isJa .title{font-feature-settings:"palt";font-family:source-han-sans-japanese,Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif;font-weight:500}.error404.isJa .liner{font-family:source-han-sans-japanese,Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif;font-weight:200}.error404.isCn .title{font-feature-settings:"palt";font-family:source-han-sans-simplified-c,Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif;font-weight:500}.error404.isCn .liner{font-family:source-han-sans-simplified-c,Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif;font-weight:200}.page-template-page-mailpoet-confirm .fvHeader{position:absolute;left:0;top:0}.page-template-page-mailpoet-confirm .title{color:var(--link-text)}.page-template-page-mailpoet-confirm .liner{text-align:center;text-align-last:center}.page-template-page-mailpoet-confirm .hero{position:relative;display:flex;align-items:center;padding:0}.page-template-page-mailpoet-confirm .hero:before{position:absolute;inset:var(--gap);z-index:-1;content:"";display:block;background:var(--light-gray)}@media only screen and (max-width:850px){.page-template-page-mailpoet-confirm .hero:before{top:0;right:0;bottom:0;left:0}.page-template-page-mailpoet-confirm .title{margin-bottom:18px}}@media only screen and (min-width:851px){.page-template-page-mailpoet-confirm .hero{padding-bottom:10px}.page-template-page-mailpoet-confirm .title{margin-bottom:24px}.page-template-page-mailpoet-confirm .cBtn1{margin-top:38px}}@media print{header,footer,#menu{display:none!important}img{max-width:100%;width:auto;height:auto}section{display:block!important}}
