@charset "UTF-8";

/*
Theme Name:LYA Partners
*/

/*-----------------------------------------------------------------------------
 WordPress CMS Theme.
---------------------------------------------------------------------------- */


:root{
	--vw:0.0502vw;
  --base:calc(var(--vw) * 22);

  /* colors */
  --white:#fff;
  --fc2:#d1d1d1;
  --green:#193b39;
  --green2:#1c403e;
  --green3:#152726;
  --yellow:#ECE26E;

  /* margin */
	--s16:calc(var(--vw) * 16);
	--s32:calc(var(--vw) * 32);
	--s64:calc(var(--vw) * 64);
	--s128:calc(var(--vw) * 128);
	--s256:calc(var(--vw) * 256);
	--s320:calc(var(--vw) * 320);
}

a{transition: all .3s;}
a:hover{opacity: .5; transition: all .3s;}

br.sp {display: none;}

*{box-sizing:border-box;list-style-type:none;padding:0;margin:0;}
body{color:var(--white);font-size:var(--base);font-family:"Noto Sans JP",sans-serif;font-optical-sizing:auto;font-style:normal;background:linear-gradient(to right,#193b39 0%,#1c403e 52.71%,#152726 100%);}
a{color:inherit;text-decoration:none;}
img{max-width:100%;height:auto;vertical-align:bottom;}
button,input,textarea,select{font:inherit;color:inherit;}
.serif{font-family:"Noto Serif JP",serif;font-optical-sizing:auto;font-style:normal;}

.ppSet {margin-top: var(--s64);padding-top: var(--s64); border-top: solid 1px rgba(255,255,255,.15);}
.ppSet:nth-last-of-type(1) {margin-bottom: var(--s64);padding-bottom: var(--s64); border-bottom: solid 1px rgba(255,255,255,.15);}
.ppHeader h3 {font-size: 130%;}
.ppTxt p { margin-top: var(--s32);}

.header{position:fixed;top:0;left:0;z-index:100;width:100%;padding:calc(var(--vw) * 37) calc(var(--vw) * 113); box-sizing: border-box; opacity: 0; filter: blur(10px); transition: all 1s;}
.header.clear {opacity: 1; filter: blur(0);}
.header .inner{position: relative; z-index: 2; display:flex;align-items:center;justify-content:space-between;width:100%;}
.header .inner .logo{display:block;width:calc(var(--vw) * 98.5);}
.header .inner .logo svg{display:block;width:100%;height:auto;}
.header .inner .gmenu{display:flex;align-items:center;gap:calc(var(--vw) * 100);margin-left:auto;}
.header .inner .gmenu a{display:block;font-size:var(--base);line-height:1;letter-spacing:.03em;color:var(--white); font-weight: normal;}
.header .inner .spbtn{display: none;}

.header .inner .logo,.header .inner .gmenu{	transition:opacity .45s ease,visibility .45s ease; transition: all 1s;}
body.isGmenuHide .header .inner .logo,body.isGmenuHide .header .inner .gmenu{	opacity:0;visibility:hidden;pointer-events:none;}

body.isGmenuHide.is-about-page .header,
body.isGmenuHide.is-service-page .header {border-bottom: solid 1px rgba(255,255,255,.1); background:linear-gradient(to right,#193b39 0%,#1c403e 52.71%,#152726 100%);padding:calc(var(--vw) * 8) calc(var(--vw) * 113);}


.header .pageIndicator{width: 100%; display: flex; align-items: center; position: absolute; top: 0; bottom: 0; margin: auto 0; left: calc(var(--vw)*113); z-index: 1; visibility: hidden; transition: all 0s;}
body.isGmenuHide.is-about-page .header .pageIndicator,
body.isGmenuHide.is-service-page .header .pageIndicator {visibility: visible; transition: all 0s;}




.pageIndicator .pageIndicator__num { padding-right: var(--s16);font-size:calc(var(--vw) * 25);font-weight:bold;line-height:1;letter-spacing:.03em; opacity: 0; transition: all .6s;}
.pageIndicator .pageIndicator__title {font-size:calc(var(--vw) * 25);line-height:1;letter-spacing:.07em; font-weight: 400; opacity: 0; transition: all .6s;}

body.isGmenuHide.is-about-page .pageIndicator__num,
body.isGmenuHide.is-about-page .pageIndicator__title,
body.isGmenuHide.is-service-page .pageIndicator__num,
body.isGmenuHide.is-service-page .pageIndicator__title
{opacity: 1; transition: all .6s;}







.spmenu{position:fixed;top:0;left:0;z-index:90;width:100%;height:100vh;background:#152726;opacity:0;visibility:hidden;pointer-events:none;clip-path:inset(0 0 100% 0);transition:opacity .5s ease,visibility .5s ease,clip-path .7s cubic-bezier(.77,0,.175,1);}
.spmenu .spmenuInner{display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;}
.spmenu .spmenuInner a{display:flex;justify-content:space-between;align-items:center;width:60%;padding:calc(var(--vw) * 32);border-bottom:1px solid rgba(255,255,255,.1);line-height:1;letter-spacing:.04em;opacity:0;transform:translateY(calc(var(--vw) * 26));transition:opacity .5s ease,transform .7s cubic-bezier(.77,0,.175,1);}
.spmenu .spmenuInner a:hover span{opacity: .5; transition: all .3s;}

.spmenu .spmenuInner a:first-child{border-top:1px solid rgba(255,255,255,.1);}
.spmenu .spmenuInner a span:nth-child(1) {flex:1;}
.spmenu .spmenuInner a span:nth-child(2){display: block; width:calc(var(--vw) * 12); aspect-ratio:1/1;}
.spmenu .spmenuInner a span:nth-child(2) svg{display:block;width:100%;height:auto;}
.spmenu .spmenuInner a span:nth-child(2) svg path { fill: var(--white);}

body.isMenuOpen{overflow:hidden;}
body.isMenuOpen .spmenu{opacity:1;visibility:visible;pointer-events:auto;clip-path:inset(0 0 0 0);}
body.isMenuOpen .spmenu .spmenuInner a{opacity:1;transform:translateY(0);}
body.isMenuOpen .spmenu .spmenuInner a:nth-child(1){transition-delay:.18s;}
body.isMenuOpen .spmenu .spmenuInner a:nth-child(2){transition-delay:.24s;}
body.isMenuOpen .spmenu .spmenuInner a:nth-child(3){transition-delay:.30s;}
body.isMenuOpen .spmenu .spmenuInner a:nth-child(4){transition-delay:.36s;}
body.isMenuOpen .spmenu .spmenuInner a:nth-child(5){transition-delay:.42s;}

footer{width:100%;background:#D3D3D3; color:#164E50;}
footer .inner{display:flex;justify-content:space-between;align-items:flex-start;width:100%;padding:var(--s64) calc(var(--vw)*113); box-sizing: border-box;}
footer .inner .left{display:flex;flex-direction:column;width:calc(var(--vw) * 480);}
footer .inner .left a{display:flex;justify-content:space-between;align-items:center;width:100%;padding:calc(var(--vw) * 16) 0;border-bottom:1px solid rgba(22,78,80,.2);line-height:1;letter-spacing:.04em;}
footer .inner .left a:hover span{opacity: .5; transition: all .3s;}
footer .inner .left a span:nth-child(1) {flex:1;}
footer .inner .left a span:nth-child(2){display: block; width:calc(var(--vw) * 12); aspect-ratio:1/1;}
footer .inner .left a span:nth-child(2) svg{display:block;width:100%;height:auto;}
footer .inner .left a span:nth-child(2) svg path {fill:#164E50;}

footer .inner .right{position:relative; display: flex; justify-content: flex-end; flex-direction: column;}
footer .inner .right .logo{width:calc(var(--vw) * 360);margin-bottom:var(--s32); margin-left: auto;}
footer .inner .right .logo svg{display:block;width:100%;height:auto;}
footer .inner .right p{font-weight:400;line-height:2;letter-spacing:.04em;margin-bottom:var(--s64); text-align: right;}
footer .inner .right .gotop{display:block; width:calc(var(--vw) * 65);height:calc(var(--vw) * 65); margin-left: auto;}
footer .inner .right .gotop svg{width:100%;height:auto;}
footer .cp{ background: #152827; padding: var(--s16) 0; color: var(--white);font-size:calc(var(--vw) * 13);line-height:1;letter-spacing:.04em; text-align: center;}


.wow {opacity: 0;}
.animated{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;animation-fill-mode:both}@-webkit-keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translateX(-20px);transform:translateX(-20px)}100%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translateX(-20px);-ms-transform:translateX(-20px);transform:translateX(-20px)}100%{opacity:1;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}}.fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInRight{0%{opacity:0;-webkit-transform:translateX(20px);transform:translateX(20px)}100%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes fadeInRight{0%{opacity:0;-webkit-transform:translateX(20px);-ms-transform:translateX(20px);transform:translateX(20px)}100%{opacity:1;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}}.fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translateY(20px);transform:translateY(20px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;-webkit-transform:translateY(20px);-ms-transform:translateY(20px);transform:translateY(20px)}100%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}.fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translateY(-40px);transform:translateY(-40px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;-webkit-transform:translateY(-40px);-ms-transform:translateY(-40px);transform:translateY(-40px)}100%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}


/* subpages */
main {position: relative;width: auto; margin: var(--s256) calc(var(--vw)*113); box-sizing: border-box;opacity: 0; filter: blur(10px); transition: all 1s;}
main.clear { opacity: 1; filter: blur(0);}
main h1.pagettl {font-size:calc(var(--vw) * 100); font-weight: 400;line-height:1;letter-spacing:.03em; margin-bottom: var(--s256); opacity: 0; filter: blur(10px); transition: all 1s;}
main h1.pagettl.clear { opacity: 1; filter: blur(0);}
main h1.pagettl.set { margin-bottom: var(--s64);}

main .h1subTxt {margin-bottom: var(--s256); opacity: 0; filter: blur(10px); transition: all 1s;}
main .h1subTxt p {font-size:calc(var(--vw) * 36); font-weight: 400;line-height:1.8;letter-spacing:.03em; padding-left: var(--s32); border-left: solid 1px rgba(255,255,255,.2);}
main .h1subTxt p span { display: block; margin-top: var(--s32); font-size:calc(var(--vw) * 23); color: var(--fc2);}
main .h1subTxt.clear {opacity: 1; filter: blur(0);}

main section {width: 100%; margin-bottom: var(--s320);}
.duocell {width: 100%; display: flex; justify-content: flex-start; align-items: flex-start;}

.duocell .left{position: sticky; top: calc(var(--vw)*120); width:calc(var(--vw) * 451);display:flex;justify-content:flex-start;align-items:flex-start;height:max-content;}
.duocell .left .leftInner{display:flex;justify-content:flex-start;align-items:center;width:100%; margin-top: calc(var(--vw)*18);}
.duocell .left .leftInner h2{font-family:sans-serif;position:relative;font-size:calc(var(--vw) * 70);font-weight:400;line-height:1;letter-spacing:.03em;}
.duocell .left .leftInner:after{display:block;content:"";width:calc(var(--vw) * 136);height:1px;margin-left:calc(var(--vw) * 50);background:var(--white);opacity:.4;}
.duocell .right {width: calc(var(--vw) * 1243); text-align: left;}

.partHeader { width: 100%; display: flex; flex-direction: column;}
.partHeader h3 {order:2;font-size:calc(var(--vw) * 50);line-height:1;letter-spacing:.07em; font-weight: 400; margin-top: var(--s16);}
.partHeader h3.multi {line-height:1.3; margin-top: calc(var(--vw)*8);}
.partHeader h3 span{color:var(--yellow);border-bottom:1px solid var(--yellow);padding-bottom:calc(var(--vw) * 2);}
.partHeader p {order:1;font-size:calc(var(--vw) * 20);}






.philosophyCell { margin-top: calc(var(--vw)*180);}
.philosophyCell .eyebrush {font-size:calc(var(--vw) * 32); margin-bottom:calc(var(--vw) * 47);}
.philosophyCell h4 {position: relative; width: fit-content; font-size:calc(var(--vw) * 48); margin-bottom:calc(var(--vw) * 64);font-family:"Noto Serif JP",serif;font-optical-sizing:auto;font-style:normal;font-weight: 400;line-height:1.6;letter-spacing:.07em; padding-left: calc(var(--vw) * 44); padding-right: calc(var(--vw) * 44);}
.philosophyCell h4:before {position: absolute; content:"“";font-size:calc(var(--vw) * 56); left: 0; top: 0; }
.philosophyCell h4:after {position: absolute; content:"”";font-size:calc(var(--vw) * 56); right: 0; bottom: 0; }
.philosophyCell .enTxt { color: var(--fc2); line-height: 1.6;letter-spacing:.03em;}
.philosophyCell .ValueBox {width: 100%; display: flex; justify-content: flex-start; gap:1%;}
.philosophyCell .ValueBox .cell {width: 24%; background: rgba(255,255,255,.03); padding: calc(var(--vw) * 20) 0 calc(var(--vw) * 32); text-align: center;}
.philosophyCell .ValueBox .cell svg {width: calc(var(--vw) * 9); height: auto; margin-bottom: calc(var(--vw) * 20);}
.philosophyCell .ValueBox .cell .top {margin-bottom: calc(var(--vw) * 40); text-align: center;}
.philosophyCell .ValueBox .cell .top p:first-child {font-size:calc(var(--vw) * 42); letter-spacing:.03em;font-family:"Noto Serif JP",serif;font-optical-sizing:auto;font-style:normal; margin-bottom: calc(var(--vw) * 4);}
.philosophyCell .ValueBox .cell .top p:last-child {font-size:calc(var(--vw) * 12); color: var(--fc2);letter-spacing:.03em;}
.philosophyCell .ValueBox .cell .btm {display: block; margin: 0 calc(var(--vw) * 24); color: var(--fc2); line-height: 1.6;letter-spacing:.03em; text-align: left;}

.reasonBox{display:flex;flex-direction:column;gap:var(--s64);width:100%; margin-top: var(--s128);}
.reasonBox .cell{position:relative;display:flex;justify-content:space-between;align-items:center;width:100%;min-height:calc(var(--vw) * 210);padding:calc(var(--vw) * 42) 0; background:rgba(255,255,255,.03);}
.reasonBox .cell .num{padding: 0 var(--s64);font-size:calc(var(--vw) * 40);font-weight:300;line-height:1;color:var(--yellow);}
.reasonBox .cell .mainCell{ flex:1;border-left: solid 1px rgba(255,255,255,.1); padding-left: var(--s64);}
.reasonBox .cell .mainCell h3{margin-bottom:calc(var(--vw) * 32);font-size:calc(var(--vw) * 32);font-weight:400;line-height:1.45;letter-spacing:.04em;}
.reasonBox .cell .mainCell p{font-weight:400;line-height:1.8;letter-spacing:.04em;opacity:.82; color: var(--fc2); padding-right: var(--s64);}
.reasonBox .cell .icon{width:calc(var(--vw) * 80);height:auto; aspect-ratio:1/1; margin-right: calc(var(--vw)*64);}
.reasonBox .cell .icon img{display:block;width:100%;height:auto;}

.companyCell{width:100%; margin-top: var(--s128); display: flex; justify-content: flex-start; flex-wrap: wrap; gap:calc(var(--vw) * 64) calc(var(--vw) * 113);}
.companyCell .cell{width:calc(var(--vw) * 564);padding:0;border-bottom:1px solid rgba(255,255,255,.15);}
.companyCell .cell h4{font-size:calc(var(--vw) * 25);font-weight:400;line-height:1.8;letter-spacing:.06em; margin-bottom:var(--s16);}
.companyCell .cell p{font-weight:400;line-height:1.8;letter-spacing:.04em; color: var(--fc2); margin-bottom: var(--s32);}

.blueTxtP {color: var(--fc2); font-size: calc(var(--vw)*22); line-height: 1.8; margin-top: var(--s128);}
.whiteTxtP { font-size: calc(var(--vw)*22); line-height: 1.8; margin-top: var(--s128);}

.subtxtSet{color: var(--fc2); margin-top: var(--s128); line-height: 1.8;}
.subtxtSet p:first-child { font-size: calc(var(--vw)*32); color: var(--white); font-weight: 500; margin-bottom: var(--s32);}



.structualBarriersCell{width:100%; margin-top: var(--s128); display: flex; justify-content: flex-start; flex-wrap: wrap; gap:calc(var(--vw) * 113) calc(var(--vw) * 113);}
.structualBarriersCell .cell{width:calc(var(--vw) * 564);padding:0;}
.structualBarriersCell .cell .top{display:flex;justify-content:flex-start;align-items:center;width:100%;border-bottom:1px solid rgba(255,255,255,.1);}
.structualBarriersCell .cell .top .num{display: flex; justify-content: center; align-items: center; flex-direction: column; width:calc(var(--vw) * 85); height: calc(var(--vw) * 85); aspect-ratio:1/1; font-size:calc(var(--vw) * 35);font-weight:300;line-height:1;border-right:1px solid rgba(255,255,255,.1); background: rgba(0,0,0,.1); }
.structualBarriersCell .cell .top .num span {font-size: calc(var(--vw) * 16);  margin-bottom: 4px; color: var(--yellow);}
.structualBarriersCell .cell .top .txt{flex:1;padding-left: calc(var(--vw) * 16); display: flex; justify-content: center; align-items: flex-start; flex-direction: column;height:calc(var(--vw) * 85)}
.structualBarriersCell .cell .top .txt h4{ order:2; font-size:calc(var(--vw) * 32);font-weight:400;line-height:1.5;letter-spacing:.04em;}
.structualBarriersCell .cell .top .txt p{ order:1; margin-bottom:calc(var(--vw) * 4);font-size:calc(var(--vw) * 18);font-weight:400;line-height:1.8;letter-spacing:.08em;color:var(--fc2);opacity:.8;}
.structualBarriersCell .cell .btm{padding-top:calc(var(--vw) * 40);font-weight:400;line-height:2;letter-spacing:.04em;color:var(--fc2);}
.structualBarriersCell .cell.img {display: flex; justify-content: center; align-items: center;}
.structualBarriersCell .cell.img img {display: block; width: 60%; height: auto;}

.decisionEnablementBox {width: 100%; display: flex; justify-content: flex-start;align-items:stretch; gap:1%; margin-top: var(--s128);}
.decisionEnablementBox .cell {width: 31%; background: rgba(255,255,255,.03); padding: var(--s32); text-align: center; display: flex;flex-direction: column;}
.decisionEnablementBox .cell .top {margin-bottom: var(--s32); text-align: center; font-size: calc(var(--vw) * 28);}
.decisionEnablementBox .cell .img { width: 30%; margin: 0 auto;}
.decisionEnablementBox .cell .img img {width: 100%; height: auto }
.decisionEnablementBox .cell .btm {display: block; margin: var(--s32) auto; color: var(--fc2); line-height: 1.8;letter-spacing:.03em; text-align: left; flex:1;}
.decisionEnablementBox .cell .num {text-align: right; font-size: calc(var(--vw) * 28); font-weight: 600; color: var(--fc2);}

.fromDtoECell{width:100%; margin-top: var(--s128); display: block;}
.fromDtoECell .cell{width:100%;padding:0; margin-bottom: calc(var(--vw) * 113);}
.fromDtoECell .cell .top{display:flex;justify-content:flex-start;align-items:center;width:100%;border-bottom:1px solid rgba(255,255,255,.1);}
.fromDtoECell .cell .top .num{display: flex; justify-content: center; align-items: center; width:calc(var(--vw) * 100); height: calc(var(--vw) * 100); aspect-ratio:1/1; font-size:calc(var(--vw) * 40);font-weight:300;line-height:1;border-right:1px solid rgba(255,255,255,.1); background: rgba(0,0,0,.1);color:var(--yellow); }
.fromDtoECell .cell .top .txt{flex:1;padding-left: calc(var(--vw) * 30); display: flex; justify-content: space-between; align-items: center;height:calc(var(--vw) * 100)}
.fromDtoECell .cell .top .txt h4{ order:1; font-size:calc(var(--vw) * 36);font-weight:400;line-height:1.5;letter-spacing:.04em;}
.fromDtoECell .cell .top .txt p{ order:2; margin-bottom:calc(var(--vw) * 4);font-weight:400;line-height:1.8;letter-spacing:.08em;color:var(--fc2);opacity:.7!important;}
.fromDtoECell .cell .btm{padding-top:calc(var(--vw) * 40);font-weight:400;line-height:2;letter-spacing:.04em;color:var(--fc2);}

.faqGroup {width:100%; margin-top: var(--s128); display: block; padding-bottom: var(--s64); border-bottom: solid 1px rgba(255,255,255,.1);}
.faqGroup h4 {font-size:calc(var(--vw) * 36);font-weight:400;line-height:1.5;letter-spacing:.04em;}
.faqGroup .faqList {width:100%; margin-top: var(--s32); display: block;}
.faqGroup .faqList .cell { margin-top: var(--s64); padding-top: var(--s64); border-top: solid 1px rgba(255,255,255,.1);}
.faqGroup .faqList .cell .qcell { display: flex; justify-content: flex-start; align-items: center; cursor: pointer;}
.faqGroup .faqList .cell .qcell:before {display: flex; justify-content: center; align-items: center; border-radius: 50%; background: rgba(0,0,0,.1); content:"Q"; font-weight: 500; font-size: calc(var(--vw)*20); width: calc(var(--vw)*50);  height: calc(var(--vw)*50); margin-right: 1em; line-height:1;}
.faqGroup .faqList .cell .acell { margin-top: var(--s16); display: flex; justify-content: flex-start; align-items: center;}
.faqGroup .faqList .cell .acell:before {display: flex; justify-content: center; align-items: center; border-radius: 50%; background: rgba(0,0,0,.1); content:"A"; font-weight: 500; font-size: calc(var(--vw)*20); color: var(--yellow); width: calc(var(--vw)*50);  height: calc(var(--vw)*50); margin-right: 1em; line-height:1;}
.faqGroup .faqList .cell .qcell p{width: 100%; font-weight: normal;line-height:1.8;font-size:calc(var(--vw) * 28); font-weight: 400;}
.faqGroup .faqList .cell .acell p{width: 100%; font-weight: normal;line-height:1.8; color: var(--fc2);}












/* contact Modal */
.contactModal{position:fixed;top:0;left:0;z-index:200;width:100%;height:100vh;background:rgba(0,0,0,.6);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .45s ease,visibility .45s ease;overflow-y:auto; display: flex; justify-content: center;align-items: center;}
body.isContactOpen .contactModal{opacity:1;visibility:visible;pointer-events:auto;}
body.isContactOpen{overflow:hidden;}
.contactModal .inner{position: relative;display:flex;justify-content:flex-start;width:90vw; background: linear-gradient(#193b39 0%, #1c403e 52.71%, #152726 100%); overflow: hidden; padding: var(--s32);}
.contactModal .inner a.closebtn {position: absolute;z-index: 2; top: 2em; right: 2em; width: 2vw; height: 2vw;}

.contactModal .leftCell{width:30%;padding-right: 5%; border-right: solid 1px rgba(255,255,255,.2);}
.contactModal .leftCell .eyebrush{margin:var(--s32) 0 var(--s32);font-size:calc(var(--vw) * 18);line-height:1;letter-spacing:.04em;color:var(--fc2);}
.contactModal .leftCell h1{margin-bottom:var(--s64);font-size:calc(var(--vw) * 40);font-weight:400;line-height:1.3;letter-spacing:.06em;}
.contactModal .leftCell h1:after {display: block; width: 100%; content:""; height: 3px; background: linear-gradient(to right,rgba(255,255,255,1) 20%, rgba(255,255,255,.2) 20%); margin: var(--s128) 0 var(--s64)}
.contactModal .leftCell p{font-size:calc(var(--vw) * 20);line-height:2;letter-spacing:.04em;color:var(--fc2);}
.contactModal .rightCell{width:60%; margin-left: 5%;}
.contactModal .rightCell form{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;width:100%;margin:var(--s32) 0 0;}
.contactModal .rightCell .formCell{width:calc(50% - calc(var(--vw) * 25)); margin-bottom:var(--s32);}
.contactModal .rightCell .formCell.full{width:100%;}
.contactModal .rightCell .formCell label{display:flex;justify-content:flex-start;align-items:center; margin-bottom:var(--s16);font-size:calc(var(--vw) * 18);line-height:1;letter-spacing:.04em; }
.contactModal .rightCell .formCell label span{display:inline-flex;justify-content:center;align-items:center;padding:calc(var(--vw) * 4) calc(var(--vw) * 10);font-size:calc(var(--vw) * 12);line-height:1;color:#152726;border: solid 1px var(--fc2);color: var(--fc2); border-radius: 3px; margin-left: 1em;}
.contactModal .rightCell input,.contactModal .rightCell select,.contactModal .rightCell textarea{width:100%;border:none;border-radius:0;padding:var(--s16);font-size:calc(var(--vw) * 18);line-height:1.6;color:rgba(255,255,255,.4);outline:none; background: rgba(10,33,35,.54);}
.contactModal .rightCell select{appearance:none;}
.contactModal .rightCell textarea{height:calc(var(--vw) * 180);resize:vertical;}
.contactModal .rightCell input::placeholder,.contactModal .rightCell textarea::placeholder{color:rgba(255,255,255,.45);}
.contactModal .rightCell .ppBox{display:flex;justify-content:center;align-items:center;width:100%;gap:var(--s16);}
.contactModal .rightCell .ppBox input{width:calc(var(--vw) * 18);height:calc(var(--vw) * 18);accent-color:var(--fc2);}
.contactModal .rightCell .ppBox label{color:var(--fc2);}
.contactModal .rightCell .submitBtn{width:50%; margin: var(--s32) auto;}
.contactModal .rightCell .submitBtn button{display:flex;justify-content:space-between;align-items:center;width:100%;padding:var(--s16) var(--s32);border:none;background: linear-gradient(#1b5854 0%, #152827 100%);color:var(--white);cursor:pointer;border: 1px solid #070707; border-radius: .3em;filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.16));}
.contactModal .rightCell .submitBtn button span:first-child{ flex:1;font-size:calc(var(--vw) * 20);letter-spacing:.04em; text-align: center;}
.contactModal .rightCell .submitBtn button span:last-child{display:block;width:calc(var(--vw) * 18);height:calc(var(--vw) * 18);}
.contactModal .rightCell .submitBtn button span:last-child svg{display:block;width:100%;height:100%;}

.hpField{
	position:absolute;
	left:-9999px;
}

/* article archive */
.archiveTitle{ display: flex; justify-content: flex-start; align-items: flex-start; width: 100%; margin-bottom: var(--s128);}
.archiveTitle h1.pagettl{ width: calc(var(--vw) * 1017); margin-bottom: 0;}
.archiveTitle h1 span {display: block; font-size: calc(var(--vw) * 24); margin-top: calc(var(--vw) * 48); color: #fff;}
.archiveTitle .categoryList{ width: calc(var(--vw) * 677); display: flex; justify-content: space-between; align-items: center; opacity: 0; filter: blur(10px); transition: all 1s;}
.archiveTitle .categoryList.clear {opacity: 1; filter: blur(0);}
.archiveTitle .categoryList ul{list-style-type: none;}
.archiveTitle .categoryList ul li{display: block; margin-bottom: var(--s16);}
.archiveTitle .categoryList a{display: flex; justify-content: flex-start; align-items: center; color: #fff;}
.archiveTitle .categoryList a span{display: block; margin-left: 1em;}
.archiveTitle .categoryList > a{}
.archiveTitle .categoryList > a span{}

.articleList{ opacity: 0; filter: blur(10px); transition: all 1s;}
.articleList.clear {opacity: 1; filter: blur(0);}
.articleList .alHeader{ display: flex; justify-content: flex-start; align-items: flex-start; width: 100%; background: rgba(0,0,0,.1); padding: calc(var(--vw) * 16)  calc(var(--vw) * 32); box-sizing: border-box;}
.articleList .alHeader div {font-size: calc(var(--vw) * 17); opacity: .6;}
.articleList .alHeader div:nth-child(1){width: calc(var(--vw) * 131);}
.articleList .alHeader div:nth-child(2){width: calc(var(--vw) * 886);}
.articleList .alHeader div:nth-child(3){width: calc(var(--vw) * 308);}
.articleList .alHeader div:nth-child(4){width: calc(var(--vw) * 369);}

.articleLink { display: flex; justify-content: flex-start; align-items: center; width: 100%; padding: calc(var(--vw) * 62)  calc(var(--vw) * 32); box-sizing: border-box; border-bottom: solid 1px rgba(255,255,255,.1); font-size: calc(var(--vw)*17);}
.articleLink div.no{width: calc(var(--vw) * 131);}
.articleLink div.ttlMain{width: calc(var(--vw) * 886); padding-right: 16px; box-sizing: border-box;}
.articleLink div.ttlMain h2 {font-size: calc(var(--vw) * 28); letter-spacing: .06em; font-weight: 400; line-height: 1.6; padding-right: 16px; box-sizing: border-box;}
.articleList.news div.ttlMain h2 {font-size: calc(var(--vw) * 22);}
.articleLink div.ttlMain .tags {display: flex; justify-content: flex-start; flex-wrap: wrap; gap:5px; margin-top: 24px;}
.articleLink div.ttlMain .tags a {display: block; width: fit-content; border-radius: 6px; background: rgba(255,255,255,.05); padding: 2px 16px; text-align: center; font-size: var(--vw)*10; margin: 0 10px 10px 0;}
.articleLink div.cat{width: calc(var(--vw) * 308);}
.articleLink div.date{width: calc(var(--vw) * 338);}
.articleLink div.arrow{width: calc(var(--vw) * 22);}


/* article single */
.articleSingle{ display: flex; justify-content: space-between; flex-wrap: wrap; opacity: 0; filter: blur(10px); transition: all 1s;}
.articleSingle.clear {opacity: 1; filter: blur(0);}
.articleSingle .pankz {width: 100%; margin-bottom: var(--s32);}
.articleSingle .pankz span,.articleSingle .pankz a {margin-right: 1em;}
.articleSingle .pankz a {text-decoration: underline;}
.articleSingle .articleBody{width: calc(var(--vw) * 1133); background: #E8ECEC; padding: var(--s64) 0 var(--s128); box-sizing: border-box; color: #1A1A1A;}
.articleSingle .articleBody h3 {margin: var(--s64) 0 var(--s32);font-size: calc(var(--vw)*26);font-weight: 600;line-height: 1.4;}
.articleSingle .articleBody h4 {margin: var(--s64) 0 var(--s32);font-size: calc(var(--vw)*24);font-weight: 600;line-height: 1.4;}
.articleSingle .articleBody h5 {margin: var(--s64) 0 var(--s32);font-size: calc(var(--vw)*22);font-weight: 600;line-height: 1.4;}
.articleSingle .articleBody p {margin-bottom: 16px; line-height: 1.7;}
.articleSingle .articleBody p:last-child {margin-bottom: 0!important;}
.articleSingle .articleBody hr {margin: var(--s128) 0 var(--s32);}
.articleSingle .articleBody img {display: block; max-width: 100%; margin-bottom: var(--s32);}

.articleSingle .articleBody .articleHeaderBox{ margin-right: var(--s64); margin-left: var(--s64); box-sizing: border-box;}
.articleSingle .articleBody .articleHeaderBox .top{width: 100%; display: flex; justify-content: space-between; align-items: center; margin-bottom: var(--s32);}
.articleSingle .articleBody .articleHeaderBox .top .cat{text-align: left; margin-bottom: 0;}
.articleSingle .articleBody .articleHeaderBox .top .date{text-align: right;}
.articleSingle .articleBody .articleHeaderBox h1{font-size: calc(var(--vw)*36); line-height: 1.4; font-weight: 600; margin-bottom: var(--s64);}
.articleSingle .articleBody .articleHeaderBox .tags{display: flex; justify-content: flex-start; flex-wrap: wrap; gap:5px; margin-bottom: var(--s64);}
.articleSingle .articleBody .articleHeaderBox .tags a{display: block; width: fit-content; border-radius: 6px; border: solid 1px rgba(0,0,0,.25); padding: 2px 16px; text-align: center; font-size: calc(var(--vw)*14); margin: 0 10px 10px 0;}
.articleSingle .articleBody .articleHeaderBox .summary{ background: rgba(255,255,255,.3); border-left: solid 8px #4B7A7C; padding: var(--s32);}
.articleSingle .articleBody .articleHeaderBox .summary .summaryTxtBox{}

.articleMainCont{	counter-reset: insight-section;}
.articleMainCont h2{counter-increment: insight-section;	position: relative;	margin-top: var(--s128);margin-bottom: var(--s64);font-size: calc(var(--vw)*34);font-weight: 600;line-height: 1.4;padding-left: calc(var(--vw) * 80);padding-right: var(--s64);}
.articleMainCont h2::before{content: counter(insight-section, decimal-leading-zero);position: absolute;left: 0;top: 50%;transform: translateY(-50%);font-size: calc(var(--vw)*50);font-weight: 400;color: #4B7A7C;line-height: 1;}
.articleMainCont h2::after{content:"";position:absolute;left:calc(var(--vw) * -64);top:50%;width:calc(var(--vw) * 52);height:1px;background:#333;opacity:.4;}

/* authorBox */
.authorBox {padding: var(--s128) var(--s64) 0; box-sizing: border-box;}
.authorBox h2 {padding-bottom: var(--s32);margin-bottom: var(--s32);border-bottom: solid 1px var(--fc2);}
.authorBox .authorName {width: 100%; display: flex; justify-content: space-between; align-items: center;margin-bottom: var(--s64);padding-bottom: var(--s32);border-bottom: solid 1px var(--fc2);}
.authorBox .authorName h3 {flex:1; color: var(--green); margin: 0; padding: 0;}
.authorBox .authorName h3 span {padding-left: .5em; font-size: var(--base);}
.authorBox .authorName a {display: block; width: auto; height: 100%;}
.authorBox .authorName a svg {display: block; width: var(--s32); height: auto; fill:var(--green2);}
.authorBox .authorProfile {}
.authorBox .authorProfile p {position: relative; padding-left: 2em; margin-bottom: 1.8em; line-height: 1.3;}
.authorBox .authorProfile p:before {content:""; display: block; position: absolute; top: .6em; left: 0; width: 1em; height: 3px; background: var(--fc2);}

/*　news single　*/
.articleSingle .articleBody .articleMainCont.news { margin-right: var(--s64); margin-left: var(--s64); box-sizing: border-box;}
.articleSingle .articleBody .articleMainCont.news h2 {margin-bottom: var(--s32);}
.articleSingle .articleBody .articleMainCont.news p {margin-bottom: var(--s32);}
.articleSingle .articleBody .articleMainCont.news ul {margin-bottom: var(--s32);}
.articleSingle .articleBody .articleMainCont.news img {display: block; max-width: 100%; margin-bottom: var(--s32);}

.articleSingle .articleBody .articleMainCont .articleSection p{ margin: 0 var(--s64) var(--s32) calc(var(--vw)*168) ; color: #4B7A7C;}
.articleSingle .articleBody .articleMainCont .articleSection ul{ margin: 0 var(--s64) var(--s32) calc(var(--vw)*168) ; color: #4B7A7C;}
.articleSingle .articleBody .articleMainCont .articleSection ul li{}
.articleSingle .side{width: calc(var(--vw) * 546);}
.articleSingle .side .sideBox{ margin-bottom: var(--s128);}
.articleSingle .side .sideBox h2{font-size: calc(var(--vw) * 30); font-weight: 500; margin-bottom: var(--s32);}
.articleSingle .side .sideBox ul{}
.articleSingle .side .sideBox ul li{display: block; margin-bottom: var(--s16);}
.articleSingle .side .sideBox ul li a{}
.articleSingle .side .sideBox ul li a span{}
.articleSingle .side .indexList{}
.articleSingle .side .indexList{position:sticky;top:calc(var(--vw) * 16);}
.articleSingle .side .catList{}
.articleSingle .side .catList a{display: flex; justify-content: flex-start; align-items: center;}
.articleSingle .side .catList a span{display: block; margin-left: 10px; color: var(--fc2);}
.articleSingle .side .tagList{}
.articleSingle .side .tagList ul{ display: flex; flex-wrap: wrap; gap: 10px;}
.articleSingle .side .tagList ul li{}
.articleSingle .side .tagList ul li a{text-decoration: underline;}


/* insights single */
.articleSingle.insights { margin: var(--s256) calc(var(--vw)*16) var(--s256) calc(var(--vw)*113);}
.articleSingle .side{width: calc(var(--vw) * 643); margin-right: calc(var(--vw)*16);}
.tocList .toc-h2 {margin-top: calc(var(--vw)*16);}
.tocList .toc-h3{	padding-left: calc(var(--vw)*16);	margin-bottom: calc(var(--vw)*8);	font-size: var(--base);	color: var(--fc2);}

/* insights single */
.articleSingle.insights { }
.articleSingle .spTocList {display: none;}


/* top */
body.home{overflow:hidden;}
body.home footer{position:fixed;left:0;bottom:0;z-index:70;width:100%; background: none; color:}
body.home footer .inner {padding: 0; color:var(--white);display: none!important;}
body.home footer .cp {background: none; text-align: right; padding: 0 calc(var(--vw)*113) calc(var(--vw)*16) 0 ; box-sizing: border-box;}


.dotnavi {position: fixed; top: 0; bottom: 0; margin: auto; z-index: 20; width: 2px; height: fit-content; left: calc(var(--vw)*113); opacity: 1; transition: all 1s;}
.dotnavi.on {opacity: 1; transition: all 1s;}
.dotnavi p { display: block; width: 2px; height: 1px; overflow: hidden; margin-bottom: 30px; background:#fff; transition: all 1s;}
.dotnavi p.current {background:#fff; transition: all 1s; height: 270px;}

.topMain{position:relative;width:100%;height:100vh;margin:0;overflow:hidden;}
.topMain .topMessage{position:absolute;top:0;left:0;width:100%;height:100vh;display:flex;justify-content:flex-start;align-items:center;padding:0 calc(var(--vw) * 256);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(calc(var(--vw) * 40));transition:opacity .8s ease,visibility .8s ease,transform .8s cubic-bezier(.77,0,.175,1);}
.topMain .topMessage.isActive{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);}
.topMain .topMessage .inner{width:calc(var(--vw) * 1300);}
.topMain .topMessage .eyebrush{margin-bottom:var(--s32);font-size:calc(var(--vw) * 24);line-height:1;letter-spacing:.04em;color:var(--fc2);}
.topMain .topMessage h1{margin-bottom:var(--s64);font-size:calc(var(--vw) * 54);font-weight:400;line-height:1.05;letter-spacing:.03em;}
.topMain .topMessage h2{margin-bottom:var(--s64);font-size:calc(var(--vw) * 54);font-weight:400;line-height:1.6;letter-spacing:.06em;}
.topMain .topMessage .lead{margin-bottom:var(--s64);font-weight:400;line-height:2.1;letter-spacing:.05em;color:var(--fc2);}
.topMain .topMessage .viewMore{display:flex;justify-content:flex-start;align-items:center;gap:calc(var(--vw) * 18);width:fit-content;font-size:calc(var(--vw) * 18);line-height:1;letter-spacing:.04em;}
.topMain .topMessage .viewMore span:last-child{display:block;width:calc(var(--vw) * 18);height:calc(var(--vw) * 18);}
.topMain .topMessage .viewMore span:last-child svg{display:block;width:100%;height:100%;}





/* three.js */
.threeBg{position:fixed;top:0;left:0;z-index:-1;width:100%;height:100%;pointer-events:none;}
.threeBg canvas{display:block;width:100%;height:100%;}



/* loading */
.loading {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background:#D3D3D3;
  display: flex;
  align-items: center;
  justify-content: center;
	width: 100%; height: 100vh;
	overflow: hidden;
  opacity: 1;
  visibility: visible;
  transition: opacity .8s ease, visibility .8s ease;
}

.loading.is-hide {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.loading__inner {
  opacity: 1;
}

body.is-ready .loading {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}



body.is-loading-check .loading {
  display: none;
}

body.is-loading .loading {
  display: flex;
}


body:not(.home) .scrollGuide{
	display:none;
}

.cscrolldown{
	width:1px;
	height:60px;
	position:absolute;
	left:0;
	right:0;
	bottom:2vw;
	margin:auto;
	overflow:hidden;
	z-index:10;
}

.cscrolltxt{
	position:absolute;
	left:0;
	right:0;
	bottom:calc(2vw + 80px);
	margin:auto;
	width:max-content;
	font-size:12px;
	letter-spacing:.2em;
	color:rgba(255,255,255,.7);
	z-index:10;
}

.cline{
	width:100%;
	height:100%;
	background:linear-gradient(
		to bottom,
		rgba(255,255,255,1) 50%,
		rgba(255,255,255,0) 50%
	);
	background-size:100% 200%;
	animation:scrollLine 2.2s ease infinite;
}

@keyframes scrollLine{
	0%{
		background-position:0 -60px;
	}

	100%{
		background-position:0 60px;
	}
}


.scrollGuide{
	opacity:1;
	transition:opacity .45s ease;
}
