.elementor-1330 .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 COMPANY PAGE
========================================================= */

:root{

  --leoc-black:#101010;
  --leoc-red:#741b2b;
  --leoc-red-light:#a74355;
  --leoc-red-dark:#50111d;

  --leoc-ivory:#f4f1eb;
  --leoc-white:#fbfaf7;

  --leoc-text:#171717;

  --leoc-line:rgba(17,17,17,.11);
  --leoc-line-light:rgba(255,255,255,.14);

  --leoc-serif:
    "Yu Mincho",
    "YuMincho",
    "Hiragino Mincho ProN",
    "Noto Serif JP",
    serif;

  --leoc-sans:
    "Helvetica Neue",
    "Noto Sans JP",
    "Yu Gothic",
    "YuGothic",
    sans-serif;

  --leoc-ease:
    cubic-bezier(.22,1,.36,1);

}


/* =========================================================
RESET
========================================================= */

body.leoCompanyMenuOpen{
  overflow:hidden !important;
}

.leoCompanyPage,
.leoCompanyPage *{
  box-sizing:border-box;
}

.leoCompanyPage{

  width:100%;
  max-width:100%;

  overflow:hidden;

  background:
    var(--leoc-ivory) !important;

  color:
    var(--leoc-text) !important;

  font-family:
    var(--leoc-sans);

  -webkit-font-smoothing:
    antialiased;

}

.leoCompanyPage a,
.leoCompanyPage a:hover,
.leoCompanyPage a:visited{
  text-decoration:none !important;
}

.leoCompanyPage img{
  display:block;
  max-width:100%;
}

.leoCompanyContainer{

  width:min(
    1240px,
    calc(100% - 120px)
  );

  margin-inline:auto;

}


/* =========================================================
HEADER
========================================================= */

.leoCompanyHeader{

  position:absolute;

  top:0;
  left:0;

  z-index:1000;

  width:100%;
  height:82px;

  transition:
    transform .45s var(--leoc-ease),
    background .4s ease;

}

.leoCompanyHeader.is-fixed{

  position:fixed;

  background:
    rgba(244,241,235,.96) !important;

  backdrop-filter:
    blur(15px);

  box-shadow:
    0 1px 0 rgba(0,0,0,.07);

}

.leoCompanyHeader.is-hidden{

  transform:
    translateY(-105%);

}

.leoCompanyHeader__inner{

  height:100%;

  padding:
    0
    46px;

  display:flex;

  align-items:center;

}

.leoCompanyHeader__logo{

  width:74px;

  flex:none;

}

.leoCompanyHeader__logo img{

  width:64px;

  max-height:58px;

  object-fit:contain;

  filter:invert(1);

}

.leoCompanyHeader__nav{

  margin-left:auto;

  display:flex;

  align-items:center;

  gap:34px;

}

.leoCompanyHeader__nav a{

  position:relative;

  padding:
    10px
    0;

  color:#171717 !important;

  font-size:11px;

  font-weight:500;

  letter-spacing:.15em;

}

.leoCompanyHeader__nav a::after{

  content:"";

  position:absolute;

  left:0;
  bottom:2px;

  width:100%;
  height:1px;

  background:
    var(--leoc-red);

  transform:
    scaleX(0);

  transform-origin:right;

  transition:
    transform
    .4s
    var(--leoc-ease);

}

.leoCompanyHeader__nav a:hover::after,
.leoCompanyHeader__nav a.is-current::after{

  transform:
    scaleX(1);

  transform-origin:left;

}

.leoCompanyHeader__contact{

  height:42px;

  margin-left:36px;

  padding:
    0
    18px;

  display:flex;

  align-items:center;

  gap:22px;

  border:
    1px solid
    rgba(20,20,20,.45) !important;

  color:#171717 !important;

  font-size:10px;

  letter-spacing:.15em;

  transition:
    color .35s ease,
    background .4s var(--leoc-ease),
    transform .4s var(--leoc-ease) !important;

}

.leoCompanyHeader__contact span,
.leoCompanyHeader__contact b{
  color:inherit !important;
}

.leoCompanyHeader__contact:hover{

  background:
    var(--leoc-red) !important;

  border-color:
    var(--leoc-red) !important;

  color:#fff !important;

  transform:
    translateY(-2px);

}

.leoCompanyMenuButton{
  display:none !important;
}


/* =========================================================
MOBILE MENU
========================================================= */

.leoCompanyMenu{

  position:fixed;

  inset:0;

  z-index:950;

  background:#111 !important;

  color:#fff !important;

  opacity:0;

  visibility:hidden;

  transition:
    opacity .45s var(--leoc-ease),
    visibility .45s ease;

}

.leoCompanyMenu.is-open{

  opacity:1;

  visibility:visible;

}

.leoCompanyMenu__inner{

  min-height:100%;

  padding:
    115px
    26px
    45px;

  display:flex;

  flex-direction:column;

}

.leoCompanyMenu nav{

  display:flex;

  flex-direction:column;

}

.leoCompanyMenu nav a{

  padding:
    17px
    0;

  border-bottom:
    1px solid
    rgba(255,255,255,.12);

  color:#fff !important;

  font-family:
    Georgia,
    serif;

  font-size:27px;

}

.leoCompanyMenu nav a span{

  display:inline-block;

  width:38px;

  color:#a54758 !important;

  font-family:
    var(--leoc-sans);

  font-size:9px;

}

.leoCompanyMenu__inner > p{

  margin:
    auto
    0
    0;

  color:#963246 !important;

  font-family:
    Georgia,
    serif;

  font-size:10px;

  line-height:1.7;

  letter-spacing:.18em;

}


/* =========================================================
FV
========================================================= */

.leoCompanyFv{

  position:relative;

  min-height:720px;

  padding:
    190px
    0
    95px;

  background:
    var(--leoc-ivory) !important;

}

.leoCompanyFv__line{

  position:absolute;

  top:82px;
  bottom:58px;

  left:61%;

  width:1px;

  background:
    rgba(20,20,20,.09);

}

.leoCompanyFv__inner{

  display:grid;

  grid-template-columns:
    minmax(0,1.45fr)
    minmax(0,.75fr);

  gap:90px;

}

.leoCompanyFv__main,
.leoCompanyFv__side{
  min-width:0;
}

.leoCompanyFv__label{

  margin:
    0
    0
    72px;

  color:
    var(--leoc-red) !important;

  font-family:
    Georgia,
    serif;

  font-size:13px;

  letter-spacing:.2em;

}

.leoCompanyFv__title{

  margin:0;

  font-family:
    var(--leoc-serif);

  font-size:
    clamp(
      40px,
      4.1vw,
      64px
    );

  font-weight:500;

  line-height:1.58;

  letter-spacing:.045em;

  word-break:keep-all;

}

.leoCompanyFv__title span{
  display:block;
}

.leoCompanyFv__title em{

  color:
    var(--leoc-red) !important;

  font-style:normal;

}

.leoCompanyFv__side{

  padding-top:63px;

}

.leoCompanyFv__en{

  margin:
    0
    0
    52px;

  color:#b9b3ac !important;

  font-family:
    Georgia,
    serif;

  font-size:30px;

  line-height:1.2;

}

.leoCompanyFv__lead{

  max-width:410px;

  margin:0;

  font-family:
    var(--leoc-serif);

  font-size:14px;

  line-height:2.1;

}

.leoCompanyFv__bottom{

  position:absolute;

  left:0;
  right:0;
  bottom:0;

  min-height:58px;

  display:flex;

  justify-content:center;

  align-items:center;

  gap:30px;

  background:
    var(--leoc-red) !important;

  color:#fff !important;

}

.leoCompanyFv__bottom span{

  color:#fff !important;

  font-size:10px;

  letter-spacing:.16em;

}

.leoCompanyFv__bottom i{

  width:3px;
  height:3px;

  border-radius:50%;

  background:
    rgba(255,255,255,.55);

}


/* =========================================================
SECTION HEAD
========================================================= */

.leoCompanySectionHead{

  display:flex;

  align-items:flex-start;

  gap:18px;

}

.leoCompanySectionHead > p{

  min-width:22px;

  margin:
    2px
    0
    0;

  color:
    var(--leoc-red) !important;

  font-size:11px;

}

.leoCompanySectionHead span{

  display:block;

  font-family:
    Georgia,
    serif;

  font-size:14px;

  letter-spacing:.1em;

}

.leoCompanySectionHead small{

  display:block;

  margin-top:6px;

  color:#77726d !important;

  font-size:11px;

}

.leoCompanySectionHead--light span{
  color:#fff !important;
}

.leoCompanySectionHead--light small{
  color:#898485 !important;
}


/* =========================================================
PROFILE
========================================================= */

.leoCompanyProfile{

  padding:
    145px
    0
    165px;

  background:
    var(--leoc-white) !important;

}

.leoCompanyProfile__body{

  margin-top:80px;

  display:grid;

  grid-template-columns:
    minmax(0,.72fr)
    minmax(0,1.28fr);

  gap:100px;

}

.leoCompanyProfile__title{

  margin:0;

  font-family:
    Georgia,
    serif;

  font-size:
    clamp(
      38px,
      3.8vw,
      58px
    );

  font-weight:400;

}

.leoCompanyProfile__concept{

  margin:
    32px
    0
    0;

  color:
    var(--leoc-red) !important;

  font-family:
    Georgia,
    serif;

  font-size:13px;

  line-height:1.8;

  letter-spacing:.15em;

}

.leoCompanyProfile__text{

  max-width:360px;

  margin:
    42px
    0
    0;

  color:#504b47 !important;

  font-family:
    var(--leoc-serif);

  font-size:14px;

  line-height:2.05;

}

.leoCompanyProfile__table dl{

  margin:0;

  border-top:
    1px solid var(--leoc-line);

}

.leoCompanyProfile__table dl > div{

  min-height:84px;

  padding:
    24px
    0;

  border-bottom:
    1px solid var(--leoc-line);

  display:grid;

  grid-template-columns:
    145px
    minmax(0,1fr);

}

.leoCompanyProfile__table dt{

  padding-top:3px;

  color:#77726d !important;

  font-size:11px;

}

.leoCompanyProfile__table dd{

  margin:0;

  font-family:
    var(--leoc-serif);

  font-size:15px;

  line-height:1.8;

}

.leoCompanyProfile__table dd small{

  display:block;

  margin-top:3px;

  color:#8a847f !important;

  font-family:
    var(--leoc-sans);

  font-size:10px;

}

.leoCompanyProfile__table dd a{

  color:#222 !important;

}

.leoCompanyProfile__table dd a span{

  margin-left:8px;

  color:
    var(--leoc-red) !important;

}


/* =========================================================
BUSINESS
========================================================= */

.leoCompanyBusiness{

  padding:
    145px
    0
    160px;

  background:#101010 !important;

  color:#fff !important;

}

.leoCompanyBusiness__head{

  margin-top:75px;

  display:grid;

  grid-template-columns:
    minmax(0,1fr)
    minmax(0,.9fr);

  gap:90px;

  align-items:end;

}

.leoCompanyBusiness__title{

  margin:0;

  font-family:
    var(--leoc-serif);

  font-size:
    clamp(
      35px,
      3.4vw,
      53px
    );

  font-weight:500;

  line-height:1.65;

}

.leoCompanyBusiness__title em{

  color:#bd5163 !important;

  font-style:normal;

}

.leoCompanyBusiness__lead{

  margin:0;

  color:#bcb7b8 !important;

  font-family:
    var(--leoc-serif);

  font-size:14px;

  line-height:2;

}

.leoCompanyBusiness__grid{

  margin-top:80px;

  display:grid;

  grid-template-columns:
    repeat(2,minmax(0,1fr));

  border-top:
    1px solid
    rgba(255,255,255,.15);

  border-left:
    1px solid
    rgba(255,255,255,.15);

}

.leoCompanyBusinessItem{

  min-height:390px;

  padding:
    42px
    45px;

  border-right:
    1px solid
    rgba(255,255,255,.15);

  border-bottom:
    1px solid
    rgba(255,255,255,.15);

  transition:
    background .45s var(--leoc-ease);

}

.leoCompanyBusinessItem:hover{

  background:
    var(--leoc-red-dark) !important;

}

.leoCompanyBusinessItem__top{

  display:flex;

  justify-content:space-between;

  align-items:center;

}

.leoCompanyBusinessItem__top span{

  color:#807a7b !important;

  font-size:10px;

}

.leoCompanyBusinessItem__top p{

  margin:0;

  color:#bb5365 !important;

  font-size:10px;

  letter-spacing:.17em;

}

.leoCompanyBusinessItem h3{

  margin:
    65px
    0
    0;

  color:#fff !important;

  font-family:
    Georgia,
    serif;

  font-size:27px;

  font-weight:400;

}

.leoCompanyBusinessItem__jp{

  margin:
    10px
    0
    0;

  color:#aaa4a5 !important;

  font-size:12px;

}

.leoCompanyBusinessItem__text{

  max-width:430px;

  margin:
    35px
    0
    0;

  color:#c1bcbd !important;

  font-family:
    var(--leoc-serif);

  font-size:14px;

  line-height:2;

}

.leoCompanyBusinessItem a{

  width:150px;

  margin-top:35px;

  padding-bottom:9px;

  border-bottom:
    1px solid
    rgba(255,255,255,.55);

  display:flex;

  justify-content:space-between;

  color:#fff !important;

  font-size:10px;

  letter-spacing:.13em;

  transition:
    width .4s var(--leoc-ease) !important;

}

.leoCompanyBusinessItem a:hover{

  width:175px;

}

.leoCompanyBusinessList{

  margin-top:80px;

  padding:
    52px
    55px;

  border:
    1px solid
    rgba(255,255,255,.15);

}

.leoCompanyBusinessList__label{

  margin:
    0
    0
    33px;

  color:#b54c5f !important;

  font-size:10px;

  letter-spacing:.17em;

}

.leoCompanyBusinessList ul{

  margin:0;

  padding:0;

  list-style:none;

}

.leoCompanyBusinessList li{

  position:relative;

  padding:
    17px
    0
    17px
    22px;

  border-bottom:
    1px solid
    rgba(255,255,255,.1);

  color:#d1cdce !important;

  font-family:
    var(--leoc-serif);

  font-size:14px;

  line-height:1.8;

}

.leoCompanyBusinessList li:last-child{
  border-bottom:0;
}

.leoCompanyBusinessList li::before{

  content:"";

  position:absolute;

  top:30px;
  left:0;

  width:7px;
  height:1px;

  background:#b64d60;

}


/* =========================================================
OWN BUSINESS
========================================================= */

.leoCompanyOwn{

  padding:
    145px
    0
    165px;

  background:
    var(--leoc-white) !important;

}

.leoCompanyOwn__head{

  margin-top:75px;

  display:grid;

  grid-template-columns:
    minmax(0,1fr)
    minmax(0,.9fr);

  gap:90px;

  align-items:end;

}

.leoCompanyOwn__title{

  margin:0;

  font-family:
    var(--leoc-serif);

  font-size:
    clamp(
      35px,
      3.4vw,
      52px
    );

  font-weight:500;

  line-height:1.65;

}

.leoCompanyOwn__title em{

  color:
    var(--leoc-red) !important;

  font-style:normal;

}

.leoCompanyOwn__lead{

  margin:0;

  color:#4f4a46 !important;

  font-family:
    var(--leoc-serif);

  font-size:14px;

  line-height:2;

}

.leoCompanyOwn__list{

  margin-top:80px;

  border-top:
    1px solid var(--leoc-line);

}

.leoCompanyOwnItem{

  min-height:330px;

  padding:
    38px
    0;

  border-bottom:
    1px solid var(--leoc-line);

  display:grid;

  grid-template-columns:
    minmax(0,.95fr)
    minmax(0,1.05fr);

  gap:65px;

  color:#171717 !important;

}

.leoCompanyOwnItem__visual{

  position:relative;

  min-width:0;

  overflow:hidden;

  aspect-ratio:
    16 / 9.5;

}

.leoCompanyOwnItem__visual img{

  position:absolute;

  inset:0;

  width:100% !important;

  height:100% !important;

  max-width:none !important;

  object-fit:cover;

  transition:
    transform .8s var(--leoc-ease);

}

.leoCompanyOwnItem:hover
.leoCompanyOwnItem__visual img{

  transform:
    scale(1.025);

}

.leoCompanyOwnItem__content{

  padding:
    20px
    0;

  display:flex;

  flex-direction:column;

  justify-content:center;

}

.leoCompanyOwnItem__meta{

  display:flex;

  align-items:center;

  gap:18px;

}

.leoCompanyOwnItem__meta span{

  color:#8c8681 !important;

  font-size:10px;

}

.leoCompanyOwnItem__meta p{

  margin:0;

  color:
    var(--leoc-red) !important;

  font-size:10px;

  letter-spacing:.15em;

}

.leoCompanyOwnItem__meta--blue p{

  color:#2d659f !important;

}

.leoCompanyOwnItem h3{

  margin:
    25px
    0
    0;

  font-family:
    var(--leoc-serif);

  font-size:30px;

  font-weight:500;

}

.leoCompanyOwnItem__desc{

  max-width:500px;

  margin:
    25px
    0
    0;

  color:#514c48 !important;

  font-family:
    var(--leoc-serif);

  font-size:14px;

  line-height:2;

}

.leoCompanyOwnItem__link{

  width:155px;

  margin:
    30px
    0
    0;

  padding-bottom:9px;

  border-bottom:
    1px solid var(--leoc-red);

  display:flex;

  justify-content:space-between;

  color:
    var(--leoc-red) !important;

  font-size:10px;

  letter-spacing:.13em;

}

.leoCompanyOwnItem__link--blue{

  color:#2d659f !important;

  border-color:#2d659f;

}


/* =========================================================
IDENTITY
========================================================= */

.leoCompanyIdentity{

  position:relative;

  overflow:hidden;

  background:
    var(--leoc-ivory) !important;

}

.leoCompanyIdentity::after{

  content:"LEONOIR";

  position:absolute;

  right:-30px;

  bottom:-40px;

  color:
    rgba(116,27,43,.045) !important;

  font-family:
    Georgia,
    serif;

  font-size:
    clamp(
      120px,
      18vw,
      270px
    );

  line-height:1;

  pointer-events:none;

}

.leoCompanyIdentity__inner{

  position:relative;

  z-index:2;

  min-height:600px;

  padding-top:125px;

  padding-bottom:120px;

}

.leoCompanyIdentity__label{

  margin:0;

  color:
    var(--leoc-red) !important;

  font-size:10px;

  letter-spacing:.18em;

}

.leoCompanyIdentity__en{

  margin:
    55px
    0
    0;

  color:#9b948e !important;

  font-family:
    Georgia,
    serif;

  font-size:16px;

  line-height:1.55;

  letter-spacing:.1em;

}

.leoCompanyIdentity__en em{

  color:
    var(--leoc-red) !important;

  font-style:normal;

}

.leoCompanyIdentity__title{

  margin:
    27px
    0
    0;

  font-family:
    var(--leoc-serif);

  font-size:
    clamp(
      38px,
      4vw,
      62px
    );

  font-weight:500;

  line-height:1.6;

}

.leoCompanyIdentity__title span{

  color:
    var(--leoc-red) !important;

}

.leoCompanyIdentity__link{

  width:210px;

  margin-top:55px;

  padding-bottom:12px;

  border-bottom:
    1px solid #222;

  display:flex;

  justify-content:space-between;

  color:#222 !important;

  font-size:10px;

  letter-spacing:.14em;

  transition:
    width .4s var(--leoc-ease) !important;

}

.leoCompanyIdentity__link:hover{

  width:235px;

}


/* =========================================================
CONTACT
========================================================= */

.leoCompanyContact{

  position:relative;

  overflow:hidden;

  background:#120e0f !important;

  color:#fff !important;

}

.leoCompanyContact__bg{

  position:absolute;

  inset:0;

  background:
    radial-gradient(
      circle at 82% 50%,
      rgba(130,30,48,.32),
      transparent 33%
    );

}

.leoCompanyContact__inner{

  position:relative;

  z-index:2;

  min-height:520px;

  padding-top:95px;

  padding-bottom:90px;

}

.leoCompanyContact__label{

  margin:
    0
    0
    35px;

  color:#b14b5d !important;

  font-size:10px;

  letter-spacing:.2em;

}

.leoCompanyContact__title{

  max-width:800px;

  margin:0;

  font-family:
    var(--leoc-serif);

  font-size:
    clamp(
      34px,
      3.5vw,
      55px
    );

  font-weight:500;

  line-height:1.6;

}

.leoCompanyContact__title span{

  color:#b74d60 !important;

}

.leoCompanyContact__text{

  max-width:570px;

  margin:
    28px
    0
    0;

  color:#b8b2b3 !important;

  font-family:
    var(--leoc-serif);

  font-size:14px;

  line-height:2;

}

.leoCompanyContact__button{

  position:absolute;

  right:0;

  bottom:85px;

  width:310px;
  height:92px;

  padding:
    0
    29px;

  display:flex;

  align-items:center;

  justify-content:space-between;

  background:
    var(--leoc-red) !important;

  color:#fff !important;

  transition:
    width .45s var(--leoc-ease),
    background .4s ease,
    transform .4s var(--leoc-ease) !important;

}

.leoCompanyContact__button:hover{

  width:335px;

  background:#91283b !important;

  transform:
    translateY(-3px);

}

.leoCompanyContact__button span{

  color:#fff !important;

  font-family:
    var(--leoc-serif);

  font-size:16px;

}

.leoCompanyContact__button small{

  display:block;

  margin-bottom:6px;

  color:
    rgba(255,255,255,.65) !important;

  font-family:
    var(--leoc-sans);

  font-size:9px;

}

.leoCompanyContact__button b{

  color:#fff !important;

  font-size:20px;

}


/* =========================================================
FOOTER
========================================================= */

.leoCompanyFooter{

  padding:
    55px
    0
    27px;

  background:#0e0e0e !important;

  color:#fff !important;

}

.leoCompanyFooter__top{

  padding-bottom:45px;

  display:flex;

  justify-content:space-between;

  align-items:center;

  gap:40px;

}

.leoCompanyFooter__logo{

  width:82px;

  flex:none;

}

.leoCompanyFooter nav{

  display:flex;

  flex-wrap:wrap;

  gap:28px;

}

.leoCompanyFooter nav a{

  color:#aaa5a5 !important;

  font-size:10px;

  letter-spacing:.13em;

}

.leoCompanyFooter nav a:hover{

  color:#fff !important;

}

.leoCompanyFooter__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;

}

.leoCompanyFooter__bottom p{

  margin:0;

  color:inherit !important;

}


/* =========================================================
REVEAL
DEFAULT = VISIBLE
========================================================= */

.leoCompanyReveal{

  opacity:1;

  transform:none;

}

.leoCompanyPage.leoCompanyJs
.leoCompanyReveal{

  opacity:0;

  transform:
    translateY(24px);

  transition:
    opacity .85s var(--leoc-ease),
    transform .85s var(--leoc-ease);

}

.leoCompanyPage.leoCompanyJs
.leoCompanyReveal.is-show{

  opacity:1;

  transform:none;

}


/* =========================================================
TABLET
========================================================= */

@media(max-width:1100px){

  .leoCompanyContainer{

    width:
      calc(100% - 64px);

  }

  .leoCompanyHeader__inner{

    padding:
      0
      30px;

  }

  .leoCompanyHeader__nav{
    gap:19px;
  }

  .leoCompanyHeader__contact{
    margin-left:22px;
  }

  .leoCompanyFv__inner{

    grid-template-columns:
      minmax(0,1.25fr)
      minmax(0,.75fr);

    gap:50px;

  }

  .leoCompanyProfile__body,
  .leoCompanyBusiness__head,
  .leoCompanyOwn__head{

    gap:55px;

  }

}


/* =========================================================
MOBILE
========================================================= */

@media(max-width:767px){

  .leoCompanyContainer{

    width:
      calc(100% - 40px);

  }


  /* HEADER */

  .leoCompanyHeader{
    height:70px;
  }

  .leoCompanyHeader__inner{

    padding:
      0
      20px;

  }

  .leoCompanyHeader__logo{

    width:58px;

  }

  .leoCompanyHeader__logo img{

    width:53px;

  }

  .leoCompanyHeader__nav,
  .leoCompanyHeader__contact{

    display:none !important;

  }

  .leoCompanyMenuButton{

    margin-left:auto !important;

    width:42px !important;
    height:42px !important;

    padding:0 !important;

    border:0 !important;
    border-radius:0 !important;

    background:
      transparent !important;

    display:flex !important;

    flex-direction:column;

    align-items:flex-end;

    justify-content:center;

    gap:7px;

  }

  .leoCompanyMenuButton span{

    display:block;

    width:24px;
    height:1px;

    background:#171717 !important;

    transition:
      width .4s var(--leoc-ease),
      transform .4s var(--leoc-ease),
      background .3s ease;

  }

  .leoCompanyMenuButton span:last-child{

    width:16px;

  }

  .leoCompanyMenuButton.is-open span{

    background:#fff !important;

  }

  .leoCompanyMenuButton.is-open span:first-child{

    width:23px;

    transform:
      translateY(4px)
      rotate(45deg);

  }

  .leoCompanyMenuButton.is-open span:last-child{

    width:23px;

    transform:
      translateY(-4px)
      rotate(-45deg);

  }


  /* FV */

  .leoCompanyFv{

    min-height:auto;

    padding:
      130px
      20px
      105px;

  }

  .leoCompanyFv__line{
    display:none;
  }

  .leoCompanyFv__inner{

    width:100%;

    display:block;

  }

  .leoCompanyFv__label{

    margin-bottom:42px;

    font-size:11px;

  }

  .leoCompanyFv__title{

    font-size:31px;

    line-height:1.72;

  }

  .leoCompanyFv__side{

    margin-top:50px;

    padding:0;

  }

  .leoCompanyFv__en{

    margin-bottom:27px;

    font-size:21px;

  }

  .leoCompanyFv__lead{

    font-size:13px;

    line-height:2;

  }

  .leoCompanyFv__bottom{

    position:relative;

    width:
      calc(100% + 40px);

    margin:
      70px
      0
      -105px
      -20px;

    min-height:51px;

    padding:
      0
      20px;

    justify-content:flex-start;

    gap:18px;

    overflow:hidden;

  }

  .leoCompanyFv__bottom span{

    flex:none;

    font-size:8px;

  }


  /* SECTION HEAD */

  .leoCompanySectionHead span{

    font-size:12px;

  }

  .leoCompanySectionHead small{

    font-size:10px;

  }


  /* PROFILE */

  .leoCompanyProfile{

    padding:
      85px
      0
      100px;

  }

  .leoCompanyProfile__body{

    margin-top:50px;

    display:block;

  }

  .leoCompanyProfile__title{

    font-size:35px;

  }

  .leoCompanyProfile__text{

    max-width:none;

    margin-top:30px;

    font-size:13px;

  }

  .leoCompanyProfile__table{

    margin-top:55px;

  }

  .leoCompanyProfile__table dl > div{

    min-height:0;

    padding:
      20px
      0;

    display:block;

  }

  .leoCompanyProfile__table dt{

    margin-bottom:9px;

    font-size:10px;

  }

  .leoCompanyProfile__table dd{

    font-size:13px;

  }


  /* BUSINESS */

  .leoCompanyBusiness{

    padding:
      85px
      0
      100px;

  }

  .leoCompanyBusiness__head{

    margin-top:48px;

    display:block;

  }

  .leoCompanyBusiness__title{

    font-size:28px;

  }

  .leoCompanyBusiness__lead{

    margin-top:30px;

    font-size:13px;

  }

  .leoCompanyBusiness__grid{

    margin-top:50px;

    display:block;

    border-left:0;

  }

  .leoCompanyBusinessItem{

    min-height:0;

    padding:
      35px
      22px
      40px;

    border-left:
      1px solid
      rgba(255,255,255,.15);

  }

  .leoCompanyBusinessItem h3{

    margin-top:42px;

    font-size:23px;

  }

  .leoCompanyBusinessItem__text{

    margin-top:25px;

    font-size:13px;

  }

  .leoCompanyBusinessList{

    margin-top:50px;

    padding:
      35px
      22px;

  }

  .leoCompanyBusinessList li{

    padding:
      15px
      0
      15px
      17px;

    font-size:13px;

  }


  /* OWN */

  .leoCompanyOwn{

    padding:
      85px
      0
      100px;

  }

  .leoCompanyOwn__head{

    margin-top:48px;

    display:block;

  }

  .leoCompanyOwn__title{

    font-size:28px;

  }

  .leoCompanyOwn__lead{

    margin-top:30px;

    font-size:13px;

  }

  .leoCompanyOwn__list{

    margin-top:55px;

  }

  .leoCompanyOwnItem{

    padding:
      35px
      0;

    display:block;

  }

  .leoCompanyOwnItem__content{

    padding:
      28px
      0
      0;

  }

  .leoCompanyOwnItem h3{

    margin-top:18px;

    font-size:23px;

  }

  .leoCompanyOwnItem__desc{

    margin-top:20px;

    font-size:13px;

  }


  /* IDENTITY */

  .leoCompanyIdentity__inner{

    min-height:500px;

    padding-top:85px;

    padding-bottom:90px;

  }

  .leoCompanyIdentity__en{

    margin-top:40px;

    font-size:12px;

  }

  .leoCompanyIdentity__title{

    font-size:30px;

  }

  .leoCompanyIdentity::after{

    bottom:-5px;

    font-size:82px;

  }


  /* CONTACT */

  .leoCompanyContact__inner{

    min-height:520px;

    padding:
      75px
      0
      160px;

  }

  .leoCompanyContact__title{

    font-size:29px;

  }

  .leoCompanyContact__text{

    font-size:13px;

  }

  .leoCompanyContact__button{

    left:0;
    right:auto;

    bottom:50px;

    width:100%;

    height:72px;

  }

  .leoCompanyContact__button:hover{

    width:100%;

    transform:none;

  }


  /* FOOTER */

  .leoCompanyFooter{

    padding-top:45px;

  }

  .leoCompanyFooter__top{

    align-items:flex-start;

  }

  .leoCompanyFooter__logo{

    width:68px;

  }

  .leoCompanyFooter nav{

    display:grid;

    grid-template-columns:
      1fr
      1fr;

    gap:
      15px
      22px;

  }

  .leoCompanyFooter nav a{

    font-size:9px;

  }

  .leoCompanyFooter__bottom{

    display:block;

    font-size:9px;

  }

  .leoCompanyFooter__bottom > p{

    margin-top:20px;

  }

}


/* =========================================================
SMALL MOBILE
========================================================= */

@media(max-width:390px){

  .leoCompanyFv__title{
    font-size:29px;
  }

  .leoCompanyBusiness__title,
  .leoCompanyOwn__title{
    font-size:26px;
  }

  .leoCompanyIdentity__title{
    font-size:28px;
  }

  .leoCompanyContact__title{
    font-size:27px;
  }

}


/* =========================================================
REDUCED MOTION
========================================================= */

@media(prefers-reduced-motion:reduce){

  .leoCompanyPage.leoCompanyJs
  .leoCompanyReveal{

    opacity:1 !important;

    transform:none !important;

    transition:none !important;

  }

}/* End custom CSS */