@charset "UTF-8";

/* =====================================================
   be Greeeeen standalone LP/news pages
   Scope: .begreeeeen-standalone / .begreeeeen-page
===================================================== */

html,
body.begreeeeen-standalone{
  margin: 0 !important;
  padding: 0 !important;
  background: #000 !important;
  color: #fff !important;
  font-family: Arial, "Helvetica Neue", "Noto Sans JP", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif !important;
  font-size: 16px !important;
  line-height: 1.7;
}

body.begreeeeen-standalone *{
  box-sizing: border-box;
}

body.begreeeeen-standalone a{
  color: inherit;
  text-decoration: none;
}

.begreeeeen-page{
  width: 100%;
  min-height: 100vh;
  background: #000;
  color: #fff;
  overflow: hidden;
}

.bg-page-wrap{
  width: 100%;
  margin: 0 auto;
  padding: 0 0 0;
}

/* =====================================================
   Header
===================================================== */

.bg-lp-header{
  width: 100%;
  padding: 34px 20px 0;
  text-align: center;
}

.bg-logo{
  margin: 0 auto 22px;
  text-align: center;
}

.bg-logo img{
  display: block;
  width: min(430px, 46vw);
  height: auto;
  margin: 0 auto;
}

.bg-nav{
  width: 100%;
  margin: 0 auto;
  text-align: center;
}

.bg-nav ul{
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.bg-nav li{
  display: inline-flex;
  align-items: center;
  margin: 0;
  padding: 0;
}

.bg-nav li + li::before{
  content: "|";
  display: inline-block;
  margin: 0 16px;
  color: #fff;
  font-size: 17px;
  line-height: 1;
  opacity: .95;
}

.bg-nav a{
  display: inline-flex;
  align-items: center;
  color: #fff;
  font-size: 16px;
  line-height: 1;
  font-weight: 400 !important;
  letter-spacing: .02em;
  white-space: nowrap;
}

.bg-nav a:hover,
.bg-nav a:focus{
  opacity: .72;
}

.bg-nav-instagram::before{
  content: "◎";
  display: inline-block;
  margin-right: 4px;
  font-size: .95em;
  line-height: 1;
}

.bg-nav-download{
  padding: 3px 9px 4px;
  background: #fff;
  color: #000 !important;
  border: 1px solid #fff;
  line-height: 1 !important;
}

.bg-nav-download:hover,
.bg-nav-download:focus{
  opacity: 1 !important;
  background: #000;
  color: #fff !important;
}

/* =====================================================
   Common sections
===================================================== */

.bg-section{
  width: min(1040px, calc(100% - 40px));
  margin: 0 auto;
  text-align: center;
}

.bg-news-list-section{
  padding-top: 88px;
}

.bg-contact-section{
  width: min(980px, calc(100% - 40px));
  padding-top: 78px;
  padding-bottom: 68px;
}

.bg-section-dot{
  width: 9px;
  height: 9px;
  margin: 0 auto 34px;
  border-radius: 50%;
  background: #fff;
}

.bg-section-title{
  margin: 0;
  color: #fff;
  font-size: clamp(54px, 6.1vw, 82px);
  line-height: .95;
  font-weight: 700;
  letter-spacing: -.03em;
}

.bg-section-subtitle{
  margin: 16px 0 0;
  color: #fff;
  font-size: 17px;
  line-height: 1.5;
  font-weight: 400;
  letter-spacing: .04em;
}

/* =====================================================
   News filter
===================================================== */

.bg-news-filter{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 12px;
  margin: 24px auto 56px;
  color: #fff;
  font-size: 15px;
  line-height: 1.4;
}

.bg-news-filter a{
  display: inline-block;
  padding: 4px 10px 5px;
  border: 1px solid transparent;
  color: #fff;
  transition: background-color .18s ease, color .18s ease, border-color .18s ease, opacity .18s ease;
}

.bg-news-filter a + a{
  position: relative;
}

.bg-news-filter a:hover,
.bg-news-filter a:focus,
.bg-news-filter a.is-active{
  border-color: #fff;
  background: #fff;
  color: #000;
}

/* =====================================================
   News list
===================================================== */

.bg-news-list{
  width: 100%;
  margin: 0 auto;
  text-align: left;
}

.bg-news-list-item{
  padding: 0 0 48px;
  margin: 0 0 44px;
  border-bottom: 1px solid rgba(255,255,255,.5);
}

.bg-news-list-heading{
  margin: 0 0 16px;
}

.bg-news-list-title{
  margin: 0 0 4px;
  font-size: 25px;
  line-height: 1.45;
  font-weight: 600;
  color: #fff;
}

.bg-news-list-title a{
  color: #fff;
  transition: opacity .18s ease;
}

.bg-news-list-title a:hover,
.bg-news-list-title a:focus{
  opacity: .72;
}

.bg-news-list-date{
  display: block;
  color: #fff;
  font-size: 15px;
  line-height: 1.4;
  font-weight: 400;
}

.bg-news-list-body{
  display: grid;
  grid-template-columns: 300px 1fr;
  gap: 42px;
  align-items: start;
}

.bg-news-list-image{
  display: block;
  width: 300px;
  overflow: hidden;
  background: #111;
}

.bg-news-list-image img{
  display: block;
  width: 100%;
  height: auto;
  transition: opacity .18s ease, transform .24s ease;
}

.bg-news-list-image:hover img,
.bg-news-list-image:focus img{
  opacity: .82;
  transform: scale(1.015);
}

.bg-news-list-text{
  padding-top: 8px;
}

.bg-news-list-excerpt-link{
  display: block;
  padding: 10px 12px;
  margin: -10px -12px 18px;
  color: #fff;
  font-size: 21px;
  line-height: 1.85;
  font-weight: 400 !important;
  transition: background-color .18s ease, color .18s ease;
}

.bg-news-list-excerpt-link:hover,
.bg-news-list-excerpt-link:focus{
  background: rgba(255,255,255,.13);
  color: #fff;
}

.bg-readmore-inline{
  display: inline;
  margin-left: .25em;
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.bg-news-list-cats{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 6px 0 0;
}

.bg-news-list-cats a,
.bg-news-list-cats span{
  display: inline-block;
  padding: 2px 9px 3px;
  border: 1px solid rgba(255,255,255,.88);
  color: #fff;
  font-size: 13px;
  line-height: 1.4;
  font-weight: 400;
  transition: background-color .18s ease, color .18s ease;
}

.bg-news-list-cats a:hover,
.bg-news-list-cats a:focus{
  background: #fff;
  color: #000;
}

.bg-news-empty{
  text-align: center;
  font-size: 18px;
}

.bg-pagination{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 22px;
  margin: 32px 0 0;
  color: #fff;
  font-size: 18px;
  line-height: 1;
}

.bg-pagination a,
.bg-pagination span{
  color: #fff;
  padding: 2px 3px;
}

.bg-pagination .current{
  border-bottom: 1px solid #fff;
}

/* =====================================================
   Contact form
   Target MW WP Form common markup and existing custom classes
===================================================== */

.bg-contact-form{
  width: min(760px, 100%);
  margin: 44px auto 0;
  color: #fff;
  text-align: left !important;
  font-family: Arial, "Helvetica Neue", "Noto Sans JP", "Yu Gothic", YuGothic, Meiryo, sans-serif !important;
  font-weight: 400 !important;
}

.bg-contact-form *,
.bg-contact-form label,
.bg-contact-form span,
.bg-contact-form p,
.bg-contact-form div,
.bg-contact-form th,
.bg-contact-form td{
  font-family: Arial, "Helvetica Neue", "Noto Sans JP", "Yu Gothic", YuGothic, Meiryo, sans-serif !important;
  font-weight: 400 !important;
}

.bg-contact-form .mw_wp_form{
  width: 100%;
  text-align: left !important;
}

/* Existing custom row classes */
.bg-contact-form .input__item{
  display: grid !important;
  grid-template-columns: 210px minmax(0, 1fr) !important;
  gap: 18px !important;
  align-items: start !important;
  margin: 0 0 16px !important;
  text-align: left !important;
}

.bg-contact-form .input__label{
  display: block !important;
  padding-top: 2px !important;
  color: #fff !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
  text-align: left !important;
  white-space: normal !important;
}

.bg-contact-form .input__label label{
  color: #fff !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
  text-align: left !important;
}

.bg-contact-form .input__input{
  display: block !important;
  width: 100% !important;
  text-align: left !important;
}

/* Fallback for table markup */
.bg-contact-form table{
  width: 100% !important;
  border-collapse: collapse !important;
}

.bg-contact-form th,
.bg-contact-form td{
  padding: 0 0 16px !important;
  border: none !important;
  vertical-align: top !important;
  color: #fff !important;
  text-align: left !important;
}

.bg-contact-form th{
  width: 210px !important;
  padding-right: 18px !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
}

/* Inputs */
.bg-contact-form input[type="text"],
.bg-contact-form input[type="email"],
.bg-contact-form input[type="tel"],
.bg-contact-form textarea,
.bg-contact-form select{
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 28px !important;
  margin: 0 !important;
  padding: 4px 8px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #000 !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
  font-weight: 400 !important;
  box-shadow: none !important;
}

.bg-contact-form textarea{
  min-height: 175px !important;
  resize: vertical;
}

.bg-contact-form input[type="radio"],
.bg-contact-form input[type="checkbox"]{
  width: auto !important;
  min-height: 0 !important;
  margin: 0 5px 0 0 !important;
  vertical-align: middle !important;
}

.bg-contact-form .mwform-radio-field,
.bg-contact-form .mwform-checkbox-field,
.bg-contact-form .horizontal-item{
  display: inline-block !important;
  margin: 0 18px 4px 0 !important;
  color: #fff !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
  font-weight: 400 !important;
}

.bg-contact-form .mwform-radio-field label,
.bg-contact-form .mwform-checkbox-field label,
.bg-contact-form .horizontal-item label{
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
}

/* Submit / buttons only center */
.bg-contact-form .submit,
.bg-contact-form .submit-wrap,
.bg-contact-form .button-wrap,
.bg-contact-form .btn-wrap,
.bg-contact-form .mw_wp_form_confirm .submit,
.bg-contact-form p:has(input[type="submit"]),
.bg-contact-form p:has(input[type="button"]){
  text-align: center !important;
}

.bg-contact-form input[type="submit"],
.bg-contact-form input[type="button"],
.bg-contact-form button{
  display: inline-block !important;
  width: auto !important;
  min-height: 0 !important;
  margin: 28px auto 0 !important;
  padding: 9px 22px !important;
  border: 2px solid #fff !important;
  border-radius: 4px !important;
  background: transparent !important;
  color: #fff !important;
  font-size: 17px !important;
  line-height: 1.2 !important;
  font-weight: 400 !important;
  cursor: pointer !important;
  transition: background-color .18s ease, color .18s ease;
}

.bg-contact-form input[type="submit"]:hover,
.bg-contact-form input[type="button"]:hover,
.bg-contact-form button:hover{
  background: #fff !important;
  color: #000 !important;
}

/* If form plugin outputs plain p rows, do not force center */
.bg-contact-form > p,
.bg-contact-form .mw_wp_form > p{
  text-align: left !important;
}

/* =====================================================
   Footer
===================================================== */

.bg-lp-footer{
  width: 100%;
  margin: 18px auto 0;
  padding: 0 0 34px;
  color: #fff;
  text-align: center !important;
  font-family: Arial, "Helvetica Neue", "Noto Sans JP", "Yu Gothic", YuGothic, Meiryo, sans-serif !important;
}

.bg-footer-company{
  width: min(520px, calc(100% - 40px));
  margin: 0 auto 42px;
  text-align: center !important;
}

.bg-footer-company-label{
  margin: 0 0 14px;
  color: #fff;
  font-size: 16px;
  line-height: 1.5;
  font-weight: 400;
  text-align: center !important;
}

.bg-footer-waibi-logo{
  display: block;
  width: min(340px, 72vw);
  height: auto;
  margin: 0 auto;
}

.bg-footer-bottom{
  width: 100%;
  margin: 0 auto;
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,.8);
  text-align: center !important;
}

.bg-footer-links{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 18px;
  margin: 0 auto 18px;
  color: #fff;
  text-align: center !important;
}

.bg-footer-links a,
.bg-footer-links span{
  color: #fff;
  font-size: 14px;
  line-height: 1.6;
  font-weight: 400;
}

.bg-footer-links a:hover,
.bg-footer-links a:focus{
  text-decoration: underline;
  text-underline-offset: 4px;
}

.bg-copyright{
  margin: 0;
  color: #fff;
  font-size: 13px;
  line-height: 1.6;
  font-weight: 400;
  text-align: center !important;
}

/* =====================================================
   Page top
===================================================== */

.bg-page-top{
  position: fixed;
  right: 36px;
  bottom: 34px;
  z-index: 50;
  display: block;
  width: 88px;
  height: auto;
  transition: opacity .18s ease, transform .18s ease;
}

.bg-page-top img{
  display: block;
  width: 100%;
  height: auto;
}

.bg-page-top:hover,
.bg-page-top:focus{
  opacity: .8;
  transform: translateY(-3px);
}

/* =====================================================
   Responsive
===================================================== */

@media (max-width: 900px){
  .bg-logo img{
    width: min(360px, 70vw);
  }

  .bg-nav a{
    font-size: 14px;
  }

  .bg-nav li + li::before{
    margin: 0 10px;
  }

  .bg-news-list-body{
    grid-template-columns: 220px 1fr;
    gap: 28px;
  }

  .bg-news-list-image{
    width: 220px;
  }

  .bg-news-list-excerpt-link{
    font-size: 17px;
    line-height: 1.75;
  }

  .bg-contact-form .input__item{
    grid-template-columns: 170px minmax(0, 1fr) !important;
  }

  .bg-contact-form th{
    width: 170px !important;
  }
}

@media (max-width: 640px){
  .bg-lp-header{
    padding-top: 24px;
  }

  .bg-nav ul{
    row-gap: 10px;
  }

  .bg-section{
    width: calc(100% - 28px);
  }

  .bg-news-list-section{
    padding-top: 62px;
  }

  .bg-section-title{
    font-size: 46px;
  }

  .bg-news-list-body{
    display: block;
  }

  .bg-news-list-image{
    width: 100%;
    max-width: 320px;
    margin-bottom: 18px;
  }

  .bg-news-list-excerpt-link{
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
  }

  .bg-contact-form .input__item{
    display: block !important;
  }

  .bg-contact-form .input__label{
    margin-bottom: 5px !important;
  }

  .bg-contact-form th,
  .bg-contact-form td{
    display: block !important;
    width: 100% !important;
    padding-right: 0 !important;
  }

  .bg-footer-links{
    flex-wrap: wrap;
    gap: 8px 14px;
  }

  .bg-page-top{
    right: 18px;
    bottom: 20px;
    width: 70px;
  }
}

/* =====================================================
   be Greeeeen refinements v13
   - restore NEWS image/text sizing
   - restore nav icon appearance without emoji glyphs
   - restore CONTACT two-column layout
===================================================== */

/* Header / menu: keep large menu, but avoid emoji-like icons */
.bg-lp-header{
  padding-top: 18px !important;
}
.bg-logo{
  margin-bottom: 20px !important;
}
.bg-logo img{
  width: min(410px, 42vw) !important;
}
.bg-nav a{
  font-size: 17px !important;
  font-weight: 400 !important;
  letter-spacing: .015em !important;
}
.bg-nav li + li::before{
  margin: 0 14px !important;
  font-size: 17px !important;
}
.bg-nav-instagram::before{
  content: "" !important;
  width: 13px !important;
  height: 13px !important;
  display: inline-block !important;
  margin-right: 5px !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='5'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Ccircle cx='17.5' cy='6.5' r='1.2' fill='white' stroke='none'/%3E%3C/svg%3E") !important;
}
.bg-nav-contact::before{
  content: "" !important;
  display: inline-block !important;
  width: 0 !important;
  height: 0 !important;
  margin-right: 5px !important;
  border-top: 5px solid transparent !important;
  border-bottom: 5px solid transparent !important;
  border-left: 8px solid #fff !important;
  transform: translateY(.5px);
}
.bg-nav-download{
  min-width: 92px !important;
  padding: 3px 10px 4px !important;
  background: #fff !important;
  color: #000 !important;
  border: 1px solid #fff !important;
  text-align: center !important;
}

/* NEWS: restore image size and previous readable scale */
.bg-news-list-section{
  width: min(920px, calc(100% - 40px)) !important;
}
.bg-news-filter{
  margin-bottom: 48px !important;
  font-size: 14px !important;
}
.bg-news-list-item{
  padding-bottom: 46px !important;
  margin-bottom: 42px !important;
}
.bg-news-list-title{
  font-size: 24px !important;
  line-height: 1.45 !important;
  font-weight: 600 !important;
}
.bg-news-list-date{
  font-size: 14px !important;
}
.bg-news-list-body{
  display: grid !important;
  grid-template-columns: 300px 1fr !important;
  gap: 34px !important;
  align-items: start !important;
}
.bg-news-list-image{
  width: 300px !important;
  height: 300px !important;
  overflow: hidden !important;
  background: #fff !important;
}
.bg-news-list-image img{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
.bg-news-list-text{
  padding-top: 4px !important;
}
.bg-news-list-excerpt-link{
  display: block !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
  color: #fff !important;
  background: transparent !important;
  font-size: 18px !important;
  line-height: 2.0 !important;
  font-weight: 400 !important;
  letter-spacing: .02em !important;
  transition: color .18s ease !important;
}
.bg-news-list-excerpt-link:hover,
.bg-news-list-excerpt-link:focus{
  color: rgba(255,255,255,.62) !important;
  background: transparent !important;
}
.bg-news-list-excerpt-link:hover .bg-readmore-inline,
.bg-news-list-excerpt-link:focus .bg-readmore-inline{
  color: rgba(255,255,255,.72) !important;
}
.bg-news-list-cats{
  margin-top: 16px !important;
}
.bg-news-list-cats a,
.bg-news-list-cats span{
  font-size: 13px !important;
  padding: 2px 9px 3px !important;
}

/* CONTACT: force the form back to left-label / right-input layout */
.bg-contact-section{
  width: min(980px, calc(100% - 40px)) !important;
  padding-top: 76px !important;
}
.bg-contact-form,
.bg-contact-form form,
.bg-contact-form .mw_wp_form{
  width: 100% !important;
  max-width: 820px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: left !important;
  font-weight: 400 !important;
}
.bg-contact-form *{
  font-weight: 400 !important;
  font-family: Arial, "Helvetica Neue", "Noto Sans JP", "Yu Gothic", YuGothic, Meiryo, sans-serif !important;
}

/* Pattern A: custom .input__item markup */
.bg-contact-form .input__item,
.bg-contact-form .mw_wp_form .input__item{
  display: grid !important;
  grid-template-columns: 230px 1fr !important;
  gap: 0 30px !important;
  align-items: center !important;
  margin: 0 0 15px !important;
  text-align: left !important;
}
.bg-contact-form .input__label,
.bg-contact-form .input__item > label,
.bg-contact-form .input__item > dt{
  grid-column: 1 !important;
  color: #fff !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  text-align: left !important;
}
.bg-contact-form .input__input,
.bg-contact-form .input__item > dd{
  grid-column: 2 !important;
  text-align: left !important;
}

/* Pattern B: table markup */
.bg-contact-form table{
  width: 100% !important;
  border-collapse: collapse !important;
  border: none !important;
  background: transparent !important;
}
.bg-contact-form tr{
  display: grid !important;
  grid-template-columns: 230px 1fr !important;
  gap: 0 30px !important;
  align-items: center !important;
  margin: 0 0 15px !important;
}
.bg-contact-form th,
.bg-contact-form td{
  display: block !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  color: #fff !important;
  text-align: left !important;
}
.bg-contact-form th{
  font-size: 14px !important;
  line-height: 1.5 !important;
}
.bg-contact-form th::before,
.bg-contact-form .input__label::before{
  content: "・" !important;
}

/* Pattern C: MW/shortcode outputs label + field in paragraphs */
.bg-contact-form form > p:not(:has(input[type="submit"])):not(:has(input[type="button"])){
  display: grid !important;
  grid-template-columns: 230px 1fr !important;
  gap: 0 30px !important;
  align-items: center !important;
  margin: 0 0 15px !important;
  text-align: left !important;
}
.bg-contact-form form > p > label:first-child{
  grid-column: 1 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  text-align: left !important;
}
.bg-contact-form form > p > label:first-child::before{
  content: "・" !important;
}
.bg-contact-form form > p > input,
.bg-contact-form form > p > textarea,
.bg-contact-form form > p > .mwform-radio-field,
.bg-contact-form form > p > .mwform-radio-field-text{
  grid-column: 2 !important;
}

.bg-contact-form input[type="text"],
.bg-contact-form input[type="email"],
.bg-contact-form input[type="tel"],
.bg-contact-form textarea{
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  background: #fff !important;
  color: #000 !important;
  border: none !important;
  border-radius: 0 !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
  padding: 4px 8px !important;
  text-align: left !important;
}
.bg-contact-form input[type="text"],
.bg-contact-form input[type="email"],
.bg-contact-form input[type="tel"]{
  height: 28px !important;
  min-height: 28px !important;
}
.bg-contact-form textarea{
  height: 170px !important;
  min-height: 170px !important;
  resize: vertical;
}
.bg-contact-form .horizontal-item,
.bg-contact-form .mwform-radio-field,
.bg-contact-form .mwform-checkbox-field,
.bg-contact-form .mwform-radio-field label{
  display: inline-block !important;
  margin: 0 16px 0 0 !important;
  color: #fff !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  text-align: left !important;
}

/* Center only button and footer blocks */
.bg-contact-form input[type="submit"],
.bg-contact-form input[type="button"],
.bg-contact-form button{
  display: block !important;
  width: auto !important;
  margin: 30px auto 0 !important;
  background: transparent !important;
  color: #fff !important;
  border: 2px solid #fff !important;
  border-radius: 4px !important;
  padding: 9px 20px !important;
  font-size: 16px !important;
  line-height: 1.25 !important;
  text-align: center !important;
}
.bg-lp-footer,
.bg-footer-company,
.bg-footer-bottom,
.bg-footer-links,
.bg-copyright{
  text-align: center !important;
}

@media (max-width: 767px){
  .bg-news-list-body{
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }
  .bg-news-list-image{
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
  }
  .bg-contact-form .input__item,
  .bg-contact-form .mw_wp_form .input__item,
  .bg-contact-form tr,
  .bg-contact-form form > p:not(:has(input[type="submit"])):not(:has(input[type="button"])){
    display: block !important;
  }
}

/* =====================================================
   v14 final adjustments
   - keep NEWS/menu sizing from approved state
   - restore nav icon appearance without emoji/color shifts
   - restore CONTACT form two-column layout
===================================================== */

/* Header/nav: prevent emoji glyphs and keep clean text icons */
.bg-nav a{
  font-size: 16px !important;
  font-weight: 400 !important;
  letter-spacing: .02em !important;
}
.bg-nav li + li::before{
  margin: 0 15px !important;
  font-size: 16px !important;
}
.bg-nav-instagram::before{
  content: "" !important;
  display: inline-block !important;
  width: .78em !important;
  height: .78em !important;
  margin-right: 5px !important;
  border: 1.8px solid #fff !important;
  border-radius: 3px !important;
  box-sizing: border-box !important;
  background: transparent !important;
  vertical-align: -0.04em !important;
}
.bg-nav-contact::before{
  content: "" !important;
  display: inline-block !important;
  width: 0 !important;
  height: 0 !important;
  margin-right: 5px !important;
  border-top: .35em solid transparent !important;
  border-bottom: .35em solid transparent !important;
  border-left: .55em solid #fff !important;
  background: transparent !important;
  vertical-align: -0.02em !important;
}
.bg-nav-download{
  background: #fff !important;
  color: #000 !important;
  border: 1px solid #fff !important;
  padding: 3px 11px 4px !important;
}

/* NEWS: keep approved image/text balance */
.bg-news-list-body{
  grid-template-columns: 300px 1fr !important;
  gap: 42px !important;
}
.bg-news-list-image{
  width: 300px !important;
  height: 300px !important;
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
}
.bg-news-list-image img{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
.bg-news-list-title{
  font-size: 23px !important;
  line-height: 1.45 !important;
  font-weight: 600 !important;
}
.bg-news-list-date{
  font-size: 14px !important;
}
.bg-news-list-excerpt-link{
  font-size: 16px !important;
  line-height: 1.85 !important;
  font-weight: 400 !important;
  padding: 0 !important;
  margin: 0 0 16px !important;
  background: transparent !important;
}
.bg-news-list-excerpt-link:hover,
.bg-news-list-excerpt-link:focus{
  background: transparent !important;
  color: rgba(255,255,255,.68) !important;
}
.bg-readmore-inline{
  color: inherit !important;
}
.bg-news-list-cats a,
.bg-news-list-cats span{
  font-size: 13px !important;
  font-weight: 400 !important;
}

/* CONTACT: target the actual MW WP Form output aggressively */
.bg-contact-section{
  width: min(980px, calc(100% - 40px)) !important;
  padding-top: 76px !important;
  padding-bottom: 60px !important;
}
.bg-contact-form{
  width: 100% !important;
  max-width: 820px !important;
  margin: 42px auto 0 !important;
  text-align: left !important;
}
.bg-contact-form,
.bg-contact-form *,
.bg-contact-form label,
.bg-contact-form p,
.bg-contact-form span,
.bg-contact-form div,
.bg-contact-form th,
.bg-contact-form td{
  font-family: Arial, "Helvetica Neue", "Noto Sans JP", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif !important;
  font-weight: 400 !important;
  color: #fff !important;
  text-align: left !important;
}
.bg-contact-form form,
.bg-contact-form .mw_wp_form{
  width: 100% !important;
  max-width: 820px !important;
  margin: 0 auto !important;
  text-align: left !important;
}

/* custom div layout */
.bg-contact-form .input__item,
.bg-contact-form .input__area .input__item,
.bg-contact-form .mw_wp_form .input__item{
  display: grid !important;
  grid-template-columns: 210px 1fr !important;
  column-gap: 28px !important;
  align-items: center !important;
  width: 100% !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
}
.bg-contact-form .input__label,
.bg-contact-form .input__item > .input__label,
.bg-contact-form .input__item > label,
.bg-contact-form .input__item > dt{
  grid-column: 1 !important;
  display: block !important;
  width: 210px !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}
.bg-contact-form .input__label::before,
.bg-contact-form .input__item > label::before,
.bg-contact-form th::before{
  content: "・" !important;
}
.bg-contact-form .input__input,
.bg-contact-form .input__item > .input__input,
.bg-contact-form .input__item > dd{
  grid-column: 2 !important;
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* table layout */
.bg-contact-form table{
  width: 100% !important;
  max-width: 820px !important;
  margin: 0 auto !important;
  border-collapse: collapse !important;
  border: 0 !important;
  background: transparent !important;
}
.bg-contact-form tr{
  display: grid !important;
  grid-template-columns: 210px 1fr !important;
  column-gap: 28px !important;
  align-items: center !important;
  width: 100% !important;
  margin: 0 0 14px !important;
}
.bg-contact-form th,
.bg-contact-form td{
  display: block !important;
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
}
.bg-contact-form th{
  grid-column: 1 !important;
  width: 210px !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}
.bg-contact-form td{
  grid-column: 2 !important;
  width: 100% !important;
}

/* paragraph layout: label + field in the same p */
.bg-contact-form form > p:has(input):not(:has(input[type="submit"])):not(:has(input[type="button"])),
.bg-contact-form form > p:has(textarea),
.bg-contact-form .mw_wp_form > p:has(input):not(:has(input[type="submit"])):not(:has(input[type="button"])),
.bg-contact-form .mw_wp_form > p:has(textarea){
  display: grid !important;
  grid-template-columns: 210px 1fr !important;
  column-gap: 28px !important;
  align-items: center !important;
  width: 100% !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
}
.bg-contact-form form > p:has(textarea),
.bg-contact-form .mw_wp_form > p:has(textarea){
  align-items: start !important;
}
.bg-contact-form form > p > br,
.bg-contact-form .mw_wp_form > p > br{
  display: none !important;
}
.bg-contact-form form > p > label:first-child,
.bg-contact-form .mw_wp_form > p > label:first-child{
  grid-column: 1 !important;
  width: 210px !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}
.bg-contact-form form > p > label:first-child::before,
.bg-contact-form .mw_wp_form > p > label:first-child::before{
  content: "・" !important;
}
.bg-contact-form form > p > input,
.bg-contact-form form > p > textarea,
.bg-contact-form .mw_wp_form > p > input,
.bg-contact-form .mw_wp_form > p > textarea,
.bg-contact-form form > p > span,
.bg-contact-form .mw_wp_form > p > span{
  grid-column: 2 !important;
}

/* form fields */
.bg-contact-form input[type="text"],
.bg-contact-form input[type="email"],
.bg-contact-form input[type="tel"],
.bg-contact-form textarea,
.bg-contact-form select{
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 4px 8px !important;
  box-sizing: border-box !important;
  background: #fff !important;
  color: #000 !important;
  border: 0 !important;
  border-radius: 0 !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
  text-align: left !important;
}
.bg-contact-form input[type="text"],
.bg-contact-form input[type="email"],
.bg-contact-form input[type="tel"]{
  height: 28px !important;
  min-height: 28px !important;
}
.bg-contact-form textarea{
  height: 170px !important;
  min-height: 170px !important;
  resize: vertical !important;
}
.bg-contact-form .horizontal-item,
.bg-contact-form .mwform-radio-field,
.bg-contact-form .mwform-checkbox-field{
  display: inline-block !important;
  margin: 0 16px 0 0 !important;
  line-height: 1.7 !important;
  white-space: nowrap !important;
}
.bg-contact-form input[type="radio"],
.bg-contact-form input[type="checkbox"]{
  width: auto !important;
  margin: 0 5px 0 0 !important;
}

/* only the submit/confirm button is centered */
.bg-contact-form .submit,
.bg-contact-form .submit-wrap,
.bg-contact-form .button-wrap,
.bg-contact-form .btn-wrap,
.bg-contact-form p:has(input[type="submit"]),
.bg-contact-form p:has(input[type="button"]){
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  margin: 28px 0 0 !important;
}
.bg-contact-form input[type="submit"],
.bg-contact-form input[type="button"],
.bg-contact-form button{
  display: inline-block !important;
  width: auto !important;
  min-width: 116px !important;
  margin: 0 auto !important;
  padding: 9px 20px !important;
  background: transparent !important;
  color: #fff !important;
  border: 2px solid #fff !important;
  border-radius: 4px !important;
  font-size: 16px !important;
  line-height: 1.25 !important;
  text-align: center !important;
}

/* footer stays centered */
.bg-lp-footer,
.bg-footer-company,
.bg-footer-bottom,
.bg-footer-links,
.bg-copyright{
  text-align: center !important;
}

@media (max-width: 767px){
  .bg-news-list-body{
    grid-template-columns: 1fr !important;
  }
  .bg-news-list-image{
    width: 100% !important;
    max-width: 300px !important;
    height: auto !important;
    aspect-ratio: 1/1 !important;
  }
  .bg-contact-form .input__item,
  .bg-contact-form .mw_wp_form .input__item,
  .bg-contact-form tr,
  .bg-contact-form form > p:has(input):not(:has(input[type="submit"])):not(:has(input[type="button"])),
  .bg-contact-form form > p:has(textarea){
    display: block !important;
  }
  .bg-contact-form .input__label,
  .bg-contact-form .input__item > label,
  .bg-contact-form th,
  .bg-contact-form form > p > label:first-child{
    width: auto !important;
    margin-bottom: 4px !important;
  }
}

/* =====================================================
   v15 CONTACT only: MW WP Form actual markup fix
   Actual markup:
   .contactform > ul > li > dl > dt + dd
   Goal:
   - left label / right input 2-column layout
   - only submit button centered
   - footer/company logo stays centered
===================================================== */

.bg-contact-form .contactform{
  width: 100% !important;
  max-width: 820px !important;
  margin: 42px auto 0 !important;
  padding: 0 !important;
  text-align: left !important;
  font-weight: 400 !important;
}

.bg-contact-form .contactform ul,
.bg-contact-form .contactform li{
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  text-align: left !important;
}

.bg-contact-form .contactform li::before,
.bg-contact-form .contactform li::marker{
  content: none !important;
}

.bg-contact-form .contactform dl{
  display: grid !important;
  grid-template-columns: 210px minmax(0, 1fr) !important;
  column-gap: 28px !important;
  align-items: center !important;
  width: 100% !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
  text-align: left !important;
}

.bg-contact-form .contactform li:last-child dl{
  align-items: start !important;
}

.bg-contact-form .contactform dt,
.bg-contact-form .contactform dd{
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  text-align: left !important;
  font-weight: 400 !important;
}

.bg-contact-form .contactform dt{
  grid-column: 1 !important;
  width: 210px !important;
  color: #fff !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  white-space: nowrap !important;
}

.bg-contact-form .contactform dt::before{
  content: "・" !important;
}

.bg-contact-form .contactform dt label{
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #fff !important;
  font-size: inherit !important;
  line-height: inherit !important;
  font-weight: 400 !important;
  text-align: left !important;
}

.bg-contact-form .contactform dd{
  grid-column: 2 !important;
  width: 100% !important;
  min-width: 0 !important;
}

.bg-contact-form .contactform dd input[type="text"],
.bg-contact-form .contactform dd input[type="email"],
.bg-contact-form .contactform dd input[type="tel"],
.bg-contact-form .contactform dd textarea,
.bg-contact-form .contactform dd select{
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  text-align: left !important;
}

.bg-contact-form .contactform dd .horizontal-item,
.bg-contact-form .contactform dd .mwform-radio-field,
.bg-contact-form .contactform dd .mwform-checkbox-field{
  display: inline-block !important;
  margin: 0 16px 0 0 !important;
  white-space: nowrap !important;
  text-align: left !important;
  font-weight: 400 !important;
}

.bg-contact-form .contactform dd label,
.bg-contact-form .contactform dd span{
  font-weight: 400 !important;
  text-align: left !important;
}

.bg-contact-form .contactform .btn,
.bg-contact-form .contactform .submitbtn{
  display: block !important;
  width: 100% !important;
  max-width: 820px !important;
  margin: 28px auto 0 !important;
  padding: 0 !important;
  text-align: center !important;
}

.bg-contact-form .contactform .btn input,
.bg-contact-form .contactform .submitbtn input,
.bg-contact-form .contactform .btn button,
.bg-contact-form .contactform .submitbtn button{
  display: inline-block !important;
  width: auto !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

/* Keep footer/company block centered, even after form text-align overrides */
.bg-lp-footer,
.bg-lp-footer *,
.bg-footer-company,
.bg-footer-company *,
.bg-footer-bottom,
.bg-footer-bottom *,
.bg-footer-links,
.bg-copyright{
  text-align: center !important;
}

@media (max-width: 767px){
  .bg-contact-form .contactform dl{
    display: block !important;
  }
  .bg-contact-form .contactform dt{
    width: auto !important;
    margin-bottom: 4px !important;
  }
}

/* =====================================================
   v16 CONTACT radio row: keep all inquiry choices on one line
   - Target only MW WP Form inquiry-type row (6th item)
===================================================== */
.bg-contact-form .contactform{
  max-width: 880px !important;
}

.bg-contact-form .contactform dl{
  grid-template-columns: 190px minmax(0, 1fr) !important;
  column-gap: 24px !important;
}

.bg-contact-form .contactform dt{
  width: 190px !important;
}

.bg-contact-form .contactform li:nth-child(6) dd{
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 0 !important;
  white-space: nowrap !important;
}

.bg-contact-form .contactform li:nth-child(6) dd .mwform-radio-field,
.bg-contact-form .contactform li:nth-child(6) dd .horizontal-item{
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 14px 0 0 !important;
  white-space: nowrap !important;
  flex: 0 0 auto !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
}

.bg-contact-form .contactform li:nth-child(6) dd .mwform-radio-field:last-child,
.bg-contact-form .contactform li:nth-child(6) dd .horizontal-item:last-child{
  margin-right: 0 !important;
}

.bg-contact-form .contactform li:nth-child(6) dd input[type="radio"]{
  margin: 0 6px 0 0 !important;
  flex: 0 0 auto !important;
}

.bg-contact-form .contactform li:nth-child(6) dd label,
.bg-contact-form .contactform li:nth-child(6) dd span{
  white-space: nowrap !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  font-weight: 400 !important;
}

.bg-contact-form .contactform .btn,
.bg-contact-form .contactform .submitbtn{
  max-width: 880px !important;
}

@media (max-width: 767px){
  .bg-contact-form .contactform{
    max-width: 100% !important;
  }

  .bg-contact-form .contactform dl{
    grid-template-columns: 1fr !important;
  }

  .bg-contact-form .contactform dt{
    width: auto !important;
  }

  .bg-contact-form .contactform li:nth-child(6) dd{
    flex-wrap: wrap !important;
  }
}

/* =====================================================
   CONTACT form final tweak v17
   - Increase contact form font size one step
   - Make radio buttons red
===================================================== */

body.begreeeeen-standalone .bg-contact-form,
body.begreeeeen-standalone .bg-contact-form .contactform,
body.begreeeeen-standalone .bg-contact-form .contactform dt,
body.begreeeeen-standalone .bg-contact-form .contactform dd,
body.begreeeeen-standalone .bg-contact-form .contactform label,
body.begreeeeen-standalone .bg-contact-form .contactform span,
body.begreeeeen-standalone .bg-contact-form .contactform input,
body.begreeeeen-standalone .bg-contact-form .contactform textarea{
  font-size: 15px !important;
  font-weight: 400 !important;
}

body.begreeeeen-standalone .bg-contact-form .contactform dt{
  line-height: 1.5 !important;
}

body.begreeeeen-standalone .bg-contact-form .contactform dd{
  line-height: 1.5 !important;
}

body.begreeeeen-standalone .bg-contact-form .contactform input[type="text"],
body.begreeeeen-standalone .bg-contact-form .contactform input[type="email"],
body.begreeeeen-standalone .bg-contact-form .contactform input[type="tel"]{
  height: 28px !important;
}

body.begreeeeen-standalone .bg-contact-form .contactform textarea{
  line-height: 1.6 !important;
}

body.begreeeeen-standalone .bg-contact-form .contactform input[type="radio"]{
  accent-color: #e60012 !important;
  width: 13px !important;
  height: 13px !important;
  margin-right: 5px !important;
}

body.begreeeeen-standalone .bg-contact-form .contactform input[type="radio"] + span,
body.begreeeeen-standalone .bg-contact-form .contactform .mwform-radio-field-text{
  font-size: 15px !important;
  font-weight: 400 !important;
}

body.begreeeeen-standalone .bg-contact-form .contactform .mwform-radio-field{
  margin-right: 20px !important;
}


/* =====================================================
   CONTACT complete message v18
   - Show clear submitted state after MW WP Form redirect
===================================================== */
body.begreeeeen-standalone .bg-contact-thanks{
  max-width: 880px;
  margin: 42px auto 0;
  padding: 42px 50px;
  border: 1px solid rgba(255,255,255,.75);
  color: #fff;
  font-family: Arial, "Noto Sans JP", "Yu Gothic", YuGothic, Meiryo, sans-serif;
  font-size: 16px;
  line-height: 1.9;
  text-align: center;
  box-sizing: border-box;
}
body.begreeeeen-standalone .bg-contact-thanks-title{
  margin: 0 0 18px;
  font-size: 22px;
  line-height: 1.5;
  font-weight: 400;
}
body.begreeeeen-standalone .bg-contact-thanks p{
  margin: 0 0 10px;
  font-weight: 400;
}
body.begreeeeen-standalone .bg-contact-thanks-back{
  margin-top: 28px !important;
}
body.begreeeeen-standalone .bg-contact-thanks-back a{
  display: inline-block;
  padding: 8px 22px;
  border: 2px solid #fff;
  border-radius: 4px;
  color: #fff;
  text-decoration: none;
  font-size: 15px;
  line-height: 1.4;
}
body.begreeeeen-standalone .bg-contact-thanks-back a:hover,
body.begreeeeen-standalone .bg-contact-thanks-back a:focus{
  color: #ccc;
  border-color: #ccc;
}
@media (max-width: 767px){
  body.begreeeeen-standalone .bg-contact-thanks{
    padding: 28px 20px;
    font-size: 14px;
  }
  body.begreeeeen-standalone .bg-contact-thanks-title{
    font-size: 18px;
  }
}

/* =====================================================
   MW WP Form honeypot: hide field completely v19
   - Keep anti-spam field in DOM, but never visible or focusable by users
===================================================== */
body.begreeeeen-standalone .bg-contact-form .bg-hp-field,
body.begreeeeen-standalone .bg-contact-form .bg-hp-field *,
body.begreeeeen-standalone .bg-contact-form .contactform .bg-hp-field,
body.begreeeeen-standalone .bg-contact-form .contactform .bg-hp-field *{
  position: absolute !important;
  left: -99999px !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  visibility: hidden !important;
}


/* =====================================================
   CONTACT CTA section v20
   - Used on News list page instead of embedding MW WP Form
===================================================== */
body.begreeeeen-standalone .bg-contact-cta-section{
  padding-top: 92px !important;
  padding-bottom: 78px !important;
  text-align: center !important;
}
body.begreeeeen-standalone .bg-contact-cta-wrap{
  margin: 34px 0 0 !important;
  text-align: center !important;
}
body.begreeeeen-standalone .bg-contact-cta-button{
  display: inline-block !important;
  min-width: 260px !important;
  padding: 9px 22px !important;
  border: 2px solid #fff !important;
  border-radius: 3px !important;
  color: #fff !important;
  background: transparent !important;
  font-family: Arial, "Noto Sans JP", "Yu Gothic", YuGothic, Meiryo, sans-serif !important;
  font-size: 16px !important;
  line-height: 1.4 !important;
  font-weight: 400 !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
}
body.begreeeeen-standalone .bg-contact-cta-button:hover,
body.begreeeeen-standalone .bg-contact-cta-button:focus{
  color: #111 !important;
  background: #fff !important;
}

/* Dedicated contact page spacing */
body.begreeeeen-contact-body .bg-contact-section{
  padding-top: 88px !important;
}
body.begreeeeen-contact-body .bg-contact-form{
  margin-top: 42px !important;
}


/* =====================================================
   v21 final button/menu adjustments
   - Remove INSTAGRAM pseudo icon when it appears as a square
   - Use CSS white triangle for CONTACT CTA button
   - Enlarge CONTACT CTA and MW WP Form submit/confirm buttons
===================================================== */

/* Remove the square before INSTAGRAM in all beGreeeeen menus */
body.begreeeeen-standalone .bg-nav-instagram::before,
body.begreeeeen-standalone .bg-nav-instagram::after,
.bg-nav-instagram::before,
.bg-nav-instagram::after{
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: none !important;
}

/* News-page CTA button: larger, with white CSS triangle */
body.begreeeeen-standalone .bg-contact-cta-button{
  min-width: 300px !important;
  padding: 12px 30px 13px !important;
  border-width: 2px !important;
  font-size: 18px !important;
  line-height: 1.4 !important;
  letter-spacing: .02em !important;
}
body.begreeeeen-standalone .bg-contact-cta-button::before{
  content: "" !important;
  display: inline-block !important;
  width: 0 !important;
  height: 0 !important;
  margin-right: 9px !important;
  border-top: .42em solid transparent !important;
  border-bottom: .42em solid transparent !important;
  border-left: .62em solid #fff !important;
  vertical-align: -0.05em !important;
}
body.begreeeeen-standalone .bg-contact-cta-button:hover::before,
body.begreeeeen-standalone .bg-contact-cta-button:focus::before{
  border-left-color: #111 !important;
}

/* Dedicated contact page / MW WP Form buttons: larger */
body.begreeeeen-standalone .bg-contact-form .contactform .submitbtn{
  margin-top: 28px !important;
  text-align: center !important;
}
body.begreeeeen-standalone .bg-contact-form .contactform .submitbtn input,
body.begreeeeen-standalone .bg-contact-form .contactform .submitbtn button,
body.begreeeeen-standalone .bg-contact-form .mw_wp_form input[type="submit"],
body.begreeeeen-standalone .bg-contact-form .mw_wp_form button[type="submit"],
body.begreeeeen-standalone .bg-contact-form input[type="submit"],
body.begreeeeen-standalone .bg-contact-form button[type="submit"]{
  display: inline-block !important;
  min-width: 136px !important;
  padding: 9px 24px 10px !important;
  border: 2px solid #fff !important;
  border-radius: 4px !important;
  background: transparent !important;
  color: #fff !important;
  font-family: Arial, "Noto Sans JP", "Yu Gothic", YuGothic, Meiryo, sans-serif !important;
  font-size: 17px !important;
  line-height: 1.35 !important;
  font-weight: 400 !important;
  text-align: center !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}
body.begreeeeen-standalone .bg-contact-form .contactform .submitbtn input:hover,
body.begreeeeen-standalone .bg-contact-form .contactform .submitbtn button:hover,
body.begreeeeen-standalone .bg-contact-form .mw_wp_form input[type="submit"]:hover,
body.begreeeeen-standalone .bg-contact-form .mw_wp_form button[type="submit"]:hover,
body.begreeeeen-standalone .bg-contact-form input[type="submit"]:hover,
body.begreeeeen-standalone .bg-contact-form button[type="submit"]:hover,
body.begreeeeen-standalone .bg-contact-form .contactform .submitbtn input:focus,
body.begreeeeen-standalone .bg-contact-form .contactform .submitbtn button:focus,
body.begreeeeen-standalone .bg-contact-form .mw_wp_form input[type="submit"]:focus,
body.begreeeeen-standalone .bg-contact-form .mw_wp_form button[type="submit"]:focus,
body.begreeeeen-standalone .bg-contact-form input[type="submit"]:focus,
body.begreeeeen-standalone .bg-contact-form button[type="submit"]:focus{
  background: #fff !important;
  color: #111 !important;
}

@media (max-width: 767px){
  body.begreeeeen-standalone .bg-contact-cta-button{
    min-width: 240px !important;
    font-size: 16px !important;
    padding: 10px 22px 11px !important;
  }
  body.begreeeeen-standalone .bg-contact-form .contactform .submitbtn input,
  body.begreeeeen-standalone .bg-contact-form .contactform .submitbtn button,
  body.begreeeeen-standalone .bg-contact-form input[type="submit"],
  body.begreeeeen-standalone .bg-contact-form button[type="submit"]{
    min-width: 120px !important;
    font-size: 15px !important;
    padding: 8px 18px 9px !important;
  }
}

/* =====================================================
   be Greeeeen Contact Thanks page fix v23
   - Restore thanks message/button layout
   - Fix Waibi logo size only on thanks page
===================================================== */
body.begreeeeen-contact-thanks-page .bg-thanks-section{
  padding-bottom: 84px !important;
}
body.begreeeeen-contact-thanks-page .bg-thanks-box{
  width: min(820px, 92vw) !important;
  margin: 46px auto 0 !important;
  text-align: center !important;
  color: #fff !important;
  font-family: Arial, "Helvetica Neue", "Noto Sans JP", "Yu Gothic", YuGothic, Meiryo, sans-serif !important;
}
body.begreeeeen-contact-thanks-page .bg-thanks-box h2{
  margin: 0 0 24px !important;
  font-size: 24px !important;
  line-height: 1.7 !important;
  font-weight: 400 !important;
  letter-spacing: .04em !important;
  color: #fff !important;
}
body.begreeeeen-contact-thanks-page .bg-thanks-box p{
  margin: 0 0 18px !important;
  font-size: 16px !important;
  line-height: 2 !important;
  font-weight: 400 !important;
  color: #fff !important;
}
body.begreeeeen-contact-thanks-page .bg-thanks-box .bg-thanks-note{
  opacity: .9 !important;
  font-size: 14px !important;
}
body.begreeeeen-contact-thanks-page .bg-thanks-box .bg-contact-button{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 190px !important;
  margin: 22px auto 0 !important;
  padding: 12px 30px 13px !important;
  border: 2px solid #fff !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #fff !important;
  text-decoration: none !important;
  font-family: Arial, "Noto Sans JP", "Yu Gothic", YuGothic, Meiryo, sans-serif !important;
  font-size: 16px !important;
  line-height: 1.4 !important;
  font-weight: 400 !important;
  letter-spacing: .02em !important;
  box-sizing: border-box !important;
}
body.begreeeeen-contact-thanks-page .bg-thanks-box .bg-contact-button:hover,
body.begreeeeen-contact-thanks-page .bg-thanks-box .bg-contact-button:focus{
  background: #fff !important;
  color: #000 !important;
}

/* Fix only the thanks-page Waibi logo. Do not affect other pages. */
body.begreeeeen-contact-thanks-page .bg-lp-footer{
  margin-top: 74px !important;
  padding-bottom: 34px !important;
  overflow: visible !important;
}
body.begreeeeen-contact-thanks-page .bg-footer-company{
  margin: 0 auto 16px !important;
  text-align: center !important;
}
body.begreeeeen-contact-thanks-page .bg-footer-logo{
  display: block !important;
  width: min(340px, 72vw) !important;
  max-width: 340px !important;
  height: auto !important;
  margin: 0 auto 30px !important;
  padding: 0 !important;
  text-align: center !important;
  overflow: visible !important;
}
body.begreeeeen-contact-thanks-page .bg-footer-logo img{
  display: block !important;
  width: 100% !important;
  max-width: 340px !important;
  height: auto !important;
  margin: 0 auto !important;
  object-fit: contain !important;
}
body.begreeeeen-contact-thanks-page .bg-footer-links{
  margin-top: 0 !important;
  text-align: center !important;
}
body.begreeeeen-contact-thanks-page .bg-copyright{
  text-align: center !important;
}

@media (max-width: 767px){
  body.begreeeeen-contact-thanks-page .bg-thanks-box{
    margin-top: 34px !important;
  }
  body.begreeeeen-contact-thanks-page .bg-thanks-box h2{
    font-size: 20px !important;
  }
  body.begreeeeen-contact-thanks-page .bg-thanks-box p{
    font-size: 14px !important;
  }
  body.begreeeeen-contact-thanks-page .bg-footer-logo{
    width: min(280px, 76vw) !important;
    max-width: 280px !important;
  }
  body.begreeeeen-contact-thanks-page .bg-footer-logo img{
    max-width: 280px !important;
  }
}

/* =====================================================
   v24 adjustments
   - restore thin footer rule on thanks page
   - shrink Waibi operating-company logo by two steps
===================================================== */

/* Shrink operating company logo on all beGreeeeen pages */
.bg-footer-waibi-logo,
.bg-footer-logo img{
  max-width: 260px !important;
  width: min(260px, 62vw) !important;
  height: auto !important;
  margin-left: auto !important;
  margin-right: auto !important;
  object-fit: contain !important;
}

/* Make the footer company block spacing fit the smaller logo */
.bg-footer-company{
  margin-bottom: 28px !important;
}

/* Thanks page uses a slightly different footer HTML, so restore the thin rule there */
body.begreeeeen-contact-thanks-page .bg-lp-footer{
  width: 100% !important;
  margin-top: 74px !important;
  padding-bottom: 34px !important;
  overflow: visible !important;
}

body.begreeeeen-contact-thanks-page .bg-footer-logo{
  display: block !important;
  width: min(260px, 62vw) !important;
  max-width: 260px !important;
  height: auto !important;
  margin: 0 auto 30px !important;
  padding: 0 !important;
  text-align: center !important;
  overflow: visible !important;
}

body.begreeeeen-contact-thanks-page .bg-footer-logo img{
  display: block !important;
  width: 100% !important;
  max-width: 260px !important;
  height: auto !important;
  margin: 0 auto !important;
  object-fit: contain !important;
}

body.begreeeeen-contact-thanks-page .bg-footer-links{
  width: 100vw !important;
  margin: 0 calc(50% - 50vw) 18px !important;
  padding-top: 24px !important;
  border-top: 1px solid rgba(255,255,255,.8) !important;
  text-align: center !important;
  justify-content: center !important;
}

@media (max-width: 767px){
  .bg-footer-waibi-logo,
  .bg-footer-logo img,
  body.begreeeeen-contact-thanks-page .bg-footer-logo,
  body.begreeeeen-contact-thanks-page .bg-footer-logo img{
    width: min(220px, 70vw) !important;
    max-width: 220px !important;
  }
}

/* =====================================================
   News detail page v27
   - Scope only single be Greeeeen detail page
   - NEWS heading smaller
   - Body text 10% smaller
   - Detail buttons 30% larger
===================================================== */

body.begreeeeen-single-body .bg-single-section{
  width: min(900px, calc(100% - 40px)) !important;
  padding-top: 44px !important;
  padding-bottom: 34px !important;
}

body.begreeeeen-single-body .bg-single-section .bg-section-dot{
  margin-bottom: 26px !important;
}

body.begreeeeen-single-body .bg-single-section .bg-section-title{
  font-size: clamp(30px, 3.1vw, 41px) !important;
  line-height: .95 !important;
  letter-spacing: -.03em !important;
}

body.begreeeeen-single-body .bg-single-section .bg-section-subtitle{
  margin-top: 14px !important;
  font-size: 16px !important;
}

body.begreeeeen-single-body .bg-single-article{
  width: 100% !important;
  max-width: 760px !important;
  margin: 0 auto !important;
  text-align: center !important;
}

body.begreeeeen-single-body .bg-single-header{
  margin: 24px auto 30px !important;
  text-align: center !important;
}

body.begreeeeen-single-body .bg-single-title{
  margin: 0 0 8px !important;
  color: #fff !important;
  font-size: 24px !important;
  line-height: 1.55 !important;
  font-weight: 600 !important;
  letter-spacing: .03em !important;
}

body.begreeeeen-single-body .bg-single-date{
  display: block !important;
  margin: 0 !important;
  color: #fff !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  font-weight: 400 !important;
}

body.begreeeeen-single-body .bg-single-cats{
  display: flex !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 14px auto 0 !important;
}

body.begreeeeen-single-body .bg-single-cats a{
  display: inline-block !important;
  padding: 2px 9px 3px !important;
  border: 1px solid rgba(255,255,255,.85) !important;
  color: #fff !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  font-weight: 400 !important;
}

body.begreeeeen-single-body .bg-single-cats a:hover,
body.begreeeeen-single-body .bg-single-cats a:focus{
  background: #fff !important;
  color: #000 !important;
}

body.begreeeeen-single-body .bg-single-hero{
  width: 100% !important;
  max-width: 620px !important;
  margin: 0 auto 28px !important;
  padding: 0 !important;
  text-align: center !important;
}

body.begreeeeen-single-body .bg-single-hero img{
  display: block !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 auto !important;
}

body.begreeeeen-single-body .bg-single-content{
  max-width: 760px !important;
  margin: 0 auto !important;
  color: #fff !important;
  text-align: left !important;
  font-size: 16px !important;
  line-height: 1.85 !important;
  font-weight: 400 !important;
  letter-spacing: .02em !important;
}

body.begreeeeen-single-body .bg-single-content *{
  font-weight: 400 !important;
}

body.begreeeeen-single-body .bg-single-content p{
  margin: 0 0 18px !important;
  text-align: left !important;
}

body.begreeeeen-single-body .bg-single-content img{
  max-width: 100% !important;
  height: auto !important;
}

body.begreeeeen-single-body .bg-single-content figure{
  margin: 24px auto !important;
  text-align: center !important;
}

body.begreeeeen-single-body .bg-single-content figure img{
  display: block !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.begreeeeen-single-body .bg-single-content figcaption{
  margin-top: 6px !important;
  color: #fff !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
  text-align: center !important;
}

body.begreeeeen-single-body .bg-single-buttons{
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 10px 14px !important;
  margin: 30px auto 0 !important;
  text-align: center !important;
}

body.begreeeeen-single-body .bg-single-back-button,
body.begreeeeen-single-body .bg-single-buttons .bg-contact-cta-button{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 247px !important;
  padding: 12px 26px 13px !important;
  border: 2px solid #fff !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #fff !important;
  font-size: 19px !important;
  line-height: 1.4 !important;
  font-weight: 400 !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
}

body.begreeeeen-single-body .bg-single-back-button:hover,
body.begreeeeen-single-body .bg-single-back-button:focus,
body.begreeeeen-single-body .bg-single-buttons .bg-contact-cta-button:hover,
body.begreeeeen-single-body .bg-single-buttons .bg-contact-cta-button:focus{
  background: #fff !important;
  color: #111 !important;
}

body.begreeeeen-single-body .bg-single-back-button::before{
  content: "‹" !important;
  display: inline-block !important;
  margin-right: 8px !important;
  font-size: 1.2em !important;
  line-height: 1 !important;
}

@media (max-width: 767px){
  body.begreeeeen-single-body .bg-single-section{
    width: calc(100% - 28px) !important;
    padding-top: 38px !important;
  }

  body.begreeeeen-single-body .bg-single-section .bg-section-title{
    font-size: 30px !important;
  }

  body.begreeeeen-single-body .bg-single-title{
    font-size: 20px !important;
    line-height: 1.6 !important;
  }

  body.begreeeeen-single-body .bg-single-content{
    font-size: 14px !important;
    line-height: 1.8 !important;
  }

  body.begreeeeen-single-body .bg-single-buttons{
    display: block !important;
  }

  body.begreeeeen-single-body .bg-single-back-button,
  body.begreeeeen-single-body .bg-single-buttons .bg-contact-cta-button{
    width: min(364px, 100%) !important;
    margin: 0 auto 10px !important;
  }
}


/* =====================================================
   News detail page v29
   - Restore body paragraph text size from v28 10% reduction
   - Keep NEWS heading size and enlarged detail buttons
===================================================== */

body.begreeeeen-single-body .bg-single-section .bg-section-title{
  font-size: clamp(24px, 2.5vw, 32px) !important;
  line-height: 1 !important;
  letter-spacing: -.02em !important;
}

body.begreeeeen-single-body .bg-single-section .bg-section-subtitle{
  margin-top: 10px !important;
  font-size: 14px !important;
}

body.begreeeeen-single-body .bg-single-header{
  margin-top: 20px !important;
  margin-bottom: 26px !important;
}

body.begreeeeen-single-body .bg-single-content{
  font-size: 15px !important;
  line-height: 2.0 !important;
  font-weight: 400 !important;
  text-align: left !important;
}

body.begreeeeen-single-body .bg-single-content p,
body.begreeeeen-single-body .bg-single-content li,
body.begreeeeen-single-body .bg-single-content div{
  font-size: inherit !important;
  line-height: inherit !important;
  font-weight: 400 !important;
  text-align: left !important;
}

body.begreeeeen-single-body .bg-single-content h2{
  margin: 30px 0 14px !important;
  padding: 0 0 10px !important;
  border-bottom: 1px solid rgba(255,255,255,.75) !important;
  color: #fff !important;
  font-size: 22px !important;
  line-height: 1.5 !important;
  font-weight: 600 !important;
  letter-spacing: .03em !important;
  text-align: left !important;
}

body.begreeeeen-single-body .bg-single-content h3{
  margin: 18px 0 14px !important;
  color: #fff !important;
  font-size: 24px !important;
  line-height: 1.55 !important;
  font-weight: 600 !important;
  letter-spacing: .03em !important;
  text-align: left !important;
}

body.begreeeeen-single-body .bg-single-content h4,
body.begreeeeen-single-body .bg-single-content h5,
body.begreeeeen-single-body .bg-single-content h6{
  margin: 18px 0 12px !important;
  color: #fff !important;
  font-size: 18px !important;
  line-height: 1.6 !important;
  font-weight: 600 !important;
  text-align: left !important;
}

body.begreeeeen-single-body .bg-single-content hr{
  margin: 26px 0 14px !important;
  border: 0 !important;
  border-top: 1px solid rgba(255,255,255,.75) !important;
}

body.begreeeeen-single-body .bg-single-buttons{
  margin-top: 34px !important;
}

body.begreeeeen-single-body .bg-single-back-button,
body.begreeeeen-single-body .bg-single-buttons .bg-contact-cta-button{
  min-width: 247px !important;
  padding: 12px 26px 13px !important;
  font-size: 19px !important;
}

@media (max-width: 767px){
  body.begreeeeen-single-body .bg-single-section .bg-section-title{
    font-size: 26px !important;
  }

  body.begreeeeen-single-body .bg-single-content{
    font-size: 14px !important;
    line-height: 1.95 !important;
  }

  body.begreeeeen-single-body .bg-single-content h2{
    font-size: 18px !important;
  }

  body.begreeeeen-single-body .bg-single-content h3{
    font-size: 20px !important;
  }
}


/* =====================================================
   News detail image lightbox v32
   - Keep enlarged view inside black be Greeeeen page
   - Prevent transition to white WordPress attachment pages
   - Force small thumbnails to display larger in the overlay
===================================================== */
body.begreeeeen-single-body .bg-single-content a.bg-lightbox-link,
body.begreeeeen-single-body .bg-single-content a[href*="/attachment/"]{
  cursor: zoom-in !important;
  display: inline-block !important;
  color: inherit !important;
  text-decoration: none !important;
}

body.begreeeeen-single-body .bg-single-content a.bg-lightbox-link img,
body.begreeeeen-single-body .bg-single-content a[href*="/attachment/"] img{
  cursor: zoom-in !important;
}

body.begreeeeen-single-body .bg-single-lightbox{
  position: fixed !important;
  inset: 0 !important;
  z-index: 99999 !important;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 42px !important;
  background: rgba(0,0,0,.92) !important;
  box-sizing: border-box !important;
}

body.begreeeeen-single-body .bg-single-lightbox.is-open{
  display: flex !important;
}

body.begreeeeen-single-body .bg-single-lightbox img{
  display: block !important;
  width: min(920px, 88vw) !important;
  max-width: min(1100px, 92vw) !important;
  max-height: 86vh !important;
  height: auto !important;
  object-fit: contain !important;
  box-shadow: 0 0 0 1px rgba(255,255,255,.18) !important;
}

body.begreeeeen-single-body .bg-single-lightbox-close{
  position: fixed !important;
  right: 26px !important;
  top: 22px !important;
  z-index: 100000 !important;
  width: 42px !important;
  height: 42px !important;
  padding: 0 !important;
  border: 1px solid rgba(255,255,255,.8) !important;
  border-radius: 50% !important;
  background: rgba(0,0,0,.35) !important;
  color: #fff !important;
  font-size: 30px !important;
  line-height: 38px !important;
  font-weight: 300 !important;
  text-align: center !important;
  cursor: pointer !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

body.begreeeeen-single-body .bg-single-lightbox-close:hover,
body.begreeeeen-single-body .bg-single-lightbox-close:focus{
  background: #fff !important;
  color: #000 !important;
}

body.begreeeeen-single-body.bg-lightbox-open{
  overflow: hidden !important;
}

@media (max-width: 767px){
  body.begreeeeen-single-body .bg-single-lightbox{
    padding: 22px !important;
  }
  body.begreeeeen-single-body .bg-single-lightbox-close{
    right: 14px !important;
    top: 14px !important;
    width: 38px !important;
    height: 38px !important;
    font-size: 27px !important;
    line-height: 34px !important;
  }
}

/* =====================================================
   News detail text link color v34
   - Make normal text links green without underline
   - Keep image/lightbox links visually unchanged
===================================================== */
body.begreeeeen-single-body .bg-single-content a:not(.bg-lightbox-link):not([href*="/attachment/"]){
  color: #6bbf2a !important;
  text-decoration: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
}

body.begreeeeen-single-body .bg-single-content a:not(.bg-lightbox-link):not([href*="/attachment/"]):hover,
body.begreeeeen-single-body .bg-single-content a:not(.bg-lightbox-link):not([href*="/attachment/"]):focus{
  color: #8fd34a !important;
  text-decoration: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
  opacity: 1 !important;
}

body.begreeeeen-single-body .bg-single-content a.bg-lightbox-link,
body.begreeeeen-single-body .bg-single-content a[href*="/attachment/"]{
  color: inherit !important;
  text-decoration: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
}

/* =====================================================
   News detail text link color v35
   - Stronger override for normal text links
   - Keep lightbox/image links unchanged
===================================================== */
body.begreeeeen-single-body .bg-single-content a:not(.bg-lightbox-link):not([data-bg-lightbox]),
body.begreeeeen-single-body .bg-single-content a:not(.bg-lightbox-link):not([data-bg-lightbox]):link,
body.begreeeeen-single-body .bg-single-content a:not(.bg-lightbox-link):not([data-bg-lightbox]):visited,
body.begreeeeen-single-body .bg-single-content p a:not(.bg-lightbox-link):not([data-bg-lightbox]),
body.begreeeeen-single-body .bg-single-content p a:not(.bg-lightbox-link):not([data-bg-lightbox]):link,
body.begreeeeen-single-body .bg-single-content p a:not(.bg-lightbox-link):not([data-bg-lightbox]):visited{
  color: #6bbf2a !important;
  -webkit-text-fill-color: #6bbf2a !important;
  text-decoration: none !important;
  border: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  background-image: none !important;
}

body.begreeeeen-single-body .bg-single-content a:not(.bg-lightbox-link):not([data-bg-lightbox]):hover,
body.begreeeeen-single-body .bg-single-content a:not(.bg-lightbox-link):not([data-bg-lightbox]):focus,
body.begreeeeen-single-body .bg-single-content p a:not(.bg-lightbox-link):not([data-bg-lightbox]):hover,
body.begreeeeen-single-body .bg-single-content p a:not(.bg-lightbox-link):not([data-bg-lightbox]):focus{
  color: #8fd34a !important;
  -webkit-text-fill-color: #8fd34a !important;
  text-decoration: none !important;
  border: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  background-image: none !important;
  opacity: 1 !important;
}

body.begreeeeen-single-body .bg-single-content a.bg-lightbox-link,
body.begreeeeen-single-body .bg-single-content a[data-bg-lightbox]{
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
  text-decoration: none !important;
  border: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  background-image: none !important;
}

/* =====================================================
   Downloads page v36
   - Elementor replacement for /begreeeeen_dl/
   - Scope only Downloads page
===================================================== */
body.begreeeeen-download-body .bg-download-section{
  width: min(900px, calc(100% - 40px)) !important;
  padding-top: 74px !important;
  padding-bottom: 58px !important;
  text-align: center !important;
}

body.begreeeeen-download-body .bg-download-section .bg-section-title{
  font-size: clamp(54px, 5.8vw, 78px) !important;
  line-height: .95 !important;
  letter-spacing: -.02em !important;
}

body.begreeeeen-download-body .bg-download-grid{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 330px)) !important;
  justify-content: center !important;
  align-items: start !important;
  gap: 38px !important;
  width: 100% !important;
  margin: 42px auto 0 !important;
  padding: 0 !important;
}

body.begreeeeen-download-body .bg-download-card{
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
}

body.begreeeeen-download-body .bg-download-cover-link{
  display: block !important;
  width: 100% !important;
  margin: 0 auto 9px !important;
  background: #111 !important;
  overflow: hidden !important;
  transition: opacity .18s ease, transform .22s ease !important;
}

body.begreeeeen-download-body .bg-download-cover-link:hover,
body.begreeeeen-download-body .bg-download-cover-link:focus{
  opacity: .86 !important;
  transform: translateY(-2px) !important;
}

body.begreeeeen-download-body .bg-download-cover{
  display: block !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 auto !important;
}

body.begreeeeen-download-body .bg-download-title{
  margin: 0 !important;
  color: #fff !important;
  font-size: 16px !important;
  line-height: 1.45 !important;
  font-weight: 700 !important;
  text-align: center !important;
}

body.begreeeeen-download-body .bg-download-title a,
body.begreeeeen-download-body .bg-download-title a:link,
body.begreeeeen-download-body .bg-download-title a:visited{
  color: #fff !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

body.begreeeeen-download-body .bg-download-title a:hover,
body.begreeeeen-download-body .bg-download-title a:focus{
  color: rgba(255,255,255,.72) !important;
}

body.begreeeeen-download-body .bg-download-contact-section{
  width: min(900px, calc(100% - 40px)) !important;
  padding-top: 44px !important;
  padding-bottom: 72px !important;
  text-align: center !important;
}

body.begreeeeen-download-body .bg-download-contact-section .bg-section-dot{
  margin-bottom: 54px !important;
}

body.begreeeeen-download-body .bg-download-contact-section .bg-section-title{
  font-size: clamp(50px, 5.5vw, 72px) !important;
}

body.begreeeeen-download-body .bg-download-contact-section .bg-contact-cta-wrap{
  margin-top: 30px !important;
}

body.begreeeeen-download-body .bg-lp-footer{
  margin-top: 0 !important;
}

@media (max-width: 767px){
  body.begreeeeen-download-body .bg-download-section{
    width: calc(100% - 28px) !important;
    padding-top: 58px !important;
    padding-bottom: 42px !important;
  }

  body.begreeeeen-download-body .bg-download-section .bg-section-title,
  body.begreeeeen-download-body .bg-download-contact-section .bg-section-title{
    font-size: 44px !important;
  }

  body.begreeeeen-download-body .bg-download-grid{
    grid-template-columns: minmax(0, 320px) !important;
    gap: 34px !important;
    margin-top: 34px !important;
  }

  body.begreeeeen-download-body .bg-download-title{
    font-size: 15px !important;
  }

  body.begreeeeen-download-body .bg-download-contact-section{
    width: calc(100% - 28px) !important;
    padding-top: 34px !important;
    padding-bottom: 56px !important;
  }

  body.begreeeeen-download-body .bg-download-contact-section .bg-section-dot{
    margin-bottom: 42px !important;
  }
}

/* =====================================================
   v39 menu adjustment
   - Hide WORKS menu item on all be Greeeeen standalone pages
===================================================== */
body.begreeeeen-standalone .bg-nav ul > li:nth-child(3){
  display: none !important;
}



/* =====================================================
   be Greeeeen TOP page v40
   - Elementor-free TOP layout
   - Smart Slider and Instagram Feed remain as shortcode parts
===================================================== */

body.begreeeeen-top-body .bg-lp-header{
  padding-bottom: 0 !important;
}

body.begreeeeen-top-body .bg-top-hero{
  width: 100% !important;
  margin: 22px auto 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #000 !important;
}

body.begreeeeen-top-body .bg-top-hero img{
  max-width: none;
}

body.begreeeeen-top-body .bg-top-service-section{
  width: min(760px, calc(100% - 40px)) !important;
  padding-top: 28px !important;
  padding-bottom: 44px !important;
}

body.begreeeeen-top-body .bg-top-service-section .bg-section-title,
body.begreeeeen-top-body .bg-top-news-section .bg-section-title,
body.begreeeeen-top-body .bg-top-access-section .bg-section-title,
body.begreeeeen-top-body .bg-top-instagram-section .bg-section-title,
body.begreeeeen-top-body .bg-top-contact-section .bg-section-title{
  font-size: clamp(45px, 5.4vw, 72px) !important;
  line-height: .95 !important;
}

body.begreeeeen-top-body .bg-top-service-text{
  max-width: 660px !important;
  margin: 42px auto 0 !important;
  color: #fff !important;
  text-align: center !important;
  font-size: 14px !important;
  line-height: 2.05 !important;
  font-weight: 400 !important;
  letter-spacing: .03em !important;
}

body.begreeeeen-top-body .bg-top-service-text p{
  margin: 0 0 22px !important;
}

body.begreeeeen-top-body .bg-top-service-button-wrap{
  margin: 28px auto 0 !important;
  text-align: center !important;
}

body.begreeeeen-top-body .bg-top-download-button{
  display: inline-block !important;
  min-width: 260px !important;
  padding: 7px 18px 8px !important;
  background: #fff !important;
  color: #000 !important;
  border: 1px solid #fff !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  font-weight: 400 !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
}

body.begreeeeen-top-body .bg-top-download-button::before{
  content: "▶" !important;
  margin-right: 6px !important;
  font-size: .85em !important;
}

body.begreeeeen-top-body .bg-top-download-button:hover,
body.begreeeeen-top-body .bg-top-download-button:focus{
  background: #000 !important;
  color: #fff !important;
}

body.begreeeeen-top-body .bg-top-news-section{
  width: min(920px, calc(100% - 40px)) !important;
  padding-top: 18px !important;
  padding-bottom: 50px !important;
}

body.begreeeeen-top-body .bg-top-news-grid{
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 26px 24px !important;
  margin: 42px auto 0 !important;
  text-align: left !important;
}

body.begreeeeen-top-body .bg-top-news-card{
  margin: 0 !important;
  padding: 0 !important;
  color: #fff !important;
}

body.begreeeeen-top-body .bg-top-news-image{
  display: block !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
  background: #111 !important;
}

body.begreeeeen-top-body .bg-top-news-image img{
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: opacity .18s ease, transform .24s ease !important;
}

body.begreeeeen-top-body .bg-top-news-image:hover img,
body.begreeeeen-top-body .bg-top-news-image:focus img{
  opacity: .82 !important;
  transform: scale(1.015) !important;
}

body.begreeeeen-top-body .bg-top-news-title{
  margin: 10px 0 3px !important;
  color: #fff !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  font-weight: 600 !important;
  letter-spacing: .02em !important;
}

body.begreeeeen-top-body .bg-top-news-title a{
  color: #fff !important;
  text-decoration: none !important;
}

body.begreeeeen-top-body .bg-top-news-title a:hover,
body.begreeeeen-top-body .bg-top-news-title a:focus{
  opacity: .7 !important;
}

body.begreeeeen-top-body .bg-top-news-date{
  display: block !important;
  color: #fff !important;
  font-size: 11px !important;
  line-height: 1.4 !important;
  font-weight: 400 !important;
}

body.begreeeeen-top-body .bg-top-access-section{
  width: min(760px, calc(100% - 40px)) !important;
  padding-top: 20px !important;
  padding-bottom: 54px !important;
}

body.begreeeeen-top-body .bg-top-access-text{
  max-width: 640px !important;
  margin: 36px auto 0 !important;
  color: #fff !important;
  text-align: center !important;
  font-size: 14px !important;
  line-height: 1.9 !important;
  font-weight: 400 !important;
  letter-spacing: .03em !important;
}

body.begreeeeen-top-body .bg-top-access-text p{
  margin: 0 0 22px !important;
}

body.begreeeeen-top-body .bg-top-access-text a{
  color: #fff !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

body.begreeeeen-top-body .bg-top-instagram-section{
  width: min(920px, calc(100% - 40px)) !important;
  padding-top: 20px !important;
  padding-bottom: 46px !important;
}

body.begreeeeen-top-body .bg-top-instagram-wrap{
  width: min(760px, 100%) !important;
  margin: 42px auto 0 !important;
  text-align: center !important;
}

body.begreeeeen-top-body .bg-top-instagram-icon{
  margin: 30px auto 0 !important;
  text-align: center !important;
}

body.begreeeeen-top-body .bg-top-instagram-icon a{
  display: inline-flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 32px !important;
  height: 32px !important;
  color: #fff !important;
  font-size: 27px !important;
  line-height: 1 !important;
  text-decoration: none !important;
}

body.begreeeeen-top-body .bg-top-contact-section{
  padding-top: 20px !important;
  padding-bottom: 42px !important;
}

body.begreeeeen-top-body .bg-top-contact-section .bg-contact-cta-wrap{
  margin-top: 26px !important;
}

@media (max-width: 900px){
  body.begreeeeen-top-body .bg-top-news-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    max-width: 520px !important;
  }
}

@media (max-width: 640px){
  body.begreeeeen-top-body .bg-top-service-section,
  body.begreeeeen-top-body .bg-top-news-section,
  body.begreeeeen-top-body .bg-top-access-section,
  body.begreeeeen-top-body .bg-top-instagram-section{
    width: calc(100% - 28px) !important;
  }

  body.begreeeeen-top-body .bg-top-service-section .bg-section-title,
  body.begreeeeen-top-body .bg-top-news-section .bg-section-title,
  body.begreeeeen-top-body .bg-top-access-section .bg-section-title,
  body.begreeeeen-top-body .bg-top-instagram-section .bg-section-title,
  body.begreeeeen-top-body .bg-top-contact-section .bg-section-title{
    font-size: 42px !important;
  }

  body.begreeeeen-top-body .bg-top-service-text,
  body.begreeeeen-top-body .bg-top-access-text{
    font-size: 13px !important;
    line-height: 1.9 !important;
  }

  body.begreeeeen-top-body .bg-top-news-grid{
    grid-template-columns: 1fr !important;
    width: min(320px, 100%) !important;
    gap: 24px !important;
  }
}



/* =====================================================
   be Greeeeen TOP page v41
===================================================== */

body.begreeeeen-top-body .bg-top-download-button{
  min-width: 300px !important;
  padding: 12px 30px 13px !important;
  border: 2px solid #fff !important;
  border-radius: 3px !important;
  background: transparent !important;
  color: #fff !important;
  font-size: 18px !important;
  line-height: 1.4 !important;
  letter-spacing: .02em !important;
}

body.begreeeeen-top-body .bg-top-download-button:hover,
body.begreeeeen-top-body .bg-top-download-button:focus{
  background: #fff !important;
  color: #111 !important;
}

body.begreeeeen-top-body .bg-top-download-button::before,
body.begreeeeen-top-body .bg-top-view-all-button::before{
  content: "" !important;
  display: inline-block !important;
  width: 0 !important;
  height: 0 !important;
  margin-right: 9px !important;
  border-top: .42em solid transparent !important;
  border-bottom: .42em solid transparent !important;
  border-left: .62em solid #fff !important;
  vertical-align: -0.05em !important;
}

body.begreeeeen-top-body .bg-top-download-button:hover::before,
body.begreeeeen-top-body .bg-top-download-button:focus::before,
body.begreeeeen-top-body .bg-top-view-all-button:hover::before,
body.begreeeeen-top-body .bg-top-view-all-button:focus::before{
  border-left-color: #111 !important;
}

body.begreeeeen-top-body .bg-top-news-more{
  margin: 46px auto 0 !important;
  text-align: center !important;
}

body.begreeeeen-top-body .bg-top-view-all-button{
  min-width: 180px !important;
  padding: 11px 28px 12px !important;
  font-size: 18px !important;
}

body.begreeeeen-top-body .bg-top-instagram-section{
  width: min(920px, calc(100% - 40px)) !important;
}

body.begreeeeen-top-body .bg-top-instagram-wrap{
  width: 100% !important;
  max-width: 920px !important;
  margin: 42px auto 0 !important;
}

body.begreeeeen-top-body .bg-top-instagram-wrap #sb_instagram,
body.begreeeeen-top-body .bg-top-instagram-wrap .sbi,
body.begreeeeen-top-body .bg-top-instagram-wrap .instagram-feed{
  width: 100% !important;
  max-width: 920px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.begreeeeen-top-body .bg-top-instagram-icon a{
  width: 34px !important;
  height: 34px !important;
  color: #fff !important;
  text-decoration: none !important;
}

body.begreeeeen-top-body .bg-top-instagram-icon svg{
  display: block !important;
  width: 30px !important;
  height: 30px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.8 !important;
}

body.begreeeeen-top-body .bg-top-instagram-icon svg circle:last-child{
  fill: currentColor !important;
  stroke: none !important;
}

.bg-menu-toggle{
  display: none;
}

@media (max-width: 767px){
  body.begreeeeen-standalone .bg-lp-header{
    position: relative !important;
    padding: 22px 16px 12px !important;
  }

  body.begreeeeen-standalone .bg-logo{
    margin-bottom: 12px !important;
  }

  body.begreeeeen-standalone .bg-logo img{
    width: min(300px, 72vw) !important;
  }

  body.begreeeeen-standalone .bg-menu-toggle{
    position: absolute !important;
    right: 16px !important;
    top: 22px !important;
    z-index: 120 !important;
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 42px !important;
    height: 42px !important;
    padding: 0 !important;
    border: 1px solid rgba(255,255,255,.85) !important;
    background: rgba(0,0,0,.85) !important;
    color: #fff !important;
    cursor: pointer !important;
  }

  body.begreeeeen-standalone .bg-menu-toggle-line{
    display: block !important;
    width: 22px !important;
    height: 2px !important;
    margin: 2.5px 0 !important;
    background: #fff !important;
    transition: transform .18s ease, opacity .18s ease !important;
  }

  body.begreeeeen-standalone .bg-menu-toggle-text{
    display: none !important;
  }

  body.begreeeeen-standalone.bg-menu-open .bg-menu-toggle-line:nth-child(1){
    transform: translateY(7px) rotate(45deg) !important;
  }

  body.begreeeeen-standalone.bg-menu-open .bg-menu-toggle-line:nth-child(2){
    opacity: 0 !important;
  }

  body.begreeeeen-standalone.bg-menu-open .bg-menu-toggle-line:nth-child(3){
    transform: translateY(-7px) rotate(-45deg) !important;
  }

  body.begreeeeen-standalone .bg-nav{
    display: none !important;
    position: absolute !important;
    left: 14px !important;
    right: 14px !important;
    top: calc(100% - 4px) !important;
    z-index: 110 !important;
    padding: 14px 18px !important;
    background: rgba(0,0,0,.96) !important;
    border: 1px solid rgba(255,255,255,.5) !important;
  }

  body.begreeeeen-standalone.bg-menu-open .bg-nav{
    display: block !important;
  }

  body.begreeeeen-standalone .bg-nav ul{
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
  }

  body.begreeeeen-standalone .bg-nav li{
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.22) !important;
  }

  body.begreeeeen-standalone .bg-nav li:last-child{
    border-bottom: 0 !important;
  }

  body.begreeeeen-standalone .bg-nav li + li::before{
    content: none !important;
    display: none !important;
  }

  body.begreeeeen-standalone .bg-nav a{
    display: block !important;
    width: 100% !important;
    padding: 12px 4px !important;
    color: #fff !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
    text-align: left !important;
  }

  body.begreeeeen-standalone .bg-nav-download{
    display: inline-block !important;
    width: auto !important;
    margin: 10px 0 0 !important;
    padding: 8px 14px !important;
    color: #000 !important;
    background: #fff !important;
    text-align: center !important;
  }

  body.begreeeeen-standalone .bg-page-top{
    display: none !important;
  }

  body.begreeeeen-top-body .bg-top-instagram-section{
    width: calc(100% - 28px) !important;
  }

  body.begreeeeen-top-body .bg-top-download-button,
  body.begreeeeen-top-body .bg-top-view-all-button{
    min-width: 240px !important;
    font-size: 16px !important;
    padding: 10px 22px 11px !important;
  }
}



/* =====================================================
   be Greeeeen TOP page v42
   - Fix NEWS menu hidden by old v39 nth-child rule
   - Show section dots except above SERVICE
   - Enlarge Instagram icon 30%
   - Strengthen mobile hamburger / hide PAGE TOP
   - Mobile SERVICE body left align
===================================================== */

/* v39 rule hides the 3rd menu item; on TOP the 3rd item is NEWS, so restore it */
body.begreeeeen-top-body .bg-nav ul > li:nth-child(3){
  display: inline-flex !important;
}

/* TOP: only SERVICE upper dot is removed; other section dots remain */
body.begreeeeen-top-body .bg-top-service-section > .bg-section-dot{
  display: none !important;
}

body.begreeeeen-top-body .bg-top-news-section > .bg-section-dot,
body.begreeeeen-top-body .bg-top-access-section > .bg-section-dot,
body.begreeeeen-top-body .bg-top-instagram-section > .bg-section-dot,
body.begreeeeen-top-body .bg-top-contact-section > .bg-section-dot{
  display: block !important;
}

/* Instagram icon +30% */
body.begreeeeen-top-body .bg-top-instagram-icon a{
  width: 44px !important;
  height: 44px !important;
}

body.begreeeeen-top-body .bg-top-instagram-icon svg{
  width: 39px !important;
  height: 39px !important;
}

/* Mobile hamburger, stronger override */
@media (max-width: 767px){
  body.begreeeeen-top-body .bg-nav ul > li:nth-child(3){
    display: block !important;
  }

  body.begreeeeen-standalone .bg-menu-toggle{
    position: absolute !important;
    right: 16px !important;
    top: 22px !important;
    z-index: 9999 !important;
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    padding: 0 !important;
    border: 1px solid rgba(255,255,255,.9) !important;
    background: rgba(0,0,0,.92) !important;
    color: #fff !important;
    cursor: pointer !important;
    appearance: none !important;
    -webkit-appearance: none !important;
  }

  body.begreeeeen-standalone .bg-page-top{
    display: none !important;
  }

  body.begreeeeen-top-body .bg-top-service-text{
    text-align: left !important;
  }

  body.begreeeeen-top-body .bg-top-service-text p{
    text-align: left !important;
  }

  body.begreeeeen-top-body .bg-top-service-text br{
    display: none !important;
  }
}



/* =====================================================
   be Greeeeen TOP page v43
   - Mobile only: left-align logo so it does not interfere with hamburger
===================================================== */

@media (max-width: 767px){
  body.begreeeeen-standalone .bg-lp-header{
    text-align: left !important;
    padding-right: 70px !important;
  }

  body.begreeeeen-standalone .bg-logo{
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    text-align: left !important;
  }

  body.begreeeeen-standalone .bg-logo a{
    display: inline-block !important;
  }

  body.begreeeeen-standalone .bg-logo img{
    width: min(300px, calc(100vw - 96px)) !important;
    max-width: calc(100vw - 96px) !important;
    margin-left: 0 !important;
    margin-right: auto !important;
  }

  body.begreeeeen-standalone .bg-menu-toggle{
    right: 16px !important;
    top: 22px !important;
  }
}



/* =====================================================
   be Greeeeen TOP page v44
   - Mobile hamburger menu: show DOWNLOADS label clearly
===================================================== */

@media (max-width: 767px){
  body.begreeeeen-standalone .bg-nav li:last-child{
    padding-top: 14px !important;
  }

  body.begreeeeen-standalone .bg-nav li:last-child a.bg-nav-download,
  body.begreeeeen-standalone .bg-nav a.bg-nav-download,
  body.begreeeeen-standalone .bg-nav-download{
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 12px 18px !important;
    background: #fff !important;
    color: #000 !important;
    border: 1px solid #fff !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
    font-weight: 400 !important;
    text-align: center !important;
    letter-spacing: .04em !important;
    box-sizing: border-box !important;
  }

  body.begreeeeen-standalone .bg-nav li:last-child a.bg-nav-download:hover,
  body.begreeeeen-standalone .bg-nav li:last-child a.bg-nav-download:focus{
    background: #000 !important;
    color: #fff !important;
  }
}



/* =====================================================
   be Greeeeen TOP page v45
   - Tighten SERVICE body letter spacing
===================================================== */

body.begreeeeen-top-body .bg-top-service-text{
  letter-spacing: 0 !important;
}

body.begreeeeen-top-body .bg-top-service-text p{
  letter-spacing: 0 !important;
}

@media (max-width: 767px){
  body.begreeeeen-top-body .bg-top-service-text,
  body.begreeeeen-top-body .bg-top-service-text p{
    letter-spacing: 0 !important;
  }
}



/* =====================================================
   be Greeeeen final fine tuning v46
   - TOP SERVICE text width
   - Equal section dot spacing
   - Instagram bottom spacing / icon size
   - Contact pages dot removal
   - Header nav cleanup on all be Greeeeen pages
===================================================== */

/* Header nav: remove underline and hide WORKS by href, not by item order */
body.begreeeeen-standalone .bg-nav a,
body.begreeeeen-standalone .bg-nav a:link,
body.begreeeeen-standalone .bg-nav a:visited,
body.begreeeeen-standalone .bg-nav a:hover,
body.begreeeeen-standalone .bg-nav a:focus,
body.begreeeeen-standalone .bg-nav a:active{
  text-decoration: none !important;
}

body.begreeeeen-standalone .bg-nav a[href*="#works"],
body.begreeeeen-standalone .bg-nav a[href*="/#works"]{
  display: none !important;
}

body.begreeeeen-standalone .bg-nav li:has(a[href*="#works"]),
body.begreeeeen-standalone .bg-nav li:has(a[href*="/#works"]){
  display: none !important;
}

/* Cancel the older order-based WORKS hide on TOP so NEWS remains visible */
body.begreeeeen-top-body .bg-nav ul > li:nth-child(3){
  display: inline-flex !important;
}

/* TOP SERVICE: wider body area so long lines wrap less */
body.begreeeeen-top-body .bg-top-service-section{
  width: min(1040px, calc(100% - 40px)) !important;
}

body.begreeeeen-top-body .bg-top-service-text{
  max-width: 900px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* TOP section dots: keep SERVICE top dot hidden only */
body.begreeeeen-top-body .bg-top-service-section > .bg-section-dot{
  display: none !important;
}

body.begreeeeen-top-body .bg-top-news-section > .bg-section-dot,
body.begreeeeen-top-body .bg-top-access-section > .bg-section-dot,
body.begreeeeen-top-body .bg-top-instagram-section > .bg-section-dot,
body.begreeeeen-top-body .bg-top-contact-section > .bg-section-dot{
  display: block !important;
  margin-top: 0 !important;
  margin-bottom: 34px !important;
}

/* Equalize vertical rhythm around dots and section titles */
body.begreeeeen-top-body .bg-top-news-section,
body.begreeeeen-top-body .bg-top-access-section,
body.begreeeeen-top-body .bg-top-instagram-section,
body.begreeeeen-top-body .bg-top-contact-section{
  padding-top: 46px !important;
}

body.begreeeeen-top-body .bg-top-news-more{
  margin-bottom: 0 !important;
}

body.begreeeeen-top-body .bg-top-access-text{
  margin-top: 36px !important;
}

/* Instagram: keep NEWS width, reduce space below feed, enlarge icon */
body.begreeeeen-top-body .bg-top-instagram-wrap{
  max-width: 920px !important;
  margin-top: 42px !important;
  margin-bottom: 14px !important;
}

body.begreeeeen-top-body .bg-top-instagram-icon{
  margin-top: 14px !important;
  margin-bottom: 18px !important;
}

body.begreeeeen-top-body .bg-top-instagram-icon a{
  width: 50px !important;
  height: 50px !important;
}

body.begreeeeen-top-body .bg-top-instagram-icon svg{
  width: 42px !important;
  height: 42px !important;
}

/* CONTACT dedicated pages: remove the dot above CONTACT title */
body.begreeeeen-contact-body .bg-contact-section > .bg-section-dot,
body.begreeeeen-contact-thanks-page .bg-thanks-section > .bg-section-dot,
body.begreeeeen-contact-thanks-body .bg-thanks-section > .bg-section-dot,
body.begreeeeen-contact-thanks-page .bg-contact-section > .bg-section-dot,
body.begreeeeen-contact-thanks-body .bg-contact-section > .bg-section-dot{
  display: none !important;
}

/* If thanks page uses CONTACT section classes */
body.begreeeeen-contact-thanks-page .bg-section-dot:first-child,
body.begreeeeen-contact-thanks-body .bg-section-dot:first-child{
  display: none !important;
}

/* Mobile adjustments */
@media (max-width: 767px){
  body.begreeeeen-top-body .bg-nav ul > li:nth-child(3){
    display: block !important;
  }

  body.begreeeeen-standalone .bg-nav li:has(a[href*="#works"]),
  body.begreeeeen-standalone .bg-nav li:has(a[href*="/#works"]){
    display: none !important;
  }

  body.begreeeeen-top-body .bg-top-service-section{
    width: calc(100% - 28px) !important;
  }

  body.begreeeeen-top-body .bg-top-service-text{
    max-width: 100% !important;
    text-align: left !important;
  }

  body.begreeeeen-top-body .bg-top-service-text p{
    text-align: left !important;
  }

  body.begreeeeen-top-body .bg-top-news-section,
  body.begreeeeen-top-body .bg-top-access-section,
  body.begreeeeen-top-body .bg-top-instagram-section,
  body.begreeeeen-top-body .bg-top-contact-section{
    padding-top: 36px !important;
  }

  body.begreeeeen-top-body .bg-top-instagram-icon a{
    width: 44px !important;
    height: 44px !important;
  }

  body.begreeeeen-top-body .bg-top-instagram-icon svg{
    width: 38px !important;
    height: 38px !important;
  }
}



/* =====================================================
   be Greeeeen final fine tuning v47
   - TOP: adjust dot spacing more evenly
   - TOP: reduce Instagram icon area spacing
   - CONTACT/THANKS: remove WORKS and underlines robustly
===================================================== */

/* All be Greeeeen nav: no underline */
body.begreeeeen-standalone .bg-nav a,
body.begreeeeen-standalone .bg-nav a:link,
body.begreeeeen-standalone .bg-nav a:visited,
body.begreeeeen-standalone .bg-nav a:hover,
body.begreeeeen-standalone .bg-nav a:focus,
body.begreeeeen-standalone .bg-nav a:active{
  text-decoration: none !important;
}

/* Remove WORKS menu robustly when it is the 3rd item in non-TOP pages */
body.begreeeeen-standalone:not(.begreeeeen-top-body) .bg-nav ul > li:nth-child(3){
  display: none !important;
}

/* Keep TOP NEWS visible */
body.begreeeeen-top-body .bg-nav ul > li:nth-child(3){
  display: inline-flex !important;
}

/* TOP: equalize the spacing around section dots */
body.begreeeeen-top-body .bg-top-news-section,
body.begreeeeen-top-body .bg-top-access-section,
body.begreeeeen-top-body .bg-top-instagram-section,
body.begreeeeen-top-body .bg-top-contact-section{
  padding-top: 38px !important;
}

body.begreeeeen-top-body .bg-top-news-section > .bg-section-dot,
body.begreeeeen-top-body .bg-top-access-section > .bg-section-dot,
body.begreeeeen-top-body .bg-top-instagram-section > .bg-section-dot,
body.begreeeeen-top-body .bg-top-contact-section > .bg-section-dot{
  display: block !important;
  margin-top: 0 !important;
  margin-bottom: 26px !important;
}

/* TOP: keep SERVICE dot removed only */
body.begreeeeen-top-body .bg-top-service-section > .bg-section-dot{
  display: none !important;
}

/* TOP: space between VIEW ALL and ACCESS dot */
body.begreeeeen-top-body .bg-top-news-more{
  margin-top: 44px !important;
  margin-bottom: 0 !important;
}

/* TOP: space between ACCESS text and INSTAGRAM dot */
body.begreeeeen-top-body .bg-top-access-section{
  padding-bottom: 38px !important;
}

/* TOP: Instagram bottom spacing and icon */
body.begreeeeen-top-body .bg-top-instagram-wrap{
  margin-bottom: 8px !important;
}

body.begreeeeen-top-body .bg-top-instagram-icon{
  margin-top: 8px !important;
  margin-bottom: 10px !important;
}

body.begreeeeen-top-body .bg-top-instagram-icon a{
  width: 52px !important;
  height: 52px !important;
}

body.begreeeeen-top-body .bg-top-instagram-icon svg{
  width: 44px !important;
  height: 44px !important;
}

/* CONTACT / THANKS pages: no top dot */
body.begreeeeen-contact-body .bg-section-dot,
body.begreeeeen-contact-thanks-page .bg-section-dot,
body.begreeeeen-contact-thanks-body .bg-section-dot{
  display: none !important;
}

/* CONTACT / THANKS pages: extra robust nav cleanup */
body.begreeeeen-contact-body .bg-nav ul > li:nth-child(3),
body.begreeeeen-contact-thanks-page .bg-nav ul > li:nth-child(3),
body.begreeeeen-contact-thanks-body .bg-nav ul > li:nth-child(3){
  display: none !important;
}

body.begreeeeen-contact-body .bg-nav a,
body.begreeeeen-contact-thanks-page .bg-nav a,
body.begreeeeen-contact-thanks-body .bg-nav a{
  text-decoration: none !important;
}

/* If the body class differs, target the fixed URL-related standalone pages by page class fallback */
body.begreeeeen-standalone[class*="contact"] .bg-nav ul > li:nth-child(3){
  display: none !important;
}

body.begreeeeen-standalone[class*="contact"] .bg-nav a{
  text-decoration: none !important;
}

@media (max-width: 767px){
  body.begreeeeen-standalone:not(.begreeeeen-top-body) .bg-nav ul > li:nth-child(3){
    display: none !important;
  }

  body.begreeeeen-top-body .bg-nav ul > li:nth-child(3){
    display: block !important;
  }

  body.begreeeeen-top-body .bg-top-news-section,
  body.begreeeeen-top-body .bg-top-access-section,
  body.begreeeeen-top-body .bg-top-instagram-section,
  body.begreeeeen-top-body .bg-top-contact-section{
    padding-top: 32px !important;
  }

  body.begreeeeen-top-body .bg-top-news-section > .bg-section-dot,
  body.begreeeeen-top-body .bg-top-access-section > .bg-section-dot,
  body.begreeeeen-top-body .bg-top-instagram-section > .bg-section-dot,
  body.begreeeeen-top-body .bg-top-contact-section > .bg-section-dot{
    margin-bottom: 22px !important;
  }
}



/* =====================================================
   be Greeeeen final fine tuning v48
   - TOP: tighten section divider spacing
   - TOP: enlarge Instagram icon another 20%
===================================================== */

/* Make the dot feel centered between previous content and next title */
body.begreeeeen-top-body .bg-top-news-section,
body.begreeeeen-top-body .bg-top-access-section,
body.begreeeeen-top-body .bg-top-instagram-section,
body.begreeeeen-top-body .bg-top-contact-section{
  padding-top: 30px !important;
}

body.begreeeeen-top-body .bg-top-news-section > .bg-section-dot,
body.begreeeeen-top-body .bg-top-access-section > .bg-section-dot,
body.begreeeeen-top-body .bg-top-instagram-section > .bg-section-dot,
body.begreeeeen-top-body .bg-top-contact-section > .bg-section-dot{
  margin-top: 0 !important;
  margin-bottom: 22px !important;
}

/* SERVICE button to NEWS divider */
body.begreeeeen-top-body .bg-top-service-section{
  padding-bottom: 30px !important;
}

body.begreeeeen-top-body .bg-top-service-button-wrap{
  margin-bottom: 0 !important;
}

/* NEWS VIEW ALL to ACCESS divider */
body.begreeeeen-top-body .bg-top-news-section{
  padding-bottom: 30px !important;
}

body.begreeeeen-top-body .bg-top-news-more{
  margin-top: 42px !important;
  margin-bottom: 0 !important;
}

/* ACCESS text to INSTAGRAM divider */
body.begreeeeen-top-body .bg-top-access-section{
  padding-bottom: 30px !important;
}

/* INSTAGRAM feed to icon: reduce gap; icon to CONTACT divider: keep compact */
body.begreeeeen-top-body .bg-top-instagram-section{
  padding-bottom: 28px !important;
}

body.begreeeeen-top-body .bg-top-instagram-wrap{
  margin-bottom: 4px !important;
}

body.begreeeeen-top-body .bg-top-instagram-icon{
  margin-top: 6px !important;
  margin-bottom: 8px !important;
}

/* Instagram icon: +20% from v47 */
body.begreeeeen-top-body .bg-top-instagram-icon a{
  width: 62px !important;
  height: 62px !important;
}

body.begreeeeen-top-body .bg-top-instagram-icon svg{
  width: 53px !important;
  height: 53px !important;
}

@media (max-width: 767px){
  body.begreeeeen-top-body .bg-top-news-section,
  body.begreeeeen-top-body .bg-top-access-section,
  body.begreeeeen-top-body .bg-top-instagram-section,
  body.begreeeeen-top-body .bg-top-contact-section{
    padding-top: 28px !important;
  }

  body.begreeeeen-top-body .bg-top-news-section > .bg-section-dot,
  body.begreeeeen-top-body .bg-top-access-section > .bg-section-dot,
  body.begreeeeen-top-body .bg-top-instagram-section > .bg-section-dot,
  body.begreeeeen-top-body .bg-top-contact-section > .bg-section-dot{
    margin-bottom: 20px !important;
  }

  body.begreeeeen-top-body .bg-top-instagram-icon a{
    width: 52px !important;
    height: 52px !important;
  }

  body.begreeeeen-top-body .bg-top-instagram-icon svg{
    width: 45px !important;
    height: 45px !important;
  }
}



/* =====================================================
   be Greeeeen final fine tuning v49
   - TOP: place each section dot in the visual center of the gap
   - Instagram icon +20% kept
===================================================== */

/* SERVICE -> NEWS */
body.begreeeeen-top-body .bg-top-service-section{
  padding-bottom: 34px !important;
}

body.begreeeeen-top-body .bg-top-news-section{
  padding-top: 0 !important;
  padding-bottom: 34px !important;
}

body.begreeeeen-top-body .bg-top-news-section > .bg-section-dot{
  display: block !important;
  margin-top: 0 !important;
  margin-bottom: 34px !important;
}

/* NEWS -> ACCESS */
body.begreeeeen-top-body .bg-top-access-section{
  padding-top: 0 !important;
  padding-bottom: 34px !important;
}

body.begreeeeen-top-body .bg-top-access-section > .bg-section-dot{
  display: block !important;
  margin-top: 0 !important;
  margin-bottom: 34px !important;
}

/* ACCESS -> INSTAGRAM */
body.begreeeeen-top-body .bg-top-instagram-section{
  padding-top: 0 !important;
  padding-bottom: 34px !important;
}

body.begreeeeen-top-body .bg-top-instagram-section > .bg-section-dot{
  display: block !important;
  margin-top: 0 !important;
  margin-bottom: 34px !important;
}

/* INSTAGRAM -> CONTACT */
body.begreeeeen-top-body .bg-top-contact-section{
  padding-top: 0 !important;
}

body.begreeeeen-top-body .bg-top-contact-section > .bg-section-dot{
  display: block !important;
  margin-top: 0 !important;
  margin-bottom: 34px !important;
}

body.begreeeeen-top-body .bg-top-instagram-wrap{
  margin-bottom: 6px !important;
}

body.begreeeeen-top-body .bg-top-instagram-icon{
  margin-top: 6px !important;
  margin-bottom: 34px !important;
}

/* Instagram icon: additional +20% size */
body.begreeeeen-top-body .bg-top-instagram-icon a{
  width: 74px !important;
  height: 74px !important;
}

body.begreeeeen-top-body .bg-top-instagram-icon svg{
  width: 64px !important;
  height: 64px !important;
}

@media (max-width: 767px){
  body.begreeeeen-top-body .bg-top-service-section,
  body.begreeeeen-top-body .bg-top-news-section,
  body.begreeeeen-top-body .bg-top-access-section,
  body.begreeeeen-top-body .bg-top-instagram-section{
    padding-bottom: 28px !important;
  }

  body.begreeeeen-top-body .bg-top-news-section,
  body.begreeeeen-top-body .bg-top-access-section,
  body.begreeeeen-top-body .bg-top-instagram-section,
  body.begreeeeen-top-body .bg-top-contact-section{
    padding-top: 0 !important;
  }

  body.begreeeeen-top-body .bg-top-news-section > .bg-section-dot,
  body.begreeeeen-top-body .bg-top-access-section > .bg-section-dot,
  body.begreeeeen-top-body .bg-top-instagram-section > .bg-section-dot,
  body.begreeeeen-top-body .bg-top-contact-section > .bg-section-dot{
    margin-bottom: 28px !important;
  }

  body.begreeeeen-top-body .bg-top-instagram-icon{
    margin-bottom: 28px !important;
  }

  body.begreeeeen-top-body .bg-top-instagram-icon a{
    width: 58px !important;
    height: 58px !important;
  }

  body.begreeeeen-top-body .bg-top-instagram-icon svg{
    width: 50px !important;
    height: 50px !important;
  }
}



/* =====================================================
   be Greeeeen TOP page v50
   - Trial: independent section divider dots
   - Dots are placed between sections, not inside sections
===================================================== */

/* Hide old in-section dots on TOP because v50 uses independent dividers */
body.begreeeeen-top-body .bg-top-service-section > .bg-section-dot,
body.begreeeeen-top-body .bg-top-news-section > .bg-section-dot,
body.begreeeeen-top-body .bg-top-access-section > .bg-section-dot,
body.begreeeeen-top-body .bg-top-instagram-section > .bg-section-dot,
body.begreeeeen-top-body .bg-top-contact-section > .bg-section-dot{
  display: none !important;
}

/* Reset TOP section vertical padding so divider controls the space */
body.begreeeeen-top-body .bg-top-service-section,
body.begreeeeen-top-body .bg-top-news-section,
body.begreeeeen-top-body .bg-top-access-section,
body.begreeeeen-top-body .bg-top-instagram-section,
body.begreeeeen-top-body .bg-top-contact-section{
  padding-top: 0 !important;
}

body.begreeeeen-top-body .bg-top-service-section{
  padding-bottom: 0 !important;
}

body.begreeeeen-top-body .bg-top-news-section,
body.begreeeeen-top-body .bg-top-access-section,
body.begreeeeen-top-body .bg-top-instagram-section{
  padding-bottom: 0 !important;
}

body.begreeeeen-top-body .bg-top-contact-section{
  padding-bottom: 42px !important;
}

/* Independent divider dot */
body.begreeeeen-top-body .bg-top-divider{
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: min(920px, calc(100% - 40px)) !important;
  height: 86px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  text-align: center !important;
}

body.begreeeeen-top-body .bg-top-divider span{
  display: block !important;
  width: 9px !important;
  height: 9px !important;
  border-radius: 999px !important;
  background: #fff !important;
}

/* Instagram feed to icon area */
body.begreeeeen-top-body .bg-top-instagram-wrap{
  margin-bottom: 6px !important;
}

body.begreeeeen-top-body .bg-top-instagram-icon{
  margin-top: 6px !important;
  margin-bottom: 0 !important;
}

/* Keep the larger Instagram icon */
body.begreeeeen-top-body .bg-top-instagram-icon a{
  width: 74px !important;
  height: 74px !important;
}

body.begreeeeen-top-body .bg-top-instagram-icon svg{
  width: 64px !important;
  height: 64px !important;
}

/* Slightly shorter divider after Instagram icon */
body.begreeeeen-top-body .bg-top-divider--after-instagram{
  height: 72px !important;
}

/* Mobile */
@media (max-width: 767px){
  body.begreeeeen-top-body .bg-top-divider{
    width: calc(100% - 28px) !important;
    height: 64px !important;
  }

  body.begreeeeen-top-body .bg-top-divider span{
    width: 8px !important;
    height: 8px !important;
  }

  body.begreeeeen-top-body .bg-top-divider--after-instagram{
    height: 58px !important;
  }

  body.begreeeeen-top-body .bg-top-instagram-icon a{
    width: 58px !important;
    height: 58px !important;
  }

  body.begreeeeen-top-body .bg-top-instagram-icon svg{
    width: 50px !important;
    height: 50px !important;
  }
}



/* =====================================================
   be Greeeeen TOP page v51
   - Enlarge independent section divider dots by 30%
===================================================== */

body.begreeeeen-top-body .bg-top-divider span{
  width: 12px !important;
  height: 12px !important;
}

@media (max-width: 767px){
  body.begreeeeen-top-body .bg-top-divider span{
    width: 10px !important;
    height: 10px !important;
  }
}



/* =====================================================
   be Greeeeen footer logo link v53
===================================================== */

body.begreeeeen-standalone .bg-footer-waibi-logo-link{
  display: inline-block !important;
  line-height: 0 !important;
  text-decoration: none !important;
}

body.begreeeeen-standalone .bg-footer-waibi-logo-link:hover,
body.begreeeeen-standalone .bg-footer-waibi-logo-link:focus{
  opacity: .78 !important;
}


/* =====================================================
   be Greeeeen common header/footer v54
===================================================== */

body.begreeeeen-standalone .bg-footer-waibi-logo-link{
  display: inline-block !important;
  line-height: 0 !important;
  text-decoration: none !important;
}

body.begreeeeen-standalone .bg-footer-waibi-logo-link:hover,
body.begreeeeen-standalone .bg-footer-waibi-logo-link:focus{
  opacity: .78 !important;
}



/* =====================================================
   be Greeeeen common header/footer fix v56
   - NEWS menu visible on all common-header pages
   - Remove old WORKS only when old markup remains
   - Contact thanks footer line: single rule only
===================================================== */

/* Common nav: show NEWS again even if an older nth-child rule hid the 3rd item */
body.begreeeeen-standalone .bg-nav ul > li,
body.begreeeeen-standalone .bg-nav ul > li:nth-child(3){
  display: inline-flex !important;
}

/* If any old template still has WORKS, hide it by href instead of item number */
body.begreeeeen-standalone .bg-nav li:has(a[href*="#works"]),
body.begreeeeen-standalone .bg-nav li:has(a[href*="/#works"]){
  display: none !important;
}

/* No underline on common nav */
body.begreeeeen-standalone .bg-nav a,
body.begreeeeen-standalone .bg-nav a:link,
body.begreeeeen-standalone .bg-nav a:visited,
body.begreeeeen-standalone .bg-nav a:hover,
body.begreeeeen-standalone .bg-nav a:focus,
body.begreeeeen-standalone .bg-nav a:active{
  text-decoration: none !important;
}

/* Contact thanks footer: prevent duplicated horizontal rule */
body.begreeeeen-contact-thanks-page .bg-lp-footer,
body.begreeeeen-contact-thanks-body .bg-lp-footer{
  border-top: 0 !important;
}

body.begreeeeen-contact-thanks-page .bg-footer-bottom,
body.begreeeeen-contact-thanks-body .bg-footer-bottom{
  border-top: 1px solid rgba(255,255,255,.8) !important;
  padding-top: 24px !important;
}

body.begreeeeen-contact-thanks-page .bg-footer-links,
body.begreeeeen-contact-thanks-body .bg-footer-links{
  width: auto !important;
  margin: 0 auto 18px !important;
  padding-top: 0 !important;
  border-top: 0 !important;
}

/* Mobile menu */
@media (max-width: 767px){
  body.begreeeeen-standalone .bg-nav ul > li,
  body.begreeeeen-standalone .bg-nav ul > li:nth-child(3){
    display: block !important;
  }

  body.begreeeeen-standalone .bg-nav li:has(a[href*="#works"]),
  body.begreeeeen-standalone .bg-nav li:has(a[href*="/#works"]){
    display: none !important;
  }
}



/* =====================================================
   be Greeeeen common header/footer fix v57
   - Force NEWS display on pages where older contact-specific CSS hid li:nth-child(3)
   - WORKS is removed from common header HTML; old #works items remain hidden only as fallback
   - Contact thanks footer line: prevent double rule more strongly
===================================================== */

/* NEWS is the 3rd item in the common header. Older CSS hid the 3rd item to remove WORKS.
   Override it with higher specificity for every be Greeeeen page body class. */
body.begreeeeen-standalone.begreeeeen-top-body .bg-nav ul > li:nth-child(3),
body.begreeeeen-standalone.begreeeeen-news-body .bg-nav ul > li:nth-child(3),
body.begreeeeen-standalone.begreeeeen-single-body .bg-nav ul > li:nth-child(3),
body.begreeeeen-standalone.begreeeeen-contact-body .bg-nav ul > li:nth-child(3),
body.begreeeeen-standalone.begreeeeen-contact-thanks-page .bg-nav ul > li:nth-child(3),
body.begreeeeen-standalone.begreeeeen-contact-thanks-body .bg-nav ul > li:nth-child(3),
body.begreeeeen-standalone.begreeeeen-download-body .bg-nav ul > li:nth-child(3){
  display: inline-flex !important;
}

/* Fallback only: if old non-common header still contains WORKS, hide the item by href. */
body.begreeeeen-standalone .bg-nav li:has(a[href*="#works"]),
body.begreeeeen-standalone .bg-nav li:has(a[href*="/#works"]){
  display: none !important;
}

/* Keep nav links clean */
body.begreeeeen-standalone .bg-nav a,
body.begreeeeen-standalone .bg-nav a:link,
body.begreeeeen-standalone .bg-nav a:visited,
body.begreeeeen-standalone .bg-nav a:hover,
body.begreeeeen-standalone .bg-nav a:focus,
body.begreeeeen-standalone .bg-nav a:active{
  text-decoration: none !important;
}

/* Contact thanks footer: single border only on footer-bottom */
body.begreeeeen-contact-thanks-page .bg-lp-footer,
body.begreeeeen-contact-thanks-body .bg-lp-footer,
body.begreeeeen-contact-thanks-page .bg-footer-links,
body.begreeeeen-contact-thanks-body .bg-footer-links{
  border-top: 0 !important;
}

body.begreeeeen-contact-thanks-page .bg-footer-bottom,
body.begreeeeen-contact-thanks-body .bg-footer-bottom{
  border-top: 1px solid rgba(255,255,255,.8) !important;
}

@media (max-width: 767px){
  body.begreeeeen-standalone.begreeeeen-top-body .bg-nav ul > li:nth-child(3),
  body.begreeeeen-standalone.begreeeeen-news-body .bg-nav ul > li:nth-child(3),
  body.begreeeeen-standalone.begreeeeen-single-body .bg-nav ul > li:nth-child(3),
  body.begreeeeen-standalone.begreeeeen-contact-body .bg-nav ul > li:nth-child(3),
  body.begreeeeen-standalone.begreeeeen-contact-thanks-page .bg-nav ul > li:nth-child(3),
  body.begreeeeen-standalone.begreeeeen-contact-thanks-body .bg-nav ul > li:nth-child(3),
  body.begreeeeen-standalone.begreeeeen-download-body .bg-nav ul > li:nth-child(3){
    display: block !important;
  }

  body.begreeeeen-standalone .bg-nav li:has(a[href*="#works"]),
  body.begreeeeen-standalone .bg-nav li:has(a[href*="/#works"]){
    display: none !important;
  }
}
