@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Instrument+Serif&display=block');
:root {
	--color-primary: #9c7950;
	--color-secondary: #cfb38b;
	--color-ink: #142b32;
	--bg-body: #f7f5f0;
	--header-background: #ffffff;
	--header-text: #142b32;
	--header-text-hover: #9c7950;
	--bg-nav-mobile: #142b32;
	--txt-nav-mobile: #f7f5f0;
	--bg-nav-active: #24424c;
	--bg-nav: #ffffff;
}
ul, li { margin: 0; padding: 0; list-style: none;}
body { font-family: "Manrope", "Helvetica Neue", Arial, "Nimbus Sans L", FreeSans; background: var(--bg-body); color: #142b32;  }
#fullWrp { margin: 0 auto; min-height: 100%; background: var(--bg-body); position: relative; overflow-x: hidden;   }
.FrmCtr { max-width: 1320px; }

.genPad1 { padding-top: 60px; padding-bottom: 60px;}
@media all and (max-width: 576px) {
.genPad1 { padding-top: 7.812vw; padding-bottom:  7.812vw;}
}
.FntSor{  font-family: "Sora", "Helvetica Neue", Arial, "Nimbus Sans L", FreeSans; font-weight: 600!important;  }
.FntIns { font-family: "Instrument Serif", Georgia, "Times New Roman", serif!important; font-weight: 400!important; }

.genC1 { color: var(--color-primary) !important; }
.genC2 { color: var(--color-secondary) !important; }


/* logo
-----------------------------*/
#mainLogo { display: block; width: 190px; max-width: 190px; text-align: center; position: relative;   }
#mainLogo a { display: inline-block; white-space: nowrap; font-size: 58px; line-height: 58px; text-indent: -8000px; background: url("../images/main_logo.svg") no-repeat center center; background-size: contain; color: var(--color-ink); position: relative; z-index: 1; width: 100%;     }
@media all and (max-width: 767px) {
#mainLogo  a {  font-size: 4.8rem; line-height: 48px; }
}
@media all and (max-width: 667px) {
#mainLogo { margin-left: 44px; display:  inline-block; width: auto; }
}
@media all and (max-width: 576px) {
.nav-hamburger + #mainLogo { margin-left: 54px!important; }
}
/* Main Header
--------------------------------------------------------------*/
#mainHdr { z-index: 2; background: var(--header-background); padding: 0 0; position: relative; z-index: 20; border-bottom: solid 1px #eae8e2; }
#fullWrp .introHeader { box-shadow:  none!important; background: none!important;  position: absolute; left: 0; top: 0; width: 100%; border-bottom: 0; }
#mainHdrBg { position: absolute; left: 0; top: 0; width: 100%; height :100%; z-index: -1; overflow: hidden;   }
#mainHdr .nav-hamburger { display: none; }
#mainHdr  .ctr { padding: 0 2rem; margin: 0 auto;   }
#mainLogo {   z-index:  10; position: relative; }
#mainHdr .mainHdrOpt li { position: relative; }
#mainNav .site-nav  li a {  color: var(--header-text);  }
#mainNav .site-nav  li a:hover {  color: var(--header-text-hover);  }
#mainNav .site-nav  li a span.bonus {  position: absolute; top: -1.6em; line-height: 1.45em; background: var(--color-primary); padding: 0 0.55em; color: #fff;  left: 50%; transform: translate(-50%, 0%); font-size: 12.48px; }
#mainHdrCont { display: flex; align-items: center; border-left: solid 1px #d8d7d2; padding-left: 30px; }
#mainHdrCont a { display: flex; align-items: center; font-size: 13px; font-weight: 500; line-height: 1.65em; color: var(--header-text); }
#mainHdrCont a:after { content: ' '; display: block; width: 22px; height: 22px; margin-left: 28px; background: url("../images/main_hdr_ico_arrow.svg") no-repeat center center; background-size: contain; }
#mainHdrCont a:hover { color: var(--header-text-hover); }
#mainTelNav { display: flex; justify-content: flex-end; height: 56px; align-items: center; white-space: nowrap; position: relative; }
#mainTelNav .tel { display: flex; align-items: center; }
#mainTelNav .tel .ico { display: flex; flex: 0 0 auto; margin-right: 10px; }
#mainTelNav .tel .txt b { display: block; font-size: 17px; line-height: 1.6em; letter-spacing: -0.02em; }
#mainTelNav .tel .txt small { display: block; font-size: 10px; font-weight: 700; line-height: 1.6em; text-align: right; color: rgba(255,255,255,0.62); }
#mainLogo .planType { position: absolute; top: 0; line-height: 1.45em; background: var(--bg-nav-mobile); padding: 0 0.55em;color: #fff; font-size: 12.48px; left: 104%; text-indent: 0; text-transform: uppercase; }
#mainHdr .btmHdr { background: var(--color-ink); padding: 15px 0; font-size: 16px; color: #fff; position: relative; z-index: 10;   }
@media all and (max-width: 1399px) {
#mainHdr .topHdr .ctr { display: flex; align-items: center; justify-content: space-between; }
#mainHdr .mainHdrOpt li span.bonus  {  font-size: 11.5px; }
.nav-hamburger + #mainLogo { margin: 0 0 0 61px; width: 140px; }
}
@media all and (max-width: 960px) {
#mainHdr .btmHdr { line-height: 1.1em; text-align: center; }
#mainHdr .btmHdr .ctr { max-width: 26em; }
}
@media all and (max-width: 680px) {
.nav-hamburger + #mainLogo { margin: 0 0 0 50px; }
}
@media all and (max-width: 667px) {
#mainHdrCont { padding-left: 16px; }
#mainHdrCont a:after { margin-left: 10px; }
}
@media all and (max-width: 572px) {
#mainLogo .planType { display: none;}
#mainHdr .btmHdr .ctr { font-size: 14px; line-height: 1.1em;}
}
@media all and (max-width: 440px) {
.nav-hamburger + #mainLogo { margin: 0 0 0 40px!important; }
#mainHdrCont { border-left: 0; padding-left: 0; }
#mainHdrCont a:after { width: 18px; height: 18px; margin-left: 8px; }
}
/* Main  Menu
--------------------------------------------------------------*/
#mainHdr ul { list-style: none; margin: 0 auto; padding: 0;  }



@media all and (min-width: 1400px) {
#mainHdr #mainNav { display: flex; justify-content: flex-end; align-items: center; font-weight:  500; text-transform: none; font-size: 13px;  line-height: 1.65em; flex: 1 0 0; width: auto; padding: 0 62px 0 30px; margin: 0; letter-spacing:  0;  }
#mainHdr #mainNav .site-nav { width: 100%; }
#mainHdr .topHdr { padding: 24px 0; position: relative; z-index: 1;    }
#mainHdr .topHdr .ctr { display: flex; align-items: center; justify-content: space-between; }
#mainHdr .topHdr .date { display: block; position: absolute; left: 3rem; top: 50%; margin-top: -0.5em; font-size: 15px; line-height: 1em; }
#mainHdr .mainHdrOpt {  width: 100%;   display: flex;  justify-content: flex-end; gap: 2.9em; align-items: center; list-style: none;   }
#mainHdr .mainHdrOpt li a { display: inline-block; padding: 14px 0; }
#mainHdr .mainHdrOpt li a.cur { border-bottom: solid 2px var(--color-primary); padding-bottom: 12px; }
#mainHdr .mainHdrMem  { max-width: 540px;  margin: 0 auto; padding: 0; }
#mainNav .site-nav .dropDown { position: absolute; top: 5px; left: 0; z-index: 1000; display: none; float: left; min-width: 168px; padding-top: 28px; cursor:  pointer; }
#mainNav .site-nav .dropDown ul { padding: 3px   0; margin: 0.125rem 0 0; font-size: 14px; color: #212529; text-align: left; list-style: none; background-color: #fff; background-clip: padding-box; border: 1px solid rgba(0,0,0,.15); border-radius: 0.25rem; }
#mainNav .site-nav .dropDown li a { padding: 3px  6px; font-weight: normal; font-size: 12.8px; line-height: 1.9em; display: block; white-space: nowrap;   }
#mainNav .site-nav .dropDown li a:hover { background: #eee; }
#mainNav .site-nav  li.dropElm > a:after { content: ' '; border: solid var(--bg-nav-mobile); border-width: 0 3px 3px 0; display: inline-block; padding: 3px; vertical-align: top; position: relative;  -webkit-transform: rotate(45deg); transform: rotate(45deg); margin-left: 8px; position: relative; top: 0.2em; }
#mainNav .site-nav  li.dropElm:hover .dropDown { display: block; }
#mainNav .site-nav  li.hideLg { display: none!important; }
}


@media all and (max-width: 1399px) {
#mainHdr .topHdr { padding: 15px 0; }

#mainHdr .topHdr .date { display: none; }
/*burger icon + animation*/
#mainHdr .nav-hamburger { background: transparent none repeat scroll 0 0; border: 0 none; cursor: pointer; display: block; height: 35px; margin-bottom: auto; margin-top: auto; outline: medium none; padding: 0; position: relative; transition: all 0.3s ease-in-out 0s; width: 30px; position: absolute; left: 2rem; top: 24px;  }
.nav-hamburger::before, .nav-hamburger::after, .nav-hamburger span { background-color: var(--header-text); transition: all 0.3s ease-in-out 0s; }
.nav-hamburger::before, .nav-hamburger::after, .nav-hamburger span { background-color: var(--header-text); }
.nav-hamburger::before, .nav-hamburger::after { content: ""; height: 2px; left: 0; position: absolute; top: 50%; transform-origin: 50% 50% 0; width: 100%; }
.nav-hamburger span { height: 2px; left: 0; overflow: hidden; position: absolute; text-indent: 200%; top: 50%; width: 100%; cursor: pointer; }
.nav-hamburger::before { transform: translate3d(0px, -10px, 0px); }
.nav-hamburger::after { transform: translate3d(0px,  10px, 0px); }
.menuOpen .nav-hamburger span { background-color: var(--txt-nav-mobile); opacity: 0; }
.menuOpen .nav-hamburger::before { background-color: var(--txt-nav-mobile); transform: rotate3d(0, 0, 1, 45deg); }
.menuOpen .nav-hamburger::after { background-color: var(--txt-nav-mobile); transform: rotate3d(0, 0, 1, -45deg); }
.nav-hamburger { position: absolute; left: 0; top: 14px; z-index: 1001; cursor: pointer;  }

#mainNav .site-nav  { display: block; top: 0; bottom: -100vh ; left: 0; right: 0; overflow-y: auto; position: absolute; padding: 0;  box-shadow: 0 -30px 0 0 var(--bg-nav-mobile);  }
#mainNav .site-nav  ul, #site-menu .site-nav   li { margin: 0; padding: 0; }
#mainNav .site-nav  li { padding: 0; display: block; text-align: left;   }
#mainNav .site-nav  li:first-child { margin-top: 86px; }
#mainNav .site-nav  li a {  background: var(--bg-nav-mobile); display: block; padding: 16px 20px 16px 20px!important; color: var(--txt-nav-mobile)!important; font-size: 14px; line-height: 16px; -webkit-transition:0ms ease-out all; transition: 0ms ease-out all; text-align: center;  border-bottom: solid 1px rgba(247,245,240,0.16); text-align:left; font-weight: 400;  letter-spacing: 0.145em; text-transform: uppercase;  -webkit-tap-highlight-color: transparent; }
#mainNav .site-nav  li a span.bonus { position: static; display: inline; vertical-align:  top; margin-left: 0.4em;   }
#mainNav .site-nav  li:first-child  a  { border-top: solid 1px rgba(247,245,240,0.16); }
#mainNav .site-nav  li a.cur, #mainNav .site-nav  li a.cur:active   { outline: none; color:  var(--txt-nav-mobile);  background:var(--bg-nav-active); }
#mainNav .site-nav  li a:active  { background:var(--bg-nav-active); }
#mainNav .site-nav  li li a { border-top: 0!important; padding-left: 32px!important;}
#mainNav .site-nav  li.dropElm> a:after { content: ' '; border: solid #fff; border-width: 0 2px 2px 0; display: block; padding: 2px; width: 0.25em; height: 0.25em;  vertical-align: middle; position: relative;  -webkit-transform: rotate(45deg); transform: rotate(45deg); position: absolute; right: 20px; top: 17px; }
#mainNav .site-nav  li li:first-child { margin: 0;}
#mainNav .site-nav  li .dropDown { display: none; }
#mainNav .site-nav  li.dropOpen > a:after {  -webkit-transform: rotate(-135deg); transform: rotate(-135deg); top: 22px;}
#mainNav .site-nav  li.dropOpen .dropDown { display: block; }
/* open menu
-----------------------------*/
#mainNav { background:var(--bg-nav-mobile); color: #fff; display: block!important; max-width: 300px; top: 0;  box-shadow: -1000vh 900vh  0 1000vh var(--bg-nav-mobile), -1000vh  900vh 20px 1000vh  rgba(0,0,0, 0.4); position: absolute; left: 0; width: 100%;  -webkit-transition: 300ms ease-out all; transition: 300ms ease-out all; z-index: 900;    -webkit-transform: translateX(-500px); transform: translateX(-500px); transform: translate3d(-500px, 0, 0);  -webkit-transform: translate3d(-500px, 0, 0); pointer-events: none; -webkit-perspective: 1000; -webkit-backface-visibility: hidden; -webkit-transform-style: preserve-3d;   will-change: transform; }
.menuOpen #mainNav  { -webkit-transform: translateX(0); transform: translateX(0); transform: translate3d(0, 0, 0);  -webkit-transform: translate3d(0, 0, 0); pointer-events: auto;  }
}

/* Main Intro
--------------------------------------------------------------*/
#mainIntro { overflow: hidden; }
#mainIntro .FrmCtr { display: flex; align-items: stretch; }
#mainIntro .lft { display: flex; flex-direction: column; align-items: flex-start; flex: 1 0 0; min-width: 0; padding: 60px 48px 60px 0; min-height: 750px; box-sizing: border-box; }
#mainIntro .lft .ln1 { font-size: 89px; line-height: 0.97em; letter-spacing: -0.025em; max-width: 5.85em; }
#mainIntro .lft .ln2 { font-size: 17px; line-height: 1.7em; color: #435259; max-width: 25.3em; padding: 0; margin: 1.55em 0 1.65em 0; }
#mainIntro .lft .ln3 { display: flex; align-items: center; font-size: 11px; font-weight: 600; line-height: 1.7em; letter-spacing: 0.035em; padding: 0; margin-top: auto; }
#mainIntro .lft .ln3:before { content: ' '; display: block; flex: 0 0 auto; width: 32px; height: 1px; background: #9c7950; margin-right: 18px; }
#mainIntro .rgt { flex: 0 0 47%; background: #eae5dc; position: relative; right: -2rem;  }
#mainIntro .rgt .tmb { height: 676px; background: url("../images/main_intro_tmb.jpg") no-repeat center center; background-size: cover; }
#mainIntro .rgt .cap { display: flex; align-items: center; justify-content: space-between; height: 74px; padding: 0 34px; box-sizing: border-box; }
#mainIntro .rgt .cap .ln1 { font-size: 25px; line-height: 1.3em; }
#mainIntro .rgt .cap .ln2 { font-size: 10px; font-weight: 600; line-height: 1.65em; letter-spacing: 0.045em; max-width: 13.8em; }
@media all and (min-width: 1320px) {
#mainIntro .FrmCtr { padding-top: 6rem; padding-bottom: 6rem; }
}
@media all and (max-width: 1100px) {
#mainIntro .lft { min-height: 0; padding-bottom: 60px; }
#mainIntro .lft .ln1 { font-size: 64px; }
#mainIntro .lft .ln3 { margin-top: 3em; }
#mainIntro .rgt .tmb { height: 480px; }
}
@media all and (max-width: 880px) {
#mainIntro .FrmCtr { flex-direction: column; }
#mainIntro .lft { flex: 0 0 auto; padding: 48px 0 48px 0; }
#mainIntro .rgt { flex: 0 0 auto; margin: 0 -2rem; }
#mainIntro .rgt .tmb { height: 0; padding-top: 76%; }
}
@media all and (max-width: 480px) {
#mainIntro .lft { padding: 10vw 0 10vw 0; }
#mainIntro .lft .ln1 { font-size: 13.33vw; }
#mainIntro .lft .ln2 { font-size: 3.54vw; }
#mainIntro .lft .ln3 { font-size: 2.29vw; }
#mainIntro .rgt .cap { height: auto; padding: 4.16vw 4.8vw; }
#mainIntro .rgt .cap .ln1 { font-size: 5.21vw; }
#mainIntro .rgt .cap .ln2 { font-size: 2.09vw; }
}

/* Main Approach
--------------------------------------------------------------*/
#mainApproach { background: #142b32; color: #dce0de; padding: 4rem 0; }
#mainApproach .FrmCtr { display: flex; align-items: flex-start; }
#mainApproach .lft { flex: 1 0 0; min-width: 0; margin-right: 8%; }
#mainApproach .lft .ln1 { font-size: 13px; font-weight: 600; line-height: 1.5em; letter-spacing: 0.055em; color: #cfb38b; padding: 0; }
#mainApproach .lft .ln2 { font-size: 58px; line-height: 1.08em; letter-spacing: -0.025em; color: #f7f5f0; margin-top: 0.46em; }
#mainApproach .lft .ln3 { font-size: 16px; line-height: 1.85em; color: #dce0de; max-width: 24.5em; padding: 0; margin-top: 1.8em; }
#mainApproach .lft .lnk { display: inline-flex; align-items: center; font-size: 14px; font-weight: 600; line-height: 1.65em; color: #f7f5f0; border-bottom: solid 1px #9c7950; padding: 8px 0; margin-top: 2em; }
#mainApproach .lft .lnk svg { display: block; margin-left: 35px; }
#mainApproach .lft .lnk:hover { color: #cfb38b; }
#mainApproach .rgt { flex: 0 0 46%; }
#mainApproach .rgt .itm { display: flex; align-items: center; font-size: 10px; padding: 2.5em 0; }
#mainApproach .rgt .itm:first-child { padding-top: 0; }
#mainApproach .rgt .itm:not(:last-child) { border-bottom: solid 1px #40535a; }
#mainApproach .rgt .itm:last-child { padding-bottom: 0; }
#mainApproach .rgt .itm .ico { display: block; flex: 0 0 auto; width: 6.2em; margin-right: 2.8em; }
#mainApproach .rgt .itm .txt { flex: 1 0 0; min-width: 0; }
#mainApproach .rgt .itm .ln1 { font-size: 3.1em; line-height: 1.2em; color: #f7f5f0; }
#mainApproach .rgt .itm .ln2 { font-size: 1.6em; line-height: 1.75em; color: #dce0de; max-width: 19.1em; padding: 0; margin-top: 0.45em; }
@media all and (max-width: 992px) {
#mainApproach { padding: 0; }
#mainApproach .FrmCtr { flex-direction: column; }
#mainApproach .lft { flex: 0 0 auto; margin: 0 0 3.5em 0; }
#mainApproach .rgt { flex: 0 0 auto; width: 100%; }
}
@media all and (max-width: 480px) {
#mainApproach .lft .ln1 { font-size: 2.71vw; }
#mainApproach .lft .ln2 { font-size: 10.42vw; }
#mainApproach .lft .ln3 { font-size: 3.34vw; }
#mainApproach .rgt .itm { font-size: 2.08vw; }
}

/* Main Focus
--------------------------------------------------------------*/
#mainFocus { padding: 4rem 0; }
#mainFocus .top { display: flex; align-items: flex-start; }
#mainFocus .top .ln1 { flex: 0 0 30%; font-size: 13px; font-weight: 600; line-height: 1.5em; letter-spacing: 0.055em; color: #6d614f; padding: 0.6em 0 0 0; margin-right: 4%; }
#mainFocus .top .ln2 { font-size: 61px; line-height: 1.06em; letter-spacing: -0.025em; color: #142b32; max-width: 9em; }
#mainFocus .btm { display: flex; align-items: flex-start; margin-top: 56px; }
#mainFocus .btm .lft { flex: 0 0 46.7%; margin-right: 6.5%; padding-top: 8px; }
#mainFocus .btm .lft .tmb { background: #eae5dc; background-position: center center; background-repeat: no-repeat; background-size: cover; }
#mainFocus .btm .lft .tmb:after { content: ' '; display: block; padding-top: 62.207%; }
#mainFocus .btm .lft .cap { display: flex; align-items: flex-start; justify-content: space-between; padding: 20px 0; }
#mainFocus .btm .lft .cap .ln1 { font-size: 11px; line-height: 1.5em; color: #645c50; padding: 0; }
#mainFocus .btm .lft .cap .ln2 { font-size: 11px; font-weight: 600; line-height: 1.5em; color: #645c50; padding: 0; }
#mainFocus .btm .rgt { flex: 1 0 0; min-width: 0; border-top: solid 1px #c9c5bc; }
#mainFocus .btm .rgt .itm { display: block; border-bottom: solid 1px #c9c5bc; }
#mainFocus .btm .rgt .itm summary { display: flex; align-items: center; justify-content: space-between; list-style: none; cursor: pointer; padding: 25px 0; -webkit-tap-highlight-color: transparent; }
#mainFocus .btm .rgt .itm summary::-webkit-details-marker { display: none; }
#mainFocus .btm .rgt .itm summary .ln1 { font-size: 21px; font-weight: 500; line-height: 1.4em; letter-spacing: -0.03em; color: #142b32; }
#mainFocus .btm .rgt .itm summary .mrk { display: block; flex: 0 0 auto; width: 27px; height: 27px; border: solid 1px #b9b4a9; background: url("../images/main_focus_ico_plus.svg") no-repeat center center; background-size: 17px 17px; }
#mainFocus .btm .rgt .itm[open] summary .mrk { border-color: #142b32; background: #142b32 url("../images/main_focus_ico_minus.svg") no-repeat center center; background-size: 17px 17px; }
#mainFocus .btm .rgt .itm .txt { padding: 0 55px 27px 0; }
#mainFocus .btm .rgt .itm .txt .ln2 { font-size: 16px; line-height: 1.8em; color: #536064; max-width: 24.1em; padding: 0; }
#mainFocus .btm .rgt .itm .txt .ln3 { font-size: 10px; font-weight: 600; line-height: 1.65em; letter-spacing: 0.025em; color: #796243; padding: 0; margin-top: 2.2em; }
@media all and (max-width: 992px) {
#mainFocus { padding: 0; }
#mainFocus .top { flex-direction: column; }
#mainFocus .top .ln1 { flex: 0 0 auto; margin: 0 0 1.5em 0; padding-top: 0; }
#mainFocus .top .ln2 { font-size: 48px; }
#mainFocus .btm { flex-direction: column; }
#mainFocus .btm .lft { flex: 0 0 auto; width: 100%; margin: 0 0 40px 0; padding-top: 0; }
#mainFocus .btm .rgt { flex: 0 0 auto; width: 100%; }
}
@media all and (max-width: 480px) {
#mainFocus .top .ln1 { font-size: 2.71vw; }
#mainFocus .top .ln2 { font-size: 10vw; }
#mainFocus .btm { margin-top: 8.33vw; }
#mainFocus .btm .lft { margin-bottom: 6.24vw; }
#mainFocus .btm .rgt .itm summary { padding: 4.2vw 0; }
#mainFocus .btm .rgt .itm summary .ln1 { font-size: 4.38vw; }
#mainFocus .btm .rgt .itm .txt { padding: 0 0 4.56vw 0; }
#mainFocus .btm .rgt .itm .txt .ln2 { font-size: 3.34vw; }
#mainFocus .btm .rgt .itm .txt .ln3 { font-size: 2.09vw; }
}

/* Main Perspective
--------------------------------------------------------------*/
#mainPerspective { background: #081319 url("../images/main_perspective_bg.jpg") no-repeat center center; background-size: cover; padding: 1rem 0; box-sizing: border-box; min-height: 510px; }
#mainPerspective .ln1 { font-size: 13px; font-weight: 600; line-height: 1.5em; letter-spacing: 0.055em; color: #e4d4b9; padding: 0; }
#mainPerspective .ln2 { font-size: 64px; line-height: 1.04em; letter-spacing: -0.025em; color: #f7f5f0; margin-top: 0.36em; }
#mainPerspective .ln3 { font-size: 16px; line-height: 1.8em; color: #e4e8e6; padding: 0; margin: 1.45em 0 1.6em 0; }
@media all and (max-width: 992px) {
#mainPerspective { padding: 0; }
}
@media all and (max-width: 768px) {
#mainPerspective { min-height: 0; }
#mainPerspective .ln2 { font-size: 48px; }
}
@media all and (max-width: 480px) {
#mainPerspective { padding: 15.6vw 0; }
#mainPerspective .ln1 { font-size: 2.71vw; }
#mainPerspective .ln2 { font-size: 11.46vw; }
#mainPerspective .ln3 { font-size: 3.34vw; }
}

/* Main Footer
--------------------------------------------------------------*/
#mainFtr {  }
#mainFtr .top { display: flex; align-items: flex-start; }
#mainFtr .top .lft { flex: 1 0 0; min-width: 0; }
#mainFtr .logo a { display: block; width: 190px; max-width: 190px; white-space: nowrap; font-size: 58px; line-height: 58px; text-indent: -8000px; overflow: hidden; background: url("../images/main_logo.svg") no-repeat left center; background-size: contain; color: #142b32; }
#mainFtr .top .lft .ln3 { font-size: 12px; line-height: 1.8em; color: #536064; padding: 0; margin-top: 2em; }
#mainFtr .top .nav { flex: 0 0 21.8%; margin: 7px 5% 0 5%; }
#mainFtr .top .nav .ln1 { font-size: 12px; font-weight: 600; line-height: 1.65em; color: #142b32; margin-bottom: 1.6em; }
#mainFtr .top .nav .lst a { display: block; font-size: 12px; line-height: 1.65em; color: #536064; padding: 4px 0; }
#mainFtr .top .nav .lst a:hover { color: #142b32; }
#mainFtr .top .rgt { flex: 0 0 32.7%; }
#mainFtr .top .rgt .ln1 { font-size: 32px; line-height: 1.2em; letter-spacing: -0.025em; color: #142b32; }
#mainFtr .top .rgt .ln2 { font-size: 12px; line-height: 1.65em; color: #536064; padding: 0; margin-top: 1.1em; }
#mainFtr .top .rgt .mail { display: inline-flex; align-items: center; font-size: 14px; font-weight: 600; line-height: 1.65em; color: #142b32; border-bottom: solid 1px #9c7950; padding: 8px 0; margin-top: 14px; }
#mainFtr .top .rgt .mail svg { display: block; margin-left: 35px; }
#mainFtr .top .rgt .mail:hover { color: #9c7950; }
#mainFtr .btm { display: flex; align-items: center; justify-content: space-between; border-top: solid 1px #d6d4cd; padding: 23px 0; }
#mainFtr .btm .ln1 { font-size: 10px; line-height: 1.65em; color: #536064; padding: 0; }
#mainFtr .btm .toTop { display: inline-flex; align-items: center; font-size: 10px; line-height: 1.65em; color: #536064; }
#mainFtr .btm .toTop svg { display: block; margin-left: 14px; }
#mainFtr .btm .toTop:hover { color: #142b32; }
@media all and (max-width: 768px) {
#mainFtr .top { flex-direction: column; }
#mainFtr .logo a { width: 140px; }
#mainFtr .top .lft { flex: 0 0 auto; }
#mainFtr .top .nav { flex: 0 0 auto; margin: 32px 0 0 0; }
#mainFtr .top .nav .ln1 { font-size: 14px; margin-bottom: 1em; }
#mainFtr .top .nav .lst a { font-size: 13px; }
#mainFtr .top .rgt { flex: 0 0 auto; margin-top: 32px; }
}
#mainFtr .btm { flex-direction: row; flex-wrap: wrap; }
}

/* Main Story
--------------------------------------------------------------*/
#mainStory { padding: 2rem  0; }
#mainStory .FrmCtr { display: flex; align-items: center; }
#mainStory .lft { flex: 1 0 0; min-width: 0; margin-right: 9%; }
#mainStory .lft .ln1 { font-size: 96px; line-height: 1.01em; letter-spacing: -0.035em; }
#mainStory .rgt { flex: 0 0 42%; max-width: 490px; }
#mainStory .rgt .ln1 { font-size: 21px; line-height: 1.65em; color: #142b32; padding: 0; }
#mainStory .rgt .ln2 { font-size: 16px; line-height: 1.85em; color: #536064; padding: 0; margin-top: 1.45em; }

@media all and (max-width: 992px) {
#mainStory { padding: 0; }
#mainStory .FrmCtr { flex-direction: column; align-items: flex-start; }
#mainStory .lft { flex: 0 0 auto; margin: 0 0 32px 0; }
#mainStory .lft .ln1 { font-size: 72px; }
#mainStory .rgt { flex: 0 0 auto; max-width: 100%; }
}
@media all and (max-width: 480px) {
#mainStory .lft .ln1 { font-size: 16.2vw; }
#mainStory .rgt .ln1 { font-size: 4.38vw; }
#mainStory .rgt .ln2 { font-size: 3.34vw; }
}

/* Main View
--------------------------------------------------------------*/
#mainView { background: #eae5dc url("../images/main_view_tmb.jpg") no-repeat center top; background-size: cover; padding-top: 25.69vw; }
#mainView .FrmCtr {  background: #eae5dc; max-width: 100%;  }
#mainView .cap { display: flex; align-items: center; justify-content: space-between; padding: 2.1em 0; font-size: 12px;  }
#mainView .cap .ln1 { font-size: 2.3em; line-height: 1.2em; color: #142b32; padding: 0; }
#mainView .cap .ln2 { font-size: 1em; font-weight: 500; line-height: 1.65em; color: #142b32; padding: 0; }
@media all and (max-width: 576px) {
#mainView { padding-top: 47.69vw; }
}
@media all and (max-width: 480px) {
#mainView .cap { font-size: 2.5vw }
}

/* Main Mindset
--------------------------------------------------------------*/
#mainMindset { padding: 4rem 0; }
#mainMindset .FrmCtr { display: flex; align-items: flex-start; }
#mainMindset .lft { flex: 1 0 0; min-width: 0; margin-right: 9%; }
#mainMindset .lft .ln1 { font-size: 58px; line-height: 1.08em; letter-spacing: -0.025em; }
#mainMindset .rgt { flex: 0 0 45.3%; }
#mainMindset .rgt .ln2 { font-size: 17px; line-height: 1.9em; color: #536064; padding: 0; }
#mainMindset .rgt .ln2 + .ln2 { margin-top: 1.3em; }
@media all and (max-width: 992px) {
#mainMindset { padding: 0; }
#mainMindset .FrmCtr { flex-direction: column; }
#mainMindset .lft { flex: 0 0 auto; margin: 0 0 28px 0; }
#mainMindset .rgt { flex: 0 0 auto; }
}
@media all and (max-width: 480px) {
#mainMindset .lft .ln1 { font-size: 10.42vw; }
#mainMindset .rgt .ln2 { font-size: 3.54vw; }
}

/* Main Principles
--------------------------------------------------------------*/
#mainPrinciples { background: #142b32; padding: 4rem 0; }
#mainPrinciples .FrmCtr { display: flex; align-items: flex-start; }
#mainPrinciples .lft { flex: 0 0 38%; margin-right: 10.5%; }
#mainPrinciples .lft .ln1 { font-size: 58px; line-height: 1.08em; letter-spacing: -0.025em; color: #f7f5f0; }
#mainPrinciples .lft .ln2 { font-size: 16px; line-height: 1.85em; color: #d4dbd9; max-width: 18.75em; padding: 0; margin-top: 1.75em; }
#mainPrinciples .rgt { flex: 1 0 0; min-width: 0; }
#mainPrinciples .rgt .itm { font-size: 10px; padding: 3em 0; }
#mainPrinciples .rgt .itm:first-child { padding-top: 0; }
#mainPrinciples .rgt .itm:not(:last-child) { border-bottom: solid 1px #40535a; }
#mainPrinciples .rgt .itm:last-child { padding-bottom: 0; }
#mainPrinciples .rgt .itm .ln1 { font-size: 3.4em; line-height: 1.2em; color: #e4d4b9; }
#mainPrinciples .rgt .itm .ln2 { font-size: 1.6em; line-height: 1.85em; color: #dce0de; max-width: 35.7em; padding: 0; margin-top: 0.8em; }
@media all and (max-width: 992px) {
#mainPrinciples { padding:  0; }
#mainPrinciples .FrmCtr { flex-direction: column; }
#mainPrinciples .lft { flex: 0 0 auto; margin: 0 0 40px 0; }
#mainPrinciples .rgt { flex: 0 0 auto; width: 100%; }
}
@media all and (max-width: 480px) {
#mainPrinciples .lft .ln1 { font-size: 10.42vw; }
#mainPrinciples .lft .ln2 { font-size: 3.34vw; }
#mainPrinciples .rgt .itm { font-size: 2.08vw; }
}

/* Main Philosophy
--------------------------------------------------------------*/
#mainPhilosophy { background: #eae5dc; padding: 4rem 0; }
#mainPhilosophy .FrmCtr { display: flex; align-items: center; justify-content: space-between; }
#mainPhilosophy .lft { flex: 0 0 52%; }
#mainPhilosophy .lft .ln1 { font-size: 52px; line-height: 1.08em; letter-spacing: -0.025em; }
#mainPhilosophy .lft .ln2 { font-size: 17px; line-height: 1.8em; color: #536064; max-width: 35.9em; padding: 0; margin-top: 1.3em; }
#mainPhilosophy .rgt { flex: 0 0 auto; }
@media all and (max-width: 992px) {
#mainPhilosophy { padding:  0; }
#mainPhilosophy .FrmCtr { flex-direction: column; align-items: flex-start; }
#mainPhilosophy .lft { flex: 0 0 auto; margin-bottom: 2.5em; }
}
@media all and (max-width: 480px) {
#mainPhilosophy .lft .ln1 { font-size: 9.36vw; }
#mainPhilosophy .lft .ln2 { font-size: 3.54vw; }
}

/* Main What
--------------------------------------------------------------*/
#mainWhat { padding: 2rem 0; }
#mainWhat .FrmCtr { display: flex; align-items: center; }
#mainWhat .lft { flex: 1 0 0; min-width: 0; margin-right: 7.4%; }
#mainWhat .lft .ln1 { font-size: 87px; line-height: 1.01em; letter-spacing: -0.035em; }
#mainWhat .lft .ln2 { font-size: 19px; line-height: 1.65em; color: #142b32; max-width: 27.9em; padding: 0; margin-top: 1.45em; }
#mainWhat .lft .ln3 { font-size: 16px; line-height: 1.65em; color: #536064; max-width: 31.9em; padding: 0; margin-top: 1.1em; }
#mainWhat .rgt { flex: 0 0 43%; }
#mainWhat .rgt .bx { display: flex; flex-direction: column; background: #eae5dc; padding: 42px 36px 32px 36px; }
#mainWhat .rgt .bx .hd { display: flex; align-items: center; justify-content: center; padding: 20px 10px 25px 10px; }
#mainWhat .rgt .bx .hd .ico { display: block; flex: 0 0 auto; width: 53px; margin-right: 19px; }
#mainWhat .rgt .bx .hd .txt { display: block; text-align: center; }
#mainWhat .rgt .bx .hd .txt .ln1 { display: block; font-size: 33px; line-height: 1.2em; color: #142b32; }
#mainWhat .rgt .bx .hd .txt .ln2 { display: block; font-size: 12px; line-height: 1.65em; color: #536064; margin-top: 0.5em; }
#mainWhat .rgt .bx .bar { display: block; width: 1px; height: 34px; background: #a28c6f; margin: 0 auto; }
#mainWhat .rgt .bx .lst { display: flex; border: solid 1px #bcb5a7; background: #bcb5a7; }
#mainWhat .rgt .bx .lst .itm { flex: 1 0 0; min-width: 0; background: #f7f5f0; text-align: center; font-size: 12px; font-weight: 600; line-height: 1.65em; padding: 19px 8px; }
#mainWhat .rgt .bx .lst .itm + .itm { margin-left: 1px; }
#mainWhat .rgt .bx .drk { background: #142b32; text-align: center; padding: 23px 12px; }
#mainWhat .rgt .bx .drk .ln1 { display: block; font-size: 17px; font-weight: 500; line-height: 1.65em; color: #f7f5f0; }
#mainWhat .rgt .bx .drk .ln2 { display: block; font-size: 11px; line-height: 1.65em; color: #d7d3c9; margin-top: 0.35em; }
#mainWhat .rgt .bx .cap { font-size: 11px; line-height: 1.65em; color: #536064; text-align: center; padding: 0; margin-top: 26px; }
@media all and (max-width: 1182px) {
#mainWhat .lft .ln1 { font-size: 72px; }
}
@media all and (max-width: 992px) {
#mainWhat { padding: 0; }
#mainWhat .FrmCtr { flex-direction: column; align-items: flex-start; }
#mainWhat .lft { flex: 0 0 auto; margin: 0 0 40px 0; }
#mainWhat .lft .ln1 { font-size: 72px; }
#mainWhat .rgt { flex: 0 0 auto; width: 100%; }
}
@media all and (max-width: 480px) {
#mainWhat .lft .ln1 { font-size: 15vw; }
#mainWhat .lft .ln2 { font-size: 3.96vw; }
#mainWhat .lft .ln3 { font-size: 3.34vw; }
#mainWhat .rgt .bx { padding: 7.2vw 6vw 6vw 6vw; }
#mainWhat .rgt .bx .hd .txt .ln1 { font-size: 6.88vw; }
#mainWhat .rgt .bx .hd .txt .ln2 { font-size: 2.5vw; }
#mainWhat .rgt .bx .lst .itm { font-size: 2.5vw; padding: 3.6vw 1.8vw; }
#mainWhat .rgt .bx .drk .ln1 { font-size: 3.54vw; }
#mainWhat .rgt .bx .drk .ln2 { font-size: 2.29vw; }
#mainWhat .rgt .bx .cap { font-size: 2.29vw; }
}

/* Main Caps
--------------------------------------------------------------*/
#mainCaps { padding-bottom: 3rem; }
#mainCaps .lst { display: flex; gap: 35px; }
#mainCaps .lst .itm { flex: 1 0 0; min-width: 0; }
#mainCaps .lst .itm a { display: flex; align-items: center; justify-content: space-between; border-bottom: solid 1px #b9b1a3; font-size: 15px; font-weight: 600; line-height: 1.65em; color: #142b32; padding: 13px 0; }
#mainCaps .lst .itm a svg { display: block; flex: 0 0 auto; }
#mainCaps .lst .itm a:hover { color: #9c7950; }
@media all and (max-width: 768px) {
#mainCaps .lst { flex-wrap: wrap; gap: 0 24px; }
#mainCaps .lst .itm { flex: 0 0 auto; width: calc(50% - 12px); }
}
@media all and (max-width: 480px) {
#mainCaps .lst .itm a { font-size: 3.12vw; padding: 2.4vw 0; }
}

/* Main Cap (Technology / Operations / Growth / Ownership)
--------------------------------------------------------------*/
.mainCap { border-top: solid 1px #d5d2c9; padding: 2rem 0; }
#mainOps, #mainOwn { background: #f0ede6; }
.mainCap .FrmCtr { display: flex; align-items: flex-start; }
.mainCap .lft { flex: 0 0 36.4%; display: flex; align-items: center; margin-right: 9%; }
.mainCap .lft .ico { display: block; flex: 0 0 auto; width: 60px; margin-right: 26px; }
.mainCap .lft .ln1 { font-size: 58px; line-height: 1.08em; letter-spacing: -0.025em; }
.mainCap .rgt { flex: 1 0 0; min-width: 0; }
.mainCap .rgt > .ln1 { font-size: 38px; line-height: 1.15em; letter-spacing: -0.015em; color: #142b32; }
.mainCap .rgt > .ln2 { font-size: 17px; line-height: 1.85em; color: #536064; max-width: 38.3em; padding: 0; margin-top: 1.2em; }
.mainCap .rgt .lst { margin-top: 30px; }
.mainCap .rgt .lst .itm { border-left: solid 2px #bda17b; padding-left: 20px; }
.mainCap .rgt .lst .itm + .itm { margin-top: 23px; }
.mainCap .rgt .lst .itm .ln1 { font-size: 15px; font-weight: 600; line-height: 1.65em; color: #142b32; padding: 0; }
.mainCap .rgt .lst .itm .ln2 { font-size: 15px; line-height: 1.8em; color: #536064; max-width: 40em; padding: 0; margin-top: 0.4em; }
@media all and (max-width: 992px) {
.mainCap { padding:  0; }
.mainCap .FrmCtr { flex-direction: column; }
.mainCap .lft { flex: 0 0 auto; margin: 0 0 28px 0; }
.mainCap .rgt { flex: 0 0 auto; }
}
@media all and (max-width: 480px) {
.mainCap .lft .ico { width: 12.48vw; margin-right: 4.8vw; }
.mainCap .lft .ln1 { font-size: 10.42vw; }
.mainCap .rgt > .ln1 { font-size: 6.55vw; }
.mainCap .rgt > .ln2 { font-size: 3.54vw; }
.mainCap .rgt .lst .itm .ln1 { font-size: 3.12vw; }
.mainCap .rgt .lst .itm .ln2 { font-size: 3.12vw; }
}

/* Main Cycle
--------------------------------------------------------------*/
#mainCycle { background: #142b32; padding: 4rem 0; }
#mainCycle .top { display: flex; align-items: center; }
#mainCycle .top .ln1 { flex: 1 0 0; min-width: 0; font-size: 58px; line-height: 1.08em; letter-spacing: -0.025em; color: #f7f5f0; margin-right: 9%; }
#mainCycle .top .ln2 { flex: 0 0 45.3%; font-size: 17px; line-height: 1.85em; color: #dce0de; max-width: 28.2em; padding: 0; }
#mainCycle .btm { margin-top: 65px; }
#mainCycle .btm .lst { display: flex; gap: 40px; }
#mainCycle .btm .lst .itm { flex: 1 0 0; min-width: 0; font-size: 10px; border-top: solid 2px #9c7950; padding-top: 2.5em; }
#mainCycle .btm .lst .itm .ln1 { font-size: 3.2em; line-height: 1.2em; color: #e4d4b9; }
#mainCycle .btm .lst .itm .ln2 { font-size: 1.5em; line-height: 1.85em; color: #dce0de; padding: 0; margin-top: 0.95em; }
@media all and (max-width: 992px) {
#mainCycle { padding: 0 0; }
#mainCycle .top { flex-direction: column; align-items: flex-start; }
#mainCycle .top .ln1 { flex: 0 0 auto; margin: 0 0 24px 0; }
#mainCycle .top .ln2 { flex: 0 0 auto; }
#mainCycle .btm { margin-top: 48px; }
#mainCycle .btm .lst { flex-wrap: wrap; gap: 32px 40px; }
#mainCycle .btm .lst .itm { flex: 0 0 auto; width: calc(50% - 20px); }
}
@media all and (max-width: 576px) {
#mainCycle .btm .lst .itm { width: 100%; }
}
@media all and (max-width: 480px) {
#mainCycle .top .ln1 { font-size: 10.42vw; }
#mainCycle .top .ln2 { font-size: 3.54vw; }
#mainCycle .btm .lst .itm { font-size: 2.08vw; }
}

/* Main Worth
--------------------------------------------------------------*/
#mainWorth { background: #eae5dc; padding: 4rem 0; }
#mainWorth .FrmCtr { display: flex; align-items: center; justify-content: space-between; }
#mainWorth .lft { flex: 0 0 52%; }
#mainWorth .lft .ln1 { font-size: 52px; line-height: 1.08em; letter-spacing: -0.025em; }
#mainWorth .lft .ln2 { font-size: 17px; line-height: 1.8em; color: #536064; max-width: 35.9em; padding: 0; margin-top: 1.3em; }
#mainWorth .rgt { flex: 0 0 auto; }
@media all and (max-width: 992px) {
#mainWorth { padding:  0; }
#mainWorth .FrmCtr { flex-direction: column; align-items: flex-start; }
#mainWorth .lft { flex: 0 0 auto; margin-bottom: 2.5em; }
}
@media all and (max-width: 480px) {
#mainWorth .lft .ln1 { font-size: 9.36vw; }
#mainWorth .lft .ln2 { font-size: 3.54vw; }
}

/* Main Purpose
--------------------------------------------------------------*/
#mainPurpose { padding: 2rem 0; text-align: center; }
#mainPurpose .ln1 { font-size: 98px; line-height: 1.01em; letter-spacing: -0.035em; }
#mainPurpose .ln2 { font-size: 18px; line-height: 1.65em; color: #536064; max-width: 36.1em; padding: 0; margin: 1.45em auto 0 auto; }
#mainPurpose .lst { display: flex; justify-content: center; gap: 38px; margin-top: 43px; }
#mainPurpose .lst .itm a { display: block; font-size: 13px; font-weight: 500; line-height: 1.65em; color: #142b32; border-bottom: solid 1px #b9a487; padding: 9px 0; }
#mainPurpose .lst .itm a:hover { color: #9c7950; }
@media all and (max-width: 992px) {
#mainPurpose { padding: 0; }
#mainPurpose .ln1 { font-size: 72px; }
}
@media all and (max-width: 480px) {
#mainPurpose .ln1 { font-size: 16.2vw; }
#mainPurpose .ln2 { font-size: 3.74vw; max-width: 22.1em; }
#mainPurpose .lst { flex-wrap: wrap; gap: 2.4vw 6vw; margin-top: 7.2vw; }
#mainPurpose .lst .itm a { font-size: 3.1vw;  padding: 1.56vw 0;}
}

/* Main Racks
--------------------------------------------------------------*/
#mainRacks { background: #eae5dc url("../images/main_racks_tmb.jpg") no-repeat center top; background-size: cover ; padding-top: 25.69vw; }
#mainRacks .FrmCtr {  background: #eae5dc; max-width: 100%;  }
#mainRacks .cap { padding: 2em 0; font-size: 12px;  }
#mainRacks .cap .ln1 { font-size: 1em; line-height: 1.65em; color: #142b32; padding: 0; }
@media all and (max-width: 576px) {
#mainRacks { padding-top: 47.69vw; }
}
@media all and (max-width: 480px) {
#mainRacks .cap { font-size: 2.5vw; }
}

/* Main Area (AI / Creative / Data / Utilities)
--------------------------------------------------------------*/
.mainArea { border-bottom: solid 1px #d5d2c9; padding: 2rem 0; }
#mainCreative, #mainUtil { background: #f0ede6; }
.mainArea .FrmCtr { display: flex; align-items: flex-start; }
.mainArea .lft { flex: 0 0 36%; margin-right: 10%; }
.mainArea .lft .ico { display: block; width: 68px; }
.mainArea .lft .ln1 { font-size: 59px; line-height: 1.08em; letter-spacing: -0.025em; margin-top: 28px; max-width: 6.28em; }
.mainArea .rgt { flex: 1 0 0; min-width: 0; }
.mainArea .rgt > .ln1 { font-size: 40px; line-height: 1.15em; letter-spacing: -0.015em; color: #142b32; }
.mainArea .rgt > .ln2 { font-size: 17px; line-height: 1.85em; color: #536064; max-width: 40.6em; padding: 0; margin-top: 1.3em; }
.mainArea .rgt > .ln2 + .ln2 { margin-top: 1.05em; }
.mainArea .rgt .bx { background: #e7e2d8; padding: 25px 28px; margin-top: 32px; }
.mainArea .rgt .bx > .ln1 { font-size: 12px; font-weight: 600; line-height: 1.65em; color: #705737; padding: 0; }
.mainArea .rgt .bx .lst { display: flex; margin-top: 20px; }
.mainArea .rgt .bx .lst .itm { flex: 1 0 0; min-width: 0; }
.mainArea .rgt .bx .lst .itm + .itm { margin-left: 30px; }
.mainArea .rgt .bx .lst .itm .ln1 { font-size: 14px; font-weight: 600; line-height: 1.5em; color: #142b32; padding: 0; }
.mainArea .rgt .bx .lst .itm .ln2 { font-size: 14px; line-height: 1.75em; color: #536064; padding: 0; margin-top: 0.55em; }
@media all and (max-width: 992px) {
.mainArea { padding: 0; }
.mainArea .FrmCtr { flex-direction: column; }
.mainArea .lft { flex: 0 0 auto; display: flex; align-items: center; margin: 0 0 28px 0; }
.mainArea .lft .ln1 { margin: 0 0 0 24px; max-width: none; }
.mainArea .lft .ln1 br { display: none; }
.mainArea .rgt { flex: 0 0 auto; }
}
@media all and (max-width: 640px) {
.mainArea .rgt .bx .lst { flex-direction: column; }
.mainArea .rgt .bx .lst .itm { flex: 0 0 auto; }
.mainArea .rgt .bx .lst .itm + .itm { margin: 20px 0 0 0; }
}
@media all and (max-width: 480px) {
.mainArea { padding:  0; }
.mainArea .lft .ico { width: 12.48vw; }
.mainArea .lft .ln1 { font-size: 10.42vw; margin-left: 4.8vw; }
.mainArea .rgt > .ln1 { font-size: 7.44vw; }
.mainArea .rgt > .ln2 { font-size: 3.54vw; }
.mainArea .rgt .bx { padding: 5.16vw 5.76vw; margin-top: 6.6vw; }
.mainArea .rgt .bx > .ln1 { font-size: 2.5vw; }
.mainArea .rgt .bx .lst .itm .ln1 { font-size: 2.92vw; }
.mainArea .rgt .bx .lst .itm .ln2 { font-size: 2.92vw; }
}

/* Main Need
--------------------------------------------------------------*/
#mainNeed { background: #142b32; padding: 4rem 0; }
#mainNeed .FrmCtr { display: flex; align-items: flex-start; }
#mainNeed .lft { flex: 1 0 0; min-width: 0; margin-right: 9%; }
#mainNeed .lft .ln1 { font-size: 64px; line-height: 1.08em; letter-spacing: -0.025em; color: #f7f5f0; }
#mainNeed .rgt { flex: 0 0 45.3%; }
#mainNeed .rgt .ln2 { font-size: 17px; line-height: 1.85em; color: #dce0de; max-width: 34.1em; padding: 0; }
#mainNeed .rgt .ln2 + .ln2 { margin-top: 1.1em; }
#mainNeed .rgt .lnk { display: inline-flex; align-items: center; font-size: 14px; font-weight: 600; line-height: 1.65em; color: #f7f5f0; border-bottom: solid 1px #9c7950; padding: 8px 0; margin-top: 23px; }
#mainNeed .rgt .lnk svg { display: block; margin-left: 35px; }
#mainNeed .rgt .lnk:hover { color: #cfb38b; }
@media all and (max-width: 992px) {
#mainNeed { padding: 0; }
#mainNeed .FrmCtr { flex-direction: column; }
#mainNeed .lft { flex: 0 0 auto; margin: 0 0 28px 0; }
#mainNeed .rgt { flex: 0 0 auto; }
}
@media all and (max-width: 480px) {
#mainNeed .lft .ln1 { font-size: 11.46vw; }
#mainNeed .rgt .ln2 { font-size: 3.54vw; }
}

/* Main Contact
--------------------------------------------------------------*/
#mainContact { padding: 2rem 0; }
#mainContact .FrmCtr { display: flex; align-items: flex-start; }
#mainContact .lft { flex: 1 0 0; min-width: 0; margin-right: 9%; }
#mainContact .lft .ln1 { font-size: 96px; line-height: 1.01em; letter-spacing: -0.035em; }
#mainContact .lft .ln2 { font-size: 21px; line-height: 1.65em; color: #142b32; max-width: 20em; padding: 0; margin-top: 1.4em; }
#mainContact .lft .ln3 { font-size: 16px; line-height: 1.85em; color: #536064; max-width: 27.5em; padding: 0; margin-top: 1.1em; }
#mainContact .lft .eml { margin-top: 32px; }
#mainContact .lft .eml .lbl { font-size: 12px; line-height: 1.65em; color: #536064; padding: 0 0 0.5em 0; }
#mainContact .lft .eml .mail { display: inline-flex; align-items: center; font-size: 17px; font-weight: 600; line-height: 1.65em; color: #142b32; border-bottom: solid 1px #9c7950; padding: 8px 0; }
#mainContact .lft .eml .mail svg { display: block; margin-left: 25px; }
#mainContact .lft .eml .mail:hover { color: #9c7950; }
#mainContact .lft .start { max-width: 460px; margin-top: 57px; }
#mainContact .lft .start > .ln1 { font-size: 31px; line-height: 1.08em; letter-spacing: -0.025em; color: #142b32; }
#mainContact .lft .start .lst { margin-top: 25px; }
#mainContact .lft .start .lst .itm + .itm { margin-top: 21px; }
#mainContact .lft .start .lst .itm .ln1 { font-size: 14px; font-weight: 600; line-height: 1.65em; color: #142b32; padding: 0; }
#mainContact .lft .start .lst .itm .ln2 { font-size: 14px; line-height: 1.8em; color: #536064; padding: 0; margin-top: 0.35em; }
#mainContact .rgt { flex: 0 0 45.3%; padding-top: 8px; }
#mainContact .rgt .bx { background: #eae5dc; padding: 41px 38px 37px 38px; }
#mainContact .rgt .bx > .ln1 { font-size: 39px; line-height: 1.08em; letter-spacing: -0.025em; color: #142b32; }
#mainContact .rgt .bx > .ln2 { font-size: 14px; line-height: 1.65em; color: #536064; padding: 0; margin-top: 0.85em; }
#mainContact .rgt .bx .formWrp { margin-top: 30px; overflow: hidden; }
#mainContact .rgt .bx .formWrp p, #mainContact .rgt .bx .formWrp div { padding-bottom: 22px; }
#mainContact .rgt .bx .formWrp div p { padding-bottom: 0; }
#mainContact .rgt .bx .formWrp p label { font-size: 13px; font-weight: 600; line-height: 1.65em; color: #142b32; padding-bottom: 9px; }
#mainContact .rgt .bx .formWrp p label small { font-size: 11px; font-weight: 400; color: #536064; }
#mainContact .rgt .bx .formWrp p.HfLmd { padding-right: 9px; clear: left; display: block; width: 50%; float: left; box-sizing: border-box; }
#mainContact .rgt .bx .formWrp p.HfRmd { padding-left: 9px; display: block; width: 50%; float: left; box-sizing: border-box; }
#mainContact .rgt .bx input[type=text], #mainContact .rgt .bx input[type=email], #mainContact .rgt .bx textarea, #mainContact .rgt .bx select { background: none #f7f5f0; border-color: #bcb6aa; color: #142b32; width: 100%; }
#mainContact .rgt .bx select { background: #f7f5f0 url("../images/main_contact_ico_chevron.svg") no-repeat calc(100% - 15px) center!important; background-size: 20px 20px!important; }
#mainContact .rgt .bx textarea { min-height: 164px; }
#mainContact .rgt .bx input[type=text]:focus, #mainContact .rgt .bx input[type=email]:focus, #mainContact .rgt .bx textarea:focus, #mainContact .rgt .bx select.textAreaFocused  {  border-color: #7d776b;}
#mainContact .rgt .bx .error{ border-color: #cc0000!important; }
#mainContact .rgt .bx .formWrp .note { display: block; font-size: 11px; line-height: 1.65em; color: #536064; padding-top: 8px; }
#mainContact .rgt .bx .formWrp .fine { font-size: 11px; line-height: 1.8em; color: #536064; max-width: 34.5em; padding: 15px 0 0 0; }
@media all and (max-width: 992px) {
#mainContact { padding: 0; }
#mainContact .FrmCtr { flex-direction: column; }
#mainContact .lft { flex: 0 0 auto; margin: 0 0 48px 0; width: 100%;}
#mainContact .lft .ln2 { max-width: 100%; }
#mainContact .lft .ln3 { max-width: 100%; }
#mainContact .lft .start { max-width: 100%; }
#mainContact .lft .ln1 { font-size: 72px; }
#mainContact .rgt { flex: 0 0 auto; width: 100%; padding-top: 0; }
}
@media all and (max-width: 640px) {
#mainContact .rgt .bx .formWrp p.HfLmd, #mainContact .rgt .bx .formWrp p.HfRmd { width: 100%; float: none; padding-left: 0; padding-right: 0; }
}
@media all and (max-width: 480px) {
#mainContact { padding: 14.4vw 0; }
#mainContact .lft .ln1 { font-size: 16.2vw; }
#mainContact .lft .ln2 { font-size: 4.38vw; }
#mainContact .lft .ln3 { font-size: 3.34vw; }
#mainContact .lft .start > .ln1 { font-size: 6.46vw; }
#mainContact .lft .start .lst .itm .ln1 { font-size: 2.92vw; }
#mainContact .lft .start .lst .itm .ln2 { font-size: 2.92vw; }
#mainContact .rgt .bx { padding: 8.4vw 7.2vw; }
#mainContact .rgt .bx > .ln1 { font-size: 8.12vw; }
#mainContact .rgt .bx > .ln2 { font-size: 2.92vw; }
}

/* Main Support
--------------------------------------------------------------*/
#mainSupport { background: #142b32; padding: 38px 0; }
#mainSupport .FrmCtr { display: flex; align-items: center; justify-content: space-between; }
#mainSupport .ln1 { font-size: 31px; line-height: 1.08em; letter-spacing: -0.025em; color: #f7f5f0; flex: 0 0 auto; margin-right: 6%; }
#mainSupport .ln2 { font-size: 14px; line-height: 1.85em; color: #dce0de; max-width: 42.1em; padding: 0; }
@media all and (max-width: 768px) {
#mainSupport .FrmCtr { flex-direction: column; align-items: flex-start; }
#mainSupport .ln1 { margin: 0 0 0.6em 0; }
}
@media all and (max-width: 480px) {
#mainSupport { padding: 8.4vw 0; }
#mainSupport .ln1 { font-size: 6.46vw; }
#mainSupport .ln2 { font-size: 2.92vw; }
}
