/* ========================================================
   Landing Page Custom Reset & Overrides for Flatsome
   Theme: wdm-ekoburu
   ======================================================== */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&family=Roboto:wght@400;700;900&display=swap');

/* ========================================================
   GLOBAL ::marker & LIST BULLET RESET
   ======================================================== */
::marker,
*::marker,
li::marker,
summary::marker {
  display: none !important;
  content: "" !important;
  font-size: 0 !important;
  color: transparent !important;
  width: 0 !important;
  height: 0 !important;
}

ul,
ol,
li {
  list-style: none !important;
  list-style-type: none !important;
  list-style-image: none !important;
}

.front ul,
.front ol,
.front li,
.front ul > li,
.front ol > li,
.page-wrapper ul > li,
.entry-content ul > li {
  list-style: none !important;
  list-style-type: none !important;
}

/* ========================================================
   1. GLOBAL TYPOGRAPHY & FLATSOME LAYOUT RESETS
   ======================================================== */
body.home,
.front.in_area,
header,
footer {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "Yu Gothic Medium", Meiryo, sans-serif;
  color: #333333;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body.home #footer {
  display: none !important;
}

body.home #main {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

body.home .content-area {
  margin-bottom: 0 !important;
}

/* Flatsome Section & Row Wrapper Normalization */
.front.in_area .section {
  display: block !important;
  min-height: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.front.in_area .section-content {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}
.section.contact.in_type {
    padding-top: 50px !important;
    margin-bottom: 160px !important;
}
ul.info_list.info01 {
    margin-bottom: 0 !important;
}
.bnr_area.row {
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: 100% !important;
}

.bnr_area .col {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Ensure Flatsome default margins don't bleed into headers or content */
header p,
.head p,
.header-bottom p,
.float_head p {
  padding: 0;
  margin: 0;
}

header ul,
.header-bottom ul {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

/* ========================================================
   2. FLATSOME HEADER WRAPPER INTEGRATION & HEADER MAIN
   ======================================================== */
#header.header {
  height: auto !important;
  max-height: none !important;
  background-color: #ffffff !important;
  border-bottom: none !important;
  box-shadow: none !important;
  position: relative !important;
  z-index: 100 !important;
}

/* ========================================================
   DESKTOP HEADER (min-width: 769px)
   ======================================================== */
@media screen and (min-width: 769px) {
  #header .header-wrapper,
  #masthead.header-main {
    background: #ffffff !important;
    max-width: 100% !important;
    width: 100% !important;
    height: 95px !important;
    min-height: 95px !important;
    border: none !important;
    box-shadow: none !important;
  }

#header a {
  text-decoration: none !important;
  color: inherit;
}

/* Header text line-height normalization so phone block does not overflow */
header .head p,
header .head a,
header .head span {
  line-height: 1;
}

/* Header Main flex container */
header .head .inner {
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 1200px !important;
  margin: 0 auto !important;
}

/* --- 1. LOGO AREA --- */
header .head .inner .logo_area {
  flex-shrink: 0 !important;
  white-space: nowrap !important;
  padding-top: 15px !important;
}

header .head .inner .logo_area .top {
  color: #4B4B4B !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  margin-bottom: 7px !important;
  white-space: nowrap !important;
}

header .head .inner .logo_area .logo a {
  display: flex !important;
  align-items: center !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: opacity 0.2s ease !important;
}

header .head .inner .logo_area .logo a:hover {
  opacity: 0.7 !important;
}

header .head .inner .logo_area .logo a span {
  color: #1E1E1E !important;
  font-size: 29px !important;
  font-weight: 700 !important;
  margin-right: 10px !important;
  white-space: nowrap !important;
  line-height: 1 !important;
}

header .head .inner .logo_area .logo a img {
  width: 150px !important;
  height: auto !important;
  flex-shrink: 0 !important;
}

/* --- 2. 50% DISCOUNT BANNER (.tel_off) --- */
header .head .inner .tel_off {
  flex-shrink: 0 !important;
  width: 190px !important;
  margin: 0 19px 0 30px !important;
  position: relative !important;
}

header .head .inner .tel_off .tit {
  display: block !important;
  color: #ED1C24 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  width: 170px !important;
  height: 22px !important;
  padding-top: 3px !important;
  padding-left: 20px !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  box-sizing: border-box !important;
  position: absolute !important;
  top: 9px !important;
  left: 0 !important;
  right: 0 !important;
  margin: 0 auto !important;
  white-space: nowrap !important;
}

header .head .inner .tel_off .max {
  display: block !important;
  width: 16px !important;
  height: 34px !important;
  position: absolute !important;
  top: 40px !important;
  left: 16px !important;
}

header .head .inner .tel_off .max span {
  -ms-writing-mode: tb-rl !important;
  -webkit-writing-mode: vertical-rl !important;
  writing-mode: vertical-rl !important;
  color: #ffffff !important;
  font-size: 16px !important;
  font-weight: 700 !important;
}

header .head .inner .tel_off .off50 {
  display: block !important;
  color: #FFF048 !important;
  font-size: 26px !important;
  font-weight: 700 !important;
  position: absolute !important;
  top: 33px !important;
  left: 35px !important;
  white-space: nowrap !important;
}

header .head .inner .tel_off .off50 strong {
  color: #FFF048 !important;
  font-size: 48px !important;
  font-family: "Roboto", sans-serif !important;
  font-weight: 700 !important;
  vertical-align: -4px !important;
}

header .head .inner .tel_off .off50 span {
  color: #FFF048 !important;
  font-size: 35px !important;
  vertical-align: -3px !important;
  padding: 0 4px 0 2px !important;
  font-weight: 700 !important;
}

/* --- 3. BUTTON AREA (.btn_area) --- */
header .head .inner .btn_area {
  display: flex !important;
  align-items: center !important;
  padding-top: 12px !important;
  flex-shrink: 0 !important;
}

header .head .inner .btn_area .tel_area {
  flex-shrink: 0 !important;
}

header .head .inner .btn_area .tel_area .tel_num {
  display: flex !important;
  align-items: center !important;
  white-space: nowrap !important;
}

header .head .inner .btn_area .tel_area .tel_num img {
  width: 37px !important;
  height: 24px !important;
  padding-bottom: 3px !important;
  flex-shrink: 0 !important;
}

header .head .inner .btn_area .tel_area .tel_num a {
  color: #1E1E1E !important;
  font-size: 36px !important;
  font-weight: 700 !important;
  font-family: "Roboto", sans-serif !important;
  margin-left: 10px !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  transition: opacity 0.2s ease !important;
}

header .head .inner .btn_area .tel_area .tel_num a:hover {
  opacity: 0.7 !important;
}

header .head .inner .btn_area .tel_area .tel_text {
  color: #1E1E1E !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  margin-top: 10px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

header .head .inner .btn_area .tel_area .tel_text span {
  font-size: 14px !important;
}

header .head .inner .btn_area .mail_area {
  margin-right: 8px !important;
  flex-shrink: 0 !important;
}

header .head .inner .btn_area .mail_area a {
  display: block !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 22px !important;
  width: 170px !important;
  height: 73px !important;
  padding: 15px 0 0 60px !important;
  box-sizing: border-box !important;
  text-decoration: none !important;
  background-repeat: no-repeat !important;
  background-position: top left !important;
  background-size: 100% !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  transition: opacity 0.2s ease !important;
}

header .head .inner .btn_area .mail_area a:hover {
  opacity: 0.7 !important;
}

header .head .inner .btn_area .mail_area a strong {
  color: #ffffff !important;
  font-size: 20px !important;
  vertical-align: -1px !important;
}

header .head .inner .btn_area .mail_area a span {
  color: #ffffff !important;
  font-size: 16px !important;
}

header .head .inner .btn_area .line_area {
  flex-shrink: 0 !important;
}

header .head .inner .btn_area .line_area a {
  display: block !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 22px !important;
  width: 170px !important;
  height: 73px !important;
  padding: 15px 0 0 60px !important;
  box-sizing: border-box !important;
  text-decoration: none !important;
  background-repeat: no-repeat !important;
  background-position: top left !important;
  background-size: 100% !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  transition: opacity 0.2s ease !important;
}

header .head .inner .btn_area .line_area a:hover {
  opacity: 0.7 !important;
}

header .head .inner .btn_area .line_area a strong {
  color: #ffffff !important;
  font-size: 20px !important;
  vertical-align: -1px !important;
}

header .head .inner .btn_area .line_area a span {
  color: #ffffff !important;
  font-size: 16px !important;
}

  /* Hide mobile toggle on desktop */
  .mobile-menu-toggle-wrap,
  .head .menu_btn {
    display: none !important;
  }
}

/* Responsive Laptop (769px to 1300px) scaling */
@media screen and (min-width: 769px) and (max-width: 1300px) {
  #header .header-wrapper,
  #masthead.header-main,
  header .head {
    height: 7.3076923077vw !important;
    min-height: 7.3076923077vw !important;
  }
  header .head .inner {
    width: 92.3076923077vw !important;
  }
  header .head .inner .logo_area {
    padding-top: 1.1538461538vw !important;
  }
  header .head .inner .logo_area .top {
    font-size: 0.9230769231vw !important;
    margin-bottom: 0.5384615385vw !important;
  }
  header .head .inner .logo_area .logo a span {
    font-size: 2.2307692308vw !important;
    margin-right: 0.7692307692vw !important;
  }
  header .head .inner .logo_area .logo a img {
    width: 11.5384615385vw !important;
  }
  header .head .inner .tel_off {
    width: 14.6153846154vw !important;
    margin: 0 1.4615384615vw 0 2.3076923077vw !important;
  }
  header .head .inner .tel_off .tit {
    font-size: 1.1538461538vw !important;
    width: 13.0769230769vw !important;
    height: 1.6923076923vw !important;
    padding-top: 0.2307692308vw !important;
    padding-left: 1.5384615385vw !important;
    border-radius: 0.9230769231vw !important;
    top: 0.6923076923vw !important;
  }
  header .head .inner .tel_off .max {
    width: 1.2307692308vw !important;
    height: 2.6153846154vw !important;
    top: 3.0769230769vw !important;
    left: 1.2307692308vw !important;
  }
  header .head .inner .tel_off .max span {
    font-size: 1.2307692308vw !important;
  }
  header .head .inner .tel_off .off50 {
    font-size: 2vw !important;
    top: 2.5384615385vw !important;
    left: 2.6923076923vw !important;
  }
  header .head .inner .tel_off .off50 strong {
    font-size: 3.6923076923vw !important;
    vertical-align: -0.3076923077vw !important;
  }
  header .head .inner .tel_off .off50 span {
    font-size: 2.6923076923vw !important;
    vertical-align: -0.2307692308vw !important;
    padding: 0 0.3076923077vw 0 0.1538461538vw !important;
  }
  header .head .inner .btn_area {
    padding-top: 0.9230769231vw !important;
  }
  header .head .inner .btn_area .tel_area .tel_num img {
    width: 2.8461538462vw !important;
    height: 1.8461538462vw !important;
    padding-bottom: 0.2307692308vw !important;
  }
  header .head .inner .btn_area .tel_area .tel_num a {
    font-size: 2.7692307692vw !important;
    margin-left: 0.7692307692vw !important;
  }
  header .head .inner .btn_area .tel_area .tel_text {
    font-size: 1.1538461538vw !important;
    margin-top: 0.7692307692vw !important;
  }
  header .head .inner .btn_area .tel_area .tel_text span {
    font-size: 1.0769230769vw !important;
  }
  header .head .inner .btn_area .mail_area {
    margin-right: 0.6153846154vw !important;
  }
  header .head .inner .btn_area .mail_area a,
  header .head .inner .btn_area .line_area a {
    font-size: 1.0769230769vw !important;
    line-height: 1.6923076923vw !important;
    width: 13.0769230769vw !important;
    height: 5.6153846154vw !important;
    padding: 1.1538461538vw 0 0 4.6153846154vw !important;
  }
  header .head .inner .btn_area .mail_area a strong,
  header .head .inner .btn_area .line_area a strong {
    font-size: 1.5384615385vw !important;
    vertical-align: -0.0769230769vw !important;
  }
  header .head .inner .btn_area .mail_area a span,
  header .head .inner .btn_area .line_area a span {
    font-size: 1.2307692308vw !important;
  }
}

/* ========================================================
   3. HEADER BOTTOM & NAVIGATION (MENU XANH)
   ======================================================== */
.header-bottom {
  background-color: #00A669 !important;
  border-top: none !important;
  border-bottom: none !important;
  padding: 0 !important;
  height: 35px !important;
  min-height: 35px !important;
}

.header-bottom .container {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  height: 100% !important;
}

.header-bottom .flex-row {
  height: 100% !important;
  min-height: auto !important;
  justify-content: center !important;
}

.header-bottom .flex-col {
  height: 100% !important;
  max-width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.header-bottom .header-nav {
  width: 100% !important;
  margin: 0 auto !important;
  display: flex !important;
  justify-content: center !important;
}

.header-bottom-nav {
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  width: 1200px !important;
  max-width: 100% !important;
  height: 35px !important;
  white-space: nowrap !important;
}

.header-bottom-nav > li {
  margin: 0 !important;
  padding: 0 11px 0 0 !important;
  display: flex !important;
  align-items: center !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}

.header-bottom-nav > li:first-child::before {
  content: none !important;
}

.header-bottom-nav > li:last-child {
  padding-right: 0 !important;
}

.header-bottom-nav > li::before {
  content: "/" !important;
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 11px 0 0 !important;
  display: inline-block !important;
}

.header-bottom-nav > li > a {
  color: #ffffff !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  letter-spacing: 0.04em !important;
  text-decoration: none !important;
  display: inline-block !important;
  padding: 0 !important;
  line-height: 35px !important;
  transition: opacity 0.2s ease !important;
  white-space: nowrap !important;
}

.header-bottom-nav > li > a:hover {
  opacity: 0.8 !important;
}

.header-bottom-nav > li > a:after {
  display: none !important;
}

@media screen and (min-width: 769px) and (max-width: 1300px) {
  .header-bottom {
    height: 2.6923076923vw !important;
    min-height: 2.6923076923vw !important;
  }
  .header-bottom-nav {
    width: 92.3076923077vw !important;
    height: 2.6923076923vw !important;
  }
  .header-bottom-nav > li {
    padding-right: 0.8461538462vw !important;
  }
  .header-bottom-nav > li:last-child {
    padding-right: 0 !important;
  }
  .header-bottom-nav > li::before {
    font-size: 1.1538461538vw !important;
    padding-right: 0.8461538462vw !important;
  }
  .header-bottom-nav > li > a {
    font-size: 1.1538461538vw !important;
    padding: 0 !important;
    line-height: 2.6923076923vw !important;
  }
}

/* ========================================================
   4. DUAL STICKY SYSTEM
   ======================================================== */

/* 1. TOP STICKY: HEADER BOTTOM (Menu xanh) */
.header-bottom.fixed {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 999 !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
}

.admin-bar .header-bottom.fixed {
  top: 32px !important;
}

@media screen and (max-width: 782px) {
  .admin-bar .header-bottom.fixed {
    top: 46px !important;
  }
}

/* 2. BOTTOM STICKY: FLOAT HEAD (Trượt lên từ đáy màn hình) */
header .head.float_head {
  display: flex !important;
  position: fixed !important;
  top: auto !important;
  left: 0 !important;
  right: 0 !important;
  bottom: -150px !important;
  z-index: 998 !important;
  background: #ffffff !important;
  box-shadow: 0 -3px 12px rgba(0, 0, 0, 0.12) !important;
  transition: bottom 0.4s cubic-bezier(0.25, 1, 0.5, 1) !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

header .head.float_head.active {
  bottom: 0 !important;
}

@media screen and (max-width: 768px) {
  html, body {
    overflow-x: hidden !important;
  }
  body {
    padding-bottom: 22vw;
  }

  /* Reset Flatsome header wrappers on mobile */
  #header,
  #header .header-wrapper,
  #masthead.header-main {
    height: 17.3333333333vw !important;
    min-height: 17.3333333333vw !important;
    max-height: 17.3333333333vw !important;
    background: #ffffff !important;
    border: none !important;
    box-shadow: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Fixed Top Header */
  header .head:not(.float_head) {
    background: #ffffff !important;
    width: 100% !important;
    height: 17.3333333333vw !important;
    min-height: 17.3333333333vw !important;
    max-height: 17.3333333333vw !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 99999 !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  header .head:not(.float_head) .inner {
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 3.7333333333vw 0 2.6666666667vw !important;
    box-sizing: border-box !important;
  }

  header .head:not(.float_head) .inner .logo_area {
    padding-top: 0 !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
  }

  header .head:not(.float_head) .inner .logo_area .top {
    color: #4B4B4B !important;
    font-size: 2.6666666667vw !important;
    line-height: 1.25 !important;
    margin-bottom: 0.6666666667vw !important;
    white-space: nowrap !important;
  }

  header .head:not(.float_head) .inner .logo_area .logo a {
    display: flex !important;
    align-items: center !important;
  }

  header .head:not(.float_head) .inner .logo_area .logo a span {
    color: #1E1E1E !important;
    font-size: 4.6666666667vw !important;
    font-weight: 700 !important;
    margin-right: 1.3333333333vw !important;
    line-height: 1 !important;
  }

  header .head:not(.float_head) .inner .logo_area .logo a img {
    width: 23.6vw !important;
    height: auto !important;
  }

  /* 50% discount badge in header */
  header .head:not(.float_head) .inner .tel_off {
    display: block !important;
    width: 30.6666666667vw !important;
    height: 14.4vw !important;
    margin: 0 !important;
    position: relative !important;
    flex-shrink: 0 !important;
  }

  header .head:not(.float_head) .inner .tel_off picture,
  header .head:not(.float_head) .inner .tel_off img {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
  }

  header .head:not(.float_head) .inner .tel_off .tit {
    display: block !important;
    color: #ED1C24 !important;
    font-size: 2.6666666667vw !important;
    font-weight: 700 !important;
    width: 26.9333333333vw !important;
    height: 4vw !important;
    margin: 0 auto !important;
    padding-top: 0.6666666667vw !important;
    padding-left: 2vw !important;
    border-radius: 2vw !important;
    background: #fff !important;
    box-sizing: border-box !important;
    position: absolute !important;
    top: 1.7333333333vw !important;
    left: 0 !important;
    right: 0 !important;
    line-height: 1 !important;
  }

  header .head:not(.float_head) .inner .tel_off .max {
    display: block !important;
    width: 2.8vw !important;
    height: 6.2666666667vw !important;
    position: absolute !important;
    top: 6.6666666667vw !important;
    left: 2vw !important;
  }

  header .head:not(.float_head) .inner .tel_off .max span {
    writing-mode: vertical-rl !important;
    -webkit-writing-mode: vertical-rl !important;
    color: #fff !important;
    font-size: 2.9333333333vw !important;
    font-weight: 700 !important;
    line-height: 1 !important;
  }

  header .head:not(.float_head) .inner .tel_off .off50 {
    display: block !important;
    color: #FFF048 !important;
    font-size: 4.1333333333vw !important;
    font-weight: 700 !important;
    position: absolute !important;
    top: 6vw !important;
    left: 5.3333333333vw !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  header .head:not(.float_head) .inner .tel_off .off50 strong {
    font-size: 8.5333333333vw !important;
    font-family: "Roboto", sans-serif !important;
    vertical-align: -0.5333333333vw !important;
    color: #FFF048 !important;
    line-height: 1 !important;
  }

  header .head:not(.float_head) .inner .tel_off .off50 span {
    font-size: 6.1333333333vw !important;
    vertical-align: -0.4vw !important;
    padding: 0 0.2666666667vw 0 0 !important;
    color: #FFF048 !important;
    line-height: 1 !important;
  }

  /* Hamburger Menu Button */
  header .head:not(.float_head) .inner .menu_btn {
    display: block !important;
    width: 8vw !important;
    height: 6.8vw !important;
    margin: 0 !important;
    position: relative !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
  }

  header .head:not(.float_head) .inner .menu_btn span {
    display: block !important;
    margin: 0 !important;
    border: none !important;
    width: 8vw !important;
    height: 0.6vw !important;
    background: #00A669 !important;
    position: absolute !important;
    transition: all 0.3s ease !important;
    border-radius: 0.3vw !important;
  }

  header .head:not(.float_head) .inner .menu_btn span:nth-child(1) { top: 0 !important; }
  header .head:not(.float_head) .inner .menu_btn span:nth-child(2) { top: 3.1vw !important; }
  header .head:not(.float_head) .inner .menu_btn span:nth-child(3) { bottom: 0 !important; }

  header .head:not(.float_head) .inner .menu_btn.open span:nth-child(1) {
    transform: rotate(45deg) !important;
    top: 3.1vw !important;
    left: 0.6666666667vw !important;
  }
  header .head:not(.float_head) .inner .menu_btn.open span:nth-child(2) {
    opacity: 0 !important;
  }
  header .head:not(.float_head) .inner .menu_btn.open span:nth-child(3) {
    transform: rotate(-45deg) !important;
    bottom: 3.1vw !important;
    left: 0.6666666667vw !important;
  }

  /* Bottom Float Head */
  header .head.float_head {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 21.3333333333vw !important;
    position: fixed !important;
    top: auto !important;
    left: 0 !important;
    right: 0 !important;
    bottom: -100% !important;
    z-index: 9999 !important;
    background: #ffffff !important;
    box-shadow: 0 -0.8vw 2.4vw rgba(0, 0, 0, 0.12) !important;
    transition: bottom 0.4s ease-out !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  header .head.float_head.active {
    bottom: 0 !important;
  }

  header .head.float_head .inner {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 1.3333333333vw !important;
    box-sizing: border-box !important;
  }

  header .head.float_head .inner .btn_area {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
  }

  /* Button 1: Tel (Orange) */
  header .head.float_head .inner .btn_area .tel_area {
    width: 42.5333333333vw !important;
    height: 18.6666666667vw !important;
    margin: 0 !important;
    position: relative !important;
    flex-shrink: 0 !important;
    background: url('../images/sp_float_btn_tel.png') no-repeat top left/100% !important;
    border-radius: 2vw !important;
  }

  header .head.float_head .inner .btn_area .tel_area .tel_num {
    width: 100% !important;
    height: 100% !important;
    position: static !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
  }

  header .head.float_head .inner .btn_area .tel_area .tel_num a {
    display: block !important;
    color: #ffffff !important;
    font-size: 4.8vw !important;
    font-weight: 700 !important;
    letter-spacing: -0.02em !important;
    line-height: 1 !important;
    width: 100% !important;
    height: auto !important;
    padding: 2.4vw 0 0 8.5333333333vw !important;
    box-sizing: border-box !important;
    background: transparent !important;
    text-decoration: none !important;
    margin: 0 !important;
  }

  header .head.float_head .inner .btn_area .tel_area .tel_text {
    color: #ffffff !important;
    font-size: 3.4666666667vw !important;
    font-weight: 700 !important;
    text-align: center !important;
    line-height: 1.2 !important;
    position: absolute !important;
    top: 9.3333333333vw !important;
    left: 0 !important;
    right: 0 !important;
    margin: 0 !important;
  }

  header .head.float_head .inner .btn_area .tel_area .tel_text span {
    font-size: 2.6666666667vw !important;
    font-weight: 500 !important;
    display: block !important;
    color: #ffffff !important;
  }

  /* Button 2: Mail (Cyan) */
  header .head.float_head .inner .btn_area .mail_area {
    width: 26vw !important;
    height: 19.2vw !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
  }

  header .head.float_head .inner .btn_area .mail_area a {
    display: block !important;
    color: #ffffff !important;
    font-size: 3.0666666667vw !important;
    font-weight: 700 !important;
    text-align: center !important;
    line-height: 3.6vw !important;
    width: 26vw !important;
    height: 19.2vw !important;
    padding: 8.6666666667vw 0 0 0 !important;
    box-sizing: border-box !important;
    background: url('../images/sp_float_btn_mail.png') no-repeat top left/100% !important;
    text-decoration: none !important;
    margin: 0 !important;
  }

  header .head.float_head .inner .btn_area .mail_area a strong {
    font-size: 4.5333333333vw !important;
    vertical-align: -0.1333333333vw !important;
    color: #ffffff !important;
  }

  header .head.float_head .inner .btn_area .mail_area a span {
    font-size: 3.0666666667vw !important;
    color: #ffffff !important;
  }

  /* Button 3: Line (Green) */
  header .head.float_head .inner .btn_area .line_area {
    width: 26vw !important;
    height: 19.2vw !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
  }

  header .head.float_head .inner .btn_area .line_area a {
    display: block !important;
    color: #ffffff !important;
    font-size: 3.0666666667vw !important;
    font-weight: 700 !important;
    text-align: center !important;
    line-height: 3.6vw !important;
    width: 26vw !important;
    height: 19.2vw !important;
    padding: 8.6666666667vw 0 0 0 !important;
    box-sizing: border-box !important;
    background: url('../images/sp_float_btn_line.png') no-repeat top left/100% !important;
    text-decoration: none !important;
    margin: 0 !important;
  }

  header .head.float_head .inner .btn_area .line_area a strong {
    font-size: 4.5333333333vw !important;
    vertical-align: -0.1333333333vw !important;
    color: #ffffff !important;
  }

  header .head.float_head .inner .btn_area .line_area a span {
    font-size: 3.0666666667vw !important;
    color: #ffffff !important;
  }

  /* Hide desktop header-bottom navbar on mobile */
  .header-bottom {
    display: none !important;
  }
}

/* ========================================================
   PAGE LOAD OPTIMIZATION & ZERO CLS (LAYOUT STABILITY)
   ======================================================== */
html {
  scroll-behavior: smooth;
}

/* 1. Hero First View (FV) Reserved Space */
.front .fv_area {
  min-height: 819px !important;
}
.front .fv_area .inner {
  min-height: 819px !important;
}
.front .fv_area h1 img {
  width: 100% !important;
  max-width: 1200px !important;
  height: auto !important;
  aspect-ratio: 1200 / 571 !important;
  display: block !important;
}
.front .fv_area p img {
  width: 100% !important;
  max-width: 1200px !important;
  height: auto !important;
  aspect-ratio: 1200 / 248 !important;
  display: block !important;
}

/* 2. Banner Area (BNR) Reserved Space - Prevents .off50 layout overlap */
.front .bnr_area {
  min-height: 376px !important;
}
.front .tel_off {
  width: 1100px !important;
  min-height: 330px !important;
  aspect-ratio: 1100 / 330 !important;
  margin: 0 auto !important;
  position: relative !important;
}
.front .tel_off img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1100 / 330 !important;
  display: block !important;
}

@media screen and (max-width: 768px) {
  .front .fv_area,
  .front .fv_area .inner {
    min-height: 162.1333333333vw !important;
  }
  .front .fv_area h1 img {
    aspect-ratio: 750 / 825 !important;
  }
  .front .fv_area p img {
    aspect-ratio: 750 / 391 !important;
  }
  .front .bnr_area {
    min-height: 92vw ;
  }
  .front .tel_off {
    width: 89.3333333333vw !important;
    min-height: 72vw !important;
    aspect-ratio: 670 / 540 !important;
  }
  .front .tel_off img {
    aspect-ratio: 670 / 540 !important;
  }
}

/* ========================================================
   5. SECTION 03: PACK AREA (PACK LIST & PRICE FIX)
   ======================================================== */
@media screen and (min-width: 1301px) {
  .front .pack_area .inner .pack_tit {
    width: 510px !important;
    min-height: 89px !important;
    aspect-ratio: 576 / 101 !important;
    margin: 0 auto !important;
  }

.front .pack_area .inner .pack_tit img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 576 / 101 !important;
  margin: 0 auto !important;
}

.front .pack_area .inner .pack_list li .list_in .img {
  width: 314px !important;
  min-height: 180px !important;
  aspect-ratio: 314 / 180 !important;
  margin: 0 auto !important;
}

.front .pack_area .inner .pack_list li .list_in .img img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 314 / 180 !important;
  display: block !important;
}

.front .pack_area .inner h2 {
  font-size: 58px !important;
  text-align: center !important;
  font-weight: 900 !important;
  width: 1052px !important;
  margin: 10px auto 74px !important;
  padding: 10px 0 25px !important;
  border-radius: 60px !important;
  background: #fff !important;
}

.front .pack_area .inner h2 .st01 {
  color: #00A669 !important;
  font-size: 77px !important;
  font-weight: 900 !important;
  vertical-align: 0 !important;
}

.front .pack_area .inner h2 .st02 {
  color: #FF7C00 !important;
  font-size: 85px !important;
  font-weight: 900 !important;
  vertical-align: 0 !important;
}

.front .pack_area .inner h2 .st03 {
  font-size: 69px !important;
  font-weight: 900 !important;
  vertical-align: 0 !important;
}

/* Pack list reset (remove Flatsome bullets & margins) */
.front .pack_area .inner .pack_list {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 70px 30px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.front .pack_area .inner .pack_list > li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 380px !important;
  height: 400px !important;
  border-radius: 20px !important;
  border: 4px solid #3ADFBC !important;
  background: #fff !important;
  box-sizing: border-box !important;
  position: relative !important;
}

.front .pack_area .inner .pack_list > li::marker {
  display: none !important;
  content: "" !important;
  font-size: 0 !important;
}

.front .pack_area .inner .pack_list > li::before {
  content: "" !important;
  display: block !important;
  width: 380px !important;
  height: 178px !important;
  background: url('../images/pc_pack_box_bg.png') no-repeat top left/100% !important;
  position: absolute !important;
  top: -4px !important;
  left: -4px !important;
  z-index: 1 !important;
}

.front .pack_area .inner .pack_list > li:nth-child(-n+3) {
  height: 430px !important;
}

.front .pack_area .inner .pack_list > li .list_in {
  position: relative !important;
  z-index: 2 !important;
}

/* Reset all paragraph margins inside cards */
.front .pack_area .inner .pack_list p {
  margin: 0 !important;
  padding: 0 !important;
}

.front .pack_area .inner .pack_list li .list_in .size {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  width: 140px !important;
  height: 140px !important;
  padding-bottom: 10px !important;
  border-radius: 70px !important;
  border: 4px solid #00A669 !important;
  background: #fff !important;
  box-sizing: border-box !important;
  position: absolute !important;
  top: -44px !important;
  left: 14px !important;
  margin: 0 !important;
}

.front .pack_area .inner .pack_list li .list_in .size span {
  color: #00A669 !important;
  font-size: 23px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}

.front .pack_area .inner .pack_list li .list_in .size span strong {
  font-size: 50px !important;
}

.front .pack_area .inner .pack_list li .list_in .size.other {
  padding-bottom: 0 !important;
}

.front .pack_area .inner .pack_list li .list_in .size.other span {
  font-size: 32px !important;
}

.front .pack_area .inner .pack_list li .list_in .top_text {
  color: #fff !important;
  font-size: 20px !important;
  line-height: 1.5 !important;
  padding: 20px 0 15px 170px !important;
  margin: 0 !important;
}

.front .pack_area .inner .pack_list li .list_in .img {
  width: 314px !important;
  height: 180px !important;
  margin: 0 auto !important;
  line-height: 0 !important;
}

.front .pack_area .inner .pack_list li .list_in .img img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  margin: 0 auto;
}

.front .pack_area .inner .pack_list li .list_in .price_area {
  display: flex !important;
  justify-content: space-between !important;
  width: 340px !important;
  margin: 10px auto 0 !important;
}

.front .pack_area .inner .pack_list li .list_in .price_area .car,
.front .pack_area .inner .pack_list li .list_in .price_area .price {
  width: 150px !important;
  text-align: center !important;
}

.front .pack_area .inner .pack_list li .list_in .price_area .car .tit,
.front .pack_area .inner .pack_list li .list_in .price_area .price .tit {
  color: #fff !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  text-align: center !important;
  line-height: 30px !important;
  height: 30px !important;
  width: 150px !important;
  border-radius: 15px !important;
  margin: 0 0 8px 0 !important;
  background: #FF7C00 !important;
}

.front .pack_area .inner .pack_list li .list_in .price_area .car .text {
  font-size: 22px !important;
  font-weight: 700 !important;
  text-align: center !important;
  color: #1E1E1E !important;
  line-height: 1.2 !important;
  margin: 0 !important;
}

.front .pack_area .inner .pack_list li .list_in .price_area .price .erase {
  font-size: 20px !important;
  text-align: center !important;
  font-weight: 700 !important;
  text-decoration: line-through !important;
  line-height: 1 !important;
  margin: 0 0 28px 0 !important;
  position: relative !important;
  color: #1E1E1E !important;
}

.front .pack_area .inner .pack_list li .list_in .price_area .price .erase::before {
  content: "" !important;
  display: block !important;
  width: 8px !important;
  height: 8px !important;
  margin: 0 auto !important;
  border-top: 2px solid rgba(30, 30, 30, 0.5) !important;
  border-right: 2px solid rgba(30, 30, 30, 0.5) !important;
  -webkit-transform: rotate(135deg) !important;
  transform: rotate(135deg) !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: -18px !important;
}

.front .pack_area .inner .pack_list li .list_in .price_area .price .text {
  color: #FF7C00 !important;
  font-size: 34px !important;
  font-weight: 700 !important;
  text-align: center !important;
  line-height: 1 !important;
  margin: 0 -10px !important;
}

.front .pack_area .inner .pack_list li .list_in .price_area .price .text span {
  font-size: 23px !important;
  font-weight: 700 !important;
}

.front .pack_area .inner .pack_list li .list_in .price_area .price .text.lpack {
  margin: 15px -10px 0 !important;
}

.front .pack_area .inner .pack_list li .list_in .price_area .price .text.other {
  color: #1E1E1E !important;
  font-size: 22px !important;
  line-height: 1.2 !important;
  margin: 0 !important;
}

.front .pack_area .inner .kome {
  color: #616161 !important;
  font-size: 14px !important;
  margin-top: 35px !important;
  margin-bottom: 0 !important;
  line-height: 1.5 !important;
}
}

/* Medium / Laptop screen (769px - 1300px) */
@media screen and (min-width: 769px) and (max-width: 1300px) {
  .front .pack_area .inner .pack_tit {
    width: 39.2307692308vw !important;
    margin: 0 auto !important;
  }
  .front .pack_area .inner h2 {
    font-size: 4.4615384615vw !important;
    width: 80.9230769231vw !important;
    margin: 0.7692307692vw auto 5.6923076923vw !important;
    padding: 0.7692307692vw 0 1.9230769231vw !important;
    border-radius: 4.6153846154vw !important;
  }
  .front .pack_area .inner h2 .st01 {
    font-size: 5.9230769231vw !important;
  }
  .front .pack_area .inner h2 .st02 {
    font-size: 6.5384615385vw !important;
  }
  .front .pack_area .inner h2 .st03 {
    font-size: 5.3076923077vw !important;
  }
  .front .pack_area .inner .pack_list {
    gap: 5.3846153846vw 2.3076923077vw !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .front .pack_area .inner .pack_list > li {
    width: 29.2307692308vw !important;
    height: 30.7692307692vw !important;
    border-radius: 1.5384615385vw !important;
    border: 0.3076923077vw solid #3ADFBC !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .front .pack_area .inner .pack_list > li::marker {
    display: none !important;
    content: "" !important;
  }
  .front .pack_area .inner .pack_list > li::before {
    width: 29.2307692308vw !important;
    height: 13.6923076923vw !important;
    top: -0.3076923077vw !important;
    left: -0.3076923077vw !important;
  }
  .front .pack_area .inner .pack_list > li:nth-child(-n+3) {
    height: 33.0769230769vw !important;
  }
  .front .pack_area .inner .pack_list p {
    margin: 0 !important;
    padding: 0 !important;
  }
  .front .pack_area .inner .pack_list li .list_in .size {
    width: 10.7692307692vw !important;
    height: 10.7692307692vw !important;
    padding-bottom: 0.7692307692vw !important;
    border-radius: 5.3846153846vw !important;
    border: 0.3076923077vw solid #00A669 !important;
    top: -3.3846153846vw !important;
    left: 1.0769230769vw !important;
  }
  .front .pack_area .inner .pack_list li .list_in .size span {
    font-size: 1.7692307692vw !important;
  }
  .front .pack_area .inner .pack_list li .list_in .size span strong {
    font-size: 3.8461538462vw !important;
  }
  .front .pack_area .inner .pack_list li .list_in .size.other span {
    font-size: 2.4615384615vw !important;
  }
  .front .pack_area .inner .pack_list li .list_in .top_text {
    font-size: 1.5384615385vw !important;
    line-height: 1.5 !important;
    padding: 1.5384615385vw 0 1.1538461538vw 13.0769230769vw !important;
    margin: 0 !important;
  }
  .front .pack_area .inner .pack_list li .list_in .img {
    width: 24.1538461538vw !important;
    height: 13.8461538462vw !important;
    margin: 0 auto !important;
    line-height: 0 !important;
  }
  .front .pack_area .inner .pack_list li .list_in .price_area {
    width: 26.1538461538vw !important;
    margin: 0.7692307692vw auto 0 !important;
  }
  .front .pack_area .inner .pack_list li .list_in .price_area .car,
  .front .pack_area .inner .pack_list li .list_in .price_area .price {
    width: 11.5384615385vw !important;
    text-align: center !important;
  }
  .front .pack_area .inner .pack_list li .list_in .price_area .car .tit,
  .front .pack_area .inner .pack_list li .list_in .price_area .price .tit {
    font-size: 1.3846153846vw !important;
    line-height: 2.3076923077vw !important;
    height: 2.3076923077vw !important;
    width: 11.5384615385vw !important;
    border-radius: 1.1538461538vw !important;
    margin: 0 0 0.6153846154vw 0 !important;
    background: #FF7C00 !important;
  }
  .front .pack_area .inner .pack_list li .list_in .price_area .car .text {
    font-size: 1.6923076923vw !important;
    line-height: 1.2 !important;
    margin: 0 !important;
  }
  .front .pack_area .inner .pack_list li .list_in .price_area .price .erase {
    font-size: 1.5384615385vw !important;
    line-height: 1 !important;
    margin: 0 0 2.1538461538vw 0 !important;
    position: relative !important;
  }
  .front .pack_area .inner .pack_list li .list_in .price_area .price .erase::before {
    width: 0.6153846154vw !important;
    height: 0.6153846154vw !important;
    border-top: 0.1538461538vw solid rgba(30, 30, 30, 0.5) !important;
    border-right: 0.1538461538vw solid rgba(30, 30, 30, 0.5) !important;
    bottom: -1.3846153846vw !important;
  }
  .front .pack_area .inner .pack_list li .list_in .price_area .price .text {
    font-size: 2.6153846154vw !important;
    line-height: 1 !important;
    margin: 0 -0.7692307692vw !important;
  }
  .front .pack_area .inner .pack_list li .list_in .price_area .price .text span {
    font-size: 1.7692307692vw !important;
  }
  .front .pack_area .inner .pack_list li .list_in .price_area .price .text.lpack {
    margin: 1.1538461538vw -0.7692307692vw 0 !important;
  }
  .front .pack_area .inner .pack_list li .list_in .price_area .price .text.other {
    font-size: 1.6923076923vw !important;
    line-height: 1.2 !important;
    margin: 0 !important;
  }
  .front .pack_area .inner .kome {
    font-size: 1.0769230769vw !important;
    margin-top: 2.6923076923vw !important;
    margin-bottom: 0 !important;
  }
}

/* Mobile screen (<= 768px) */
@media screen and (max-width: 768px) {
  .front .pack_area {
    background: url("https://cleanbird-kansai.jp/wp-content/uploads/2026/09/sp_bg_pack_bird.jpg") no-repeat top center/100% !important;
    height: 379.6vw !important;
    padding-top: 20vw !important;
    box-sizing: border-box !important;
  }
  .front .pack_area .inner .pack_tit {
    width: 76.8vw !important;
    min-height: 0 !important;
    margin: 0 auto !important;
  }
  .front .pack_area .inner .pack_tit img {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    display: block !important;
  }
  .front .pack_area .inner h2 {
    font-size: 7.2vw !important;
    line-height: 1 !important;
    text-align: center !important;
    font-weight: 900 !important;
    width: 94.6666666667vw !important;
    margin: 2.1333333333vw auto 12vw !important;
    padding: 2vw 0 2.6666666667vw !important;
    border-radius: 13.3333333333vw !important;
    background: #fff !important;
  }
  .front .pack_area .inner h2 .st01 {
    font-size: 9.3333333333vw !important;
    vertical-align: 0 !important;
  }
  .front .pack_area .inner h2 .st02 {
    font-size: 10.6666666667vw !important;
    vertical-align: 0 !important;
  }
  .front .pack_area .inner h2 .st03 {
    font-size: 8.5333333333vw !important;
    vertical-align: 0 !important;
  }
  .front .pack_area .inner .pack_list {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 9.3333333333vw 1.3333333333vw !important;
    width: 94.6666666667vw !important;
    margin: 0 auto !important;
    padding: 0 !important;
    list-style: none !important;
  }
  .front .pack_area .inner .pack_list > li {
    width: 46.6666666667vw !important;
    height: 90.6666666667vw !important;
    min-height: 0 !important;
    max-height: 90.6666666667vw !important;
    padding-bottom: 0 !important;
    border-radius: 2.6666666667vw !important;
    border: 0.5333333333vw solid #3ADFBC !important;
    background: #fff !important;
    box-sizing: border-box !important;
    position: relative !important;
    list-style: none !important;
    margin: 0 !important;
  }
  .front .pack_area .inner .pack_list > li::marker {
    display: none !important;
    content: "" !important;
  }
  .front .pack_area .inner .pack_list > li::before {
    content: "" !important;
    display: block !important;
    width: 46.6666666667vw !important;
    height: 36vw !important;
    background: url('../images/sp_pack_box_bg.png') no-repeat top left/100% !important;
    position: absolute !important;
    top: -0.5333333333vw !important;
    left: -0.5333333333vw !important;
    z-index: 1 !important;
  }
  .front .pack_area .inner .pack_list > li:last-child {
    height: 82.6666666667vw !important;
    min-height: 0 !important;
    max-height: 82.6666666667vw !important;
    padding-bottom: 0 !important;
  }
  .front .pack_area .inner .pack_list p {
    margin: 0 !important;
    padding: 0 !important;
  }
  .front .pack_area .inner .pack_list li .list_in .size {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    width: 18.6666666667vw !important;
    height: 18.6666666667vw !important;
    margin: 0 auto !important;
    padding-bottom: 1.3333333333vw !important;
    border-radius: 9.3333333333vw !important;
    border: 0.5333333333vw solid #00A669 !important;
    background: #fff !important;
    box-sizing: border-box !important;
    position: absolute !important;
    top: -5.3333333333vw !important;
    left: 0 !important;
    right: 0 !important;
  }
  .front .pack_area .inner .pack_list li .list_in .size span {
    color: #00A669 !important;
    font-size: 3.7333333333vw !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
  }
  .front .pack_area .inner .pack_list li .list_in .size span strong {
    font-size: 7.4666666667vw !important;
  }
  .front .pack_area .inner .pack_list li .list_in .size.other {
    padding-bottom: 0 !important;
  }
  .front .pack_area .inner .pack_list li .list_in .size.other span {
    font-size: 4.2666666667vw !important;
  }
  .front .pack_area .inner .pack_list li .list_in .top_text {
    color: #fff !important;
    font-size: 4vw !important;
    line-height: 1.2 !important;
    padding: 14.6666666667vw 0 0.6666666667vw 5.3333333333vw !important;
    margin: 0 !important;
  }
  .front .pack_area .inner .pack_list li .list_in .img {
    width: 44.2666666667vw !important;
    height: 25.3333333333vw !important;
    margin: 0 auto !important;
    line-height: 0 !important;
  }
  .front .pack_area .inner .pack_list li .list_in .img img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    margin: 0 auto !important;
    min-height: 0 !important;
  }
  .front .pack_area .inner .pack_list li .list_in .price_area {
    width: 38.6666666667vw !important;
    margin: 1.3333333333vw auto 0 !important;
    display: block !important;
  }
  .front .pack_area .inner .pack_list li .list_in .price_area .car {
    margin-bottom: 3.6vw !important;
    width: 100% !important;
  }
  .front .pack_area .inner .pack_list li .list_in .price_area .price {
    width: 100% !important;
  }
  .front .pack_area .inner .pack_list li .list_in .price_area .car .tit,
  .front .pack_area .inner .pack_list li .list_in .price_area .price .tit {
    color: #fff !important;
    font-weight: 700 !important;
    text-align: center !important;
    line-height: 5.3333333333vw !important;
    height: 5.3333333333vw !important;
    width: 38.6666666667vw !important;
    border-radius: 2.6666666667vw !important;
    margin-bottom: 2vw !important;
    background: #FF7C00 !important;
  }
  .front .pack_area .inner .pack_list li .list_in .price_area .car .text {
    font-size: 4.2666666667vw !important;
    font-weight: 700 !important;
    text-align: center !important;
    line-height: 1.2 !important;
    margin: 0 !important;
  }
  .front .pack_area .inner .pack_list li .list_in .price_area .price .erase {
    font-size: 4vw !important;
    text-align: center !important;
    font-weight: 700 !important;
    text-decoration: line-through !important;
    line-height: 1 !important;
    margin-bottom: 3.3333333333vw !important;
    position: relative !important;
  }
  .front .pack_area .inner .pack_list li .list_in .price_area .price .erase::before {
    content: "" !important;
    display: block !important;
    width: 1.3333333333vw !important;
    height: 1.3333333333vw !important;
    margin: 0 auto !important;
    border-top: 0.2666666667vw solid rgba(30, 30, 30, 0.5) !important;
    border-right: 0.2666666667vw solid rgba(30, 30, 30, 0.5) !important;
    -webkit-transform: rotate(135deg) !important;
    transform: rotate(135deg) !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: -1.7333333333vw !important;
  }
  .front .pack_area .inner .pack_list li .list_in .price_area .price .text {
    color: #FF7C00 !important;
    font-size: 5.3333333333vw !important;
    font-weight: 700 !important;
    text-align: center !important;
    line-height: 1 !important;
    margin: 0 !important;
  }
  .front .pack_area .inner .pack_list li .list_in .price_area .price .text span {
    font-size: 4vw !important;
  }
  .front .pack_area .inner .pack_list li .list_in .price_area .price .text.lpack {
    margin-top: 6vw !important;
  }
  .front .pack_area .inner .pack_list li .list_in .price_area .price .text.other {
    color: #1E1E1E !important;
    font-size: 4.2666666667vw !important;
    line-height: 1.2 !important;
    margin: 0 !important;
  }
  .front .pack_area .inner .kome {
    display: flex !important;
    color: #616161 !important;
    font-size: 2.9333333333vw !important;
    line-height: 1.18 !important;
    width: 88vw !important;
    margin: 7.3333333333vw auto 0 !important;
  }
}

/* ========================================================
   6. SECTION 21: CONTACT FORM (RESTORING 100% SAMPLE DESIGN)
   ======================================================== */
.contact.in_type {
  padding-top: 50px !important;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

@media screen and (min-width: 769px) {
.contact.in_type h2,
.contact.in_type .section-content > h2 {
  font-size: 60px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  width: 570px !important;
  height: 133px !important;
  margin: 0 auto !important;
  padding: 45px 0 0 70px !important;
  background: url("https://cleanbird-kansai.jp/wp-content/uploads/2026/09/contact_tit_bird.png") no-repeat top center/100% !important;
  box-sizing: border-box !important;
  display: block !important;
  color: #1E1E1E !important;
  text-align: left !important;
}

.contact .form_area {
  width: 930px !important;
  max-width: 100% !important;
  margin: 0 auto !important;
}

.contact .form_area .top_text {
  font-size: 22px;
  text-align: center !important;
  margin: 90px 0 70px;
  color: #1E1E1E !important;
}

.contact .form_area .form_box {
  width: 100% !important;
}

.contact .form_area .form_box .form_table {
  width: 100% !important;
  border-collapse: collapse !important;
  border: none !important;
  margin-bottom: 0 !important;
}

.contact .form_area .form_box .form_table tr {
  display: flex !important;
  align-items: flex-start !important;
  margin-top: 25px !important;
  border: none !important;
  padding: 0 !important;
  background: transparent !important;
}

.contact .form_area .form_box .form_table tr:first-of-type {
  margin-top: 0 !important;
}

.contact .form_area .form_box .form_table th {
  width: 255px !important;
  min-width: 255px !important;
  text-align: left !important;
  font-weight: 400 !important;
  padding: 10px 0 !important;
  border: none !important;
  background: transparent !important;
}

.contact .form_area .form_box .form_table th p {
  margin: 0 !important;
  padding: 0 !important;
}

.contact .form_area .form_box .form_table th span {
  display: block !important;
  font-size: 20px !important;
  line-height: 1.7 !important;
  width: 205px !important;
  position: relative !important;
  color: #1E1E1E !important;
  font-weight: 500 !important;
}

.contact .form_area .form_box .form_table th span .min {
  display: inline !important;
  font-size: 18px !important;
  font-weight: 400 !important;
}

.contact .form_area .form_box .form_table th span.req::after {
  content: "必須" !important;
  display: inline-block !important;
  color: #fff !important;
  font-size: 15px !important;
  line-height: 1 !important;
  padding: 6px 8px 8px !important;
  background: #C1272D !important;
  position: absolute !important;
  top: 3px !important;
  right: 0 !important;
  border-radius: 2px !important;
  font-weight: 500 !important;
}

.contact .form_area .form_box .form_table td {
  width: 675px !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
}

.contact .form_area .form_box .form_table td p {
  margin: 0 !important;
  padding: 0 !important;
}

.contact .form_area .form_box .form_table td input[type=text],
.contact .form_area .form_box .form_table td input[type=tel],
.contact .form_area .form_box .form_table td input[type=email] {
  display: inline-block !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  height: 50px !important;
  line-height: 44px !important;
  margin: 0 !important;
  padding: 0 10px !important;
  border-radius: 5px !important;
  border: 3px solid #B3B3B3 !important;
  background: #fff !important;
  box-sizing: border-box !important;
  box-shadow: none !important;
  color: #1E1E1E !important;
}

.contact .form_area .form_box .form_table td input::placeholder,
.contact .form_area .form_box .form_table td textarea::placeholder {
  color: #ccc !important;
  font-size: 20px !important;
}

.contact .form_area .form_box .form_table td input.user_name,
.contact .form_area .form_box .form_table td input.address,
.contact .form_area .form_box .form_table td input.luggage,
.contact .form_area .form_box .form_table td input.email {
  width: 670px !important;
  max-width: 100% !important;
}

/* Zipcode */
.contact .form_area .form_box .form_table td.post p {
  display: flex !important;
  align-items: center !important;
}

.contact .form_area .form_box .form_table td.post .wpcf7-form-control-wrap {
  display: inline-block !important;
  width: auto !important;
}

.contact .form_area .form_box .form_table td input.post1,
.contact .form_area .form_box .form_table td input.post2 {
  width: 110px !important;
}

.contact .form_area .form_box .form_table td .hyphen {
  display: inline-block !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  padding: 0 10px !important;
  line-height: 50px !important;
  color: #1E1E1E !important;
}

/* Date candidate boxes */
.contact .form_area .form_box .form_table td.date .date_box {
  display: flex !important;
  align-items: center !important;
  margin-top: 13px !important;
}

.contact .form_area .form_box .form_table td.date .date_box:first-child {
  margin-top: 0 !important;
}

.contact .form_area .form_box .form_table td.date .date_box .num {
  display: inline-block !important;
  color: #ccc !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  width: 35px !important;
  min-width: 35px !important;
  line-height: 50px !important;
  text-align: left !important;
}

.contact .form_area .form_box .form_table td.date .date_box .wpcf7-form-control-wrap {
  display: inline-block !important;
  width: 635px !important;
}

.contact .form_area .form_box .form_table td input.date1,
.contact .form_area .form_box .form_table td input.date2,
.contact .form_area .form_box .form_table td input.date3 {
  width: 635px !important;
  max-width: 100% !important;
}

/* Work day radios */
.contact .form_area .form_box .form_table td.work {
  padding-top: 10px !important;
}

.contact .form_area .form_box .form_table td.work .wpcf7-radio {
  display: flex !important;
  gap: 30px !important;
}

.contact .form_area .form_box .form_table td.work label {
  display: inline-flex !important;
  align-items: center !important;
  cursor: pointer !important;
  margin: 0 !important;
  font-size: 20px !important;
  color: #1E1E1E !important;
}

.contact .form_area .form_box .form_table td.work label input[type=radio] {
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  border: 1px solid #E6E6E6 !important;
  border-radius: 50% !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  margin: 0 10px 0 0 !important;
  background: #fff !important;
  position: relative !important;
  cursor: pointer !important;
  box-shadow: none !important;
}

.contact .form_area .form_box .form_table td.work label input[type=radio]:checked::before {
  content: "" !important;
  position: absolute !important;
  top: 5px !important;
  left: 5px !important;
  width: 16px !important;
  height: 16px !important;
  border-radius: 50% !important;
  background: #000 !important;
}

.contact .form_area .form_box .form_table td.work label .wpcf7-list-item-label {
  font-size: 20px !important;
  color: #1E1E1E !important;
}

/* Pack checkboxes */
.contact .form_area .form_box .form_table td.pack {
  padding-top: 10px !important;
}

.contact .form_area .form_box .form_table td.pack .wpcf7-checkbox {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 15px 30px !important;
}

.contact .form_area .form_box .form_table td.pack .wpcf7-list-item {
  margin: 0 !important;
}

.contact .form_area .form_box .form_table td.pack label {
  display: inline-flex !important;
  align-items: center !important;
  cursor: pointer !important;
  margin: 0 !important;
  font-size: 20px !important;
  color: #1E1E1E !important;
}

.contact .form_area .form_box .form_table td.pack label input[type=checkbox] {
  width: 23px !important;
  height: 23px !important;
  min-width: 23px !important;
  border: 2px solid #E6E6E6 !important;
  border-radius: 3px !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  margin: 0 10px 0 0 !important;
  background: #fff !important;
  position: relative !important;
  cursor: pointer !important;
  box-shadow: none !important;
}

.contact .form_area .form_box .form_table td.pack label input[type=checkbox]:checked::before {
  content: "" !important;
  position: absolute !important;
  top: 2px !important;
  left: 6px !important;
  transform: rotate(50deg) !important;
  width: 6px !important;
  height: 11px !important;
  border-right: 2px solid #000 !important;
  border-bottom: 2px solid #000 !important;
  background: transparent !important;
}

.contact .form_area .form_box .form_table td.pack label .wpcf7-list-item-label {
  font-size: 20px !important;
  color: #1E1E1E !important;
}

/* Textarea */
.contact .form_area .form_box .form_table td textarea {
  display: block !important;
  width: 670px !important;
  max-width: 100% !important;
  height: 300px !important;
  font-size: 20px !important;
  line-height: 1.6 !important;
  padding: 10px !important;
  border-radius: 5px !important;
  border: 3px solid #B3B3B3 !important;
  background: #fff !important;
  box-sizing: border-box !important;
  color: #1E1E1E !important;
  box-shadow: none !important;
}

/* Privacy check */
.contact .form_area .form_box .privacy_btn {
  font-size: 20px !important;
  text-align: center !important;
  margin: 90px 0 65px !important;
}

.contact .form_area .form_box .privacy_btn a {
  color: #0071BC !important;
  text-decoration: none !important;
}

.contact .form_area .form_box .privacy_btn label {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  margin: 0 auto !important;
  font-size: 20px !important;
  color: #1E1E1E !important;
}

.contact .form_area .form_box .privacy_btn label input[type=checkbox] {
  width: 23px !important;
  height: 23px !important;
  min-width: 23px !important;
  border: 2px solid #E6E6E6 !important;
  border-radius: 3px !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  margin: 0 10px 0 0 !important;
  background: #fff !important;
  position: relative !important;
  cursor: pointer !important;
  box-shadow: none !important;
}

.contact .form_area .form_box .privacy_btn label input[type=checkbox]:checked::before {
  content: "" !important;
  position: absolute !important;
  top: 2px !important;
  left: 6px !important;
  transform: rotate(50deg) !important;
  width: 6px !important;
  height: 11px !important;
  border-right: 2px solid #000 !important;
  border-bottom: 2px solid #000 !important;
  background: transparent !important;
}

.contact .form_area .form_box .privacy_btn label .wpcf7-list-item-label {
  font-size: 20px;
  color: #1E1E1E !important;
}

/* Submit button with negative margin overlap */
.contact .form_area .form_box input.form_btn,
.contact .form_area .form_box input.btn_conf {
  display: block !important;
  color: #fff !important;
  font-size: 30px !important;
  text-align: center !important;
  font-weight: 900 !important;
  width: 510px !important;
  height: 100px !important;
  margin: 0 auto -50px !important;
  padding: 0 10px 8px 0 !important;
  background: url('../images/pc_form_btn_conf.png') no-repeat top left/100% !important;
  filter: drop-shadow(0 10px 10px rgba(91, 9, 0, 0.5)) !important;
  border: none !important;
  cursor: pointer !important;
  position: relative !important;
  z-index: 10 !important;
}

.contact .form_area .form_box input.btn_conf:hover {
  opacity: 0.8 !important;
}
}

/* ========================================================
   7. SECTION 22: COMPANY AREA & FOOTER
   ======================================================== */
.company_area {
  background: url('../images/pc_bg_company.jpg') no-repeat top center !important;
  height: 857px !important;
  padding-top: 95px !important;
  box-sizing: border-box !important;
  position: relative !important;
  z-index: 5 !important;
}

.company_area .inner .pay_box .pay_img {
  width: 1100px !important;
  margin: 0 auto !important;
  position: relative !important;
}

.company_area .inner .pay_box .pay_img .text {
  display: block !important;
  font-size: 20px !important;
  line-height: 1.85 !important;
  position: absolute !important;
  top: 50px !important;
  left: 60px !important;
  color: #1E1E1E !important;
  text-align: left !important;
  margin: 0 !important;
}

.company_area .inner .pay_box .pay_img .text strong {
  color: #F7931E !important;
}

footer {
  margin-bottom: 95px !important;
  display: block !important;
}

footer .copy {
  text-align: center !important;
  padding: 13px 0 !important;
  background: #2DCD3C !important;
  margin: 0 !important;
}

footer .copy small {
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}

/* ========================================================
   8. SPECIFIC CENTERING & ACCORDION BUTTON REQUESTS
   ======================================================== */
@media screen and (min-width: 1301px) {
  /* 1. 回収例 tit centered */
  .front .case_area .inner .case_box .case_top .detail_list li .tit {
    width: 250px !important;
    height: 40px !important;
    margin: 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    text-align: center !important;
    line-height: 1 !important;
  }

  /* 2. とってもカンタン top centered */
  .front .flow_area .inner .top {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding-top: 0 !important;
    text-align: center !important;
    margin: 0 auto !important;
    line-height: 1 !important;
  }

  /* 3. Offer tel centered */
  .front .offer_area .inner .offer_box .offer_box_in .tel {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    margin: 10px auto 25px !important;
  }
  .front .offer_area .inner .offer_box .offer_box_in .tel img {
    display: inline-block !important;
    margin-top: 20px !important;
    vertical-align: middle !important;
  }
  .front .offer_area .inner .offer_box .offer_box_in .tel a {
    display: inline-block !important;
    margin-left: 10px !important;
    vertical-align: middle !important;
    line-height: 1 !important;
  }

  /* 4. Method accordion buttons (.method_more) */
  .front .method_area .inner .method_box .box_in .method_more {
    display: block !important;
    width: 400px !important;
    height: 60px !important;
    margin: 0 auto !important;
    padding: 17px 10px 0 0 !important;
    border-radius: 30px !important;
    background: #00A669 !important;
    box-sizing: border-box !important;
    position: relative !important;
    cursor: pointer !important;
  }
  .front .method_area .inner .method_box .box_in .method_more::after {
    content: "続きを読む" !important;
    display: block !important;
    color: #fff !important;
    font-size: 22px !important;
    text-align: center !important;
    letter-spacing: 0.05em !important;
  }
  .front .method_area .inner .method_box .box_in .method_more::before {
    content: "" !important;
    display: block !important;
    width: 23px !important;
    height: 15px !important;
    margin-top: -7px !important;
    background: url('../images/icon_method_arrow.svg') no-repeat top left/100% !important;
    position: absolute !important;
    top: 50% !important;
    right: 30px !important;
    transition: all 0.3s ease-out !important;
  }
  .front .method_area .inner .method_box .box_in .method_more.open::after {
    content: "続きを閉じる" !important;
  }
  .front .method_area .inner .method_box .box_in .method_more.open::before {
    -webkit-transform: rotate(180deg) !important;
    transform: rotate(180deg) !important;
  }
}

@media screen and (min-width: 769px) and (max-width: 1300px) {
  .front .case_area .inner .case_box .case_top .detail_list li .tit {
    margin: 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
  }
  .front .flow_area .inner .top {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding-top: 0 !important;
  }
  .front .offer_area .inner .offer_box .offer_box_in .tel {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0.7692307692vw auto 1.9230769231vw !important;
  }
  .front .offer_area .inner .offer_box .offer_box_in .tel a {
    margin-left: 0.7692307692vw !important;
    line-height: 1 !important;
  }
}

@media screen and (max-width: 768px) {
  /* Eliminate top gap under fixed header */
  .front .fv_area,
  body.home .fv_area {
    margin-top: 0 !important;
  }

  /* Pack card height matching sample site */
  .front .pack_area .inner .pack_list > li,
  .pack_area .inner .pack_list > li {
    height: 90.6666666667vw !important;
    min-height: 0 !important;
  }
  .front .pack_area .inner .pack_list > li:last-child,
  .pack_area .inner .pack_list > li:last-child {
    height: 82.6666666667vw !important;
    min-height: 0 !important;
  }

  /* Section 13: Service Area Tit Area fixes */
  .front .service_area .inner .tit_area p {
    margin-bottom: 0 !important;
  }
  .front .service_area .inner .tit_area .tit {
    margin-bottom: 0 !important;
  }
  .front .service_area .inner .tit_area h2 {
    line-height: 1 !important;
    margin: 4vw 0 4.6666666667vw !important;
  }

  .front .case_area .inner .case_box .case_top .detail_list li .tit {
    margin: 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
  }
  .front .flow_area .inner .top {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding-top: 0 !important;
  }
  .front .offer_area .inner .offer_box .offer_box_in .tel {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  /* Contact Form Mobile (Authentic from style_sp.css) */
  .contact {
    margin-top: 17.3333333333vw !important;
    margin-bottom: 33.3333333333vw !important;
  }
  .contact.in_type h2,
  .contact.in_type .section-content > h2 {
    font-size: 8vw !important;
    width: 76vw !important;
    height: 17.7333333333vw !important;
    margin: 0 auto !important;
    padding: 6vw 0 0 9.3333333333vw !important;
    background: url("https://cleanbird-kansai.jp/wp-content/uploads/2026/09/contact_tit_bird.png") no-repeat top center/100% !important;
    box-sizing: border-box !important;
    display: block !important;
    color: #1E1E1E !important;
    text-align: left !important;
  }
  .contact .form_area {
    width: 89.3333333333vw !important;
    margin: 0 auto !important;
  }
  .contact .form_area .top_text {
    font-size: 3.7333333333vw !important;
    text-align: center !important;
    line-height: 1.78 !important;
    margin: 12vw 0 18.6666666667vw !important;
    color: #1E1E1E !important;
  }
  .contact .form_area .form_box {
    width: 100% !important;
  }
  .contact .form_area .form_box .form_table {
    width: 100% !important;
  }
  .contact .form_area .form_box .form_table tr {
    display: inline-block !important;
    width: 100% !important;
    margin-top: 6.6666666667vw !important;
  }
  .contact .form_area .form_box .form_table tr:first-of-type {
    margin-top: 0 !important;
  }
  .contact .form_area .form_box .form_table th,
  .contact .form_area .form_box .form_table td {
    display: block !important;
    vertical-align: top !important;
  }
  .contact .form_area .form_box .form_table th {
    text-align: left !important;
    font-weight: 400 !important;
    padding: 0 0 1.7333333333vw !important;
    width: auto !important;
    min-width: 0 !important;
  }
  .contact .form_area .form_box .form_table th p {
    margin: 0 !important;
    padding: 0 !important;
  }
  .contact .form_area .form_box .form_table th span {
    display: inline-block !important;
    font-size: 3.7333333333vw !important;
    line-height: 1.7 !important;
    width: auto !important;
    position: relative !important;
    font-weight: 500 !important;
    color: #1E1E1E !important;
  }
  .contact .form_area .form_box .form_table th span.req::after {
    content: "必須" !important;
    display: inline-block !important;
    color: #fff !important;
    font-size: 2.8vw !important;
    line-height: 1 !important;
    padding: 1.0666666667vw 1.3333333333vw 1.3333333333vw !important;
    background: #C1272D !important;
    position: absolute !important;
    top: 0.6666666667vw !important;
    right: -14.6666666667vw !important;
    border-radius: 0.5vw !important;
    font-weight: 500 !important;
  }
  .contact .form_area .form_box .form_table th span .min {
    font-weight: 400 !important;
    font-size: 3.7333333333vw !important;
  }
  .contact .form_area .form_box .form_table td {
    width: 89.3333333333vw !important;
    max-width: 100% !important;
    padding: 0 !important;
  }
  .contact .form_area .form_box .form_table td p {
    margin: 0 !important;
    padding: 0 !important;
  }
  .contact .form_area .form_box .form_table td input[type=text],
  .contact .form_area .form_box .form_table td input[type=tel],
  .contact .form_area .form_box .form_table td input[type=email] {
    display: inline-block !important;
    font-size: 3.4666666667vw !important;
    font-weight: 400 !important;
    line-height: 9.3333333333vw !important;
    height: 9.3333333333vw !important;
    margin: 0 !important;
    padding: 0 2.6666666667vw !important;
    border-radius: 0.8vw !important;
    border: 0.4vw solid #B3B3B3 !important;
    background: #fff !important;
    box-sizing: border-box !important;
    color: #1E1E1E !important;
    box-shadow: none !important;
  }
  .contact .form_area .form_box .form_table td input::placeholder,
  .contact .form_area .form_box .form_table td textarea::placeholder {
    color: #ccc !important;
    font-size: 3.4666666667vw !important;
  }
  .contact .form_area .form_box .form_table td input.user_name,
  .contact .form_area .form_box .form_table td input.address,
  .contact .form_area .form_box .form_table td input.luggage,
  .contact .form_area .form_box .form_table td input.email {
    width: 89.3333333333vw !important;
    max-width: 100% !important;
  }
  .contact .form_area .form_box .form_table td input.post1,
  .contact .form_area .form_box .form_table td input.post2 {
    width: 20vw !important;
  }
  .contact .form_area .form_box .form_table td input.tel1,
  .contact .form_area .form_box .form_table td input.tel2,
  .contact .form_area .form_box .form_table td input.tel3 {
    width: 20vw !important;
  }
  .contact .form_area .form_box .form_table td.post p,
  .contact .form_area .form_box .form_table td.tel p {
    display: flex !important;
    align-items: center !important;
  }
  .contact .form_area .form_box .form_table td.post .wpcf7-form-control-wrap,
  .contact .form_area .form_box .form_table td.tel .wpcf7-form-control-wrap {
    display: inline-block !important;
    width: auto !important;
  }
  .contact .form_area .form_box .form_table td .hyphen {
    display: inline-block !important;
    font-size: 3.6vw !important;
    font-weight: 400 !important;
    padding: 0 1.3333333333vw !important;
    line-height: 9.3333333333vw !important;
    color: #1E1E1E !important;
  }
  .contact .form_area .form_box .form_table td .date_box {
    margin-top: 1.0666666667vw !important;
    display: flex !important;
    align-items: center !important;
  }
  .contact .form_area .form_box .form_table td .date_box:first-child {
    margin-top: 0 !important;
  }
  .contact .form_area .form_box .form_table td .date_box .num {
    display: inline-block !important;
    color: #ccc !important;
    font-size: 3.4666666667vw !important;
    font-weight: 400 !important;
    padding: 0 4vw 0 2.6666666667vw !important;
    line-height: 9.3333333333vw !important;
    width: auto !important;
    min-width: 0 !important;
  }
  .contact .form_area .form_box .form_table td .date_box .wpcf7-form-control-wrap {
    display: inline-block !important;
    width: calc(100% - 9.3333vw) !important;
  }
  .contact .form_area .form_box .form_table td input.date1,
  .contact .form_area .form_box .form_table td input.date2,
  .contact .form_area .form_box .form_table td input.date3 {
    width: 100% !important;
  }
  .contact .form_area .form_box .form_table td.work {
    padding-top: 1.3333333333vw !important;
  }
  .contact .form_area .form_box .form_table td.work .wpcf7-radio {
    display: flex !important;
    gap: 3.3333vw !important;
  }
  .contact .form_area .form_box .form_table td.work label {
    display: inline-flex !important;
    align-items: center !important;
    padding: 0 !important;
    cursor: pointer !important;
    position: relative !important;
    font-size: 3.7333333333vw !important;
    color: #1E1E1E !important;
  }
  .contact .form_area .form_box .form_table td.work label input[type=radio] {
    width: 4.6666666667vw !important;
    height: 4.6666666667vw !important;
    min-width: 4.6666666667vw !important;
    padding: 0 !important;
    border: 0.2666666667vw solid #E6E6E6 !important;
    border-radius: 50% !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    margin: 0 1.2vw 0 0 !important;
    background: #fff !important;
    position: relative !important;
  }
  .contact .form_area .form_box .form_table td.work label input[type=radio]:checked::before {
    content: "" !important;
    width: 2.2666666667vw !important;
    height: 2.2666666667vw !important;
    margin-top: -1.1333vw !important;
    margin-left: -1.1333vw !important;
    border-radius: 50% !important;
    background: #1A1A1A !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
  }
  .contact .form_area .form_box .form_table td.work label .wpcf7-list-item-label {
    font-size: 3.7333333333vw !important;
    padding-left: 0 !important;
  }
  .contact .form_area .form_box .form_table td.pack {
    padding-top: 2vw !important;
  }
  .contact .form_area .form_box .form_table td.pack .wpcf7-checkbox {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 3.3333vw 0 !important;
  }
  .contact .form_area .form_box .form_table td.pack .wpcf7-list-item {
    display: inline-block !important;
    width: 44vw !important;
    margin: 0 !important;
  }
  .contact .form_area .form_box .form_table td.pack label {
    display: inline-flex !important;
    align-items: center !important;
    cursor: pointer !important;
    position: relative !important;
    width: 100% !important;
    font-size: 3.7333333333vw !important;
    color: #1E1E1E !important;
  }
  .contact .form_area .form_box .form_table td.pack label input[type=checkbox] {
    width: 4.2666666667vw !important;
    height: 4.2666666667vw !important;
    min-width: 4.2666666667vw !important;
    padding: 0 !important;
    border: 0.4vw solid #E6E6E6 !important;
    border-radius: 0.6666666667vw !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    margin: 0 2vw 0 0 !important;
    background: #fff !important;
    position: relative !important;
  }
  .contact .form_area .form_box .form_table td.pack label input[type=checkbox]:checked::before {
    content: "" !important;
    position: absolute !important;
    top: 0.6vw !important;
    left: 1.3vw !important;
    transform: rotate(50deg) !important;
    width: 1.0666666667vw !important;
    height: 1.8vw !important;
    border-right: 0.4vw solid #000 !important;
    border-bottom: 0.4vw solid #000 !important;
    background: transparent !important;
  }
  .contact .form_area .form_box .form_table td.pack label .wpcf7-list-item-label {
    font-size: 3.7333333333vw !important;
    padding-left: 0 !important;
  }
  .contact .form_area .form_box .form_table td textarea {
    font-size: 3.4666666667vw !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
    width: 89.3333333333vw !important;
    height: 42.6666666667vw !important;
    padding: 2.6666666667vw !important;
    border-radius: 0.8vw !important;
    border: 0.4vw solid #B3B3B3 !important;
    background: #fff !important;
    box-sizing: border-box !important;
    color: #1E1E1E !important;
    box-shadow: none !important;
  }
  .contact .form_area .form_box .privacy_btn {
    font-size: 3.7333333333vw !important;
    text-align: center !important;
    margin: 16vw 0 13.3333333333vw !important;
  }
  .contact .form_area .form_box .privacy_btn a {
    color: #0071BC !important;
    text-decoration: none !important;
  }
  .contact .form_area .form_box .privacy_btn label {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    position: relative !important;
    font-size: 3.7333333333vw !important;
    color: #1E1E1E !important;
  }
  .contact .form_area .form_box .privacy_btn label input[type=checkbox] {
    width: 4.2666666667vw !important;
    height: 4.2666666667vw !important;
    min-width: 4.2666666667vw !important;
    margin: 0 2vw 0 0 !important;
    border: 0.4vw solid #E6E6E6 !important;
    border-radius: 0.6666666667vw !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    background: #fff !important;
    position: relative !important;
  }
  .contact .form_area .form_box .privacy_btn label input[type=checkbox]:checked::before {
    content: "" !important;
    position: absolute !important;
    top: 0.6vw !important;
    left: 1.3vw !important;
    transform: rotate(50deg) !important;
    width: 1.0666666667vw !important;
    height: 1.8vw !important;
    border-right: 0.4vw solid #000 !important;
    border-bottom: 0.4vw solid #000 !important;
    background: transparent !important;
  }
  .contact .form_area .form_box .privacy_btn label .wpcf7-list-item-label {
    font-size: 3.7333333333vw !important;
  }
  .contact .form_area .form_box input.form_btn,
  .contact .form_area .form_box input.btn_conf {
    display: block !important;
    color: #fff !important;
    font-size: 4.5333333333vw !important;
    text-align: center !important;
    font-weight: 900 !important;
    width: 89.3333333333vw !important;
    height: 17.4666666667vw !important;
    margin: 0 auto -8.5vw !important;
    padding: 0 1.3333333333vw 2vw 0 !important;
    background: url('../images/sp_form_btn_submit.png') no-repeat top left/100% !important;
    filter: drop-shadow(0 1.3333333333vw 1.3333333333vw rgba(91, 9, 0, 0.5)) !important;
    border: none !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
  }
  .company_area {
    background: url('../images/sp_bg_company.jpg') no-repeat top center/100% !important;
    height: auto !important;
    padding-top: 15vw !important;
    padding-bottom: 10vw !important;
  }
  .company_area .inner .pay_box .pay_img {
    width: 100% !important;
    position: relative !important;
  }
  .company_area .inner .pay_box .pay_img .text {
    position: absolute !important;
    top: 8vw !important;
    left: 9.3333333333vw !important;
    font-size: 4.2666666667vw !important;
    font-weight: 700 !important;
    line-height: 1.37 !important;
    text-align: left !important;
    padding: 0 !important;
  }
  footer {
    margin-bottom: 21.3333333333vw !important;
  }
  footer .copy {
    padding: 2.6666666667vw 0 !important;
  }
  footer .copy small {
    font-size: 2.4vw !important;
  }
}

/* ========================================================
   9. SECTION 17: FEATURES AREA (FIX NARROW COLUMNS / BOX-SIZING)
   ======================================================== */
@media screen and (min-width: 1301px) {
  .front .method_area .inner .method_box .box_in .features_area {
    display: flex !important;
    justify-content: center !important;
  }

  .front .method_area .inner .method_box .box_in .features_area > div {
    box-sizing: content-box !important;
    width: 470px !important;
    padding-top: 15px !important;
    padding-bottom: 10px !important;
  }

  .front .method_area .inner .method_box .box_in .features_area > div h4 {
    box-sizing: border-box !important;
    font-size: 30px !important;
    font-weight: 700 !important;
    height: 47px !important;
    padding: 5px 0 0 17px !important;
    width: 100% !important;
  }

  .front .method_area .inner .method_box .box_in .features_area > div .text {
    line-height: 1.88 !important;
    height: 125px !important;
    margin: 20px 0 60px !important;
    width: 100% !important;
  }

  .front .method_area .inner .method_box .box_in .features_area > div .merit_box,
  .front .method_area .inner .method_box .box_in .features_area > div .demerit_box {
    box-sizing: border-box !important;
    width: 100% !important;
    border-radius: 0 15px 15px 15px !important;
    position: relative !important;
  }

  .front .method_area .inner .method_box .box_in .features_area > div .merit_box {
    height: 140px !important;
    margin-bottom: 60px !important;
    border: 3px solid #FBB03B !important;
  }

  .front .method_area .inner .method_box .box_in .features_area > div .demerit_box {
    height: 170px !important;
    border: 3px solid #C7B299 !important;
  }

  .front .method_area .inner .method_box .box_in .features_area > div .merit_box .tit,
  .front .method_area .inner .method_box .box_in .features_area > div .demerit_box .tit {
    box-sizing: border-box !important;
    width: 160px !important;
    height: 40px !important;
    position: absolute !important;
    top: -40px !important;
    left: -3px !important;
  }

  .front .method_area .inner .method_box .box_in .features_area > div.local {
    padding-right: 51px !important;
    border-right: 8px dotted #D2D2D2 !important;
    border-bottom: none !important;
    margin-bottom: 0 !important;
  }

  .front .method_area .inner .method_box .box_in .features_area > div.vendor {
    padding-left: 51px !important;
  }
}

@media screen and (min-width: 769px) and (max-width: 1300px) {
  .front .method_area .inner .method_box .box_in .features_area > div {
    box-sizing: content-box !important;
    width: 36.1538461538vw !important;
    padding-top: 1.1538461538vw !important;
    padding-bottom: 0.7692307692vw !important;
  }
  .front .method_area .inner .method_box .box_in .features_area > div h4 {
    font-size: 2.3076923077vw !important;
    height: 3.6153846154vw !important;
    padding: 0.3846153846vw 0 0 1.3076923077vw !important;
    width: 100% !important;
  }
  .front .method_area .inner .method_box .box_in .features_area > div .text {
    height: 9.6153846154vw !important;
    margin: 1.5384615385vw 0 4.6153846154vw !important;
    width: 100% !important;
  }
  .front .method_area .inner .method_box .box_in .features_area > div .merit_box,
  .front .method_area .inner .method_box .box_in .features_area > div .demerit_box {
    border-radius: 0 1.1538461538vw 1.1538461538vw 1.1538461538vw !important;
    width: 100% !important;
  }
  .front .method_area .inner .method_box .box_in .features_area > div .merit_box {
    height: 10.7692307692vw !important;
    margin-bottom: 4.6153846154vw !important;
    border: 0.2307692308vw solid #FBB03B !important;
  }
  .front .method_area .inner .method_box .box_in .features_area > div .demerit_box {
    height: 13.0769230769vw !important;
    border: 0.2307692308vw solid #C7B299 !important;
  }
  .front .method_area .inner .method_box .box_in .features_area > div .merit_box .tit,
  .front .method_area .inner .method_box .box_in .features_area > div .demerit_box .tit {
    font-size: 1.7692307692vw !important;
    width: 12.3076923077vw !important;
    height: 3.0769230769vw !important;
    padding-top: 0.7692307692vw !important;
    border-radius: 1.1538461538vw 1.1538461538vw 0 0 !important;
    top: -3.0769230769vw !important;
    left: -0.2307692308vw !important;
  }
  .front .method_area .inner .method_box .box_in .features_area > div.local {
    padding-right: 3.9230769231vw !important;
    border-right: 0.6153846154vw dotted #D2D2D2 !important;
  }
  .front .method_area .inner .method_box .box_in .features_area > div.vendor {
    padding-left: 3.9230769231vw !important;
  }
}

@media screen and (max-width: 768px) {
  /* Case Area Mobile Responsive Fixes */
  .front .case_area .inner .tit_area .tit h2 {
    margin-left: 0 !important;
    text-align: center !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .front .case_area .inner .tit_area .tit h2::before {
    left: auto !important;
    right: 4vw !important;
  }
  .front .case_area .inner .case_box .case_top .detail_list li .tit {
    width: 39.0666666667vw !important;
    height: 6.6666666667vw !important;
    font-size: 4.2666666667vw !important;
    border-radius: 3.3333333333vw !important;
    margin: 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    line-height: 1 !important;
  }

  /* Method Area Mobile Responsive Fixes */
  .front .method_area .inner .method_box .box_in .features_area {
    display: block !important;
  }
  .front .method_area .inner .method_box .box_in .features_area > div {
    box-sizing: border-box !important;
    width: 78.6666666667vw !important;
    margin: 0 auto !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
    border-right: none !important;
  }
  .front .method_area .inner .method_box .box_in .features_area > div h4 {
    box-sizing: border-box !important;
    font-size: 4.5333333333vw !important;
    font-weight: 700 !important;
    height: 7.0666666667vw !important;
    padding: 0.8vw 0 0 2.6666666667vw !important;
    width: 100% !important;
  }
  .front .method_area .inner .method_box .box_in .features_area > div .text {
    line-height: 1.66 !important;
    height: auto !important;
    margin: 3.3333333333vw 0 8vw !important;
    width: 100% !important;
    font-size: 3.7333333333vw !important;
  }
  .front .method_area .inner .method_box .box_in .features_area > div .merit_box,
  .front .method_area .inner .method_box .box_in .features_area > div .demerit_box {
    box-sizing: border-box !important;
    width: 100% !important;
    border-radius: 0 2.6666666667vw 2.6666666667vw 2.6666666667vw !important;
    position: relative !important;
  }
  .front .method_area .inner .method_box .box_in .features_area > div .merit_box {
    min-height: 18.6666666667vw !important;
    height: auto !important;
    margin-bottom: 11.3333333333vw !important;
    border: 0.4vw solid #FBB03B !important;
  }
  .front .method_area .inner .method_box .box_in .features_area > div .demerit_box {
    min-height: 18.6666666667vw !important;
    height: auto !important;
    border: 0.4vw solid #C7B299 !important;
  }
  .front .method_area .inner .method_box .box_in .features_area > div .merit_box .tit,
  .front .method_area .inner .method_box .box_in .features_area > div .demerit_box .tit {
    box-sizing: border-box !important;
    width: 29.3333333333vw !important;
    height: 7.3333333333vw !important;
    font-size: 4.2666666667vw !important;
    padding-top: 1.2vw !important;
    border-radius: 2vw 2vw 0 0 !important;
    position: absolute !important;
    top: -7.3333333333vw !important;
    left: -0.4vw !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    line-height: 1 !important;
  }
  .front .method_area .inner .method_box .box_in .features_area > div.local {
    margin-bottom: 7.3333333333vw !important;
    padding-bottom: 7.3333333333vw !important;
    padding-right: 0 !important;
    border-right: none !important;
    border-bottom: 1.0666666667vw dotted #D2D2D2 !important;
  }
  .front .method_area .inner .method_box .box_in .features_area > div.vendor {
    padding-left: 0 !important;
  }
  .front .method_area .inner .method_box .box_in .method_more {
    display: block !important;
    width: 86.6666666667vw !important;
    max-width: 100% !important;
    height: 14.6666666667vw !important;
    margin: 0 auto !important;
    padding: 4.2666666667vw 2.6666666667vw 0 0 !important;
    border-radius: 7.3333333333vw !important;
    background: #00A669 !important;
    box-sizing: border-box !important;
    position: relative !important;
    cursor: pointer !important;
  }
  .front .method_area .inner .method_box .box_in .method_more::after {
    content: "続きを読む" !important;
    display: block !important;
    color: #fff !important;
    font-size: 4.8vw !important;
    text-align: center !important;
    letter-spacing: 0.05em !important;
  }
  .front .method_area .inner .method_box .box_in .method_more::before {
    content: "" !important;
    display: block !important;
    width: 5.6vw !important;
    height: 3.7333333333vw !important;
    margin-top: -1.8666666667vw !important;
    background: url('../images/icon_method_arrow.svg') no-repeat top left/100% !important;
    position: absolute !important;
    top: 50% !important;
    right: 6.4vw !important;
    transition: all 0.3s ease-out !important;
  }
  .front .method_area .inner .method_box .box_in .method_more.open::after {
    content: "続きを閉じる" !important;
  }
  .front .method_area .inner .method_box .box_in .method_more.open::before {
    -webkit-transform: rotate(180deg) !important;
    transform: rotate(180deg) !important;
  }

  /* Company Area Mobile Title Fix */
  .company_area .inner h2 {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
}

/* ==========================================================================
   Section 20: Service Area (area_area) - Fix UI for top_tit & speech bubble
   ========================================================================== */

@media screen and (min-width: 1301px) {
  /* 1. Top Cloud Badge (.top_tit) */
  .front .area_area .inner .top_tit,
  .in_area .area_area .inner .top_tit,
  .area_area .inner .top_tit {
    color: #00A669 !important;
    width: 448px !important;
    height: 76px !important;
    margin: 0 auto !important;
    padding: 0 0 0 28px !important;
    background: url("https://cleanbird-kansai.jp/wp-content/uploads/2026/09/area_tit_kansai.png") no-repeat top left/100% !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    font-size: 34px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
  }

  .front .area_area .inner .top_tit strong,
  .in_area .area_area .inner .top_tit strong,
  .area_area .inner .top_tit strong {
    font-size: 34px !important;
    font-weight: 900 !important;
    padding-left: 0 !important;
    color: #00A669 !important;
    line-height: 1 !important;
    display: inline-block !important;
  }

  .front .area_area .inner .top_tit span,
  .in_area .area_area .inner .top_tit span,
  .area_area .inner .top_tit span {
    font-size: 32px !important;
    font-weight: 700 !important;
    padding-left: 180px !important;
    margin-left: 2px !important;
    color: #00A669 !important;
    line-height: 1 !important;
    display: inline-block !important;
  }

  /* 2. Saitama Speech Bubble (.area_text) */
  .front .area_area .inner .area_box .img_area,
  .in_area .area_area .inner .area_box .img_area,
  .area_area .inner .area_box .img_area {
    position: relative !important;
  }

  .front .area_area .inner .area_box .img_area .area_text,
  .in_area .area_area .inner .area_box .img_area .area_text,
  .area_area .inner .area_box .img_area .area_text {
    position: absolute !important;
    top: 40px !important;
    right: 32px !important;
    width: 236px !important;
    height: 180px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    margin: 0 !important;
    padding: 0 !important;
    pointer-events: none !important;
  }

  .front .area_area .inner .area_box .img_area .area_text .text01,
  .in_area .area_area .inner .area_box .img_area .area_text .text01,
  .area_area .inner .area_box .img_area .area_text .text01 {
    font-size: 26px !important;
    font-weight: 700 !important;
    color: #222 !important;
    line-height: 1.2 !important;
    margin: 0 0 6px 0 !important;
  }

  .front .area_area .inner .area_box .img_area .area_text .text02,
  .in_area .area_area .inner .area_box .img_area .area_text .text02,
  .area_area .inner .area_box .img_area .area_text .text02 {
    color: #F7931E !important;
    font-size: 32px !important;
    font-weight: 700 !important;
    line-height: 1.18 !important;
    margin: 0 !important;
  }

  .front .area_area .inner .area_box .img_area .area_text .text02 strong,
  .in_area .area_area .inner .area_box .img_area .area_text .text02 strong,
  .area_area .inner .area_box .img_area .area_text .text02 strong {
    font-size: 38px !important;
    font-weight: 900 !important;
    color: #F7931E !important;
    line-height: 1.18 !important;
    display: inline-block !important;
  }
}

/* Responsive: 769px to 1300px (Desktop medium screens like 1024px) */
@media screen and (min-width: 769px) and (max-width: 1300px) {
  .front .area_area .inner .top_tit,
  .in_area .area_area .inner .top_tit,
  .area_area .inner .top_tit {
    width: 34.4615384615vw !important;
    height: 5.8461538462vw !important;
    padding: 0 0 0 2.1538461538vw !important;
    font-size: 2.6153846154vw !important;
  }
  .front .area_area .inner .top_tit strong,
  .in_area .area_area .inner .top_tit strong,
  .area_area .inner .top_tit strong {
    font-size: 2.6153846154vw !important;
    padding-left: 0 !important;
  }
  .front .area_area .inner .top_tit span,
  .in_area .area_area .inner .top_tit span,
  .area_area .inner .top_tit span {
    font-size: 2.4615384615vw !important;
    padding-left: 0 !important;
    margin-left: 0.15vw !important;
  }

  .front .area_area .inner .area_box .img_area .area_text,
  .in_area .area_area .inner .area_box .img_area .area_text,
  .area_area .inner .area_box .img_area .area_text {
    top: 3.1vw !important;
    right: 2.5vw !important;
    width: 18.2vw !important;
    height: 13.8vw !important;
  }
  .front .area_area .inner .area_box .img_area .area_text .text01,
  .in_area .area_area .inner .area_box .img_area .area_text .text01,
  .area_area .inner .area_box .img_area .area_text .text01 {
    font-size: 2.0vw !important;
    margin: 0 0 0.46vw 0 !important;
  }
  .front .area_area .inner .area_box .img_area .area_text .text02,
  .in_area .area_area .inner .area_box .img_area .area_text .text02,
  .area_area .inner .area_box .img_area .area_text .text02 {
    font-size: 2.46vw !important;
    line-height: 1.18 !important;
  }
  .front .area_area .inner .area_box .img_area .area_text .text02 strong,
  .in_area .area_area .inner .area_box .img_area .area_text .text02 strong,
  .area_area .inner .area_box .img_area .area_text .text02 strong {
    font-size: 2.92vw !important;
    line-height: 1.18 !important;
  }
}

/* Responsive: Mobile (<= 768px) */
@media screen and (max-width: 768px) {
  .front .area_area .inner .top_tit,
  .in_area .area_area .inner .top_tit,
  .area_area .inner .top_tit {
    width: 62.1333333333vw !important;
    height: 10.5333333333vw !important;
    margin: 0 auto !important;
    padding: 2.4vw 0 0 0 !important;
    display: block !important;
    background: url("https://cleanbird-kansai.jp/wp-content/uploads/2026/09/area_tit_kansai.png") no-repeat top left/100% !important;
    box-sizing: border-box !important;
    color: #00A669 !important;
  }
  .front .area_area .inner .top_tit strong,
  .in_area .area_area .inner .top_tit strong,
  .area_area .inner .top_tit strong {
    font-size: 4.8vw !important;
    font-weight: 900 !important;
    vertical-align: -1.2vw !important;
    padding-left: 4vw !important;
    line-height: 1 !important;
    display: inline-block !important;
  }
  .front .area_area .inner .top_tit span,
  .in_area .area_area .inner .top_tit span,
  .area_area .inner .top_tit span {
    font-size: 4.6666666667vw !important;
    font-weight: 700 !important;
    vertical-align: -1.4666666667vw !important;
    padding-left: 25.3333333333vw !important;
    margin-left: 0 !important;
    line-height: 1 !important;
    display: inline-block !important;
  }

  .front .area_area .inner .area_box .img_area .area_text,
  .in_area .area_area .inner .area_box .img_area .area_text,
  .area_area .inner .area_box .img_area .area_text {
    position: absolute !important;
    top: 4.6666666667vw !important;
    right: 16vw !important;
    width: auto !important;
    height: auto !important;
    display: block !important;
    text-align: center !important;
    pointer-events: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .front .area_area .inner .area_box .img_area .area_text .text01,
  .in_area .area_area .inner .area_box .img_area .area_text .text01,
  .area_area .inner .area_box .img_area .area_text .text01 {
    font-size: 3.4666666667vw !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    margin: 0 0 0.8vw 0 !important;
  }
  .front .area_area .inner .area_box .img_area .area_text .text02,
  .in_area .area_area .inner .area_box .img_area .area_text .text02,
  .area_area .inner .area_box .img_area .area_text .text02 {
    font-size: 4.2666666667vw !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    color: #F7931E !important;
    margin: 0 !important;
  }
  .front .area_area .inner .area_box .img_area .area_text .text02 strong,
  .in_area .area_area .inner .area_box .img_area .area_text .text02 strong,
  .area_area .inner .area_box .img_area .area_text .text02 strong {
    font-size: 5.0666666667vw !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    color: #F7931E !important;
    display: inline !important;
  }
}

/* ========================================================
   STANDARD FLATSOME PAGES / NON-LANDING PAGES
   ======================================================== */
body:not(.home) #main {
  min-height: 50vh;
  box-sizing: border-box;
}

/* Ensure clean padding & max-width for standard pages (Privacy, Terms, Blog, etc.) */
body:not(.home) #content:not(:has(.front)),
body:not(.home) .page-wrapper {
  max-width: 1200px;
  margin: 30px auto 60px;
  padding: 0 20px;
  box-sizing: border-box;
}

body:not(.home) #content:not(:has(.front)) h1,
body:not(.home) #content:not(:has(.front)) h2,
body:not(.home) #content:not(:has(.front)) h3,
body:not(.home) #content:not(:has(.front)) h4 {
  color: #1E1E1E;
  margin-top: 30px;
  margin-bottom: 15px;
  font-weight: 700;
  line-height: 1.4;
}

body:not(.home) #content:not(:has(.front)) p,
body:not(.home) #content:not(:has(.front)) li {
  color: #333333;
  line-height: 1.8;
  font-size: 16px;
  margin-bottom: 16px;
}

@media screen and (max-width: 768px) {
  body:not(.home) #content:not(:has(.front)),
  body:not(.home) .page-wrapper {
    margin: 20px auto 40px;
    padding: 0 4vw;
  }
  body:not(.home) #content:not(:has(.front)) h1,
  body:not(.home) #content:not(:has(.front)) h2 {
    font-size: 5.5vw;
  }
  body:not(.home) #content:not(:has(.front)) p,
  body:not(.home) #content:not(:has(.front)) li {
    font-size: 3.8vw;
    line-height: 1.7;
  }
}