.elementor-1325 .elementor-element.elementor-element-5f9ff34{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}/* Start custom CSS for html, class: .elementor-element-615aeae *//* =========================================================
LEONOIR ABOUT PAGE
2026
========================================================= */

:root{

  --leoa-black:#101010;
  --leoa-red:#741b2b;
  --leoa-red-light:#a74355;
  --leoa-red-dark:#50111d;

  --leoa-ivory:#f4f1eb;
  --leoa-white:#fbfaf7;

  --leoa-text:#171717;
  --leoa-gray:#77726d;

  --leoa-line:rgba(17,17,17,.11);
  --leoa-light-line:rgba(255,255,255,.14);

  --leoa-serif:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    "Noto Serif JP",
    serif;

  --leoa-sans:
    "Helvetica Neue",
    "Noto Sans JP",
    "Yu Gothic",
    sans-serif;

  --leoa-ease:
    cubic-bezier(.22,1,.36,1);

}


/* =========================================================
RESET
========================================================= */

body.leoAboutMenuOpen{
  overflow:hidden !important;
}

.leoAboutPage,
.leoAboutPage *{
  box-sizing:border-box;
}

.leoAboutPage{

  width:100%;
  max-width:100%;

  overflow:hidden;

  background:
    var(--leoa-ivory) !important;

  color:
    var(--leoa-text) !important;

  font-family:
    var(--leoa-sans);

  -webkit-font-smoothing:
    antialiased;

  -moz-osx-font-smoothing:
    grayscale;

}

.leoAboutPage a,
.leoAboutPage a:visited,
.leoAboutPage a:hover,
.leoAboutPage a:focus{
  text-decoration:none !important;
}

.leoAboutPage img{
  display:block;
  max-width:100%;
}

.leoAboutPage h1,
.leoAboutPage h2,
.leoAboutPage h3,
.leoAboutPage p{
  color:inherit;
}

.leoAboutContainer{

  width:min(
    1240px,
    calc(100% - 120px)
  );

  margin-inline:auto;

}


/* =========================================================
HEADER
========================================================= */

.leoAboutHeader{

  position:absolute;

  top:0;
  left:0;

  z-index:1000;

  width:100%;
  height:82px;

  color:#fff !important;

  transition:
    transform .45s var(--leoa-ease),
    background-color .4s ease,
    box-shadow .4s ease;

}

.leoAboutHeader.is-fixed{

  position:fixed;

  background:
    rgba(14,14,14,.95) !important;

  -webkit-backdrop-filter:
    blur(15px);

  backdrop-filter:
    blur(15px);

  box-shadow:
    0 1px 0 rgba(255,255,255,.07);

}

.leoAboutHeader.is-hidden{
  transform:translateY(-105%);
}

.leoAboutHeader__inner{

  height:100%;

  padding:
    0
    46px;

  display:flex;

  align-items:center;

}

.leoAboutHeader__logo{

  width:74px;

  flex:none;

  transition:
    opacity .35s ease,
    transform .4s var(--leoa-ease) !important;

}

.leoAboutHeader__logo:hover{

  opacity:.7;

  transform:
    translateY(-1px);

}

.leoAboutHeader__logo img{

  width:64px;

  max-height:58px;

  object-fit:contain;

}

.leoAboutHeader__nav{

  margin-left:auto;

  display:flex;

  align-items:center;

  gap:34px;

}

.leoAboutHeader__nav a,
.leoAboutHeader__nav a:visited{

  position:relative;

  padding:
    10px
    0;

  color:#fff !important;

  font-size:11px;

  font-weight:500;

  letter-spacing:.15em;

  transition:
    opacity .35s ease !important;

}

.leoAboutHeader__nav a::after{

  content:"";

  position:absolute;

  left:0;

  bottom:2px;

  width:100%;

  height:1px;

  background:
    #a64658;

  transform:
    scaleX(0);

  transform-origin:right;

  transition:
    transform
    .4s
    var(--leoa-ease);

}

.leoAboutHeader__nav a:hover::after,
.leoAboutHeader__nav a.is-current::after{

  transform:
    scaleX(1);

  transform-origin:left;

}

.leoAboutHeader__nav a:hover{
  opacity:.65;
}

.leoAboutHeader__contact,
.leoAboutHeader__contact:visited{

  height:42px;

  margin-left:36px;

  padding:
    0
    18px;

  border:
    1px solid
    rgba(255,255,255,.42) !important;

  background:
    transparent !important;

  color:#fff !important;

  display:flex;

  align-items:center;

  gap:22px;

  font-size:10px;

  letter-spacing:.15em;

  transition:
    background .4s var(--leoa-ease),
    color .35s ease,
    transform .4s var(--leoa-ease) !important;

}

.leoAboutHeader__contact span,
.leoAboutHeader__contact b{
  color:inherit !important;
}

.leoAboutHeader__contact:hover{

  background:#fff !important;

  color:#111 !important;

  transform:
    translateY(-2px);

}

.leoAboutMenuButton{
  display:none !important;
}


/* =========================================================
MOBILE MENU
========================================================= */

.leoAboutMenu{

  position:fixed;

  inset:0;

  z-index:950;

  background:#111 !important;

  color:#fff !important;

  opacity:0;

  visibility:hidden;

  transition:
    opacity .45s var(--leoa-ease),
    visibility .45s ease;

}

.leoAboutMenu.is-open{

  opacity:1;

  visibility:visible;

}

.leoAboutMenu__inner{

  min-height:100%;

  padding:
    115px
    26px
    45px;

  display:flex;

  flex-direction:column;

}

.leoAboutMenu nav{

  display:flex;

  flex-direction:column;

}

.leoAboutMenu nav a{

  padding:
    17px
    0;

  border-bottom:
    1px solid
    rgba(255,255,255,.12);

  color:#fff !important;

  font-family:
    Georgia,
    serif;

  font-size:27px;

  transition:
    color .35s ease,
    padding-left .4s var(--leoa-ease) !important;

}

.leoAboutMenu nav a:hover{

  padding-left:8px;

  color:#bf6575 !important;

}

.leoAboutMenu nav a span{

  display:inline-block;

  width:38px;

  margin-right:7px;

  color:#a54758 !important;

  font-family:
    var(--leoa-sans);

  font-size:9px;

}

.leoAboutMenu__inner > p{

  margin:
    auto
    0
    0;

  color:#963246 !important;

  font-family:
    Georgia,
    serif;

  font-size:11px;

  line-height:1.7;

  letter-spacing:.17em;

}


/* =========================================================
FV
========================================================= */

.leoAboutFv{

  position:relative;

  min-height:760px;

  height:100svh;

  overflow:hidden;

  background:#111 !important;

  color:#fff !important;

}

.leoAboutFv__visual{

  position:absolute;

  inset:0;

  overflow:hidden;

}

.leoAboutFv__visual img{

  position:absolute;

  inset:0;

  width:100% !important;

  max-width:none !important;

  height:100% !important;

  object-fit:cover;

  object-position:
    center 48%;

  filter:
    grayscale(100%)
    brightness(.48)
    contrast(1.12);

  transform:
    scale(1.07);

}

.leoAboutFv__shade{

  position:absolute;

  inset:0;

  background:
    linear-gradient(
      90deg,
      rgba(8,8,8,.82) 0%,
      rgba(8,8,8,.60) 35%,
      rgba(8,8,8,.22) 67%,
      rgba(8,8,8,.32) 100%
    );

}

.leoAboutFv__content{

  position:relative;

  z-index:3;

  width:min(
    1240px,
    calc(100% - 120px)
  );

  min-height:760px;

  height:100svh;

  margin:auto;

  padding-top:135px;

  display:flex;

  flex-direction:column;

  justify-content:center;

}

.leoAboutFv__label{

  margin:
    0
    0
    40px;

  color:#c15c6d !important;

  font-size:10px;

  font-weight:600;

  letter-spacing:.2em;

}

.leoAboutFv__title{

  max-width:800px;

  margin:0;

  color:#fff !important;

  font-family:
    var(--leoa-serif);

  font-size:
    clamp(
      42px,
      4.3vw,
      69px
    );

  font-weight:500;

  line-height:1.55;

  letter-spacing:.05em;

  word-break:keep-all;

}

.leoAboutFv__title span{

  display:block;

  white-space:nowrap;

}

.leoAboutFv__title em{

  color:#c15467 !important;

  font-style:normal;

}

.leoAboutFv__lead{

  max-width:570px;

  margin:
    35px
    0
    0;

  color:
    rgba(255,255,255,.83) !important;

  font-family:
    var(--leoa-serif);

  font-size:14px;

  line-height:2.05;

  letter-spacing:.035em;

}

.leoAboutFv__signature{

  margin-top:45px;

  display:flex;

  align-items:center;

  gap:12px;

  font-family:
    Georgia,
    serif;

  font-size:11px;

  letter-spacing:.13em;

}

.leoAboutFv__signature span{
  color:#8f8889 !important;
}

.leoAboutFv__signature b{

  color:#be5265 !important;

  font-weight:400;

}

.leoAboutFv__vertical{

  position:absolute;

  z-index:3;

  top:130px;

  right:28px;

  margin:0;

  writing-mode:
    vertical-rl;

  color:
    rgba(255,255,255,.55) !important;

  font-size:8px;

  letter-spacing:.2em;

}

.leoAboutFv__scroll{

  position:absolute;

  z-index:4;

  right:30px;

  bottom:27px;

  display:flex;

  flex-direction:column;

  align-items:center;

  gap:10px;

}

.leoAboutFv__scroll span{

  writing-mode:
    vertical-rl;

  color:#fff !important;

  font-size:8px;

  letter-spacing:.18em;

}

.leoAboutFv__scroll i{

  position:relative;

  width:1px;

  height:48px;

  overflow:hidden;

  background:
    rgba(255,255,255,.22);

}

.leoAboutFv__scroll i::after{

  content:"";

  position:absolute;

  top:-60%;

  left:0;

  width:100%;

  height:60%;

  background:#fff;

  animation:
    leoAboutScroll
    2s
    ease-in-out
    infinite;

}

@keyframes leoAboutScroll{

  to{
    top:150%;
  }

}


/* =========================================================
SECTION HEAD
========================================================= */

.leoAboutSectionHead{

  display:flex;

  align-items:flex-start;

  gap:18px;

}

.leoAboutSectionHead > p{

  min-width:22px;

  margin:
    2px
    0
    0;

  color:
    var(--leoa-red) !important;

  font-size:10px;

}

.leoAboutSectionHead span{

  display:block;

  font-family:
    Georgia,
    serif;

  font-size:14px;

  letter-spacing:.1em;

}

.leoAboutSectionHead small{

  display:block;

  margin-top:6px;

  color:#77726d !important;

  font-size:11px;

}

.leoAboutSectionHead--light span{
  color:#fff !important;
}

.leoAboutSectionHead--light small{
  color:#817b7c !important;
}


/* =========================================================
WHO
========================================================= */

.leoWho{

  position:relative;

  overflow:hidden;

  padding:
    145px
    0
    175px;

  background:
    var(--leoa-white) !important;

}

.leoWho__body{

  margin-top:85px;

  display:grid;

  grid-template-columns:
    minmax(0,1.08fr)
    minmax(0,.92fr);

  gap:95px;

}

.leoWho__title{

  margin:0;

  font-family:
    var(--leoa-serif);

  font-size:
    clamp(
      34px,
      3.4vw,
      53px
    );

  font-weight:500;

  line-height:1.68;

  letter-spacing:.045em;

  word-break:keep-all;

}

.leoWho__title em{

  color:
    var(--leoa-red) !important;

  font-style:normal;

}

.leoWho__text{

  max-width:540px;

  color:#3d3936 !important;

  font-family:
    var(--leoa-serif);

  font-size:14px;

  line-height:2.1;

  letter-spacing:.035em;

}

.leoWho__text p{

  margin:
    0
    0
    24px;

}

.leoWho__word{

  position:absolute;

  right:-25px;

  bottom:-60px;

  margin:0;

  color:
    rgba(116,27,43,.043) !important;

  font-family:
    Georgia,
    serif;

  font-size:
    clamp(
      120px,
      18vw,
      280px
    );

  line-height:1;

  pointer-events:none;

}


/* =========================================================
PHILOSOPHY
========================================================= */

.leoAboutPhilosophy{

  min-height:740px;

  display:grid;

  grid-template-columns:
    minmax(0,1fr)
    minmax(0,1fr);

  background:#101010 !important;

  color:#fff !important;

}

.leoAboutPhilosophy__image{

  position:relative;

  min-height:740px;

  overflow:hidden;

}

.leoAboutPhilosophy__image img{

  position:absolute;

  inset:0;

  width:100% !important;

  max-width:none !important;

  height:100% !important;

  object-fit:cover;

  object-position:
    45% center;

  filter:
    grayscale(100%)
    brightness(.38)
    contrast(1.15);

  transform:
    scale(1.07);

}

.leoAboutPhilosophy__image::after{

  content:"";

  position:absolute;

  inset:0;

  background:
    linear-gradient(
      90deg,
      rgba(0,0,0,.04),
      rgba(0,0,0,.38)
    );

}

.leoAboutPhilosophy__content{

  min-width:0;

  padding:
    100px
    clamp(50px,6vw,100px);

  display:flex;

  flex-direction:column;

  justify-content:center;

}

.leoAboutPhilosophy__en{

  margin:
    55px
    0
    22px;

  color:#898284 !important;

  font-family:
    Georgia,
    serif;

  font-size:13px;

  line-height:1.65;

  letter-spacing:.12em;

}

.leoAboutPhilosophy__en em{

  color:#b94c60 !important;

  font-style:normal;

}

.leoAboutPhilosophy__title{

  margin:0;

  color:#fff !important;

  font-family:
    var(--leoa-serif);

  font-size:
    clamp(
      29px,
      2.7vw,
      44px
    );

  font-weight:500;

  line-height:1.7;

  letter-spacing:.04em;

  word-break:keep-all;

}

.leoAboutPhilosophy__title em{

  color:#bb5063 !important;

  font-style:normal;

}

.leoAboutPhilosophy__text{

  max-width:520px;

  margin-top:35px;

  color:#bbb6b6 !important;

  font-family:
    var(--leoa-serif);

  font-size:13px;

  line-height:2.05;

  letter-spacing:.03em;

}

.leoAboutPhilosophy__text p{

  margin:
    0
    0
    20px;

}


/* =========================================================
VALUES
========================================================= */

.leoValues{

  padding:
    145px
    0
    160px;

  background:
    var(--leoa-ivory) !important;

}

.leoValues__head{

  margin-top:75px;

  display:grid;

  grid-template-columns:
    minmax(0,1.05fr)
    minmax(0,.95fr);

  gap:90px;

  align-items:end;

}

.leoValues__title{

  margin:0;

  font-family:
    var(--leoa-serif);

  font-size:
    clamp(
      35px,
      3.4vw,
      53px
    );

  font-weight:500;

  line-height:1.65;

}

.leoValues__title em{

  color:
    var(--leoa-red) !important;

  font-style:normal;

}

.leoValues__lead{

  margin:0;

  color:#4b4743 !important;

  font-family:
    var(--leoa-serif);

  font-size:13px;

  line-height:2;

}

.leoValues__grid{

  margin-top:80px;

  display:grid;

  grid-template-columns:
    repeat(3,minmax(0,1fr));

  border-top:
    1px solid var(--leoa-line);

}

.leoValue{

  min-height:330px;

  padding:
    38px
    40px;

  border-right:
    1px solid var(--leoa-line);

  transition:
    background .45s ease,
    transform .45s var(--leoa-ease);

}

.leoValue:first-child{

  border-left:
    1px solid var(--leoa-line);

}

.leoValue:hover{

  background:
    #ece7de !important;

}

.leoValue__number{

  margin:
    0
    0
    53px !important;

  color:
    var(--leoa-red) !important;

  font-size:9px !important;

}

.leoValue__en{

  margin:
    0
    0
    12px !important;

  color:#8e8883 !important;

  font-size:8px !important;

  letter-spacing:.15em;

}

.leoValue h3{

  margin:0;

  font-family:
    var(--leoa-serif);

  font-size:22px;

  font-weight:500;

}

.leoValue__text{

  margin:
    28px
    0
    0 !important;

  color:#514d49 !important;

  font-size:13px;

  line-height:1.95;

}


/* =========================================================
BUSINESS
========================================================= */

.leoAboutBusiness{

  padding:
    145px
    0
    155px;

  background:#101010 !important;

  color:#fff !important;

}

.leoAboutBusiness__head{

  margin-top:75px;

  display:grid;

  grid-template-columns:
    minmax(0,1.05fr)
    minmax(0,.95fr);

  gap:90px;

  align-items:end;

}

.leoAboutBusiness__title{

  margin:0;

  font-family:
    var(--leoa-serif);

  font-size:
    clamp(
      35px,
      3.4vw,
      53px
    );

  font-weight:500;

  line-height:1.65;

}

.leoAboutBusiness__title em{

  color:#bc5062 !important;

  font-style:normal;

}

.leoAboutBusiness__lead{

  margin:0;

  color:#b8b3b4 !important;

  font-family:
    var(--leoa-serif);

  font-size:13px;

  line-height:2;

}

.leoAboutBusiness__list{

  margin-top:75px;

  border-top:
    1px solid
    rgba(255,255,255,.15);

}

.leoAboutBusinessItem{

  min-height:170px;

  padding:
    25px
    0;

  display:grid;

  grid-template-columns:
    7%
    28%
    minmax(0,1fr)
    35px;

  gap:20px;

  align-items:center;

  border-bottom:
    1px solid
    rgba(255,255,255,.15);

  color:#fff !important;

  transition:
    padding .45s var(--leoa-ease),
    background .45s ease !important;

}

.leoAboutBusinessItem:hover{

  padding-left:16px;

  padding-right:16px;

  background:
    var(--leoa-red-dark) !important;

}

.leoAboutBusinessItem__no{

  margin:0;

  color:#807a7b !important;

  font-size:9px;

}

.leoAboutBusinessItem__name span{

  display:block;

  margin-bottom:7px;

  color:#b84d60 !important;

  font-size:8px;

  letter-spacing:.18em;

}

.leoAboutBusinessItem__name h3{

  margin:0;

  color:#fff !important;

  font-family:
    Georgia,
    serif;

  font-size:21px;

  font-weight:400;

}

.leoAboutBusinessItem__text{

  max-width:520px;

  margin:0;

  color:#bbb6b7 !important;

  font-size:13px;

  line-height:1.9;

}

.leoAboutBusinessItem > b{

  color:#fff !important;

  font-size:18px;

  font-weight:400;

  transition:
    transform .4s var(--leoa-ease);

}

.leoAboutBusinessItem:hover > b{

  transform:
    translate(3px,-3px);

}

.leoAboutBusiness__more{

  margin-top:55px;

  display:flex;

  justify-content:flex-end;

}

.leoAboutBusiness__more a{

  width:210px;

  padding-bottom:11px;

  border-bottom:
    1px solid
    rgba(255,255,255,.65);

  display:flex;

  justify-content:space-between;

  color:#fff !important;

  font-size:9px;

  letter-spacing:.15em;

  transition:
    width .4s var(--leoa-ease),
    border-color .35s ease !important;

}

.leoAboutBusiness__more a:hover{

  width:230px;

  border-color:#b64d60;

}


/* =========================================================
OWN BUSINESS
========================================================= */

.leoOwn{

  padding:
    145px
    0
    165px;

  background:
    var(--leoa-white) !important;

}

.leoOwn__head{

  margin-top:75px;

  display:grid;

  grid-template-columns:
    minmax(0,1.05fr)
    minmax(0,.95fr);

  gap:90px;

  align-items:end;

}

.leoOwn__title{

  margin:0;

  font-family:
    var(--leoa-serif);

  font-size:
    clamp(
      34px,
      3.3vw,
      51px
    );

  font-weight:500;

  line-height:1.68;

}

.leoOwn__title em{

  color:
    var(--leoa-red) !important;

  font-style:normal;

}

.leoOwn__lead{

  margin:0;

  color:#4c4844 !important;

  font-family:
    var(--leoa-serif);

  font-size:13px;

  line-height:2;

}

.leoOwn__grid{

  margin-top:85px;

  display:grid;

  grid-template-columns:
    minmax(0,1fr)
    minmax(0,1fr);

  gap:35px;

}

.leoOwnItem{

  display:block;

  color:#171717 !important;

}

.leoOwnItem__visual{

  position:relative;

  overflow:hidden;

  aspect-ratio:
    16 / 10;

  background:#ddd !important;

  transition:
    transform .55s var(--leoa-ease),
    box-shadow .55s var(--leoa-ease);

}

.leoOwnItem__visual img{

  position:absolute;

  inset:0;

  width:100% !important;

  max-width:none !important;

  height:100% !important;

  object-fit:cover;

  transition:
    transform .85s var(--leoa-ease),
    filter .5s ease;

}

.leoOwnItem__overlay{

  position:absolute;

  inset:0;

  display:flex;

  align-items:center;

  justify-content:center;

  gap:13px;

  background:
    rgba(15,15,15,.38);

  color:#fff !important;

  opacity:0;

  transition:
    opacity .45s ease;

}

.leoOwnItem__overlay--blue{

  background:
    rgba(12,42,73,.42);

}

.leoOwnItem__overlay span{

  color:#fff !important;

  font-size:9px;

  letter-spacing:.16em;

}

.leoOwnItem__overlay b{

  color:#fff !important;

  font-size:18px;

  font-weight:400;

  transform:
    translate(-5px,5px);

  transition:
    transform .4s var(--leoa-ease);

}

.leoOwnItem:hover .leoOwnItem__visual{

  transform:
    translateY(-5px);

  box-shadow:
    0 25px 55px
    rgba(0,0,0,.1);

}

.leoOwnItem:hover .leoOwnItem__visual img{

  transform:
    scale(1.025);

}

.leoOwnItem:hover .leoOwnItem__overlay{
  opacity:1;
}

.leoOwnItem:hover .leoOwnItem__overlay b{

  transform:
    translate(0,0);

}

.leoOwnItem__info{

  margin-top:20px;

  display:flex;

  justify-content:space-between;

  align-items:flex-start;

}

.leoOwnItem__info p{

  margin:
    0
    0
    8px;

  color:
    var(--leoa-red) !important;

  font-size:8px;

  letter-spacing:.15em;

}

.leoOwnItem__info p.leoOwnItem__blue{

  color:#2864a4 !important;

}

.leoOwnItem__info h3{

  margin:0;

  font-family:
    var(--leoa-serif);

  font-size:22px;

  font-weight:500;

}

.leoOwnItem__info span{

  display:block;

  margin-top:7px;

  color:#6e6964 !important;

  font-size:11px;

}

.leoOwnItem__info > b{

  color:#171717 !important;

  font-size:18px;

  font-weight:400;

}


/* =========================================================
COMPANY
========================================================= */

.leoCompany{

  padding:
    145px
    0
    165px;

  background:
    var(--leoa-ivory) !important;

}

.leoCompany__body{

  margin-top:80px;

  display:grid;

  grid-template-columns:
    minmax(0,.75fr)
    minmax(0,1.25fr);

  gap:95px;

}

.leoCompany__heading{

  min-width:0;

}

.leoCompany__title{

  margin:0;

  font-family:
    Georgia,
    serif;

  font-size:
    clamp(
      34px,
      3.2vw,
      50px
    );

  font-weight:400;

}

.leoCompany__message{

  margin:
    30px
    0
    0;

  color:
    var(--leoa-red) !important;

  font-family:
    Georgia,
    serif;

  font-size:12px;

  line-height:1.7;

  letter-spacing:.14em;

}

.leoCompany__table{

  min-width:0;

}

.leoCompany__table dl{

  margin:0;

  border-top:
    1px solid var(--leoa-line);

}

.leoCompany__table dl > div{

  min-height:78px;

  padding:
    22px
    0;

  border-bottom:
    1px solid var(--leoa-line);

  display:grid;

  grid-template-columns:
    140px
    minmax(0,1fr);

  align-items:start;

}

.leoCompany__table dt{

  padding-top:2px;

  color:#817b76 !important;

  font-size:10px;

  letter-spacing:.08em;

}

.leoCompany__table dd{

  margin:0;

  color:#2e2b29 !important;

  font-family:
    var(--leoa-serif);

  font-size:14px;

  line-height:1.9;

}

.leoCompany__table dd > span{

  display:block;

  margin-top:3px;

  color:#89837e !important;

  font-family:
    var(--leoa-sans);

  font-size:9px;

  letter-spacing:.08em;

}

.leoCompany__business{

  padding-top:27px !important;

  padding-bottom:27px !important;

}

.leoCompany__business ul{

  margin:0;

  padding:0;

  list-style:none;

}

.leoCompany__business li{

  position:relative;

  padding-left:16px;

  margin-bottom:10px;

  font-size:13px;

  line-height:1.8;

}

.leoCompany__business li:last-child{
  margin-bottom:0;
}

.leoCompany__business li::before{

  content:"";

  position:absolute;

  top:.82em;

  left:0;

  width:5px;

  height:1px;

  background:
    var(--leoa-red);

}


/* =========================================================
CONTACT
========================================================= */

.leoAboutContact{

  position:relative;

  overflow:hidden;

  background:#120e0f !important;

  color:#fff !important;

}

.leoAboutContact__bg{

  position:absolute;

  inset:0;

  background:
    radial-gradient(
      circle at 82% 50%,
      rgba(130,30,48,.32),
      transparent 33%
    );

}

.leoAboutContact__inner{

  position:relative;

  z-index:2;

  min-height:520px;

  padding-top:95px;

  padding-bottom:90px;

}

.leoAboutContact__label{

  margin:
    0
    0
    35px;

  color:#b14b5d !important;

  font-size:10px;

  letter-spacing:.2em;

}

.leoAboutContact__title{

  max-width:850px;

  margin:0;

  color:#fff !important;

  font-family:
    var(--leoa-serif);

  font-size:
    clamp(
      33px,
      3.5vw,
      55px
    );

  font-weight:500;

  line-height:1.6;

  word-break:keep-all;

}

.leoAboutContact__title span{
  color:#b74d60 !important;
}

.leoAboutContact__text{

  max-width:580px;

  margin:
    28px
    0
    0;

  color:#b8b2b3 !important;

  font-family:
    var(--leoa-serif);

  font-size:13px;

  line-height:2;

}

.leoAboutContact__button,
.leoAboutContact__button:visited{

  position:absolute;

  right:0;

  bottom:85px;

  width:310px;

  height:92px;

  padding:
    0
    29px;

  display:flex;

  align-items:center;

  justify-content:space-between;

  background:
    var(--leoa-red) !important;

  color:#fff !important;

  transition:
    width .45s var(--leoa-ease),
    background .4s ease,
    transform .4s var(--leoa-ease) !important;

}

.leoAboutContact__button:hover{

  width:335px;

  background:#91283b !important;

  transform:
    translateY(-3px);

}

.leoAboutContact__button span{

  color:#fff !important;

  font-family:
    var(--leoa-serif);

  font-size:16px;

}

.leoAboutContact__button small{

  display:block;

  margin-bottom:6px;

  color:
    rgba(255,255,255,.65) !important;

  font-family:
    var(--leoa-sans);

  font-size:8px;

  letter-spacing:.15em;

}

.leoAboutContact__button b{

  color:#fff !important;

  font-size:20px;

  font-weight:400;

}


/* =========================================================
FOOTER
========================================================= */

.leoAboutFooter{

  padding:
    55px
    0
    27px;

  background:#0e0e0e !important;

  color:#fff !important;

}

.leoAboutFooter__top{

  padding-bottom:45px;

  display:flex;

  justify-content:space-between;

  align-items:center;

  gap:40px;

}

.leoAboutFooter__logo{

  width:82px;

  flex:none;

}

.leoAboutFooter__logo img{
  width:100%;
}

.leoAboutFooter nav{

  display:flex;

  flex-wrap:wrap;

  gap:30px;

}

.leoAboutFooter nav a{

  color:#aaa5a5 !important;

  font-size:10px;

  letter-spacing:.14em;

  transition:
    color .35s ease !important;

}

.leoAboutFooter nav a:hover{
  color:#fff !important;
}

.leoAboutFooter__bottom{

  padding-top:21px;

  border-top:
    1px solid
    rgba(255,255,255,.11);

  display:flex;

  justify-content:space-between;

  color:#817c7c !important;

  font-size:10px;

  line-height:1.8;

}

.leoAboutFooter__bottom p{

  margin:0;

  color:inherit !important;

}


/* =========================================================
REVEAL
========================================================= */

.leoAboutReveal{

  opacity:0;

  transform:
    translateY(24px);

  transition:
    opacity .9s var(--leoa-ease),
    transform .9s var(--leoa-ease);

}

.leoAboutReveal.is-show{

  opacity:1;

  transform:none;

}


/* =========================================================
TABLET
========================================================= */

@media(max-width:1100px){

  .leoAboutContainer,
  .leoAboutFv__content{

    width:
      calc(100% - 64px);

  }

  .leoAboutHeader__inner{
    padding:
      0
      30px;
  }

  .leoAboutHeader__nav{
    gap:19px;
  }

  .leoAboutHeader__contact{
    margin-left:22px;
  }

  .leoAboutFv__title{
    font-size:45px;
  }

  .leoWho__body,
  .leoValues__head,
  .leoAboutBusiness__head,
  .leoOwn__head,
  .leoCompany__body{

    gap:55px;

  }

  .leoAboutBusinessItem{

    grid-template-columns:
      6%
      31%
      minmax(0,1fr)
      30px;

  }

}


/* =========================================================
MOBILE
========================================================= */

@media(max-width:767px){

  .leoAboutContainer{

    width:
      calc(100% - 40px);

  }


  /* HEADER */

  .leoAboutHeader{
    height:70px;
  }

  .leoAboutHeader__inner{
    padding:
      0
      20px;
  }

  .leoAboutHeader__logo{
    width:58px;
  }

  .leoAboutHeader__logo img{
    width:53px;
  }

  .leoAboutHeader__nav,
  .leoAboutHeader__contact{
    display:none !important;
  }

  .leoAboutMenuButton{

    margin-left:auto !important;

    width:42px !important;

    height:42px !important;

    padding:0 !important;

    border:0 !important;

    border-radius:0 !important;

    box-shadow:none !important;

    background:
      transparent !important;

    display:flex !important;

    flex-direction:column;

    align-items:flex-end;

    justify-content:center;

    gap:7px;

  }

  .leoAboutMenuButton span{

    display:block;

    width:24px;

    height:1px;

    background:#fff !important;

    transition:
      width .4s var(--leoa-ease),
      transform .4s var(--leoa-ease);

  }

  .leoAboutMenuButton span:last-child{
    width:16px;
  }

  .leoAboutMenuButton.is-open span:first-child{

    width:23px;

    transform:
      translateY(4px)
      rotate(45deg);

  }

  .leoAboutMenuButton.is-open span:last-child{

    width:23px;

    transform:
      translateY(-4px)
      rotate(-45deg);

  }


  /* FV */

  .leoAboutFv{

    min-height:100svh;

    height:100svh;

  }

  .leoAboutFv__visual img{

    object-position:
      56% center;

    filter:
      grayscale(100%)
      brightness(.42)
      contrast(1.1);

  }

  .leoAboutFv__shade{

    background:
      linear-gradient(
        0deg,
        rgba(5,5,5,.83),
        rgba(5,5,5,.14) 60%,
        rgba(5,5,5,.28)
      );

  }

  .leoAboutFv__content{

    width:100%;

    min-height:100svh;

    height:100svh;

    padding:
      120px
      24px
      75px;

    justify-content:flex-end;

  }

  .leoAboutFv__label{

    margin-bottom:23px;

    font-size:9px;

  }

  .leoAboutFv__title{

    font-size:
      clamp(
        32px,
        9vw,
        40px
      );

    line-height:1.65;

  }

  .leoAboutFv__title span{
    white-space:normal;
  }

  .leoAboutFv__lead{

    margin-top:23px;

    font-size:12px;

    line-height:2;

  }

  .leoAboutFv__signature{

    margin-top:27px;

    font-size:9px;

  }

  .leoAboutFv__vertical{
    display:none;
  }

  .leoAboutFv__scroll{

    right:13px;

    bottom:21px;

  }


  /* HEAD */

  .leoAboutSectionHead span{
    font-size:12px;
  }

  .leoAboutSectionHead small{
    font-size:10px;
  }


  /* WHO */

  .leoWho{

    padding:
      85px
      0
      105px;

  }

  .leoWho__body{

    margin-top:50px;

    display:block;

  }

  .leoWho__title{

    font-size:27px;

    line-height:1.75;

  }

  .leoWho__text{

    max-width:none;

    margin-top:35px;

    font-size:13px;

    line-height:2.05;

  }

  .leoWho__word{

    bottom:-12px;

    font-size:83px;

  }


  /* PHILOSOPHY */

  .leoAboutPhilosophy{

    min-height:auto;

    display:block;

  }

  .leoAboutPhilosophy__image{

    min-height:420px;

  }

  .leoAboutPhilosophy__image img{

    object-position:
      51% center;

  }

  .leoAboutPhilosophy__content{

    padding:
      72px
      20px
      86px;

  }

  .leoAboutPhilosophy__en{

    margin-top:40px;

    font-size:11px;

  }

  .leoAboutPhilosophy__title{

    font-size:27px;

    line-height:1.75;

  }

  .leoAboutPhilosophy__text{

    margin-top:30px;

    font-size:12px;

  }


  /* VALUES */

  .leoValues{

    padding:
      85px
      0
      95px;

  }

  .leoValues__head{

    margin-top:48px;

    display:block;

  }

  .leoValues__title{
    font-size:28px;
  }

  .leoValues__lead{

    margin-top:30px;

    font-size:12px;

  }

  .leoValues__grid{

    margin-top:50px;

    display:block;

  }

  .leoValue{

    min-height:0;

    padding:
      35px
      22px
      40px;

    border-left:0 !important;

    border-right:0;

    border-bottom:
      1px solid var(--leoa-line);

  }

  .leoValue__number{

    margin-bottom:
      32px !important;

  }

  .leoValue h3{
    font-size:21px;
  }

  .leoValue__text{
    font-size:12px;
  }


  /* BUSINESS */

  .leoAboutBusiness{

    padding:
      85px
      0
      95px;

  }

  .leoAboutBusiness__head{

    margin-top:48px;

    display:block;

  }

  .leoAboutBusiness__title{
    font-size:28px;
  }

  .leoAboutBusiness__lead{

    margin-top:30px;

    font-size:12px;

  }

  .leoAboutBusiness__list{
    margin-top:50px;
  }

  .leoAboutBusinessItem{

    min-height:0;

    padding:
      30px
      0;

    grid-template-columns:
      30px
      minmax(0,1fr)
      28px;

    gap:0;

    align-items:start;

  }

  .leoAboutBusinessItem:hover{

    padding:
      30px
      0;

    background:
      transparent !important;

  }

  .leoAboutBusinessItem__no{

    grid-column:1;

  }

  .leoAboutBusinessItem__name{

    grid-column:2;

  }

  .leoAboutBusinessItem__name h3{
    font-size:19px;
  }

  .leoAboutBusinessItem__text{

    grid-column:
      2 / 4;

    margin-top:18px;

    font-size:12px;

  }

  .leoAboutBusinessItem > b{

    grid-column:3;

    grid-row:1;

  }

  .leoAboutBusiness__more{

    margin-top:40px;

  }


  /* OWN */

  .leoOwn{

    padding:
      85px
      0
      100px;

  }

  .leoOwn__head{

    margin-top:48px;

    display:block;

  }

  .leoOwn__title{

    font-size:27px;

    line-height:1.75;

  }

  .leoOwn__lead{

    margin-top:30px;

    font-size:12px;

  }

  .leoOwn__grid{

    margin-top:55px;

    display:block;

  }

  .leoOwnItem{

    margin-bottom:52px;

  }

  .leoOwnItem:last-child{
    margin-bottom:0;
  }

  .leoOwnItem__visual{
    aspect-ratio:16 / 10;
  }

  .leoOwnItem__overlay{
    display:none;
  }

  .leoOwnItem__info h3{
    font-size:19px;
  }


  /* COMPANY */

  .leoCompany{

    padding:
      85px
      0
      100px;

  }

  .leoCompany__body{

    margin-top:50px;

    display:block;

  }

  .leoCompany__title{
    font-size:34px;
  }

  .leoCompany__message{

    margin-top:20px;

    font-size:10px;

  }

  .leoCompany__table{

    margin-top:50px;

  }

  .leoCompany__table dl > div{

    min-height:0;

    padding:
      20px
      0;

    display:block;

  }

  .leoCompany__table dt{

    margin-bottom:10px;

    font-size:9px;

  }

  .leoCompany__table dd{
    font-size:13px;
  }

  .leoCompany__business li{

    padding-left:13px;

    margin-bottom:11px;

    font-size:12px;

  }


  /* CONTACT */

  .leoAboutContact__inner{

    min-height:520px;

    padding:
      75px
      0
      160px;

  }

  .leoAboutContact__title{
    font-size:29px;
  }

  .leoAboutContact__text{
    font-size:12px;
  }

  .leoAboutContact__button{

    left:0;

    right:auto;

    bottom:50px;

    width:100%;

    height:72px;

  }

  .leoAboutContact__button:hover{

    width:100%;

    transform:none;

  }


  /* FOOTER */

  .leoAboutFooter{
    padding-top:45px;
  }

  .leoAboutFooter__top{
    align-items:flex-start;
  }

  .leoAboutFooter__logo{
    width:68px;
  }

  .leoAboutFooter nav{

    display:grid;

    grid-template-columns:
      1fr
      1fr;

    gap:
      15px
      22px;

  }

  .leoAboutFooter nav a{
    font-size:9px;
  }

  .leoAboutFooter__bottom{

    display:block;

    font-size:9px;

  }

  .leoAboutFooter__bottom > p{
    margin-top:20px;
  }

}


/* =========================================================
SMALL MOBILE
========================================================= */

@media(max-width:390px){

  .leoAboutFv__title{
    font-size:31px;
  }

  .leoWho__title,
  .leoAboutPhilosophy__title,
  .leoOwn__title{
    font-size:25px;
  }

  .leoValues__title,
  .leoAboutBusiness__title{
    font-size:26px;
  }

  .leoAboutContact__title{
    font-size:27px;
  }

}


/* =========================================================
REDUCED MOTION
========================================================= */

@media(prefers-reduced-motion:reduce){

  .leoAboutReveal{

    opacity:1 !important;

    transform:none !important;

    transition:none !important;

  }

  .leoAboutFv__scroll i::after{
    animation:none !important;
  }

  .leoOwnItem__visual,
  .leoOwnItem__visual img{
    transition:none !important;
  }

}/* End custom CSS */