@charset "UTF-8";
/*!
 * ress.css • v2.0.4
 * MIT License
 * github.com/filipelinhares/ress
 */
html {
  -webkit-text-size-adjust: 100%;
  -moz-tab-size: 4;
  -o-tab-size: 4;
  box-sizing: border-box;
  word-break: normal;
     tab-size: 4;
}

*, :after, :before {
  box-sizing: inherit;
  background-repeat: no-repeat;
}

:after, :before {
  text-decoration: inherit;
  vertical-align: inherit;
}

* {
  margin: 0;
  padding: 0;
}

hr {
  height: 0;
  overflow: visible;
}

details, main {
  display: block;
}

summary {
  display: list-item;
}

small {
  font-size: 80%;
}

[hidden] {
  display: none;
}

abbr[title] {
  -webkit-text-decoration: underline dotted;
  border-bottom: none;
  text-decoration: underline;
          text-decoration: underline dotted;
}

a {
  background-color: transparent;
}

a:active, a:hover {
  outline-width: 0;
}

code, kbd, pre, samp {
  font-family: monospace, monospace;
}

pre {
  font-size: 1em;
}

b, strong {
  font-weight: bolder;
}

sub, sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

input {
  border-radius: 0;
}

[disabled] {
  cursor: default;
}

[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

textarea {
  overflow: auto;
  resize: vertical;
}

button, input, optgroup, select, textarea {
  font: inherit;
}

optgroup {
  font-weight: 700;
}

button {
  overflow: visible;
}

button, select {
  text-transform: none;
}

[role=button], [type=button], [type=reset], [type=submit], button {
  color: inherit;
  cursor: pointer;
}

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button:-moz-focusring {
  outline: 1px dotted ButtonText;
}

[type=reset], [type=submit], button, html [type=button] {
  -webkit-appearance: button;
}

button, input, select, textarea {
  border-style: none;
  background-color: transparent;
}

select {
  -moz-appearance: none;
  -webkit-appearance: none;
}

select::-ms-expand {
  display: none;
}

select::-ms-value {
  color: currentColor;
}

legend {
  display: table;
  max-width: 100%;
  border: 0;
  color: inherit;
  white-space: normal;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  color: inherit;
  font: inherit;
}

img {
  border-style: none;
}

progress {
  vertical-align: baseline;
}

svg:not([fill]) {
  fill: currentColor;
}
[aria-busy=true] {
  cursor: progress;
}

[aria-controls] {
  cursor: pointer;
}

[aria-disabled] {
  cursor: default;
}

.h-hide {
  display: none !important;
}

.h-hide-pc {
  display: none !important;
}

.h-white {
  color: #fff !important;
}
.h-center {
  text-align: center !important;
}

.h-fwb {
  font-weight: bold !important;
}

.h-mb-0 {
  margin-bottom: 0 !important;
}

.h-mt-0 {
  margin-top: 0 !important;
}

.h-pb-0 {
  padding-bottom: 0 !important;
}

.h-textDecolationNone {
  text-decoration: underline;
}

.h-red {
  color: #e60020;
}

.cf:after,
.cf:before {
  display: table;
  content: "";
}

.cf:after {
  clear: both;
}

.cf {
  *zoom: 1;
}

html {
  padding-top: 120px;
  color: #000;
  font-weight: 500;
  font-size: 16px;
  line-height: 2;
  font-family: "IBM Plex Sans JP", sans-serif;
}

body {
  word-wrap: break-word;
  text-spacing-trim: trim-start;
}

a {
  color: inherit;
  transition: all 0.3s;
}
a:hover {
  text-decoration-color: transparent;
  opacity: 0.6;
}

:visited:hover,
a {
  text-decoration: none;
}

ul {
  list-style: none;
}

i {
  font-style: normal;
}

input[type=button]:not([disabled]),
input[type=submit]:not([disabled]),
input[type=reset]:not([disabled]),
button:not([disabled]) {
  cursor: pointer;
}

input[type=button],
input[type=submit] {
  -webkit-appearance: none;
}

[hidden] {
  display: none !important;
}

img {
  height: auto;
}

label {
  cursor: pointer;
}

table {
  border-collapse: collapse;
}

th {
  font-weight: normal;
}

a[href*="tel:"] {
  cursor: default;
  pointer-events: none;
}

.ly-header {
  display: flex;
  z-index: 23;
  position: fixed;
  top: 0;
  left: 0;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 120px;
  padding: 20px min( 50px,2.6041666667vw);
  gap: 30px;
  background-color: #fff;
  transition: all 0.3s ease;
}
.ly-header.is-scroll {
  min-height: 80px;
  padding-top: 0;
  padding-bottom: 0;
  box-shadow: 0 3px 10px 0 rgba(0, 0, 0, 0.1);
}

.ly-footer {
  padding: 60px 30px 42px;
  background-color: #000;
  color: #fff;
}

body:has(.el_dotRedBtn) .ly-footer {
  padding-bottom: 160px;
}

:root {
  --keyColor: #e60012;
  --blackColor: #030303;
}

.svg-wrapper {
  display: none;
}

.bl_pageWrapper {
  padding-bottom: 120px;
}
.bl_pageWrapper__visit {
  background-image: url("/assets/images/visit/square_back.webp");
  background-size: 36px auto;
  background-repeat: repeat;
}

body:has(.bl_pageWrapper__backRed) {
  background-color: #fff0f0;
}

body:has(.bl_pageWrapper__backGray) {
  background-color: #f9f9f9;
}

body:has(.bl_pageWrapperHistory) {
  background-image: url("/assets/images/company/history/back_pc.webp");
  background-position: 0 0;
  background-size: 100% auto;
  background-color: #000;
}

.bl_paddingWrapper {
  padding: 0 15px;
}

.bl_max01 {
  max-width: 1540px;
  margin: 0 auto;
}

.bl_max02 {
  max-width: 1720px;
  margin: 0 auto;
}

.bl_max03 {
  max-width: 1000px;
  margin: 0 auto;
}

.bl_max04 {
  max-width: 1200px;
  margin: 0 auto;
}

.bl_max05 {
  max-width: 1560px;
  margin: 0 auto;
}

.bl_pageContent01 {
  margin-top: 103px;
}
.is-scrollAnim {
  transform: translateY(30px);
  opacity: 0;
  transition: all 0.5s ease-out;
}
.is-scrollAnim.is-scrollIn {
  transform: translateY(0);
  opacity: 1;
}
.bl_globalNav_spDot {
  display: inline-block;
  cursor: pointer;
}

a.bl_globalNav_spDot:hover {
  opacity: 1;
}

.bl_globalNav {
  display: flex;
  gap: 0 min( 40px,2.0833333333vw);
  font-family: "Fjalla One", "IBM Plex Sans JP", sans-serif;
}

.bl_globalNav_spHeading {
  display: none;
}

.bl_globalNavWrapper {
  display: flex;
  align-items: center;
  gap: 10px min( 40px,2.0833333333vw);
}

.bl_btns {
  display: flex;
  align-items: center;
  gap: 15px;
}
.bl_btns__recruit {
  justify-content: center;
  max-width: 1240px;
}

.bl_headerBtn {
  width: 156px;
  padding: 9px 0;
  border-radius: 25px;
  color: #fff;
  font-weight: 600;
  font-size: 16px;
  font-size: 1rem;
  text-align: center;
}
.bl_headerBtn__black {
  background-color: var(--blackColor);
}
.bl_headerBtn__black:hover {
  background-color: #eb0a1e;
  opacity: 1;
}
.bl_headerBtn__red {
  background-color: var(--keyColor);
}
.bl_headerBtn__red:hover {
  background-color: var(--blackColor);
  opacity: 1;
}
.bl_headerBtn svg {
  fill: currentcolor;
  width: 18px;
  margin-right: 8px;
  vertical-align: middle;
}

.bl_siteLogo img {
  display: block;
}

.bl_navItem_plus {
  display: inline-block;
  position: relative;
  aspect-ratio: 1;
  width: 9.5px;
  margin-top: -2px;
  vertical-align: middle;
  cursor: pointer;
}
.bl_navItem_plus::after, .bl_navItem_plus::before {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 1px;
  margin-left: 5px;
  background-color: #eb0a1e;
  content: "";
  transition: all 0.3s ease;
}
.bl_navItem_plus::after {
  transform: translate(-50%, -50%);
}
.bl_navItem_plus::before {
  transform: translate(-50%, -50%) rotate(90deg);
}
.bl_globalSubNav {
  display: flex;
  display: none;
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 89.5%;
  padding: min( 72px,3.75vw) min( 108px,5.625vw);
  gap: min( 85px,4.4270833333vw);
  transform: translate(-50%, 100%);
  border-radius: 0 0 18px 18px;
  background-color: #030303;
}
.bl_globalSubNav_imgWrapper {
  width: min( 400px,20.8333333333vw);
}
.bl_globalSubNav_imgWrapper img {
  display: block;
  width: 100%;
  border-radius: 18px;
}

.bl_globalSubNav_head {
  display: flex;
  align-items: center;
  width: min( 726px,37.8125vw);
  padding-right: 20px;
  gap: min( 60px,3.125vw);
  border-right: 1px solid rgba(255, 255, 255, 0.4);
  color: #fff;
}

.bl_globalSubNav_heading {
  font-size: 48px;
  font-size: 3rem;
  font-family: "Fjalla One", sans-serif;
}

.bl_globalSubNav_btn {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  padding: 3.5px 42.5px;
  border-radius: 20px;
  background-color: #fff;
  color: #030303;
}
.bl_globalSubNav_btn:hover {
  background-color: #eb0a1e;
  color: #fff;
  opacity: 1;
}

.bl_globalSubNav_list {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  max-height: 312px;
  gap: 49px 60px;
  line-height: 2.5;
}
.bl_globalSubNav_list li {
  width: 266px;
}
.bl_globalSubNav_list a {
  display: block;
  position: relative;
  padding-right: 18px;
  padding-bottom: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.4);
  color: #fff;
  opacity: 0.8;
}
.bl_globalSubNav_list a:hover {
  opacity: 1;
}
.bl_globalSubNav_list a::after {
  display: block;
  position: absolute;
  top: 16px;
  right: 0;
  width: 14px;
  height: 4px;
  background-image: url("/assets/images/icon/right_arrow.svg");
  content: "";
}

.blog-97817 .bl_globalNavItem:nth-child(1) > a,
.blog-97817 .bl_globalNavItem:nth-child(1) .bl_subNavHeading {
  position: relative;
}
.blog-97817 .bl_globalNavItem:nth-child(1) > a::before,
.blog-97817 .bl_globalNavItem:nth-child(1) .bl_subNavHeading::before {
  display: block;
  position: absolute;
  bottom: -10px;
  left: 50%;
  width: 18px; /* ※元コードにあった width: 0; は下書き消去されるため省略しました */
  height: 4px;
  transform: translateX(-50%);
  background-color: #eb0a1e;
  content: "";
  transition: all 0.3s;
}

.blog-97863 .bl_globalNavItem:nth-child(2) > a,
.blog-97863 .bl_globalNavItem:nth-child(2) .bl_subNavHeading {
  position: relative;
}
.blog-97863 .bl_globalNavItem:nth-child(2) > a::before,
.blog-97863 .bl_globalNavItem:nth-child(2) .bl_subNavHeading::before {
  display: block;
  position: absolute;
  bottom: -10px;
  left: 50%;
  width: 18px; /* ※元コードにあった width: 0; は下書き消去されるため省略しました */
  height: 4px;
  transform: translateX(-50%);
  background-color: #eb0a1e;
  content: "";
  transition: all 0.3s;
}

.blog-98229 .bl_globalNavItem:nth-child(3) > a,
.blog-98229 .bl_globalNavItem:nth-child(3) .bl_subNavHeading {
  position: relative;
}
.blog-98229 .bl_globalNavItem:nth-child(3) > a::before,
.blog-98229 .bl_globalNavItem:nth-child(3) .bl_subNavHeading::before {
  display: block;
  position: absolute;
  bottom: -10px;
  left: 50%;
  width: 18px; /* ※元コードにあった width: 0; は下書き消去されるため省略しました */
  height: 4px;
  transform: translateX(-50%);
  background-color: #eb0a1e;
  content: "";
  transition: all 0.3s;
}

.blog-98183 .bl_globalNavItem:nth-child(4) > a,
.blog-98183 .bl_globalNavItem:nth-child(4) .bl_subNavHeading {
  position: relative;
}
.blog-98183 .bl_globalNavItem:nth-child(4) > a::before,
.blog-98183 .bl_globalNavItem:nth-child(4) .bl_subNavHeading::before {
  display: block;
  position: absolute;
  bottom: -10px;
  left: 50%;
  width: 18px; /* ※元コードにあった width: 0; は下書き消去されるため省略しました */
  height: 4px;
  transform: translateX(-50%);
  background-color: #eb0a1e;
  content: "";
  transition: all 0.3s;
}

.blog-97865 .bl_globalNavItem:nth-child(5) > a,
.blog-97865 .bl_globalNavItem:nth-child(5) .bl_subNavHeading {
  position: relative;
}
.blog-97865 .bl_globalNavItem:nth-child(5) > a::before,
.blog-97865 .bl_globalNavItem:nth-child(5) .bl_subNavHeading::before {
  display: block;
  position: absolute;
  bottom: -10px;
  left: 50%;
  width: 18px; /* ※元コードにあった width: 0; は下書き消去されるため省略しました */
  height: 4px;
  transform: translateX(-50%);
  background-color: #eb0a1e;
  content: "";
  transition: all 0.3s;
}

.blog-98127 .bl_globalNavItem:nth-child(6) > a,
.blog-98127 .bl_globalNavItem:nth-child(6) .bl_subNavHeading {
  position: relative;
}
.blog-98127 .bl_globalNavItem:nth-child(6) > a::before,
.blog-98127 .bl_globalNavItem:nth-child(6) .bl_subNavHeading::before {
  display: block;
  position: absolute;
  bottom: -10px;
  left: 50%;
  width: 18px; /* ※元コードにあった width: 0; は下書き消去されるため省略しました */
  height: 4px;
  transform: translateX(-50%);
  background-color: #eb0a1e;
  content: "";
  transition: all 0.3s;
}

.blog-98063 .bl_globalNavItem:nth-child(7) > a,
.blog-98063 .bl_globalNavItem:nth-child(7) .bl_subNavHeading {
  position: relative;
}
.blog-98063 .bl_globalNavItem:nth-child(7) > a::before,
.blog-98063 .bl_globalNavItem:nth-child(7) .bl_subNavHeading::before {
  display: block;
  position: absolute;
  bottom: -10px;
  left: 50%;
  width: 18px; /* ※元コードにあった width: 0; は下書き消去されるため省略しました */
  height: 4px;
  transform: translateX(-50%);
  background-color: #eb0a1e;
  content: "";
  transition: all 0.3s;
}

.bl_globalNavItem > a,
.bl_globalNavItem .bl_subNavHeading {
  position: relative;
}
.bl_globalNavItem > a::before,
.bl_globalNavItem .bl_subNavHeading::before {
  display: block;
  position: absolute;
  bottom: -10px;
  left: 50%;
  width: 0;
  height: 4px;
  transform: translateX(-50%);
  content: "";
  transition: all 0.3s;
}
.bl_globalNavItem > a:hover,
.bl_globalNavItem .bl_subNavHeading:hover {
  opacity: 1;
}
.bl_globalNavItem > a:hover::before,
.bl_globalNavItem .bl_subNavHeading:hover::before {
  width: 18px;
  background-color: #eb0a1e;
}
.bl_globalNavItem:hover .bl_globalSubNav {
  display: flex;
}
.bl_globalNavItem:hover .bl_navItem_plus::before {
  transform: translate(-50%, -50%) rotate(0deg);
}
.bl_globalNavItem:hover .bl_subNavHeading {
  position: relative;
}
.bl_globalNavItem:hover .bl_subNavHeading::after {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 120%;
  height: 100px;
  transform: translateY(100%);
  content: "";
}

.bl_menuSwitch {
  display: none;
  position: relative;
  width: 32px;
  height: 6px;
}
.bl_menuSwitch::before, .bl_menuSwitch::after {
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #000;
  content: "";
  transition: all 0.3s ease;
}
.bl_menuSwitch::before {
  top: 0;
}
.bl_menuSwitch::after {
  bottom: 0;
}
.is-menu .bl_menuSwitch::before {
  top: 2.5px;
  transform: rotate(18deg);
}
.is-menu .bl_menuSwitch::after {
  bottom: 2.5px;
  transform: rotate(-18deg);
}

.bl_grayLayer {
  display: none;
  z-index: 22;
  position: fixed;
  top: 0;
  left: -110%;
  width: 100%;
  height: 100%;
  background-color: #ccc;
  transition: all 0.4s;
}

.bl_footerInner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: 1540px;
  margin: 0 auto;
  gap: 30px 50px;
}

.bl_footerLogo {
  margin-bottom: 30px;
}
.bl_footerLogo img {
  display: block;
  width: 100%;
}

.bl_footerAddress {
  font-weight: 400;
  font-size: 14px;
  font-size: 0.875rem;
}

.bl_footerAddressLine2 {
  font-style: normal;
}

.bl_footerNav {
  flex: 1;
  max-width: 942px;
  line-height: 1;
  white-space: nowrap;
}

.bl_footerNavList {
  display: flex;
  justify-content: space-between;
  gap: 30px;
}

.bl_footerNavItem {
  padding-top: 5px;
}
.bl_footerNavItem dt {
  position: relative;
  margin-bottom: 16px;
  padding-left: 13px;
  font-size: 18px;
  font-size: 1.125rem;
}
.bl_footerNavItem dt:not(:has(+ dd)) {
  margin-bottom: 42px;
}
.bl_footerNavItem dt::after {
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  aspect-ratio: 1;
  width: 5px;
  transform: translateY(-50%);
  border-radius: 50%;
  background-color: #eb0a1e;
  content: "";
}
.bl_footerNavItem dd {
  padding: 12.5px 0 12.5px 35px;
  font-size: 14px;
  font-size: 0.875rem;
}

.bl_footerBottom {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: 1540px;
  margin: 38px auto 0;
  gap: 20px;
}

.bl_footerCopyright {
  font-size: 12px;
  font-size: 0.75rem;
}

.bl_footerNav02 {
  display: flex;
  gap: 68px;
  font-size: 14px;
  font-size: 0.875rem;
}

.bl_topSwiperWrapper {
  position: relative;
  height: calc(100dvh - 120px);
  margin-top: 0px;
  margin-right: 100px;
  margin-bottom: 54px;
  margin-left: 30px;
}
.bl_topSwiperWrapper .bl_topSwiper {
  overflow: visible;
}

.bl_scrollDown {
  z-index: 1;
  position: absolute;
  right: -65px;
  bottom: 8px;
  font-size: 13px;
  font-size: 0.8125rem;
  text-align: center;
  writing-mode: vertical-rl;
}
.bl_scrollDown span {
  display: inline-block;
  position: relative;
  width: 2px;
  height: 165px;
  margin-top: 20px;
}
.bl_scrollDown span::after {
  position: absolute;
  top: 0;
  left: 0%;
  width: 100%;
  height: 100%;
  background-color: #000;
  content: "";
  animation: scrollDown 3s ease-out infinite;
}

@keyframes scrollDown {
  0% {
    height: 0;
  }
  100% {
    height: 100%;
  }
}
.bl_topSwiperWrapper_pt02 .bl_topSwiper {
  height: 100%;
}
.bl_topSwiperWrapper_pt02 .bl_topSwiper .swiper-wrapper {
  height: calc(100% - 80px);
  overflow: hidden;
}
.bl_topSwiperWrapper_pt02 .bl_topSwiper .swiper-slide {
  box-sizing: border-box;
  height: 100%;
  overflow: hidden;
  border-radius: 25px;
}
.bl_topSwiperWrapper_pt02 .bl_topSwiper .swiper-slide.swiper-slide-active img, .bl_topSwiperWrapper_pt02 .bl_topSwiper .swiper-slide.swiper-slide-prev img {
  transform: scale(1);
}
.bl_topSwiperWrapper_pt02 .bl_topSwiper .swiper-slide picture {
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.bl_topSwiperWrapper_pt02 .bl_topSwiper .swiper-slide img {
  -o-object-fit: cover;
  -o-object-position: top center;
  display: block;
  width: 100%;
  height: 100%;
     object-fit: cover;
     object-position: top center;
  transform: scale(1.1);
  transition: all 6s linear;
}

.bl_topAppealTxt {
  z-index: 1;
  position: absolute;
  bottom: 30px;
}
.bl_topAppealTxt img {
  display: block;
  width: min( 706px,36.7708333333vw);
  margin-left: -30px;
}

.bl_topSwiperWrapper_pt02 .bl_topAppealTxt {
  z-index: 1;
  position: absolute;
  bottom: 120px;
  left: 50px;
}
.bl_topSwiperWrapper_pt02 .bl_topAppealTxt img {
  display: block;
  width: min( 706px,36.7708333333vw);
  margin-left: 0px;
}

.bl_topSwiperWrapper_pt02 .bl_topSwiper_operation,
.bl_topSwiperWrapper_pt02 .bl_aboutSwiper_operation {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin-top: 20px;
  margin-right: min( 182px,9.4791666667vw);
  padding-bottom: 5px;
}
.bl_topSwiperWrapper_pt02 .bl_topSwiper_operation .swiper-pagination,
.bl_topSwiperWrapper_pt02 .bl_topSwiper_operation .swiper-button-prev,
.bl_topSwiperWrapper_pt02 .bl_topSwiper_operation .swiper-button-next,
.bl_topSwiperWrapper_pt02 .bl_aboutSwiper_operation .swiper-pagination,
.bl_topSwiperWrapper_pt02 .bl_aboutSwiper_operation .swiper-button-prev,
.bl_topSwiperWrapper_pt02 .bl_aboutSwiper_operation .swiper-button-next {
  position: static;
}
.bl_topSwiperWrapper_pt02 .bl_topSwiper_operation .swiper-pagination,
.bl_topSwiperWrapper_pt02 .bl_aboutSwiper_operation .swiper-pagination {
  display: flex;
  margin-right: 8px;
  gap: 18px;
  color: #cecece;
}
.bl_topSwiperWrapper_pt02 .bl_topSwiper_operation .swiper-pagination-bullet,
.bl_topSwiperWrapper_pt02 .bl_aboutSwiper_operation .swiper-pagination-bullet {
  width: auto;
  height: auto;
  background-color: transparent;
  font-size: 15px;
  font-size: 0.9375rem;
  font-family: "Fjalla One", sans-serif;
  counter-increment: swiper-slide;
  opacity: 1;
}
.bl_topSwiperWrapper_pt02 .bl_topSwiper_operation .swiper-pagination-bullet::after,
.bl_topSwiperWrapper_pt02 .bl_aboutSwiper_operation .swiper-pagination-bullet::after {
  content: counter(swiper-slide, decimal-leading-zero);
}
.bl_topSwiperWrapper_pt02 .bl_topSwiper_operation .swiper-pagination-bullet.swiper-pagination-bullet-active,
.bl_topSwiperWrapper_pt02 .bl_aboutSwiper_operation .swiper-pagination-bullet.swiper-pagination-bullet-active {
  color: #e60020;
}
.bl_topSwiperWrapper_pt02 .bl_topSwiper_operation .bl_topSwiper_circle--start,
.bl_topSwiperWrapper_pt02 .bl_aboutSwiper_operation .bl_topSwiper_circle--start {
  animation: sliderIndicator 7.5s linear;
}
@keyframes sliderIndicator {
  0% {
    stroke-dashoffset: 188.495559;
  }
  100% {
    stroke-dashoffset: 0;
  }
}
.bl_topSwiperWrapper_pt02 .bl_topSwiper_operation .swiper-pagination-bullets.swiper-pagination-horizontal,
.bl_topSwiperWrapper_pt02 .bl_aboutSwiper_operation .swiper-pagination-bullets.swiper-pagination-horizontal {
  width: auto;
}
.bl_topSwiperWrapper_pt02 .bl_topSwiper_operation div.swiper-button-next,
.bl_topSwiperWrapper_pt02 .bl_topSwiper_operation div.swiper-button-prev,
.bl_topSwiperWrapper_pt02 .bl_aboutSwiper_operation div.swiper-button-next,
.bl_topSwiperWrapper_pt02 .bl_aboutSwiper_operation div.swiper-button-prev {
  position: relative;
  aspect-ratio: 1;
  width: 36px;
  height: 36px;
  margin-top: 0;
  margin-left: 25px;
  transform: rotate(-90deg);
  border-radius: 50%;
  background-color: rgba(230, 0, 32, 0.05);
}
.bl_topSwiperWrapper_pt02 .bl_topSwiper_operation div.swiper-button-next .bl_topSwiper_circle-wrapper,
.bl_topSwiperWrapper_pt02 .bl_topSwiper_operation div.swiper-button-prev .bl_topSwiper_circle-wrapper,
.bl_topSwiperWrapper_pt02 .bl_aboutSwiper_operation div.swiper-button-next .bl_topSwiper_circle-wrapper,
.bl_topSwiperWrapper_pt02 .bl_aboutSwiper_operation div.swiper-button-prev .bl_topSwiper_circle-wrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 46px;
  height: 46px;
  transform: translate(-50%, -50%);
}
.bl_topSwiperWrapper_pt02 .bl_topSwiper_operation .bl_svg_arrowIcon,
.bl_topSwiperWrapper_pt02 .bl_aboutSwiper_operation .bl_svg_arrowIcon {
  stroke: #f00;
  width: 14px;
}
.bl_topSwiperWrapper_pt02 .bl_topSwiper_operation .swiper-button-prev .bl_svg_arrowIcon,
.bl_topSwiperWrapper_pt02 .bl_aboutSwiper_operation .swiper-button-prev .bl_svg_arrowIcon {
  transform: scale(-1, 1) rotate(-90deg);
}
.bl_topSwiperWrapper_pt02 .bl_topSwiper_operation .swiper-button-next .bl_svg_arrowIcon,
.bl_topSwiperWrapper_pt02 .bl_aboutSwiper_operation .swiper-button-next .bl_svg_arrowIcon {
  transform: rotate(90deg);
}
.bl_topSwiperWrapper_pt02 .bl_topSwiper_operation .swiper-button-next .bl_topSwiper_circle-wrapper,
.bl_topSwiperWrapper_pt02 .bl_aboutSwiper_operation .swiper-button-next .bl_topSwiper_circle-wrapper {
  fill: none;
}
.bl_topSwiperWrapper_pt02 .bl_topSwiper_operation .swiper-button-next .bl_topSwiper_circle-wrapper .bl_topSwiper_circle,
.bl_topSwiperWrapper_pt02 .bl_aboutSwiper_operation .swiper-button-next .bl_topSwiper_circle-wrapper .bl_topSwiper_circle {
  stroke-width: 1px;
  stroke-linecap: round;
  stroke-dasharray: 188.495559;
  stroke-dashoffset: 188.495559;
  stroke: #f00;
  fill: none;
}

.bl_pageHeader {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 74px;
}
.bl_pageHeader .el_heading01 {
  margin-bottom: 0;
}

.bl_layoutNews_head .el_heading01 {
  margin-bottom: 45px;
}

.bl_layoutNews {
  max-width: 1720px;
  margin: 0 auto 54px;
  padding: 57px 15px 40px;
  border-radius: 18px;
  background-color: #f7f7f7;
}

.bl_layoutNews_inner {
  display: flex;
  justify-content: space-between;
  gap: 50px;
}

.bl_layoutNews_body {
  flex: 1;
  max-width: 1254px;
}

.bl_newsListUnit__02 .bl_categorys {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
}
.bl_newsListUnit__02 .bl_newsListItem {
  position: relative;
  flex-wrap: wrap;
  padding-left: 0;
  gap: 8px 20px;
  border-bottom: 1px solid #cecece;
}
.bl_newsListUnit__02 .bl_newsListItem:not(:last-child) {
  margin-bottom: 30px;
}
.bl_newsListUnit__02 .bl_newsListItem:hover {
  opacity: 1;
}
.bl_newsListUnit__02 .bl_newsListItem:hover .bl_circleArrow {
  border-color: #e60020;
}
.bl_newsListUnit__02 .bl_newsListItem:hover .bl_circleArrow::after {
  filter: invert(11%) sepia(85%) saturate(4714%) hue-rotate(338deg) brightness(101%) contrast(134%);
}
.bl_newsListUnit__02 .bl_newsListItem_title {
  width: 100%;
  padding-right: 70px;
}
.bl_newsListUnit__02 .bl_circleArrow {
  position: absolute;
  top: 40%;
  right: 0;
  transform: translateY(-50%);
}

.bl_newsListItem {
  display: flex;
  align-items: center;
  padding: 0 12px 25px;
  gap: 20px;
}
.bl_newsListItem:hover {
  opacity: 1;
}
.bl_newsListItem:hover .bl_newsListItem_title {
  color: var(--keyColor);
}
.bl_newsListItem:not(:last-child) {
  margin-bottom: 18px;
  border-bottom: 1px solid #cecece;
}
.bl_newsListItem .bl_datetime {
  font-family: "Fjalla One", sans-serif;
}

.bl_newsDatetime {
  width: 4.6em;
  font-family: "Fjalla One", sans-serif;
}

.bl_categorys .bl_badge {
  width: 135px;
  margin: 5px 0;
  padding: 0 4px;
  border: 1px solid #cecece;
  background-color: #fff;
  color: #000;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.45;
  text-align: center;
}

.bl_layoutValues {
  height: 965px;
  padding-top: 88px;
  background-image: url("/assets/images/top/values_pc_back.webp");
  background-size: cover;
}

.bl_layoutValues_inner {
  display: flex;
  gap: min( 85px,4.4270833333vw);
}

.bl_layoutValues_body {
  display: flex;
  flex-direction: column;
  gap: 32px 0;
}

.bl_layoutProducts {
  margin-top: -125px;
  margin-bottom: 110px;
  padding-top: 74px;
  border-radius: 18px;
  background-color: #fff;
}

.bl_fz20Heading {
  padding-right: 65px;
  padding-left: 2.2vw;
  font-size: 20px;
  font-size: 1.25rem;
}

.bl_productsUnit {
  display: flex;
  margin-top: 35px;
  margin-bottom: 55px;
  border-top: 1px solid #cecece;
  border-bottom: 1px solid #cecece;
}
.bl_productsUnit .bl_circleArrow {
  position: absolute;
  right: 3.5vw;
  bottom: 52px;
}

.bl_productsItem {
  position: relative;
  flex: 1;
  padding: 40px 2vw 52px;
}
.bl_productsItem:hover {
  color: #e60020;
}
.bl_productsItem:hover .bl_circleArrow {
  border-color: #e60020;
}
.bl_productsItem:hover .bl_circleArrow::after {
  filter: invert(11%) sepia(85%) saturate(4714%) hue-rotate(338deg) brightness(101%) contrast(134%);
}
.bl_productsItem:not(:last-child) {
  border-right: 1px solid #cecece;
}
.bl_productsItem img {
  display: block;
  max-width: 100%;
  margin: 0 auto;
}

.bl_productsItem_img {
  display: block;
  margin-bottom: 38px;
}

.bl_circleArrow {
  aspect-ratio: 1;
  width: 46px;
  border: 1px solid #cecece;
  border-radius: 50%;
  transition: all 0.3s;
}
.bl_circleArrow::after {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 14px;
  height: 4px;
  transform: translate(-50%, -50%);
  background-image: url("/assets/images/icon/right_arrow.svg");
  background-size: contain;
  content: "";
  transition: all 0.3s;
}

.bl_sideImgLinkList_imgWrapper {
  width: min( 858px,44.6875vw);
}
.bl_sideImgLinkList_imgWrapper img {
  display: block;
  width: 100%;
}

.bl_sideImgLinkList {
  display: flex;
  margin-bottom: 110px;
  gap: 69px;
}

.bl_sideImgLinkList_body {
  flex: 1;
}
.bl_sideImgLinkList_body .el_baseBtn {
  margin-right: auto;
  margin-left: auto;
}
.bl_sideImgLinkList_body .el_baseBtn:hover {
  background-color: #eb0a1e;
}

.bl_sideImgLinkList_bodyList {
  font-size: 20px;
  font-size: 1.25rem;
}
.bl_sideImgLinkList_bodyList li {
  margin-bottom: 29px;
}
.bl_sideImgLinkList_bodyList li:not(:last-child) {
  border-bottom: 1px solid #cecece;
}
.bl_sideImgLinkList_bodyList li:last-child {
  margin-bottom: 0;
}
.bl_sideImgLinkList_bodyList a {
  display: block;
  position: relative;
  padding: 8px 85px 38px 37px;
}
.bl_sideImgLinkList_bodyList a .bl_circleArrow {
  position: absolute;
  top: 5px;
  right: 35px;
}
.bl_sideImgLinkList_bodyList a:hover {
  color: #e60020;
  opacity: 1;
}
.bl_sideImgLinkList_bodyList a:hover .bl_circleArrow {
  border-color: #e60020;
}
.bl_sideImgLinkList_bodyList a:hover .bl_circleArrow::after {
  filter: invert(11%) sepia(85%) saturate(4714%) hue-rotate(338deg) brightness(101%) contrast(134%);
}

.bl_layoutSustainability {
  position: relative;
  height: 579px;
  margin-bottom: 132px;
  padding: 50px 80px 55px;
  border-radius: 18px;
  background-image: url("/assets/images/top/sustainability_pc.webp");
  background-size: cover;
  color: #fff;
}
.bl_layoutSustainability .el_heading01 {
  color: #fff;
}
.bl_layoutSustainability .el_heading01::before {
  color: #fff;
}
.bl_layoutSustainability::after {
  display: block;
  position: absolute;
  right: min( 81px,4.21875vw);
  bottom: -21px;
  aspect-ratio: 956/421;
  width: min( 956px,49.7916666667vw);
  background-image: url("/assets/images/top/sustainability_back_pc.webp");
  background-size: cover;
  content: "";
}

.bl_layoutRecruit {
  padding-top: 75px;
  padding-bottom: 95px;
  border-radius: 18px;
  background-color: #eb0a1e;
}
.bl_layoutRecruit .el_baseBtn:hover {
  background-color: #fff;
  color: #000;
}

.bl_recruitBox01 {
  display: flex;
  justify-content: space-between;
  width: calc(50vw + 775px);
  margin-bottom: 65px;
  margin-left: auto;
  padding-left: 15px;
  gap: min( 85px,4.4270833333vw);
  color: #fff;
}
.bl_recruitBox01 .el_heading01 {
  color: #fff;
}
.bl_recruitBox01 .el_heading01::before {
  color: #fff;
}

.bl_recruitBox01_imgWrapper {
  width: 49%;
}
.bl_recruitBox01_imgWrapper img {
  display: block;
  width: 100%;
}

.bl_recruitBox01_body {
  flex: 1;
  max-width: 745px;
}

.bl_recruitBox_txt01 {
  margin-bottom: 25px;
  font-weight: bold;
  font-size: 30px;
  font-size: 1.875rem;
  line-height: 1.9;
}

.bl_recruitBox_txt02 {
  margin-bottom: 38px;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 2.38;
}

.bl_wideLinkList {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-bottom: 68px;
  border-bottom: 1px solid #fff;
}
.bl_wideLinkList li svg {
  display: block;
  margin: 0 auto;
}
.bl_wideLinkList li:not(:nth-child(3n)) {
  border-right: 1px solid #fff;
}

.bl_wideLinkList_item {
  display: block;
  display: flex;
  justify-content: center;
  height: 100%;
  padding: 48px 0;
  border-top: 1px solid #fff;
  color: #fff;
}
.bl_wideLinkList_item .bl_circleArrow {
  position: relative;
}
.bl_wideLinkList_item .bl_circleArrow:after {
  filter: invert(100%) sepia(3%) saturate(7426%) hue-rotate(173deg) brightness(118%) contrast(95%);
}
.bl_wideLinkList_item:hover {
  background-color: #000;
  opacity: 1;
}

.bl_wideLinkList_item_inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 80%;
  max-width: 390px;
  gap: 20px;
}

.bl_wideLinkList_item_body {
  display: flex;
  align-items: center;
  gap: 13px;
  font-weight: 600;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.5;
}

.bl_bannerRecruit {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  text-align: center;
}
.bl_bannerRecruit img {
  display: block;
  max-width: 100%;
}

.bl_ctaSection {
  display: flex;
  margin: 110px auto;
  border-radius: 18px;
  background-color: #f7f7f7;
}
.bl_ctaSection > div {
  display: flex;
  position: relative;
  flex: 1;
  align-items: center;
  justify-content: center;
  padding: 62px 10px;
  transition: all 0.3s;
}
.bl_ctaSection > div .el_heading01 {
  margin-bottom: 24px;
  transition: all 0.3s;
}
.bl_ctaSection > div .el_heading01::before {
  margin-bottom: 16px;
  transition: all 0.3s;
}
.bl_ctaSection > div:first-child {
  border-right: 1px solid #cecece;
}
.bl_ctaSection > div a {
  position: relative;
  width: 100%;
  max-width: 590px;
  transition: all 0s;
}
.bl_ctaSection > div a svg {
  transition: all 0.3s;
}
.bl_ctaSection > div a:hover {
  opacity: 1;
}
.bl_ctaSection > div a:hover .bl_ctaSection_icon {
  border-color: #fff;
}
.bl_ctaSection > div a:hover .bl_ctaSection_icon svg {
  fill: #fff;
}
.bl_ctaSection > div:has(a:hover) {
  background-color: #eb0a1e;
  color: #fff;
}
.bl_ctaSection > div:has(a:hover) .el_heading01 {
  color: #fff;
}
.bl_ctaSection > div:has(a:hover) .el_heading01::before {
  color: #fff;
}

.bl_ctaSection_icon {
  display: flex;
  position: absolute;
  top: 50%;
  right: 0;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1;
  width: min( 200px,10.4166666667vw);
  max-width: 139px;
  transform: translateY(-50%);
  border: 1px solid currentcolor;
  border-radius: 50%;
  color: #eb0a1e;
  transition: all 0.5s;
}
.bl_ctaSection_icon svg {
  fill: currentcolor;
  max-width: 45%;
  height: auto;
}

.bl_layoutSustainability_inner {
  max-width: 420px;
}
.bl_layoutSustainability_inner .el_baseBtn {
  margin-top: 45px;
}

.bl_pageNavi {
  display: flex;
  justify-content: center;
  margin-top: 68px;
  gap: 60px;
  font-size: 17px;
  font-size: 1.0625rem;
}
.bl_pageNavi a:hover {
  color: #e60020;
  opacity: 1;
}

.bl_LowerPageHeader {
  background-color: #eb0a1e;
  color: #fff;
}
.bl_LowerPageHeader .bl_max01 {
  display: flex;
  align-items: center;
  height: 220px;
}

.bl_pageHeaderTitle {
  font-weight: bold;
  font-size: 40px;
  font-size: 2.5rem;
  line-height: 1.2;
}
.bl_pageHeaderTitle::before {
  display: block;
  margin-bottom: 6px;
  content: attr(data-en);
  font-weight: normal;
  font-size: 18px;
  font-size: 1.125rem;
  font-family: "Fjalla One", sans-serif;
}

.bl_breadcrumb {
  margin-bottom: 40px;
  padding: 9px 0;
  border-bottom: 1px solid #cecece;
  background-color: #fff;
}

.bl_breadcrumb_list {
  display: flex;
  flex-wrap: wrap;
  font-size: 15px;
  font-size: 0.9375rem;
}
.bl_breadcrumb_list li:not(:last-child)::after {
  margin: 0 10px;
  content: "/";
  color: #cecece;
}
.bl_breadcrumb_list a {
  color: var(--keyColor);
}
.bl_breadcrumb_list a:hover {
  color: #000;
  opacity: 1;
}
.bl_breadcrumb_list svg {
  margin-right: 20px;
}

.bl_catHeading {
  color: var(--keyColor);
  font-size: 30px;
  font-size: 1.875rem;
  font-family: "Fjalla One", sans-serif;
}

.bl_catList {
  display: grid;
  grid-template-columns: repeat(auto-fit, 135px);
  flex: 1;
  align-content: center;
  gap: 15px;
  font-size: 14px;
  font-size: 0.875rem;
}
.bl_catList li {
  border: 1px solid #cecece;
}
.bl_catList li.is-active {
  border-color: #e60020;
  background-color: #e60020;
  color: #fff;
}
.bl_catList li.is-active:hover {
  border-color: var(--blackColor);
}
.bl_catList a {
  display: block;
  padding: 4px 0;
  line-height: 1;
  text-align: center;
}
.bl_catList a:hover {
  background-color: var(--blackColor);
  color: #fff;
  opacity: 1;
}

.bl_catBox {
  display: flex;
  width: 100%;
  max-width: 898px;
  margin: 0 auto 92px;
  gap: 50px;
}

.bl_detailData {
  display: flex;
  align-items: center;
  margin-top: 94px;
  gap: 19px;
}
.bl_detailData .bl_categorys {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 20px;
}
.bl_detailData .bl_datetime {
  width: auto;
  color: #000;
  font-size: 16px;
  font-family: "Fjalla One", sans-serif;
}

.bl_blogHeading {
  margin-top: 18px;
  margin-bottom: 45px;
  padding-bottom: 25px;
  border-bottom: 1px solid #eb0a1e;
  font-size: 40px;
  font-size: 2.5rem;
  line-height: 1.67;
}

.bl_blogEyeCatch {
  margin-bottom: 60px;
}
.bl_blogEyeCatch img {
  display: block;
  width: 100%;
}

.bl_blogBody {
  line-height: 2.5;
}
.bl_blogBody ul,
.bl_blogBody ol,
.bl_blogBody table {
  margin-bottom: 47px;
}
.bl_blogBody h2 {
  margin-bottom: 50px;
  padding: 13.5px 23px;
  background-color: #4b4b4b;
  color: #fff;
  font-weight: bold;
  font-size: 30px;
  font-size: 1.875rem;
  line-height: 1.6;
}
.bl_blogBody h3 {
  position: relative;
  margin-bottom: 42px;
  padding-left: 19px;
  font-weight: bold;
  font-size: 26px;
  font-size: 1.625rem;
  line-height: 2;
}
.bl_blogBody h3::before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 7px;
  height: 29px;
  transform: translateY(-50%);
  border-radius: 5px;
  background-color: #eb0a1e;
  content: "";
}
.bl_blogBody h4 {
  position: relative;
  margin-bottom: 55px;
  padding-left: 30px;
  font-weight: bold;
  font-size: 22px;
  font-size: 1.375rem;
  line-height: 2;
}
.bl_blogBody h4::before {
  position: absolute;
  top: 50%;
  left: 0;
  aspect-ratio: 1;
  width: 20px;
  transform: translateY(-50%);
  border-radius: 10px;
  background-color: #eb0a1e;
  content: "";
}
.bl_blogBody p {
  margin-bottom: 46px;
}
.bl_blogBody a {
  color: #eb0a1e;
  text-decoration: underline;
}
.bl_blogBody a:hover {
  text-decoration: none;
  opacity: 1;
}
.bl_blogBody img {
  display: block;
  max-width: 100%;
  margin-bottom: 52px;
}
.bl_blogBody ul li {
  position: relative;
  padding-left: 15px;
}
.bl_blogBody ul li::after {
  display: block;
  position: absolute;
  top: 1em;
  left: 0;
  aspect-ratio: 1;
  width: 7px;
  border-radius: 50%;
  background-color: #eb0a1e;
  content: "";
}
.bl_blogBody ol {
  list-style: none;
}
.bl_blogBody ol li {
  position: relative;
  padding-left: 20px;
  counter-increment: number;
}
.bl_blogBody ol li::before {
  position: absolute;
  top: 50%;
  left: 0;
  margin-right: 10px;
  transform: translateY(-50%);
  content: counter(number);
  color: #eb0a1e;
  font-weight: bold;
  font-size: 18px;
  font-size: 1.125rem;
}
.bl_blogBody table {
  width: 100%;
  border: none;
  line-height: 1.75;
  table-layout: fixed;
}
.bl_blogBody table tbody {
  background-color: #f9f9f9;
}
.bl_blogBody table tbody th {
  padding: 9.5px 40px;
  background-color: #4b4b4b;
  color: #fff;
  font-weight: bold;
  font-weight: 600;
  text-align: center;
}
.bl_blogBody table tbody td {
  padding: 15.5px 40px;
  vertical-align: top;
}
.bl_blogBody table th,
.bl_blogBody table td {
  border-bottom: 4px solid #fff;
}
.bl_blogBody table th:not(:last-child),
.bl_blogBody table td:not(:last-child) {
  border-right: 4px solid #fff;
}

.bl_pageWrapper__about .bl_breadcrumb,
.bl_pageWrapper__visit .bl_breadcrumb {
  margin-bottom: 0;
}

.bl_aboutKv {
  position: relative;
  padding: 52px 20px 100px;
  background-image: url("/assets/images/about/kv_back.webp");
  background-size: cover;
  color: #fff;
}
.bl_aboutKv .bl_aboutSwiper_operation {
  justify-content: center;
  width: 100%;
  margin-top: -70px;
}
.bl_aboutKv .bl_aboutSwiper_operation .swiper-pagination {
  color: #fff;
}
.bl_aboutKv::after {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  aspect-ratio: 1260/709;
  width: 1260px;
  max-width: 100%;
  background-image: url("/assets/images/about/kv_map.webp");
  background-position: 0 0;
  background-size: contain;
  content: "";
}

.bl_aboutKv_inner {
  position: relative;
  max-width: 1632px;
  margin: 0 auto;
}

.bl_aboutKv_txtbox {
  z-index: 2;
  position: absolute;
  top: 0;
  left: 10px;
}

.bl_aboutKv_txt01 {
  margin-bottom: 20px;
  padding-top: 128px;
  font-size: min( 120px,6.25vw);
  line-height: 1;
  font-family: "Fjalla One", sans-serif;
}

.bl_aboutKv_txt02 {
  font-weight: 600;
  font-size: 24px;
  font-size: 1.5rem;
}

.bl_aboutKvSlideWrapper {
  width: 90%;
  max-width: 1200px;
  margin-left: auto;
}
.bl_aboutKvSlideWrapper img {
  display: block;
  width: 100%;
  border-radius: 395px;
}

.bl_flowTxt01 {
  z-index: 1;
  position: absolute;
  top: 0;
  top: 50%;
  left: 0;
  width: 100%;
  height: 176px;
  transform: translateY(-50%);
  background-image: url("/assets/images/about/flow_txt01.svg");
  background-size: auto 100%;
  background-repeat: repeat-x;
  animation: scrollTxt01 30s linear infinite;
}

@keyframes scrollTxt01 {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: -4253px 0;
  }
}
.bl_flowTxt02 {
  z-index: 1;
  width: 100%;
  height: 178px;
  background-image: url("/assets/images/about/flow_txt02.svg");
  background-size: auto 100%;
  background-repeat: repeat-x;
  animation: scrollTxt02 30s linear infinite;
}

@keyframes scrollTxt02 {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: -4834px 0;
  }
}
.bl_flowTxt03 {
  z-index: 1;
  width: 100%;
  height: 130px;
  margin-top: 65px;
  background-image: url("/assets/images/company/flow_txt03.svg");
  background-size: auto 100%;
  background-repeat: repeat-x;
  animation: scrollTxt03 30s linear infinite;
}

@keyframes scrollTxt03 {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: -4931px 0;
  }
}
.bl_layoutOurStory {
  padding: 40px 15px 0;
  background-color: #f7f7f7;
}

.bl_ourStoryInner {
  z-index: 1;
  position: relative;
  padding: 78px 60px 100px;
  border-radius: 20px;
  background-image: url("/assets/images/about/hamura_icon.svg");
  background-position: 80% 80%;
  background-color: #fff;
}

.bl_ourStoryBody {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1200px;
  margin: 0 auto;
  gap: 50px;
}

.bl_textContent {
  flex: 1;
  max-width: 730px;
  font-size: 17px;
  font-size: 1.0625rem;
  line-height: 1.88;
}
.bl_textContent p:not(:last-child) {
  margin-bottom: 2.1em;
}

.bl_boldHeading {
  margin-bottom: 15px;
  font-weight: bold;
  font-size: 30px;
  font-size: 1.875rem;
  line-height: 1.8;
}

.bl_imgDivision {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  aspect-ratio: 1920/613;
  margin-top: -56px;
}
.bl_imgDivision div {
  overflow: hidden;
}
.bl_imgDivision img {
  -o-object-fit: cover;
  width: 100%;
  height: 100%;
     object-fit: cover;
}

.bl_layoutRrame {
  position: relative;
  padding: 0 50px 152px;
  border-radius: 0 0 14px 14px;
  background-color: #eb0a1e;
  color: #fff;
}

.bl_contentBody {
  padding-top: 170px;
}
.bl_contentBody .bl_boldHeading {
  margin-top: 50px;
  margin-bottom: 33px;
}
.bl_contentBody .bl_textContent {
  max-width: 596px;
}
.bl_contentBody .bl_textContent p {
  line-height: 2.11;
}
.bl_contentBody .el_sideNumberHeading {
  z-index: 1;
  position: relative;
  margin-bottom: 38px;
  color: #fff;
  font-size: 80px;
  font-size: 5rem;
  line-height: 1.25;
}
.bl_contentBody .el_sideNumberHeading::first-line {
  color: #000;
}
.bl_contentBody .el_sideNumberHeading .el_sideNumberHeading_number {
  color: #fff;
  font-size: 24px;
  font-size: 1.5rem;
}
.bl_contentBody .el_sideNumberHeading .el_sideNumberHeading_number::after {
  right: -25px;
  bottom: 2px;
}

.bl_layoutRrame_img {
  position: absolute;
  top: 150px;
  right: 0;
  width: 45%;
  max-width: 1000px;
}

.bl_layoutCommunity {
  margin-top: -25px;
  padding: 270px 20px 210px;
  background-image: url("/assets/images/about/community_back.webp");
  background-size: cover;
  color: #fff;
  text-align: center;
}
.bl_layoutCommunity .el_sideNumberHeading {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 60px;
  font-size: 80px;
  font-size: 5rem;
}
.bl_layoutCommunity .el_sideNumberHeading .el_sideNumberHeading_number {
  color: #fff;
  font-size: 24px;
  font-size: 1.5rem;
}
.bl_layoutCommunity .el_sideNumberHeading .el_sideNumberHeading_number::after {
  right: -25px;
  bottom: 2px;
}
.bl_layoutCommunity .bl_textContent {
  margin: 0 auto;
  line-height: 2;
}
.bl_layoutCommunity .bl_boldHeading {
  margin-bottom: 32px;
}
.bl_layoutCommunity .el_baseBtn {
  min-width: 314px;
  margin: 62px auto 0;
  font-size: 16px;
  font-size: 1rem;
}

.bl_layoutFuture {
  position: relative;
  margin-top: -18px;
  padding-top: 80px;
  padding-right: 60px;
  padding-bottom: 490px;
  padding-left: 60px;
  border-radius: 18px 18px 0 0;
  background-image: url("/assets/images/about/japan.webp");
  background-position: right -50px bottom -22px;
  background-size: 1361px auto;
  background-color: #eb0a1e;
  color: #fff;
}
.bl_layoutFuture .el_sideNumberHeading {
  color: #000;
}
.bl_layoutFuture .bl_contentBody {
  padding-top: 235px;
}
.bl_layoutFuture .bl_textContent {
  position: relative;
  max-width: 1000px;
}
.bl_layoutFuture .bl_textContent p {
  line-height: 1.88;
}

.bl_rotateImg {
  position: absolute;
  top: -52px;
  left: 52%;
  aspect-ratio: 1;
  width: 755px;
  margin: 0 auto;
  overflow: hidden;
  transform: translateX(-50%);
  border-radius: 50%;
}
.bl_rotateImg img {
  display: block;
  width: 100%;
}
.bl_rotateImg::after {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  aspect-ratio: 1;
  width: 60%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background-color: #eb0a1e;
  content: "";
}
.bl_rotateImg::before {
  display: block;
  position: absolute;
  top: 50%;
  left: 0%;
  width: 50%;
  height: 110%;
  transform: translate(0%, -50%) rotate(45deg);
  transform-origin: right center;
  background-color: #b40019;
  content: "";
  animation: circle_anime 10s linear infinite;
}

@keyframes circle_anime {
  0% {
    transform: translate(0%, -50%) rotate(0deg);
  }
  100% {
    transform: translate(0%, -50%) rotate(360deg);
  }
}
.bl_relatedLinks {
  position: relative;
  margin-top: -70px;
  padding-top: 75px;
  border-radius: 75px 75px 0 0;
  background-color: #fff;
}
.bl_relatedLinks__gray {
  margin-top: 0;
  padding-bottom: 120px;
  background-color: #f7f7f7;
}
.bl_relatedLinks__gray .bl_cardItem {
  background-color: #fff;
}
.bl_relatedLinks__02 {
  margin-top: 80px;
  padding-bottom: 120px;
}

.bl_cardUnit {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}

.bl_cardItem {
  display: flex;
  position: relative;
  justify-content: space-between;
  min-height: 215px;
  padding: 20px;
  gap: 10px;
  border-radius: 10px;
  background-color: #fff;
  background-color: #f7f7f7;
}
.bl_cardItem > div:first-child {
  flex: 1;
}
.bl_cardItem:hover {
  color: var(--keyColor);
  opacity: 1;
}
.bl_cardItem:hover .bl_circleArrow {
  border-color: #e60020;
  background-color: #fff;
}
.bl_cardItem:hover .bl_circleArrow:after {
  filter: invert(11%) sepia(76%) saturate(6504%) hue-rotate(342deg) brightness(95%) contrast(121%);
}
.bl_cardItem:hover .bl_cardItem_imgWrapper img {
  transform: scale(1.1);
}
.bl_cardItem .bl_circleArrow {
  position: absolute;
  bottom: 43px;
  left: 43px;
}

.bl_cardItem_heading {
  position: relative;
  margin-top: 20px;
  margin-left: 25px;
  font-weight: bold;
  font-size: 24px;
  font-size: 1.5rem;
  font-size: min(24px, 2.5vw);
  line-height: 1.41;
}
.bl_cardItem_heading::before {
  display: block;
  margin-bottom: 10px;
  padding-left: 12px;
  content: attr(data-en);
  color: #eb0a1e;
  font-weight: normal;
  font-size: 13px;
  font-size: 0.8125rem;
  font-family: "Fjalla One", sans-serif;
}
.bl_cardItem_heading::after {
  display: block;
  position: absolute;
  top: 0.3em;
  left: 0;
  aspect-ratio: 1;
  width: 6px;
  border-radius: 50%;
  background-color: #eb0a1e;
  content: "";
}

.bl_cardItem_imgWrapper {
  width: min(20vw, 245px);
  overflow: hidden;
  border-radius: 5px;
}
.bl_cardItem_imgWrapper img {
  display: block;
  width: 100%;
  border-radius: 5px;
  transition: all 1s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.bl_groupTopHeader {
  padding: 0 15px 0;
  background-position: center;
  background-size: cover;
}
.bl_groupTopHeader__product {
  background-image: url("/assets/images/product/header.webp");
  color: #fff;
}
.bl_groupTopHeader__company {
  background-image: url("/assets/images/company/header.webp");
  color: #fff;
}
.bl_groupTopHeader__visit {
  background-image: url("/assets/images/visit/header.webp");
  color: #fff;
}
.bl_groupTopHeader__sustainability {
  background-image: url("/assets/images/sustainability/header.webp");
  color: #fff;
}

.bl_groupTopHeader_inner {
  display: flex;
  align-items: center;
  max-width: 1540px;
  height: 480px;
  margin: 0 auto;
  padding-top: 14px;
}

.bl_groupTopHeaderTitle {
  position: relative;
  padding-left: 20px;
  font-weight: normal;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.26;
}
.bl_groupTopHeaderTitle::after {
  display: inline-block;
  position: absolute;
  bottom: 8px;
  left: 0;
  aspect-ratio: 1;
  width: 9px;
  border-radius: 9px;
  background-color: currentcolor;
  content: "";
}
.bl_groupTopHeaderTitle::before {
  display: block;
  margin-bottom: 8px;
  margin-left: -20px;
  content: attr(data-en);
  font-size: 60px;
  font-size: 3.75rem;
  font-family: "Fjalla One", sans-serif;
}
.bl_card02tUnit {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin-top: 100px;
  gap: 50px;
}
.bl_card02tUnit__sustainability {
  grid-template-columns: repeat(3, 1fr);
}
.bl_card02tUnit__sustainability .bl_card02:last-child {
  grid-column: span 3;
}

.bl_card02:hover {
  color: var(--keyColor);
  opacity: 1;
}
.bl_card02:hover .bl_card02_imgWrapper img {
  transform: scale(1.05);
}
.bl_card02:hover .bl_circleArrow {
  border: 1px solid #eb0a1e;
}
.bl_card02:hover .bl_circleArrow:after {
  filter: invert(11%) sepia(76%) saturate(6504%) hue-rotate(342deg) brightness(95%) contrast(121%);
}
.bl_card02 .bl_circleArrow {
  position: relative;
}
.bl_card02 .bl_card02_imgWrapper {
  margin-bottom: 15px;
  overflow: hidden;
  border-radius: 5px;
}
.bl_card02 .bl_card02_imgWrapper__company img {
  border-radius: 0;
}
.bl_card02 .bl_card02_imgWrapper img {
  display: block;
  width: 100%;
  transition: all 1s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.bl_card02_bottom {
  display: flex;
  align-items: center;
  gap: 25px;
  font-size: 22px;
  font-size: 1.375rem;
}
.bl_card02_bottom:hover .bl_circleArrow {
  border-color: #eb0a1e;
}
.bl_card02_bottom:hover .bl_circleArrow:after {
  filter: invert(11%) sepia(76%) saturate(6504%) hue-rotate(342deg) brightness(95%) contrast(121%);
}
.bl_card02_bottom .bl_circleArrow {
  width: 38px;
}

.bl_sideMenuParent {
  --sidePadding: 400px;
  padding: 0 15px;
}

.bl_sideMenuWrapper {
  position: relative;
  max-width: 1600px;
  margin: 120px auto 0;
}
.bl_sideMenuWrapper__recruit {
  margin-top: 92px;
}

.bl_sideMenu {
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
  width: 280px;
  height: 100%;
  padding-bottom: 50px;
}
.bl_sideMenu__recruit .bl_sideMenuBox {
  padding: 0 0 25px;
}
.bl_sideMenu__recruit .bl_sideMenuList {
  padding-left: 47px;
}
.bl_sideMenu__recruit .bl_sideMenuList li {
  color: #cecece;
}
.bl_sideMenu__recruit .bl_sideMenuList li a {
  width: -moz-fit-content;
  width: fit-content;
  padding: 8px 17px 5px;
  border-radius: 21px;
}
.bl_sideMenu__recruit .bl_sideMenuList li.is-active a {
  background-color: #000;
  color: #fff;
}
.bl_sideMenu__recruit .bl_sideMenuList li.is-active a::before {
  display: none;
}
.bl_sideMenu__recruit .bl_sideMenuBoxHeading {
  margin-bottom: 36px;
  padding: 8px 0;
  background: transparent linear-gradient(314deg, #000 0%, #ff1e32 78%, #e60020 100%) 0% 0% no-repeat padding-box;
  color: #fff;
  font-size: 24px;
  font-size: 1.5rem;
  font-family: "REM", sans-serif;
  text-align: center;
}

.bl_sideMenuBox {
  position: sticky;
  top: 150px;
  left: 0;
  width: 100%;
  padding: 38px 43px 40px;
  overflow: hidden;
  border-radius: 10px;
  background-color: #fff;
  box-shadow: 3px 3px 15px 0 rgba(0, 0, 0, 0.08);
}

.bl_sideMenuBoxHeading {
  margin-bottom: 25px;
  padding-bottom: 5px;
  border-bottom: 1px solid #cecece;
  font-weight: normal;
  font-size: 18px;
  font-size: 1.125rem;
  font-family: "Fjalla One", sans-serif;
}

.bl_sideMenuList {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.6;
}
.bl_sideMenuList li {
  margin: 5px 0 10px 0;
  color: #030303;
}
.bl_sideMenuList li ul {
  padding-left: 20px;
}
.bl_sideMenuList li a {
  display: block;
  position: relative;
  padding-left: 20px;
}
.bl_sideMenuList li a:hover {
  color: #e60020;
  opacity: 1;
}
.bl_sideMenuList li.is-active > a {
  color: #e60020;
}
.bl_sideMenuList li.is-active > a::before {
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 0;
  aspect-ratio: 1;
  width: 8px;
  transform: translateY(-50%);
  border-radius: 50%;
  background-color: currentcolor;
  content: "";
}

.bl_sideMenuList_sub {
  padding-left: 18px;
}

.bl_card02_imgWrapper img {
  display: block;
}
.bl_card02_imgWrapper__border {
  border: 1px solid #cecece;
}

.bl_commodityUnit {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 58px min( 60px,3.125vw);
  line-height: 1.875;
}

.bl_productTxt {
  margin-bottom: 140px;
  font-size: 20px;
  font-size: 1.25rem;
}

.bl_commodityItem:has(a):hover .bl_commodityItem_imgWrapper img {
  transform: scale(1.05);
}
.bl_commodityItem:has(a):hover .el_baseBtn {
  background-color: #e60020;
}

.bl_partsScrollImgWrapper {
  position: relative;
}
.bl_partsScrollImgWrapper img {
  display: block;
}

.bl_partsScrollLink {
  display: block;
  position: absolute;
}
.bl_partsScrollLink__01 {
  top: 5%;
  left: 20%;
  width: 20%;
  padding-top: 6%;
}
.bl_partsScrollLink__02 {
  top: 30%;
  left: 56%;
  width: 15%;
  padding-top: 6%;
}
.bl_partsScrollLink__03 {
  right: 6%;
  bottom: 14%;
  width: 16%;
  padding-top: 6%;
}

.bl_commodityItem {
  position: relative;
}
.bl_commodityItem .el_baseBtn {
  min-width: 227px;
  padding: 5.5px 0;
  font-size: 16px;
  font-size: 1rem;
}
.bl_commodityItem .el_baseBtn::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
}
.bl_commodityItem .el_baseBtn svg {
  stroke: #fff;
  margin-left: 14px;
}

.bl_commodityItem_imgWrapper {
  margin-bottom: 15px;
  overflow: hidden;
  border-radius: 5px;
}
.bl_commodityItem_imgWrapper img {
  display: block;
  width: 100%;
  transition: all 0.3s ease;
}

.bl_commodityItem_nameEn {
  position: relative;
  padding-left: 20px;
  font-size: 40px;
  font-size: 2.5rem;
  line-height: 1.5;
  font-family: "Fjalla One", sans-serif;
}
.bl_commodityItem_nameEn::before {
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 4px;
  height: 70%;
  transform: translateY(-50%);
  background-color: #eb0a1e;
  content: "";
}

.bl_commodityItem_bottom .el_baseBtn {
  margin-top: 28px;
}

.bl_commodityItem_nameJp {
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.42;
}
.bl_commodityItem_nameJp:not(:last-child) {
  margin-bottom: 6px;
}

.bl_commodityItem_cite {
  display: block;
  font-style: normal;
  font-size: 14px;
  font-size: 0.875rem;
}

.bl_mainSection01 {
  padding-bottom: 145px;
  padding-left: var(--sidePadding);
}

.bl_mainSection02 {
  position: relative;
  padding-top: 142px;
  padding-bottom: 145px;
  padding-left: var(--sidePadding);
}
.bl_mainSection02::after {
  z-index: -1;
  position: absolute;
  top: 0;
  left: 50%;
  width: calc(100dvw - 15px);
  height: 100%;
  transform: translateX(-50%);
  background-color: #f7f7f7;
  content: "";
}

.bl_mainSection03 {
  margin-bottom: 20px;
  padding-top: 150px;
  padding-bottom: 180px;
  padding-left: var(--sidePadding);
}

.bl_mainSection04 {
  padding-bottom: 84px;
  padding-left: var(--sidePadding);
}
.bl_mainSection04 img {
  width: 100%;
}

.bl_mainSection05 {
  padding-bottom: 160px;
  padding-left: var(--sidePadding);
}

.bl_mainSection06 {
  container-type: inline-size;
  padding-bottom: 120px;
  padding-left: var(--sidePadding);
}

.bl_mainSection07 {
  container-type: inline-size;
  padding-bottom: 95px;
  padding-left: var(--sidePadding);
}

.bl_mainSection08 {
  container-type: inline-size;
  padding-left: var(--sidePadding);
}

.bl_grayBackHeading {
  margin-bottom: 98px;
  padding: 18.5px;
  border-radius: 5px;
  background-color: #cecece;
  font-weight: normal;
  font-size: 28px;
  font-size: 1.75rem;
  text-align: center;
}

.bl_productsSubSection {
  margin-bottom: 150px;
}

.bl_pageWrapper02__message,
.bl_pageWrapper__vision,
.bl_pageWrapper02__privacy {
  background-color: #f7f7f7;
}

.bl_pageWrapper02__privacy {
  padding-bottom: 1px;
}

.bl_pageWrapper02__message .bl_breadcrumb,
.bl_pageWrapper__vision .bl_breadcrumb {
  margin-bottom: 0;
}

.bl_messageTop {
  padding: 0 15px;
  background: linear-gradient(to right, #eef0f4 0%, #e2e5e9 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}

.bl_messageTop_txtBox {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-bottom: 10px;
}

.bl_messageTop_txt01 {
  margin-bottom: 47px;
  color: #e60020;
  font-size: 24px;
  font-size: 1.5rem;
  font-family: "Fjalla One", sans-serif;
}

.bl_messageTop_txt02 {
  margin-bottom: 25px;
  font-weight: bold;
  font-size: 48px;
  font-size: 3rem;
  line-height: 1.79;
}

.bl_messageTop_img img {
  width: 200px;
}

.bl_messageTop_body {
  display: flex;
  justify-content: space-between;
  min-height: 571px;
  background-image: url("/assets/images/company/message/message_main.webp");
  background-position: right 80px bottom;
  background-size: auto 571px;
}

.bl_pageSectionContent {
  padding: 72px 15px 90px;
  border-radius: 0 0 10px 10px;
  background-color: #fff;
}
.bl_pageSectionContent__01 {
  margin-top: 60px;
  border-radius: 10px;
}
.bl_pageSectionContent__02 {
  margin-top: 99px;
  border-radius: 43px;
}
.bl_pageSectionContent__03 {
  margin-top: 72px;
  margin-bottom: 112px;
  border-radius: 20px;
}
.bl_pageSectionContent__interview {
  position: relative;
  border-radius: 20px;
  text-align: center;
}

.bl_pageSectionContent_inner {
  max-width: 840px;
  margin: 0 auto;
  line-height: 2.5;
}
.bl_pageSectionContent_inner__faq {
  max-width: 1000px;
  line-height: 2;
}
.bl_pageSectionContent_inner__privacy {
  line-height: 2;
}

.bl_pageSectionContent_name {
  margin-top: 40px;
  font-size: 18px;
  font-size: 1.125rem;
  text-align: right;
}
.bl_pageSectionContent_name img {
  margin-left: 32px;
}

.bl_visionTop {
  position: relative;
  margin-top: 186px;
  margin-bottom: 107px;
}
.bl_visionTop__02 {
  margin-top: 215px;
}

.bl_visionTop_text {
  font-weight: bold;
  font-size: min( 44px,2.2916666667vw);
}

.bl_visionTop_heading {
  position: relative;
  margin-bottom: 25px;
  color: #eb0a1e;
  font-weight: bold;
  font-size: 24px;
  font-size: 1.5rem;
}
.bl_visionTop_heading::before {
  display: inline-block;
  aspect-ratio: 1;
  width: 17px;
  margin-right: 12px;
  border-radius: 50%;
  background-color: #eb0a1e;
  content: "";
}

.bl_visionTop_en {
  position: absolute;
  top: -115px;
  right: 0;
  color: rgba(235, 10, 30, 0.05);
  font-weight: bold;
  font-size: 140px;
  font-size: 8.75rem;
  font-family: "Fjalla One", sans-serif;
}
.bl_fullMedia {
  display: flex;
  border-radius: 0 100px 0 0;
  background-color: #eb0a1e;
  color: #fff;
}
.bl_fullMedia__reverse {
  flex-direction: row-reverse;
  border-radius: 100px 0 0 0;
}
.bl_fullMedia__reverse .bl_philosophyList {
  margin-left: auto;
}
.bl_fullMedia__reverse .bl_fullMedia_data {
  box-sizing: border-box;
  padding: 140px 60px;
}

.bl_fullMedia_imgWrapper {
  width: 39%;
  overflow: hidden;
}
.bl_fullMedia_imgWrapper img {
  -o-object-fit: cover;
  display: block;
  width: 100%;
  height: 100%;
     object-fit: cover;
}

.bl_fullMedia_data {
  box-sizing: border-box;
  flex: 1;
  padding: 140px 60px;
}

.bl_philosophyList {
  width: 100%;
}
.bl_philosophyList > div:not(:last-child) {
  margin-bottom: 56px;
  padding-bottom: 44px;
  border-bottom: 1px solid currentColor;
}
.bl_philosophyList dt {
  margin-bottom: 15px;
  font-weight: bold;
  font-size: 42px;
  font-size: 2.625rem;
  line-height: 1.19;
}
.bl_philosophyList dd {
  position: relative;
  padding-left: 30px;
  font-size: 22px;
  font-size: 1.375rem;
}
.bl_philosophyList dd::after {
  position: absolute;
  top: 0;
  left: -2px;
  content: "・";
}

.bl_recruitTopHeader {
  display: flex;
  position: relative;
  align-items: center;
  height: min( 960px,50vw);
  min-height: 500px;
  padding: 14px 15px 0;
  padding-left: min( 137px,7.1354166667vw);
  background-image: url("/assets/images/recruit/mv.webp");
  background-position: right center;
  background-size: cover;
  color: #fff;
}

.bl_recruitTopHeader_mainTxt {
  font-size: min( 120px,6.25vw);
  line-height: 1.25;
}

.bl_recruitTopHeader_subTxt {
  margin-top: 20px;
  font-size: 30px;
  font-size: 1.875rem;
  line-height: 1;
}

.bl_banner {
  display: block;
  display: flex;
  position: relative;
  flex-direction: column;
  justify-content: center;
  padding: 20px 130px;
  overflow: hidden;
}
.bl_banner:hover {
  opacity: 1;
}
.bl_banner:hover .el_baseBtn {
  background-color: #eb0a1e;
  color: #fff;
}
.bl_banner:hover::after {
  transform: scale(1.05);
}
.bl_banner::after {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  content: "";
  transition: all 0.3s ease;
}
.bl_banner__flow {
  height: 325px;
  border-radius: 15px;
  background-size: cover;
}
.bl_banner__flow::after {
  background-image: url("/assets/images/recruit/banner_flow_pc.webp");
}
.bl_banner .el_baseBtn {
  z-index: 1;
  position: relative;
  transition: all 0.3s;
}

.bl_banner_txt01 {
  z-index: 1;
  position: relative;
  margin-bottom: 10px;
  color: #fff;
  font-weight: 600;
  font-size: 42px;
  font-size: 2.625rem;
}

.bl_recruitNews {
  display: flex;
  position: relative;
  width: 775px;
  max-width: 98%;
  min-height: 230px;
  margin-top: -165px;
  padding: 44px 80px 50px;
  gap: 75px;
  border-radius: 0 10px 10px 0;
  background-color: #e60020;
  color: #fff;
}
.bl_recruitNews .bl_datetime {
  color: #fff;
  font-family: "Fjalla One", sans-serif;
}
.bl_recruitNews .bl_badge {
  border: none;
}
.bl_recruitNews .bl_circleArrow {
  border-color: #fff;
}
.bl_recruitNews .bl_newsListItem_title {
  width: 100%;
  opacity: 0.8;
  transition: all 0.3s;
}
.bl_recruitNews .bl_newsListItem {
  position: relative;
  flex-wrap: wrap;
  margin-bottom: 30px;
  padding-right: 50px;
  padding-left: 0;
  gap: 11px 20px;
  border-bottom: 1px solid #fff;
}
.bl_recruitNews .bl_newsListItem:hover .bl_newsListItem_title {
  color: #fff;
  opacity: 1;
}
.bl_recruitNews .bl_newsListItem .bl_circleArrow {
  position: absolute;
  top: 10px;
  right: 0;
}
.bl_recruitNews .bl_newsListItem .bl_circleArrow::after {
  filter: invert(100%);
}

.bl_recruitNews_body {
  flex: 1;
}
.bl_recruitNews_body .bl_newsListUnit {
  margin-bottom: 30px;
}

.bl_recruitNews_heading {
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 1.5;
  text-align: center;
}
.bl_recruitNews_heading::before {
  display: block;
  content: attr(data-en);
  font-size: 13px;
  font-size: 0.8125rem;
  font-family: "REM", sans-serif;
}

.bl_layoutOurVision {
  margin-top: 25px;
  margin-top: -50px;
}
.bl_layoutOurVision .el_enMainHeading,
.bl_layoutOurVision .el_enMainSubHeading {
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
}

.bl_ourVision_body {
  margin-top: 44px;
  padding-top: 105px;
  padding-bottom: 140px;
  border-radius: 15px;
  background-image: url("/assets/images/recruit/our_vision.webp");
  background-position: center center;
  background-size: cover;
  color: #fff;
}
.bl_ourVision_body h3 {
  margin-bottom: 53px;
  font-weight: bold;
  font-size: 48px;
  font-size: 3rem;
  line-height: 1.5;
}

.bl_ourVision_txt01 {
  font-weight: bold;
  font-size: 24px;
  font-size: 1.5rem;
}

.bl_ourVision_txt02 {
  margin-top: 30px;
}

.bl_layoutLeftAdsorption {
  margin-top: 75px;
  margin-bottom: 79px;
  /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#ffffff+1,ffffff+100&1+0,1+52,0+53,0+100 */
  background: linear-gradient(to right, rgb(255, 255, 255) 0%, rgb(255, 255, 255) 1%, rgb(255, 255, 255) 52%, rgba(255, 255, 255, 0) 53%, rgba(255, 255, 255, 0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}

.bl_layoutLeftAdsorption_inner {
  width: 96%;
  padding-top: 109px;
  padding-right: min( 107px,5.5729166667vw);
  padding-bottom: 90px;
  border-radius: 0 50px 50px 0;
  background-color: #fff;
}
.bl_layoutLeftAdsorption_inner__data {
  padding-top: 96px;
}
.bl_layoutLeftAdsorption_inner__interview {
  position: relative;
  padding-top: 102px;
}

.bl_recruitDataBody {
  display: flex;
  justify-content: space-between;
  padding-bottom: 215px;
  gap: 50px;
}

.bl_recruitDataImgWrapper {
  width: 46%;
  padding-top: min( 80px,4.1666666667vw);
}
.bl_recruitDataImgWrapper img {
  display: block;
  width: 100%;
}

.bl_recruitDataTxtBox {
  width: 39.8%;
}

.bl_content_txt01 {
  margin-top: 45px;
  margin-bottom: 30px;
  font-size: 24px;
  font-size: 1.5rem;
}

.bl_content_txt02 {
  margin-bottom: 66px;
}

.bl_layoutWork {
  margin-top: -264px;
  background-image: url("/assets/images/recruit/works_back.webp");
  background-position: center top;
  background-size: 100% auto;
}

.bl_worksBody {
  padding-top: 128px;
  padding-bottom: 100px;
  border-radius: 20px;
  background-color: #eb0a1e;
  color: #fff;
}

.bl_layoutWork_header {
  position: relative;
  padding-top: 49.5vw;
}
.bl_layoutWork_header header {
  position: absolute;
  top: 110px;
  left: 0%;
}

.bl_worksBody_main {
  width: 522px;
  padding-top: 14px;
}
.bl_worksBody_main p {
  margin-bottom: 36px;
}

.bl_worksList {
  display: flex;
  flex-direction: column;
  width: 513px;
  padding-top: 20px;
  gap: 8px;
}
.bl_worksList a {
  display: flex;
  position: relative;
  align-items: center;
  padding-right: 90px;
  overflow: hidden;
  gap: 34px;
  border-radius: 8px;
  background-color: #fff;
  color: #000;
  font-size: 20px;
  font-size: 1.25rem;
}
.bl_worksList a:hover {
  color: #eb0a1e;
  opacity: 1;
}
.bl_worksList a:hover .bl_worksList_imgWrapper img {
  transform: scale(1.05);
}
.bl_worksList a:hover .bl_circleArrow {
  border-color: #eb0a1e;
}
.bl_worksList a:hover .bl_circleArrow:after {
  filter: invert(11%) sepia(76%) saturate(6504%) hue-rotate(342deg) brightness(95%) contrast(121%);
}
.bl_worksList .bl_circleArrow {
  position: absolute;
  top: 50%;
  right: 38px;
  transform: translateY(-50%);
}

.bl_worksList_imgWrapper {
  width: 152px;
  overflow: hidden;
}
.bl_worksList_imgWrapper img {
  -o-object-fit: cover;
  display: block;
  width: 100%;
  height: 100%;
     object-fit: cover;
  transition: all 0.3s;
}

.bl_worksBody_fornt {
  background-image: url("/assets/images/recruit/works_side_img.webp");
  background-position: left top;
  background-size: 26% auto;
}

.bl_worksBody_forntInner {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 100px;
  gap: min( 115px,5.9895833333vw);
}

.bl_worksList_heading {
  flex: 1;
}

.bl_interviewItem {
  display: block;
  counter-increment: interview;
}
.bl_interviewItem:hover {
  opacity: 1;
}
.bl_interviewItem:hover .bl_interviewItem_imgWrapper img {
  transform: scale(1.05);
}
.bl_interviewItem:hover .bl_interviewItem_heading {
  color: #e60020;
}

.bl_interviewItem_number {
  position: relative;
  margin-bottom: 10px;
  color: #e60020;
  font-family: "REM", sans-serif;
}
.bl_interviewItem_number::before {
  display: block;
  position: absolute;
  top: 50%;
  left: 0%;
  width: 100%;
  height: 1px;
  transform: translateY(-50%);
  background-color: currentcolor;
  content: "";
}
.bl_interviewItem_number span {
  position: relative;
  padding-right: 20px;
  background-color: #fff;
}
.bl_interviewItem_number span::after {
  margin-left: 5px;
  content: counter(interview, decimal-leading-zero);
}

.bl_interviewItem_imgWrapper {
  margin-bottom: 18px;
  overflow: hidden;
  border-radius: 170px;
}
.bl_interviewItem_imgWrapper img {
  display: block;
  width: 100%;
  transition: all 0.3s;
}

.bl_interviewItem_heading {
  margin-bottom: 18px;
  font-weight: 600;
  font-size: 22px;
  font-size: 1.375rem;
  transition: all 0.3s;
}

.bl_interviewItem_list {
  display: flex;
  flex-wrap: wrap;
  color: #6d6d6d;
}
.bl_interviewItem_list li {
  line-height: 1;
}
.bl_interviewItem_list li:not(:last-child) {
  margin-right: 8px;
  padding-right: 8px;
  border-right: 1px solid currentcolor;
}

.bl_interviewUnit {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  max-width: 1240px;
  margin-top: 74px;
  margin-bottom: 70px;
  gap: 50px;
}

.bl_headerVertical {
  display: flex;
  position: absolute;
  top: 105px;
  right: -60px;
  flex-direction: column;
  align-items: center;
}
.bl_headerVertical .el_enMainSubHeading {
  margin-top: 40px;
  writing-mode: vertical-rl;
}

.bl_layoutEnvironment {
  position: relative;
  padding-top: 140px;
  padding-bottom: 123px;
  overflow: hidden;
  border-radius: 20px;
  background-color: #e60020;
  color: #fff;
}
.bl_layoutEnvironment .el_enMainSubHeading {
  color: #fff;
}

.bl_layoutEnvironment_txtBox {
  z-index: 1;
  position: relative;
}

.bl_layoutEnvironment_heading {
  margin-bottom: 35px;
}

.bl_layoutEnvironment_txt {
  max-width: 522px;
  margin-bottom: 70px;
}

.bl_flowImgUnit {
  display: flex;
  position: absolute;
  top: 0;
  right: 50%;
  height: 100%;
  gap: 18px;
  transform: translateX(770px);
}

.bl_flowImgItem {
  width: 302px;
  height: 100%;
  background-size: 100% auto;
  background-repeat: repeat-y;
}
.bl_flowImgItem01 {
  background-image: url("/assets/images/recruit/flow_left.webp");
  animation: environmentscroll01 50s linear infinite;
}
.bl_flowImgItem02 {
  background-image: url("/assets/images/recruit/flow_right.webp");
  animation: environmentscroll02 50s linear infinite;
}

@keyframes environmentscroll01 {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: 0 2592px;
  }
}
@keyframes environmentscroll02 {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: 0 -2592px;
  }
}
.bl_layoutFaq {
  margin-bottom: 200px;
  padding-top: 112px;
}

.bl_layoutFaq_inner {
  display: flex;
  justify-content: space-between;
  gap: 20px;
}
.bl_layoutFaq_inner > div:first-child {
  width: 40%;
  max-width: 525px;
}
.bl_layoutFaq_inner > div:last-child {
  flex: 1;
  max-width: 900px;
}

.bl_faq {
  display: flex;
  flex-direction: column;
  gap: 13px;
}
.bl_faq > div {
  position: relative;
  padding: 29px 30px;
  border-radius: 10px;
  background-color: #fff;
  font-weight: 600;
  font-size: 18px;
  font-size: 1.125rem;
}
.bl_faq dt {
  position: relative;
  padding-right: 30px;
  padding-left: 60px;
  cursor: pointer;
}
.bl_faq dt::before {
  position: absolute;
  top: -4px;
  left: 0;
  content: "Q";
  color: #eb0a1e;
  font-size: 40px;
  font-size: 2.5rem;
  line-height: 1;
  font-family: "REM", sans-serif;
}
.bl_faq dt.is-open .bl_faq_icon::after {
  transform: translate(-50%, -50%) rotate(0deg);
}
.bl_faq dd {
  display: none;
  position: relative;
  margin-top: 16px;
  padding-top: 28px;
  padding-left: 60px;
  border-top: 1px solid #cecece;
}
.bl_faq dd::before {
  position: absolute;
  top: 25px;
  left: 0;
  content: "A";
  font-size: 40px;
  font-size: 2.5rem;
  line-height: 1;
  font-family: "REM", sans-serif;
}
.bl_faq .bl_faq_icon {
  position: absolute;
  top: 10px;
  right: 0;
  aspect-ratio: 1;
  width: 20px;
}
.bl_faq .bl_faq_icon::before, .bl_faq .bl_faq_icon::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 1px;
  background-color: #f00;
  content: "";
  transition: all 0.3s;
}
.bl_faq .bl_faq_icon::before {
  transform: translate(-50%, -50%);
}
.bl_faq .bl_faq_icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.bl_layoutEntry {
  position: relative;
  padding: 117px 0;
  background-size: cover;
}
.bl_layoutEntry::after {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("/assets/images/entry_back01.webp");
  background-size: cover;
  content: "";
  transition: all 0.3s;
}
.bl_layoutEntry:has(.bl_layoutEntry_inner:hover)::after {
  filter: grayscale(100%);
}

.bl_layoutEntry_inner {
  display: block;
  z-index: 1;
  position: relative;
  padding: 15px;
  overflow: hidden;
  border-radius: 20px;
  background-image: url("/assets/images/entry_back02.webp");
  background-size: cover;
  color: #fff;
}
.bl_layoutEntry_inner::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgb(0, 0, 0);
  content: "";
  opacity: 0;
  transition: all 0.3s;
}
.bl_layoutEntry_inner:hover {
  opacity: 1;
}
.bl_layoutEntry_inner:hover::before {
  opacity: 1;
}
.bl_layoutEntry_inner:hover .el_dotBlackBtn {
  background-color: #e60020;
}
.bl_layoutEntry_inner:hover .el_dotBlackBtn::after {
  transform: scale(70);
  opacity: 0.05;
}

.bl_layoutEntry_core {
  display: flex;
  position: relative;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  height: 100%;
  min-height: 335px;
}

.bl_layoutEntry_heading {
  font-size: 100px;
  font-size: 6.25rem;
  line-height: 1.2;
}

.bl_layoutEntry_subHeading {
  font-weight: 600;
  font-size: 20px;
  font-size: 1.25rem;
}

.bl_Layoutcircleback {
  z-index: 1;
  position: relative;
  height: min(820px, 75vw);
  padding-top: 40px;
  overflow: hidden;
  color: #fff;
  text-align: center;
}
.bl_Layoutcircleback img {
  max-width: 100%;
  margin-bottom: 45px;
}
.bl_Layoutcircleback::after {
  display: block;
  z-index: -1;
  position: absolute;
  bottom: 0;
  left: 50%;
  aspect-ratio: 1;
  width: 6566px;
  transform: translateX(-50%);
  border-radius: 50%;
  background-color: #eb0a1e;
  content: "";
}
.bl_Layoutcircleback p {
  font-size: 26px;
  font-size: 1.625rem;
}

.bl_visitBody {
  margin-top: -168px;
}

.bl_visitList {
  display: flex;
  z-index: 1;
  position: relative;
  flex-direction: column;
  gap: 30px;
  list-style: none;
}
.bl_visitList li {
  display: flex;
  position: relative;
  flex-direction: column;
  justify-content: center;
  min-height: 226px;
  padding: 20px 60px 20px 250px;
  border-radius: 115px;
  background-color: #fff;
  box-shadow: 3px 3px 10px 0 rgba(235, 10, 30, 0.08);
  counter-increment: visit;
}
.bl_visitList li:nth-child(1) .bl_visitList_number {
  background-color: #eb0a1e;
}
.bl_visitList li:nth-child(2) .bl_visitList_number {
  background-color: #940411;
}
.bl_visitList li:nth-child(3) .bl_visitList_number {
  background-color: #4a0007;
}

.bl_visitList_text01 {
  overflow: hidden;
  font-weight: bold;
  font-size: clamp(18px, 2.6vw, 34px);
  line-height: 1.8;
}

.bl_visitList_text02 {
  font-size: clamp(16px, 2.6vw, 22px);
}

.bl_visitList_number {
  display: flex;
  position: absolute;
  top: 50%;
  left: 30px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1;
  width: 166px;
  transform: translate(0, -50%);
  border-radius: 50%;
  color: #fff;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.2;
  font-family: "Fjalla One", sans-serif;
  text-align: center;
}
.bl_visitList_number::after {
  display: block;
  content: counter(visit, decimal-leading-zero);
  font-size: 57px;
  font-size: 3.5625rem;
}

.bl_LayoutWhite {
  margin-top: 95px;
  padding: 100px 15px;
  background-color: #fff;
}

.bl_LayoutWhiteInner {
  max-width: 840px;
  margin: 0 auto;
}

.bl_table01 {
  width: 100%;
  margin-top: 22px;
  font-size: 18px;
  font-size: 1.125rem;
}
.bl_table01 address {
  font-style: normal;
}
.bl_table01 th,
.bl_table01 td {
  height: 102px;
  text-align: left;
}
.bl_table01 tr {
  border-bottom: 1px solid #cecece;
}
.bl_table01 th {
  width: 231px;
  padding: 34px 25px;
  background-color: rgba(235, 10, 30, 0.05);
  font-weight: bold;
}
.bl_table01 td {
  padding: 34px 20px;
}

.bl_mapLink {
  display: inline-block;
  color: #e60020;
  font-size: 16px;
  font-size: 1rem;
  text-decoration: underline;
}
.bl_mapLink svg {
  vertical-align: middle;
}
.bl_mapLink svg:has([href="#mapPoint"]) {
  fill: currentcolor;
  margin-right: 6px;
}
.bl_mapLink svg:has([href="#outerLink"]) {
  stroke: currentcolor;
}

.bl_LayoutSubSection:not(:last-child) {
  margin-bottom: 100px;
}

.bl_contactSection {
  margin-bottom: 70px;
}
.bl_contactSection:not(:last-child) {
  margin-bottom: 88px;
  padding-bottom: 100px;
  border-bottom: 1px solid #cecece;
}

.bl_contactTxt {
  margin-bottom: 80px;
  font-size: 20px;
  font-size: 1.25rem;
}

.bl_contactBody {
  margin-top: 120px;
}

.bl_iconHeading {
  position: relative;
  margin-bottom: 18px;
  padding-left: 55px;
  font-weight: bold;
  font-size: 32px;
  font-size: 2rem;
  line-height: 2.25;
}
.bl_iconHeading__factory svg {
  width: 35px;
  height: 29px;
}
.bl_iconHeading svg {
  fill: #eb0a1e;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

.bl_contactData {
  padding: 53px 20px 50px min( 60px,3.125vw);
  border-radius: 10px;
  background-color: #fff;
}

.bl_contactData_inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1080px;
  font-size: 18px;
  font-size: 1.125rem;
}
.bl_contactData_inner > div:first-child {
  position: relative;
  width: 41.6%;
  padding-right: 20px;
}
.bl_contactData_inner > div:first-child::after {
  position: absolute;
  top: 50%;
  right: 0;
  width: 1px;
  height: 90%;
  transform: translateY(-50%);
  background-color: #cecece;
  content: "";
}
.bl_contactData_inner > div:last-child {
  width: 53%;
}

.bl_contactData_name {
  font-size: 26px;
  font-size: 1.625rem;
}

.bl_contactNumber {
  color: #eb0a1e;
  font-weight: 600;
  font-size: 48px;
  font-size: 3rem;
  line-height: 1.2;
}
.bl_contactNumber svg {
  margin-right: 10px;
}

.bl_contactNumberTxt {
  font-size: 16px;
  font-size: 1rem;
}

.bl_contactData_btn {
  display: block;
  position: relative;
  padding: 32px 10px;
  border-radius: 8px;
  background-color: #eb0a1e;
  color: #fff;
  font-weight: bold;
  font-size: 18px;
  font-size: 1.125rem;
  text-align: center;
}
.bl_contactData_btn:hover {
  background-color: var(--blackColor);
  opacity: 1;
}

.bl_contactData_btn_icon {
  display: flex;
  position: absolute;
  top: 50%;
  right: 35px;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1;
  width: 59px;
  transform: translate(0, -50%);
  border: 1px solid #fff;
  border-radius: 50%;
}

.bl_centerLogo img {
  display: block;
  margin: 28px auto 60px;
}

.bl_table02 {
  width: 100%;
}
.bl_table02 > div {
  display: flex;
  gap: 1em;
}
.bl_table02 th {
  width: 230px;
  border-bottom: 1px solid #000;
  font-weight: bold;
  text-align: left;
}
.bl_table02 td {
  padding-left: 9px;
  border-bottom: 1px solid #cecece;
  line-height: 2;
  vertical-align: middle;
}
.bl_table02 th,
.bl_table02 td {
  padding-top: 30.5px;
  padding-bottom: 30.5px;
  font-size: 18px;
  font-size: 1.125rem;
  vertical-align: top;
}
.bl_table02 address {
  font-style: normal;
}

.bl_policyImg img {
  display: block;
  max-width: 100%;
  margin: 0 auto;
}

.bl_mediaUnit {
  display: grid;
  gap: 60px;
}

.bl_mediaItem {
  display: flex;
  gap: 30px;
}

.bl_mediaItem_title {
  position: relative;
  margin-bottom: 15px;
  padding-left: 19px;
  font-weight: bold;
  font-size: 26px;
  font-size: 1.625rem;
}
.bl_mediaItem_title::before {
  display: block;
  position: absolute;
  top: 50%;
  bottom: -4px;
  left: 0;
  width: 7px;
  height: 27px;
  transform: translateY(-50%);
  border-radius: 4px;
  background-color: #eb0a1e;
  content: "";
}

.bl_mediaItem_borderTitle {
  position: relative;
  margin-bottom: 25px;
  padding-bottom: 15px;
  border-bottom: 1px solid #cecece;
  font-weight: bold;
  font-size: 26px;
  font-size: 1.625rem;
}
.bl_mediaItem_borderTitle::after {
  display: block;
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 164px;
  height: 1px;
  background-color: #eb0a1e;
  content: "";
}

.bl_mediaItem_text02 {
  margin-bottom: 35px;
}

.bl_mediaItem_body {
  container-type: inline-size;
  flex: 1;
}

.bl_mediaItem_imgWrapper {
  width: min( 585px,30.46875vw);
}
.bl_mediaItem_imgWrapper img {
  display: block;
  width: 100%;
  border-radius: 10px;
}

@container (width <= 650px) {
  .bl_mediaItem {
    display: block;
  }
  .bl_mediaItem_imgWrapper {
    width: 100%;
    margin-top: 20px;
  }
}
.bl_mediaUnit_explanation {
  margin-bottom: 70px;
}

.bl_recruitPageHeader {
  width: calc(100% - 30px);
  max-width: 1820px;
  margin: 30px auto 15px;
  padding: 50.5px 30px;
  border-radius: 76px;
  background: transparent linear-gradient(314deg, #000 0%, #ff1e32 78%, #e60020 100%) 0% 0% no-repeat padding-box;
  line-height: 1.4;
}
.bl_recruitPageHeader + .bl_breadcrumb {
  max-width: 1590px;
  margin: 0 auto 30px;
  padding-bottom: 0;
  border-bottom: none;
  background-color: transparent;
}

.bl_recruitPageHeader_inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1616px;
  margin: 0 auto;
  padding-left: 30px;
  gap: 30px;
  color: #fff;
}
.bl_recruitPageHeader_inner h1 {
  font-weight: bold;
  font-size: 40px;
  font-size: 2.5rem;
}

.bl_recruitPageHeader_en {
  font-weight: bold;
  font-size: 38px;
  font-size: 2.375rem;
  font-family: "REM", sans-serif;
}

.bl_recruitSection__company {
  margin-top: 130px;
}

.bl_dataCardUnit01 {
  display: grid;
  grid-template-columns: 0.6644fr 1fr;
  margin-bottom: 15px;
  gap: 20px 15px;
}
.bl_dataCardUnit01 .bl_dataCard:last-child {
  grid-row: 1/3;
  grid-column: 2/3;
  padding-bottom: 54px;
}

.bl_dataCardUnit02 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin-bottom: 15px;
  gap: 20px 15px;
}
.bl_dataCardUnit02 .bl_dataCard {
  padding-bottom: 62px;
}

.bl_dataCardUnit04 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin-bottom: 15px;
  gap: 20px 15px;
}
.bl_dataCardUnit04 .bl_dataCard {
  padding-bottom: 48px;
}

.bl_dataCardUnit05 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin-bottom: 15px;
  gap: 20px 15px;
}
.bl_dataCardUnit05 .bl_dataCard_sideImgNumber {
  min-height: 193px;
}

.bl_dataCard {
  padding: 40px min( 45px,3.75vw) 50px;
  border-radius: 10px;
  background-color: #fff;
  line-height: 1.2;
}
.bl_dataCard__position {
  position: relative;
}

.bl_dataCard_map {
  position: absolute;
  top: min( 50px,4.1666666667vw);
  right: min( 44px,3.6666666667vw);
}
.bl_dataCard_map img {
  width: min( 354px,29.5vw);
}

.bl_dataCard_heading {
  font-weight: 600;
  font-size: 24px;
  font-size: 1.5rem;
}
.bl_dataCard_heading span {
  display: inline-block;
  font-weight: normal;
  font-size: 18px;
  font-size: 1.125rem;
}

.bl_dataCard_sideImgNumber {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: min( 45px,3.75vw);
}
.bl_dataCard_sideImgNumber__01 {
  padding-bottom: 10px;
  gap: min( 34px,2.8333333333vw);
}
.bl_dataCard_sideImgNumber__01 img {
  width: min( 66px,5.5vw);
}
.bl_dataCard_sideImgNumber__02 {
  gap: min( 25px,2.0833333333vw);
}
.bl_dataCard_sideImgNumber__02 img {
  width: min( 108px,9vw);
}
.bl_dataCard_sideImgNumber__03 {
  gap: min( 39px,3.25vw);
}
.bl_dataCard_sideImgNumber__03 img {
  width: min( 87px,7.25vw);
}
.bl_dataCard_sideImgNumber__04 {
  margin-top: min( 57px,4.75vw);
  gap: min( 25px,2.0833333333vw);
}
.bl_dataCard_sideImgNumber__04 img {
  width: min( 90px,7.5vw);
}
.bl_dataCard_sideImgNumber__05 {
  gap: min( 39px,3.25vw);
}
.bl_dataCard_sideImgNumber__05 img {
  width: min( 127px,10.5833333333vw);
}
.bl_dataCard_sideImgNumber__06 {
  gap: min( 35px,2.9166666667vw);
}
.bl_dataCard_sideImgNumber__06 img {
  width: min( 119px,9.9166666667vw);
}
.bl_dataCard_sideImgNumber__07 {
  gap: min( 35px,2.9166666667vw);
}
.bl_dataCard_sideImgNumber__07 img {
  width: min( 154px,12.8333333333vw);
}
.bl_dataCard_sideImgNumber__08 {
  gap: min( 45px,3.75vw);
}
.bl_dataCard_sideImgNumber__08 img {
  width: min( 126px,10.5vw);
}
.bl_dataCard_sideImgNumber__09 {
  gap: min( 34px,2.8333333333vw);
}
.bl_dataCard_sideImgNumber__09 .bl_childcareImg {
  width: min( 171px,14.25vw);
}
.bl_dataCard_sideImgNumber__10 {
  gap: min( 50px,4.1666666667vw);
}
.bl_dataCard_sideImgNumber__10 img {
  width: min( 82px,6.8333333333vw);
}

.bl_dataCard_sideImgNumber_number {
  color: #e60020;
  font-weight: 600;
  font-size: min( 80px,6.6666666667vw);
  font-family: "REM", sans-serif;
}
.bl_dataCard_sideImgNumber_number .bl_unit {
  color: #030303;
  font-weight: 300;
  font-size: min( 30px,2.5vw);
}
.bl_dataCard_sideImgNumber_number .bl_minTxt {
  font-size: 0.7em;
}
.bl_dataCard_sideImgNumber_number .bl_minTxt02 {
  font-size: 0.4em;
}

.bl_dataCard_centerNumber {
  margin-top: min( 45px,3.75vw);
  color: #e60020;
  font-weight: 600;
  font-size: min( 100px,8.3333333333vw);
  font-family: "REM", sans-serif;
  text-align: center;
}
.bl_dataCard_centerNumber .bl_unit {
  color: #030303;
  font-weight: 300;
  font-size: min( 40px,3.3333333333vw);
}

.bl_dataCard_centerImg {
  margin-top: 44px;
  text-align: center;
}
.bl_dataCard_centerImg img {
  max-width: 100%;
}

.bl_dataCard_positionName {
  z-index: 1;
  position: relative;
  margin-top: 92px;
  color: #e60020;
  font-weight: bold;
  font-size: min( 64px,5.3333333333vw);
}
.bl_dataCard_positionName span {
  margin-right: 15px;
  font-weight: normal;
  font-size: min( 32px,2.6666666667vw);
}

.bl_dataCardUnit03 {
  margin-bottom: 130px;
}
.bl_dataCardUnit03 .bl_dataCard {
  padding-bottom: 120px;
}

.bl_productionModel {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  max-width: 976px;
  margin: 30px auto 0;
  gap: 85px min( 65px,5.4166666667vw);
}
.bl_productionModel li {
  counter-increment: carNumber;
}
.bl_productionModel li img {
  width: 100%;
}

.bl_productionModel_imgWrapper {
  margin-bottom: -66px;
}
.bl_productionModel_imgWrapper img {
  display: block;
}

.bl_productionModel_name {
  font-size: 20px;
  font-size: 1.25rem;
  text-align: center;
}
.bl_productionModel_name::before {
  margin-right: 12px;
  content: counter(carNumber, decimal-leading-zero);
  color: #eb0a1e;
  font-weight: 600;
  font-size: 30px;
  font-size: 1.875rem;
  font-family: "REM", sans-serif;
  vertical-align: middle;
}

.bl_backRed {
  padding: 130px 0 135px;
  background-color: #eb0a1e;
}
.bl_backRed .el_boderHeading {
  color: #fff;
}
.bl_backRed .el_boderHeading::before {
  color: #fff;
}
.bl_backRed .el_boderHeading::after {
  background-color: #fff;
}

.bl_gender {
  display: flex;
  justify-content: center;
  margin-top: 30px;
  padding-right: min( 50px,4.1666666667vw);
  gap: 0 min( 82px,6.8333333333vw);
}

.bl_gender_item_name {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;
  gap: 20px;
  font-size: 22px;
  font-size: 1.375rem;
}

.bl_gender_item_number {
  color: #eb0a1e;
  font-weight: 600;
  font-size: min( 80px,6.6666666667vw);
  font-family: "REM", sans-serif;
}
.bl_gender_item_number .bl_unit {
  margin-left: 10px;
  color: #030303;
  font-weight: 300;
  font-size: 40px;
  font-size: 2.5rem;
}

.bl_dataCard_sideImgNumber_holiday {
  display: block;
  margin-bottom: 15px;
  color: #eb0a1e;
  font-weight: bold;
  font-size: min( 30px,2.5vw);
  line-height: 1;
}

.bl_holiday_txt01 {
  margin-right: 8px;
  font-weight: 600;
  font-size: min( 70px,5.8333333333vw);
  font-family: "REM", sans-serif;
}

.bl_holiday_txt02 {
  margin-right: 8px;
  font-size: min( 40px,3.3333333333vw);
}

.bl_holiday_txt03 {
  font-size: min( 24px,2vw);
}

.bl_dataCard_sideImgNumber_small {
  padding-left: 1em;
  font-weight: normal;
  font-size: min( 20px,1.6666666667vw);
  text-indent: -1em;
}
.bl_dataCard_sideImgNumber_small::before {
  content: "※";
}

.bl_childcareDate_item {
  display: flex;
  align-items: center;
  gap: min( 11px,0.9166666667vw);
}

.bl_childcareDate_02 {
  font-size: min( 22px,1.8333333333vw);
  white-space: nowrap;
}

.bl_childcareDate_03 {
  margin-left: min( 10px,0.8333333333vw);
  color: #eb0a1e;
  font-weight: 600;
  font-size: min( 80px,6.6666666667vw);
  font-family: "REM", sans-serif;
}
.bl_childcareDate_03 .bl_unit {
  color: #030303;
  font-weight: 300;
  font-size: min( 30px,2.5vw);
}

.bl_ranking {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1017px;
  margin: 0 auto;
  gap: 20px;
}
.bl_ranking img {
  display: block;
}

.bl_ranking_map img {
  width: min( 377px,31.4166666667vw);
}

.bl_ranking_body img {
  width: min( 557px,46.4166666667vw);
}

.bl_worksKv {
  max-width: 1820px;
  margin: 0 auto;
  overflow: hidden;
  border-radius: 30px;
}
.bl_worksKv img {
  display: block;
  width: 100%;
}

.bl_whitebox {
  margin-top: 60px;
  padding: 45px 62px 36px;
  border-radius: 15px;
  background-color: #fff;
  box-shadow: 3px 3px 10px 0 rgba(0, 0, 0, 0.1);
  font-size: 18px;
  font-size: 1.125rem;
}

.bl_whitebox_heading {
  margin-bottom: 6px;
  color: #eb0a1e;
  font-weight: bold;
  font-size: 26px;
  font-size: 1.625rem;
}

.bl_boxList > div {
  display: flex;
  align-items: center;
  margin-bottom: 5px;
  padding: 22px 43px 22px 35px;
  border-radius: 7px;
  background-color: #fff;
  line-height: 1.75;
}
.bl_boxList > div dt {
  width: 33.8%;
  padding-right: min( 28px,2.3333333333vw);
  font-weight: bold;
}
.bl_boxList > div dd {
  flex: 1;
  padding-left: min( 28px,2.3333333333vw);
  border-left: 1px solid #cecece;
}

@container (width <= 400px) {
  .bl_boxList > div {
    display: block;
    padding: 20px;
  }
  .bl_boxList > div dt {
    width: 100%;
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid #cecece;
  }
  .bl_boxList > div dd {
    padding-left: 0;
    border-left: none;
  }
}
.bl_flowWrapper {
  display: flex;
  max-width: 100%;
  margin-top: 100px;
  margin-left: calc(50vw - 810px);
  gap: min( 120px,10vw);
}

.bl_stepList {
  position: sticky;
  top: 140px;
  left: 0;
  padding-top: 70px;
  padding-bottom: 30px;
  padding-left: 119px;
  border-radius: 20px;
  background-color: #fff;
}
.bl_stepList::after {
  display: block;
  position: absolute;
  top: 95px;
  left: 80px;
  width: 1px;
  height: calc(100% - 185px);
  background-color: rgba(0, 0, 0, 0.28);
  content: "";
}

.bl_flow_left {
  position: relative;
  width: 280px;
}

.bl_flow_body {
  container-type: inline-size;
  flex: 1;
}

.bl_step_item {
  display: flex;
  overflow: hidden;
  border-radius: 20px;
  counter-increment: stepNumber;
}
.bl_step_item:not(:last-child) {
  margin-bottom: 60px;
}

.bl_step_item_imgWrapper {
  flex: 1;
  overflow: hidden;
}
.bl_step_item_imgWrapper img {
  -o-object-fit: cover;
  display: block;
  width: 100%;
  height: 100%;
     object-fit: cover;
}

@container (width <= 650px) {
  .bl_step_item {
    flex-direction: column-reverse;
  }
  .bl_step_item_imgWrapper {
    flex: initial;
    height: 250px;
  }
}
.bl_step_item_body {
  position: relative;
  width: min( 470px,39.1666666667vw);
  padding: min( 60px,5vw);
  background-color: #eb0a1e;
  color: #fff;
}
@container (width <= 650px) {
  .bl_step_item_body {
    width: 100%;
    padding: 20px;
  }
}

.bl_step_item_number {
  display: flex;
  position: absolute;
  top: min( 62px,5.1666666667vw);
  left: min( 52px,4.3333333333vw);
  flex-direction: column;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1;
  width: min( 150px,12.5vw);
  border: 1px solid #fff;
  border-radius: 50%;
  font-weight: 600;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.1;
  font-family: "REM", sans-serif;
}
.bl_step_item_number::after {
  display: block;
  content: counter(stepNumber, decimal-leading-zero);
  font-size: min( 48px,4vw);
}

.bl_step_item_heading {
  position: absolute;
  top: min( 70px,5.8333333333vw);
  right: min( 56px,4.6666666667vw);
  font-weight: bold;
  font-size: min( 42px,3.5vw);
  line-height: 1.5;
  writing-mode: vertical-rl;
}
.bl_step_item_heading::before {
  display: block;
  content: attr(data-en);
  font-size: 16px;
  font-size: 1rem;
}

.bl_step_item_txt {
  margin-top: min( 340px,28.3333333333vw);
  padding-top: min( 65px,5.4166666667vw);
  border-top: 1px solid #fff;
  font-size: 18px;
  font-size: 1.125rem;
}

@container (width <= 650px) {
  .bl_step_item_txt {
    margin-top: 210px;
    padding-top: 30px;
    font-size: 16px;
    font-size: 1rem;
  }
}
.bl_stepList_item {
  display: block;
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  margin-bottom: 40px;
  text-align: center;
  counter-increment: sideStep;
}
.bl_stepList_item.is-active::after {
  left: -45px;
  width: 13px;
  background-color: #eb0a1e;
}
.bl_stepList_item::after {
  display: block;
  z-index: 1;
  position: absolute;
  top: 50%;
  left: -42px;
  aspect-ratio: 1;
  width: 6px;
  transform: translate(0, -50%);
  border-radius: 50%;
  background-color: #000;
  content: "";
}

.bl_stepList_item_number {
  width: 77px;
  border-radius: 11px;
  background-color: #eb0a1e;
  color: #fff;
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1.4;
}
.bl_stepList_item_number::after {
  margin-left: 2px;
  content: counter(sideStep, decimal-leading-zero);
  font-size: 15px;
  font-size: 0.9375rem;
  font-family: "REM", sans-serif;
}

.bl_stepList_item_heading {
  font-size: 14px;
  font-size: 0.875rem;
}

.bl_tabHeading {
  display: flex;
}

.bl_tabHeading_item {
  position: relative;
  flex: 1;
  padding: 15px;
  color: #cecece;
  font-weight: bold;
  font-size: 24px;
  font-size: 1.5rem;
  text-align: center;
  cursor: pointer;
}
.bl_tabHeading_item::after {
  position: absolute;
  bottom: 0;
  left: 0%;
  width: 100%;
  height: 1px;
  background-color: #cecece;
  content: "";
}
.bl_tabHeading_item.is_active {
  color: #000;
}
.bl_tabHeading_item.is_active::after {
  height: 2px;
  background-color: #eb0a1e;
}

.bl_faqHeading {
  margin-top: 85px;
  font-weight: 500;
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 1.8;
  text-align: center;
}
.bl_faqHeading span {
  color: #eb0a1e;
  font-size: 32px;
  font-size: 2rem;
}

.bl_faq__border > div {
  border: 1px solid #cecece;
}

.bl_tabBody_item {
  position: relative;
}
.bl_tabBody_item .el_bgColorHeading {
  margin-bottom: 25px;
}
.bl_tabBody_item section {
  margin-top: 60px;
}

.bl_requirementsCardUnit {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  flex-wrap: wrap;
  margin-top: 115px;
  margin-bottom: 120px;
  gap: 30px;
}

.bl_requirementsCard {
  display: flex;
  position: relative;
  flex-direction: column;
  overflow: hidden;
  border-radius: 18px;
  background-color: #fff;
}

.bl_requirementsCard_imgWrapper {
  aspect-ratio: 585/400;
  overflow: hidden;
}
.bl_requirementsCard_imgWrapper img {
  -o-object-fit: cover;
  display: block;
  width: 100%;
  height: 100%;
     object-fit: cover;
}

.bl_requirementsCard_content {
  position: relative;
  flex: 1;
  padding: 34px 50px 140px;
}
.bl_requirementsCard_content .el_dotBlackBtn {
  position: absolute;
  bottom: 50px;
  left: 50%;
  margin: 32px auto 0;
  transform: translateX(-50%);
}

.bl_requirementsCard_heading {
  color: #eb0a1e;
  font-size: 34px;
  font-size: 2.125rem;
  line-height: 2.25;
  text-align: center;
}

.bl_requirementsCard_heading_pt02 {
  margin-bottom: 10px;
  font-size: 28px;
  font-size: 1.75rem;
  line-height: 1.6;
  text-align: left;
}

.bl_requirementsCard_body {
  font-size: 18px;
  font-size: 1.125rem;
}

.bl_detailHeading {
  margin-top: 12px;
  margin-bottom: 14px;
  font-size: 48px;
  font-size: 3rem;
  line-height: 1.4;
  text-align: center;
}

.bl_jobdateTime {
  display: block;
  width: 100%;
  margin-top: 0;
  color: #eb0a1e;
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 1.4;
  font-family: "REM", sans-serif;
  text-align: center;
}

.bl_detailBody {
  container-type: inline-size;
  margin-top: 60px;
}
.bl_detailBody table {
  display: block;
  width: 100%;
  height: auto !important;
  border: none;
}
.bl_detailBody table tbody {
  display: block;
}
.bl_detailBody table tr {
  display: flex;
  align-items: center;
  width: 100%;
  height: auto !important;
  margin-bottom: 8px;
  padding: 31px 43px 31px 44px;
  border-radius: 7px;
  background-color: #fff;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.75;
}
.bl_detailBody table tr td {
  display: block;
  height: auto !important;
  border: none;
}
.bl_detailBody table tr td:first-child {
  width: 145px !important;
  padding-right: min( 28px,2.3333333333vw);
  font-weight: bold;
}
.bl_detailBody table tr td:last-child {
  flex: 1;
  padding-left: min( 28px,2.3333333333vw);
  border-left: 1px solid #cecece;
}

.bl_btnWrapper {
  display: flex;
  justify-content: center;
  margin-top: 80px;
  margin-bottom: 150px;
}

.bl_historyContent {
  color: #fff;
}

.bl_historyHeader {
  -webkit-backdrop-filter: blur(20px);
  display: grid;
  grid-template-columns: 1fr min(266px, 8vw) 1fr;
  margin-bottom: 70px;
  gap: 7px;
          backdrop-filter: blur(20px);
  color: #fff;
  font-weight: 500;
  font-size: 24px;
  font-size: 1.5rem;
  text-align: center;
}
.bl_historyHeader > div {
  padding: 5px 0;
  border: 1px solid #fff;
}

.bl_historyContent_item {
  position: relative;
  margin-bottom: 16px;
  padding-bottom: 12px;
}
.bl_historyContent_item::after {
  display: block;
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 1px;
  height: calc(100% - 155px);
  transform: translateX(-50%);
  background-color: #fff;
  content: "";
}

.bl_historyContent_itemYear {
  margin-bottom: 75px;
  font-weight: normal;
  font-size: 120px;
  line-height: 1.2;
  font-family: "Fjalla One", sans-serif;
  text-align: center;
}

#year_1970 .bl_historyContent_itemYear,
#year_1980 .bl_historyContent_itemYear {
  margin-bottom: 96px;
}

.bl_historyContent_block_img img {
  display: block;
  width: 100%;
}

.bl_historyContent_unit {
  display: flex;
}

.bl_historyContent_item:last-child .bl_historyContent_unit:last-child {
  padding-bottom: 130px;
}

.bl_historyContent_block {
  width: 50%;
}
.bl_historyContent_block:first-child .bl_historyContent_block_body {
  padding-right: 23.2%;
}
.bl_historyContent_block:first-child .bl_historyContent_block_heading::before {
  right: 0;
  transform: translate(50%, 50%);
}
.bl_historyContent_block:nth-child(2) .bl_historyContent_block_body {
  padding-left: 23.2%;
}
.bl_historyContent_block:nth-child(2) .bl_historyContent_block_heading {
  padding-left: 23.2%;
}
.bl_historyContent_block:nth-child(2) .bl_historyContent_block_heading::before {
  left: 0;
  transform: translate(-50%, 50%);
}
.bl_historyContent_block__1960 {
  padding-top: 784px;
}
.bl_historyContent_block__2009 {
  padding-top: 240px;
}
.bl_historyContent_block__2022 {
  padding-top: 240px;
}

.bl_historyContent_block_body:not(:last-child) {
  margin-bottom: 44px;
}

.bl_historyContent_block_heading {
  position: relative;
  margin-bottom: 44px;
  border-bottom: 1px solid #fff;
  color: #eb0a1e;
  font-weight: normal;
  font-size: 48px;
  line-height: 1.6;
  font-family: "Fjalla One", sans-serif;
}
.bl_historyContent_block_heading__dummy {
  height: 1.6em;
}
.bl_historyContent_block_heading__dummy::before, .bl_historyContent_block_heading__dummy::after {
  display: none;
}
.bl_historyContent_block_heading::before {
  display: block;
  z-index: 1;
  position: absolute;
  bottom: 0;
  aspect-ratio: 1;
  width: 14px;
  border-radius: 50%;
  background-color: #fff;
  content: "";
}
.bl_historyContent_block_heading::after {
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 39.4%;
  height: 1px;
  background-color: #eb0a1e;
  content: "";
}

.bl_historyContent_block_txt {
  font-size: 18px;
  font-size: 1.125rem;
}
.bl_historyContent_block_txt:not(:last-child) {
  margin-bottom: 20px;
}
.bl_historyContent_block_txt__l {
  font-size: 24px;
  font-size: 1.5rem;
}

.bl_historyYearWrapper {
  margin-bottom: 72px;
}
.bl_historyYearWrapper__mb01 {
  margin-bottom: 0;
}

.bl_privacyHeadingLv01 {
  margin-bottom: 15px;
  font-weight: bold;
  font-size: 40px;
  font-size: 2.5rem;
  line-height: 1.4;
}

.bl_privacySectionWrapper {
  margin-top: 70px;
}

.bl_privacySection {
  margin-bottom: 60px;
  padding-left: 30px;
  counter-increment: sectionNumber;
}
.bl_privacySection ol {
  margin-top: 25px;
  padding-left: 1em;
  list-style: none;
}
.bl_privacySection ol li {
  position: relative;
  padding-left: 1.5em;
  counter-increment: sectionOlNumber;
}
.bl_privacySection ol li:not(:last-child) {
  margin-bottom: 10px;
}
.bl_privacySection ol li::before {
  position: absolute;
  top: 0;
  left: 0;
  content: counter(sectionOlNumber) ".";
  color: #e60020;
}

.bl_privacyHeadingLv02 {
  position: relative;
  margin-bottom: 5px;
  font-weight: bold;
  font-size: 26px;
  font-size: 1.625rem;
  line-height: 1.8;
}
.bl_privacyHeadingLv02::before {
  margin-right: 8px;
  content: counter(sectionNumber) ".";
  font-weight: 600;
}
.bl_privacyHeadingLv02::after {
  position: absolute;
  top: 0.55em;
  left: -30px;
  aspect-ratio: 1;
  width: 18px;
  border-radius: 50%;
  background-color: #e60020;
  content: "";
}

.bl_address {
  margin-top: -40px;
  margin-bottom: 20px;
  font-size: 18px;
  font-size: 1.125rem;
}

.bl_pageSectionContent__interview {
  position: relative;
  min-width: 540px;
  max-width: 60vw;
  margin-right: auto;
  margin-left: auto;
  padding-top: 94px;
}
.bl_pageSectionContent__interview .el_txtSizeL {
  margin-bottom: 28px;
  color: #eb0a1e;
}
.bl_pageSectionContent__interview p {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 2.5;
}
.bl_pageSectionContent__interview::after {
  display: block;
  position: absolute;
  top: 53%;
  left: 50%;
  aspect-ratio: 428/687;
  width: min( 428px,22.2916666667vw);
  margin-left: min(-45.7vw, -588px);
  transform: translateY(-50%);
  background-image: url("/assets/images/company/interview/interview_left.webp");
  background-size: cover;
  content: "";
}
.bl_pageSectionContent__interview::before {
  display: block;
  position: absolute;
  top: 51.5%;
  right: 50%;
  aspect-ratio: 451/751;
  width: min( 451px,23.4895833333vw);
  margin-right: min(-44vw, -560px);
  transform: translateY(-50%);
  background-image: url("/assets/images/company/interview/interview_right.webp");
  background-size: cover;
  content: "";
}

.bl_interviewTopWrapper {
  padding-top: 60px;
  padding-bottom: 118px;
  overflow: hidden;
}

.bl_interviewUnit__02 {
  max-width: 100%;
  margin-bottom: 150px;
  gap: min( 50px,2.6041666667vw);
}
.bl_interviewUnit__02 .bl_interviewItem {
  padding: min( 50px,2.6041666667vw) min( 50px,2.6041666667vw) min( 60px,3.125vw);
  border-radius: 20px;
  background-color: #fff;
}

.bl_interviewProf {
  display: flex;
  margin-top: -30px;
  margin-right: -80px;
  gap: min( 78px,4.0625vw);
}

.bl_interviewProf_data {
  container-type: inline-size;
  flex: 1;
}

.bl_interviewImageWrapper {
  width: min( 908px,47.2916666667vw);
}
.bl_interviewImageWrapper img {
  display: block;
  width: 100%;
  border-radius: 660px;
}

.bl_interviewProf_number {
  position: relative;
  margin-top: 70px;
  margin-bottom: 35px;
  color: #e60020;
  font-weight: bold;
  font-size: 18px;
  font-size: 1.125rem;
  font-family: "REM", sans-serif;
}
.bl_interviewProf_number::after {
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
  width: calc(100% - 8.8em);
  height: 1px;
  transform: translateY(-50%);
  background-color: #e60020;
  content: "";
}

.bl_interviewProf_list {
  display: flex;
  margin-bottom: 4px;
  gap: 20px;
  font-weight: normal;
  font-size: 20px;
  font-size: 1.25rem;
}

.bl_interviewProf_heading {
  margin-bottom: 30px;
  font-weight: 600;
  font-size: clamp(22px, 2.08vw, 40px);
}

.bl_interviewProf_name {
  padding-left: 5px;
  color: #e60020;
  font-weight: 600;
  font-size: 20px;
  font-size: 1.25rem;
}

.bl_interviewProf_index {
  display: flex;
  align-items: center;
  margin-top: 58px;
  padding: 47px 47px 42px 57px;
  border-radius: 20px;
  background-color: #fff;
}
.bl_interviewProf_index a:hover {
  color: #eb0a1e;
  opacity: 1;
}

.bl_interviewProf_index_heading {
  position: relative;
  padding-right: 47px;
  font-weight: bold;
  font-size: 18px;
  font-size: 1.125rem;
  font-family: "REM", sans-serif;
}
.bl_interviewProf_index_heading::after {
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
  width: 1px;
  height: 58px;
  transform: translateY(-50%);
  background-color: #cecece;
  content: "";
}

.bl_interviewProf_index_list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  padding-left: 59px;
  gap: 16px 40px;
}
.bl_interviewProf_index_list a {
  display: block;
  position: relative;
  padding-left: 28px;
  font-size: 18px;
  font-size: 1.125rem;
}
.bl_interviewProf_index_list a::after {
  display: block;
  position: absolute;
  top: 10px;
  left: 0;
  aspect-ratio: 1;
  width: 9px;
  transform: rotate(45deg);
  border-right: 1px solid rgba(235, 10, 30, 0.6);
  border-bottom: 1px solid rgba(235, 10, 30, 0.6);
  content: "";
}

@container (width <= 650px) {
  .bl_interviewProf_index {
    flex-direction: column;
    padding: 30px 20px;
  }
  .bl_interviewProf_index .bl_interviewProf_index_list {
    padding-left: 0;
    gap: 8px 15px;
  }
  .bl_interviewProf_index .bl_interviewProf_index_heading {
    margin-bottom: 10px;
    padding-right: 0;
    line-height: 1.5;
  }
  .bl_interviewProf_index .bl_interviewProf_index_heading::after {
    display: none;
  }
}
.bl_interviewContent {
  margin-top: 145px;
}

.bl_qaHeading {
  position: relative;
  margin-bottom: 28px;
  padding-left: 2.2em;
  color: #eb0a1e;
  font-weight: 600;
  font-size: 20px;
  font-size: 1.25rem;
}
.bl_qaHeading::before {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  content: "Q";
  font-weight: 300;
  font-size: 36px;
  font-size: 2.25rem;
  font-family: "REM", sans-serif;
}

.bl_qaLargeTxt {
  margin-bottom: 20px;
  font-weight: 600;
  font-size: 24px;
  font-size: 1.5rem;
}

.bl_qaNormalTxt {
  font-weight: normal;
  font-size: 18px;
  font-size: 1.125rem;
}
.bl_qaNormalTxt:not(:last-child) {
  margin-bottom: 30px;
}

small.bl_qaNormalTxt {
  display: block;
  margin-bottom: 0;
  padding-left: 1.4em;
  text-indent: -1.4em;
}
small.bl_qaNormalTxt:not(:last-child) {
  margin-bottom: 0px;
}

.bl_qaWideImg {
  margin-top: 64px;
}
.bl_qaWideImg img {
  display: block;
  width: 100%;
  border-radius: 10px;
}

.bl_qaSideImg {
  display: flex;
  margin-top: 120px;
  gap: min( 70px,3.6458333333vw);
}

.bl_qaSideImg_wrapper {
  width: min( 482px,25.1041666667vw);
}
.bl_qaSideImg_wrapper img {
  display: block;
  width: 100%;
  border-radius: 10px;
}

.bl_qaSideImg_body {
  flex: 1;
}

.bl_backgroundQa {
  min-height: 1239px;
  margin-top: 150px;
  padding: 360px 15px 50px;
  background-position: top right;
  background-size: cover;
}
.bl_backgroundQa__01 {
  background-image: url("/assets/images/company/interview/01/back.webp");
}
.bl_backgroundQa__02 {
  background-image: url("/assets/images/company/interview/02/back.webp");
}
.bl_backgroundQa__03 {
  background-image: url("/assets/images/company/interview/03/back.webp");
}

.bl_backgroundQa_inner {
  max-width: 1440px;
  margin: 0 auto;
  color: #fff;
}
.bl_backgroundQa_inner .bl_qaHeading {
  margin-bottom: 55px;
  color: #fff;
}
.bl_backgroundQa_inner .bl_qaHeading::before {
  font-weight: 500;
  font-size: 50px;
  font-size: 3.125rem;
}

.bl_backgroundQa_txtbox {
  max-width: 678px;
}

.bl_dayFlow {
  max-width: 1500px;
  margin: 124px auto 0;
  padding: 100px 15px 30px;
  border-radius: 30px;
  background-color: #fff;
}

.bl_dayFlowInner {
  max-width: 1200px;
  margin: 0 auto;
}

.bl_dayFlow_heading {
  margin-bottom: 70px;
  padding-bottom: 30px;
  border-bottom: solid 2px #eb0a1e;
  font-weight: bold;
  font-size: 32px;
  font-size: 2rem;
  text-align: center;
}

.bl_flowColumn_items {
  width: 360px;
}

.bl_timeSectionHeading {
  margin-bottom: 36px;
  padding: 7.5px 35px;
  border-radius: 33px;
  background-color: #ececec;
  font-weight: bold;
  font-size: 25px;
  font-size: 1.5625rem;
}
.bl_timeSectionHeading span {
  font-weight: 600;
  font-size: 20px;
  font-size: 1.25rem;
}

.bl_timeSection {
  position: relative;
  min-height: 170px;
  margin-bottom: 12px;
  padding-left: 102px;
}
.bl_timeSection:last-child::after {
  display: none;
}
.bl_timeSection__02 {
  min-height: 162px;
}
.bl_timeSection__03 {
  min-height: 210px;
}
.bl_timeSection__04 {
  min-height: 164px;
}
.bl_timeSection__05 {
  min-height: 88px;
}
.bl_timeSection__07 {
  min-height: 385px;
}
.bl_timeSection__11 {
  min-height: 410px;
}
.bl_timeSection__12 {
  min-height: 168px;
}
.bl_timeSection__13 {
  min-height: 168px;
}
.bl_timeSection__14 {
  min-height: 138px;
}
.bl_timeSection__15 {
  min-height: 90px;
}
.bl_timeSection__16 {
  min-height: 315px;
}
.bl_timeSection__21 {
  min-height: 405px;
}
.bl_timeSection__22 {
  min-height: 232px;
}
.bl_timeSection__23 {
  min-height: 88px;
}
.bl_timeSection__24 {
  min-height: 228px;
}
.bl_timeSection__25 {
  min-height: 648px;
}
.bl_timeSection__26 {
  min-height: 328px;
}
.bl_timeSection::after {
  position: absolute;
  bottom: 0;
  left: 32px;
  width: 1px;
  height: calc(100% - 40px);
  background-color: #e60020;
  content: "";
}

.bl_timeSection_time {
  position: absolute;
  top: 0;
  left: 8px;
  color: #e60020;
  font-weight: 500;
  font-size: 25px;
  font-size: 1.5625rem;
  line-height: 1;
  font-family: "REM", sans-serif;
}

.bl_timeSection_txtBox_heading {
  margin-bottom: 2px;
  font-weight: bold;
  font-size: 20px;
  font-size: 1.25rem;
}

.bl_timeSection_txtBox_body {
  font-size: 18px;
  font-size: 1.125rem;
}
.bl_timeSection_txtBox_body:not(:last-child) {
  margin-bottom: 55px;
}

.bl_timeSection_txtBox_small {
  display: block;
  position: relative;
  margin-top: 40px;
  margin-bottom: 55px;
  padding-left: 1.3em;
  font-size: 20px;
  font-size: 1.25rem;
}
.bl_timeSection_txtBox_small::before {
  position: absolute;
  top: 0px;
  left: 0;
  content: "※";
}

.bl_flowColumn {
  display: flex;
  justify-content: space-between;
}

.bl_flowColumn_imgs {
  margin-top: 186px;
}
.bl_flowColumn_imgs__02 {
  margin-top: 285px;
}
.bl_flowColumn_imgs__03 {
  margin-top: 218px;
}
.bl_flowColumn_imgs img {
  display: block;
  width: 20vw;
  max-width: 300px;
  border-radius: 5px;
}
.bl_flowColumn_imgs figure {
  display: block;
  margin-bottom: 60px;
}

.bl_otherLinkSection {
  margin-top: 130px;
  padding: 142px 15px 128px;
  padding-top: 142px;
  background-color: #eb0a1e;
  color: #fff;
}
.bl_otherLinkSection .el_bottomHeading::after {
  background-color: #fff;
}
.bl_otherLinkSection .bl_interviewItem:hover .bl_interviewItem_heading {
  color: #fff;
}
.bl_otherLinkSection .bl_interviewItem_list {
  color: #fff;
}
.bl_otherLinkSection .bl_interviewItem_number {
  color: #fff;
}
.bl_otherLinkSection .bl_interviewItem_number::before {
  background-color: #fff;
}
.bl_otherLinkSection .bl_interviewItem_number span {
  background-color: #eb0a1e;
}

.bl_otherLinkSection__inner {
  max-width: 1302px;
  margin: 0 auto;
}

.el_heading01 {
  margin-bottom: 40px;
  color: #e60020;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.2;
}
.el_heading01::before {
  display: block;
  margin-bottom: 10px;
  content: attr(data-en);
  color: #000;
  font-weight: 400;
  font-size: 60px;
  font-size: 3.75rem;
  font-family: "Fjalla One", sans-serif;
}
.el_heading01 span {
  display: block;
  position: relative;
  padding-left: 20px;
}
.el_heading01 span::before {
  display: block;
  position: absolute;
  top: 5px;
  left: 0;
  aspect-ratio: 1;
  width: 9px;
  border-radius: 50%;
  background-color: currentcolor;
  content: "";
}

.el_heading02 {
  margin-bottom: 10px;
  color: #eb0a1e;
  font-weight: bold;
  font-size: 28px;
  font-size: 1.75rem;
  line-height: 1.92;
}

.el_squareHeading {
  width: -moz-fit-content;
  width: fit-content;
  margin-bottom: 12px;
  padding: 5.5px 33px;
  background-color: #fff;
  color: #000;
  font-size: 16px;
  font-size: 1rem;
}

.el_sideNumberHeading {
  position: relative;
  color: #eb0a1e;
  font-weight: normal;
  font-size: 130px;
  font-size: 8.125rem;
  line-height: 1.15;
  font-family: "Fjalla One", sans-serif;
}
.el_sideNumberHeading .el_sideNumberHeading_number {
  position: absolute;
  top: -20px;
  left: -44px;
  color: #000;
  font-weight: normal;
  font-size: 24px;
  font-size: 1.5rem;
}
.el_sideNumberHeading .el_sideNumberHeading_number::after {
  display: block;
  position: absolute;
  right: -28px;
  bottom: -4px;
  width: 30px;
  height: 1px;
  transform: rotate(-45deg);
  background-color: currentcolor;
  content: "";
}

.el_bottomHeading {
  position: relative;
  margin-bottom: 62px;
  font-size: 35px;
  font-size: 2.1875rem;
  text-align: center;
}
.el_bottomHeading::after {
  display: block;
  position: absolute;
  bottom: 2px;
  left: 50%;
  width: 24px;
  height: 1px;
  transform: translateX(-50%);
  background-color: #eb0a1e;
  content: "";
}

.el_enMainHeading {
  color: #eb0a1e;
  font-weight: bold;
  font-size: 16px;
  font-size: 1rem;
}

.el_enMainSubHeading {
  color: #eb0a1e;
  font-weight: 700;
  font-size: 100px;
  font-size: 6.25rem;
  line-height: 1.2;
  font-family: "REM", sans-serif;
}

.el_bgColorHeading {
  margin-bottom: 58px;
  padding: 7.5px 23px;
  background-color: #4b4b4b;
  color: #fff;
  font-weight: bold;
  font-size: 30px;
  font-size: 1.875rem;
}
.el_bgColorHeading span {
  font-size: 0.8em;
}
.el_bgColorHeading__round {
  padding: 7.5px 35px;
  border-radius: 38px;
}
.el_bgColorHeading:has(+ .bl_mediaUnit_explanation) {
  margin-bottom: 30px;
}

.el_baseBtn {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 127px;
  padding: 1.5px 20px;
  border-radius: 30px;
  background-color: #000;
  color: #fff;
  font-size: 18px;
  font-size: 1.125rem;
  text-align: center;
}
.el_baseBtn--white {
  background-color: #fff;
  color: #000;
}
.el_baseBtn--white:hover {
  color: #fff;
}
.el_baseBtn__l {
  min-width: 226px;
  padding: 9px 20px;
  border-radius: 35px;
  font-size: 26px;
  font-size: 1.625rem;
}
.el_baseBtn__back {
  width: 218px;
  margin: 105px auto 135px;
  padding: 4.5px 20px;
  font-size: 16px;
  font-size: 1rem;
}
.el_baseBtn__factory {
  display: block;
  width: 390px;
  margin: 35px auto 0;
  padding: 15px 20px;
  font-size: 16px;
  font-size: 1rem;
}
.el_baseBtn__factory svg {
  margin-right: 9px;
}
.el_baseBtn:hover {
  background-color: #eb0a1e;
  opacity: 1;
}

a.el_dotBlackBtn:hover {
  opacity: 1;
}
a.el_dotBlackBtn:hover::after {
  transform: scale(70);
  opacity: 0.05;
}

.el_dotBlackBtn {
  display: block;
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 280px;
  padding: 11.5px 83px 11.5px 35px;
  overflow: hidden;
  border-radius: 58px;
  background-color: #000;
  color: #fff;
  font-size: 18px;
  font-size: 1.125rem;
}
.el_dotBlackBtn::after {
  position: absolute;
  top: 50%;
  right: 25px;
  aspect-ratio: 1;
  width: 9px;
  transform: translate(0%, -50%);
  border-radius: 50%;
  background-color: #fff;
  content: "";
  transition: all 0.3s;
}
.el_dotBlackBtn__l {
  min-width: 395px;
  padding: 19.5px 83px 19.5px 35px;
  font-size: 22px;
  font-size: 1.375rem;
}
.el_dotBlackBtn__l::after {
  width: 12px;
}

.el_dotRedBtn {
  z-index: 21;
  position: fixed;
  right: 25px;
  bottom: 50px;
  padding: 22px 77px 22px 40px;
  overflow: hidden;
  border-radius: 58px;
  background-color: #e60020;
  color: #fff;
  font-size: 26px;
  font-size: 1.625rem;
}
.el_dotRedBtn::after {
  position: absolute;
  top: 50%;
  right: 30px;
  aspect-ratio: 1;
  width: 16px;
  transform: translate(0%, -50%);
  border-radius: 50%;
  background-color: #fff;
  content: "";
  transition: all 0.3s;
}
.el_dotRedBtn:hover {
  opacity: 1;
}
.el_dotRedBtn:hover::after {
  transform: scale(50);
  opacity: 0.05;
}

.el_txtSizeL {
  font-weight: bold;
  font-size: 40px;
  font-size: 2.5rem;
  line-height: 1.67;
}

.el_txt01 {
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 2.38;
}
.el_headingLv3 {
  font-weight: bold;
  font-size: 30px;
  font-size: 1.875rem;
  line-height: 1.5;
}

.el_simpleHeading {
  margin-bottom: 105px;
  font-weight: 500;
  font-size: 35px;
  font-size: 2.1875rem;
  line-height: 1.5;
  font-family: "REM", sans-serif;
  text-align: center;
}
.el_simpleHeading__parts {
  margin-bottom: 52px;
}

.el_boldHeading {
  margin-bottom: 29px;
  font-weight: bold;
  font-size: 26px;
  font-size: 1.625rem;
}

.el_boderHeading {
  position: relative;
  margin-bottom: 70px;
  padding-bottom: 12px;
  font-weight: bold;
  font-size: 32px;
  font-size: 2rem;
  line-height: 1.5;
}
.el_boderHeading::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 50px;
  height: 1px;
  background-color: #eb0a1e;
  content: "";
}
.el_boderHeading::before {
  display: block;
  margin-bottom: 6px;
  content: attr(data-en);
  color: #eb0a1e;
  font-size: 16px;
  font-size: 1rem;
  font-family: "REM", sans-serif;
}
@media only screen and (max-width: 1860px){
  .bl_fullMedia_imgWrapper {
    width: 37%;
  }
}
@media only screen and (max-width: 1800px){
  .bl_interviewProf {
    margin-top: 0;
    margin-right: 0px;
  }
}
@media only screen and (max-width: 1790px){
  .bl_fullMedia__reverse .bl_fullMedia_data {
    padding: 140px 40px;
  }
  .bl_fullMedia_data {
    padding: 140px 40px;
  }
}
@media only screen and (max-width: 1670px){
  .ly-header {
    padding: 20px 30px;
  }
  .bl_globalNav {
    gap: 15px;
  }
  .bl_headerBtn {
    width: 138px;
  }
  .bl_siteLogo img {
    width: 250px;
  }
}
@media only screen and (max-width: 1640px){
  .bl_flowWrapper {
    max-width: 1620px;
    margin: 0 auto;
    margin-left: 0;
    padding-left: 20px;
  }
}
@media only screen and (max-width: 1600px){
  .bl_worksBody_fornt {
    background-size: calc(100% - 1200px) auto;
  }
}
@media only screen and (max-width: 1570px){
  .bl_flowImgUnit {
    right: 10px;
    transform: translateX(0);
  }
}
@media only screen and (max-width: 1550px){
  .bl_recruitBox01 {
    width: 100%;
  }
}
@media only screen and (max-width: 1500px){
  .bl_globalSubNav_list {
    max-height: 100vh;
    gap: 16px 0;
  }
}
@media only screen and (max-width: 1460px){
  .bl_layoutOurVision {
    margin-top: 30px;
  }
}
@media only screen and (max-width: 1400px){
  .bl_topSwiperWrapper_pt02 .bl_topSwiper_operation,
  .bl_topSwiperWrapper_pt02 .bl_aboutSwiper_operation {
    margin-right: 0;
  }
}
@media only screen and (max-width: 1350px){
  .ly-header.is-scroll .bl_globalNavWrapper {
    gap: 5px;
  }
  .bl_globalNavWrapper {
    flex-direction: column-reverse;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 10px 20px;
  }
  .bl_globalNavWrapper {
    gap: 10px 20px;
  }
  .bl_headerBtn {
    width: 118px;
    padding: 2px 0;
    font-size: 14px;
    font-size: 0.875rem;
  }
  .bl_worksBody_fornt {
    background-image: none;
  }
}
@media only screen and (max-width: 1320px){
  .bl_recruitNews {
    margin-top: -15px;
  }
}
@media only screen and (max-width: 1180px){
  .bl_ourStoryInner {
    padding-right: 30px;
  }
}
@media only screen and (max-width: 1050px){
  .bl_flowImgItem {
    width: 151px;
  }
  .bl_flowColumn_items {
    width: 48%;
  }
  .bl_timeSectionHeading {
    font-size: 18px;
    font-size: 1.125rem;
  }
  .bl_timeSectionHeading span {
    font-size: 14px;
    font-size: 0.875rem;
  }
  .bl_flowColumn_imgs {
    display: none;
  }
}
@media only screen and (max-width: 1040px){
  html {
    padding-top: 50px;
  }
  .ly-header.is-scroll {
    min-height: 50px;
  }
  .ly-header {
    min-height: 50px;
    padding: 12px 23px;
  }
  .is-menu {
    overflow: hidden;
  }
  a.bl_globalNav_spDot {
    pointer-events: none;
  }
  .bl_globalNav {
    flex-direction: column;
    gap: 0;
    font-size: 22px;
    font-size: 1.375rem;
  }
  .bl_globalNav .bl_globalNav_spDot {
    position: relative;
    font-size: 12px;
    font-size: 0.75rem;
    vertical-align: middle;
  }
  .bl_globalNav .bl_globalNav_spDot::before {
    display: inline-block;
    aspect-ratio: 1;
    width: 5px;
    margin-right: 4px;
    margin-left: 8px;
    border-radius: 50%;
    background-color: currentcolor;
    content: "";
  }
  .bl_globalNav_spHeading {
    display: inline-block;
  }
  .bl_globalNavWrapper {
    display: block;
    z-index: 24;
    position: fixed;
    top: 58px;
    left: -110%;
    width: 92vw;
    max-height: calc(100dvh - 70px);
    padding: 34px 25px 21px;
    overflow: auto;
    border-radius: 5px;
    background-color: #030303;
    color: #fff;
    transition: all 0.3s;
  }
  .is-menu .bl_globalNavWrapper {
    left: 50%;
    transform: translateX(-50%);
  }
  .bl_btns {
    flex-direction: column;
    margin-top: 25px;
  }
  .bl_headerBtn {
    width: 100%;
    padding: 9px 0;
  }
  .bl_headerBtn__black:hover {
    color: #fff;
  }
  .bl_headerBtn__black {
    background-color: #fff;
    color: #030303;
  }
  .bl_headerBtn__red:hover {
    background-color: #880013;
  }
  .bl_navItem_plus::after, .bl_navItem_plus::before {
    width: 125%;
    background-color: #fff;
  }
  .bl_navItem_plus {
    position: absolute;
    top: 26px;
    right: 15px;
  }
  .bl_siteLogo img {
    width: 232px;
  }
  .bl_globalSubNav {
    display: none;
    position: static;
    width: auto;
    padding: 0 0 20px;
    transform: translate(0%, 0%);
  }
  .bl_globalSubNav + .is-open .bl_globalSubNav {
    display: block !important;
  }
  .bl_globalSubNav .bl_globalSubNav_list_spItem {
    margin-bottom: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid #5a5a5a;
  }
  .is-open + .bl_globalSubNav {
    display: block !important;
  }
  .bl_globalSubNav_head {
    display: none;
  }
  .bl_globalSubNav_list a {
    opacity: 1;
  }
  .bl_globalSubNav_list {
    max-height: initial;
    gap: 0;
  }
  .bl_globalSubNav_list li {
    width: 100%;
    font-size: 15px;
    font-size: 0.9375rem;
  }
  .bl_globalSubNav_list li a {
    padding-left: 24px;
    border-bottom: none;
  }
  .bl_globalSubNav_list li a::after {
    display: none;
  }
  .blog-97817 .bl_globalNavItem:nth-child(1) > a::before,
  .blog-97817 .bl_globalNavItem:nth-child(1) .bl_subNavHeading::before {
    display: none;
  }
  .blog-97863 .bl_globalNavItem:nth-child(2) > a::before,
  .blog-97863 .bl_globalNavItem:nth-child(2) .bl_subNavHeading::before {
    display: none;
  }
  .blog-98229 .bl_globalNavItem:nth-child(3) > a::before,
  .blog-98229 .bl_globalNavItem:nth-child(3) .bl_subNavHeading::before {
    display: none;
  }
  .blog-98183 .bl_globalNavItem:nth-child(4) > a::before,
  .blog-98183 .bl_globalNavItem:nth-child(4) .bl_subNavHeading::before {
    display: none;
  }
  .blog-97865 .bl_globalNavItem:nth-child(5) > a::before,
  .blog-97865 .bl_globalNavItem:nth-child(5) .bl_subNavHeading::before {
    display: none;
  }
  .blog-98127 .bl_globalNavItem:nth-child(6) > a::before,
  .blog-98127 .bl_globalNavItem:nth-child(6) .bl_subNavHeading::before {
    display: none;
  }
  .blog-98063 .bl_globalNavItem:nth-child(7) > a::before,
  .blog-98063 .bl_globalNavItem:nth-child(7) .bl_subNavHeading::before {
    display: none;
  }
  .bl_globalNavItem > a:hover::before,
  .bl_globalNavItem .bl_subNavHeading:hover::before {
    display: none;
  }
  .bl_globalNavItem:hover .bl_globalSubNav {
    display: none;
  }
  .bl_globalNavItem:hover .bl_navItem_plus::before {
    transform: translate(-50%, -50%) rotate(90deg);
  }
  .bl_globalNavItem:hover .bl_subNavHeading::after {
    display: none;
  }
  .bl_globalNavItem {
    position: relative;
    border-bottom: 1px solid #5a5a5a;
  }
  .bl_globalNavItem .bl_subNavHeading {
    padding: 7.5px 0;
  }
  .bl_globalNavItem .is-open .bl_navItem_plus::before {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  .bl_globalNavItem > a,
  .bl_globalNavItem > span {
    display: block;
    padding: 7.5px 0;
  }
  .bl_globalNavItem > a::after, .bl_globalNavItem > a:hover::after {
    position: absolute;
    top: 28px;
    right: 9px;
    left: auto;
    width: 14px;
    height: 4px;
    transform: translate(0, 0);
    background-image: url("/assets/images/icon/right_arrow.svg");
    background-color: transparent;
    content: "";
    filter: invert(100%) sepia(3%) saturate(7426%) hue-rotate(173deg) brightness(118%) contrast(95%);
  }
  .bl_menuSwitch {
    display: block;
    cursor: pointer;
  }
  .bl_grayLayer {
    display: block;
  }
  .is-menu .bl_grayLayer {
    left: 0%;
  }
}
@media only screen and (max-width: 1000px){
  .bl_topSwiperWrapper_pt02 .bl_topSwiper_operation,
  .bl_topSwiperWrapper_pt02 .bl_aboutSwiper_operation {
    justify-content: center;
    margin-top: 68px;
  }
  .bl_sideMenuParent {
    --sidePadding: 300px;
  }
  .bl_commodityUnit {
    grid-template-columns: repeat(1, 1fr);
    gap: 30px;
  }
  .bl_messageTop_body {
    background-position: right bottom;
  }
  .bl_visionTop_en {
    font-size: 80px;
    font-size: 5rem;
  }
  .bl_philosophyList dt {
    font-size: 20px;
    font-size: 1.25rem;
  }
  .bl_philosophyList dd {
    padding-left: 20px;
    font-size: 16px;
    font-size: 1rem;
  }
  .bl_interviewProf {
    flex-direction: column-reverse;
  }
  .bl_interviewImageWrapper {
    width: 100%;
  }
  .bl_interviewProf_number {
    margin-top: 0;
  }
}
@media only screen and (max-width: 950px){
  .bl_ctaSection {
    flex-direction: column;
    gap: 15px;
    background-color: transparent;
  }
  .bl_ctaSection > div {
    padding: 12px 15px;
    border-radius: 18px;
    background-color: #f7f7f7;
  }
  .bl_ctaSection > div:first-child {
    border-right: none;
  }
  .bl_ctaSection > div .el_heading01 {
    margin-bottom: 18px;
  }
  .bl_ctaSection > div .el_heading01::before {
    margin-bottom: 8px;
  }
}
@media only screen and (max-width: 850px){
  .bl_footerNav {
    flex: initial;
    width: 100%;
  }
  .bl_footerNavList {
    flex-wrap: wrap;
    width: 100%;
  }
}
@media only screen and (max-width: 768px){
  .h-hide-pc {
    display: block !important;
  }
  .h-hide-sp {
    display: none !important;
  }
  a[href*="tel:"] {
    cursor: pointer;
    pointer-events: auto;
  }
  .ly-footer {
    padding: 40px 30px;
  }
  body:has(.el_dotRedBtn) .ly-footer {
    padding-bottom: 100px;
  }
  .bl_pageWrapper {
    padding-bottom: 60px;
  }
  body:has(.bl_pageWrapperHistory) {
    background-image: url("/assets/images/company/history/back_sp.webp");
  }
  .bl_pageContent01 {
    margin-top: 50px;
  }
  .bl_footerInner {
    display: block;
  }
  .bl_footerLogo {
    width: 312px;
    max-width: 100%;
    margin: 0 auto 30px;
  }
  .bl_footerData {
    margin-bottom: 60px;
  }
  .bl_footerAddress {
    line-height: 1.5;
  }
  .bl_footerNavList {
    flex-direction: column;
  }
  .bl_footerNavItem dd {
    padding-left: 20px;
  }
  .bl_footerBottom {
    flex-direction: column-reverse;
    margin-top: 30px;
    gap: 50px;
    text-align: center;
  }
  .bl_footerCopyright {
    font-size: 11px;
    font-size: 0.6875rem;
  }
  .bl_footerNav02 {
    flex-direction: column;
    gap: 5px 0;
  }
  .bl_topSwiperWrapper {
    margin-top: 5px;
    margin-right: 30px;
    margin-left: 15px;
  }
  .bl_scrollDown {
    right: -24px;
    bottom: 100px;
    font-size: 10px;
    font-size: 0.625rem;
  }
  .bl_scrollDown span {
    height: 40px;
  }
  .bl_topSwiperWrapper_pt02 .bl_topSwiper .swiper-wrapper {
    height: calc(100% - 20px);
    overflow: hidden;
  }
  .bl_topSwiperWrapper_pt02 .bl_topSwiper .swiper-slide {
    border-radius: 6px;
  }
  .bl_topSwiperWrapper_pt02 .bl_topSwiper.swiper {
    overflow: visible;
  }
  .bl_topAppealTxt img {
    width: calc(100% + 45px);
    max-width: 500px;
    margin-left: -15px;
    padding-bottom: 20px;
  }
  .bl_topSwiperWrapper_pt02 .bl_topAppealTxt {
    bottom: 30px;
    left: 45px;
  }
  .bl_topSwiperWrapper_pt02 .bl_topAppealTxt img {
    width: calc(100% + 45px);
    width: 100%;
    max-width: 500px;
    margin-left: -15px;
    padding-bottom: 20px;
  }
  .bl_topSwiperWrapper_pt02 .bl_topSwiper_operation,
  .bl_topSwiperWrapper_pt02 .bl_aboutSwiper_operation {
    margin-top: 18px;
  }
  .bl_topSwiperWrapper_pt02 .bl_topSwiper_operation .swiper-pagination-bullet,
  .bl_topSwiperWrapper_pt02 .bl_aboutSwiper_operation .swiper-pagination-bullet {
    font-size: 12px;
    font-size: 0.75rem;
  }
  .bl_pageHeader {
    margin-bottom: 25px;
  }
  .bl_layoutNews_head .el_heading01 {
    margin-bottom: 25px;
  }
  .bl_layoutNews {
    position: relative;
    margin-bottom: 50px;
    padding-top: 35px;
    padding-bottom: 100px;
  }
  .bl_layoutNews_inner {
    display: block;
  }
  .bl_layoutNews_inner .el_baseBtn {
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
  }
  .bl_newsListUnit__02 .bl_newsListItem_title {
    padding-right: 35px;
  }
  .bl_newsListItem {
    flex-wrap: wrap;
    padding: 0 12px 20px;
    gap: 10px 19px;
  }
  .bl_newsListItem_title {
    width: 100%;
  }
  .bl_layoutValues {
    height: 719px;
    padding-top: 50px;
    background-image: url("/assets/images/top/values_sp_back.webp");
  }
  .bl_layoutValues .el_heading01 {
    margin-bottom: 38px;
  }
  .bl_layoutValues_inner {
    display: block;
  }
  .bl_layoutValues_body {
    align-items: center;
    gap: 35px 0;
  }
  .bl_layoutProducts {
    margin-top: 0;
    margin-bottom: 65px;
  }
  .bl_fz20Heading {
    padding: 0;
    font-size: 18px;
    font-size: 1.125rem;
    text-align: center;
  }
  .bl_productsUnit .bl_circleArrow {
    top: 20px;
    right: 3.5vw;
    bottom: auto;
  }
  .bl_productsUnit {
    flex-wrap: wrap;
    margin-top: 20px;
    margin-bottom: 45px;
  }
  .bl_productsUnit__01 .bl_productsItem:first-child {
    width: 100%;
    padding-top: 20px;
    border-right: none;
    border-bottom: 1px solid #cecece;
  }
  .bl_productsUnit__01 .bl_productsItem:first-child img {
    width: 80%;
  }
  .bl_productsUnit__02 {
    border-top: none;
  }
  .bl_productsUnit__02 .bl_productsItem {
    border-top: 1px solid #cecece;
  }
  .bl_productsUnit__02 .bl_productsItem:nth-child(even) {
    border-right: none;
  }
  .bl_productsItem {
    flex: initial;
    width: 50%;
    padding: 45px 2vw 20px;
  }
  .bl_productsItem_img {
    margin-bottom: 10px;
  }
  .bl_circleArrow {
    width: 35px;
  }
  .bl_circleArrow::after {
    width: 10px;
    height: 3px;
  }
  .bl_sideImgLinkList_imgWrapper {
    width: 100%;
    margin-top: 40px;
    margin-bottom: 32px;
  }
  .bl_sideImgLinkList {
    display: block;
    margin-bottom: 65px;
  }
  .bl_sideImgLinkList_bodyList {
    margin-bottom: 26px;
    font-size: 18px;
    font-size: 1.125rem;
  }
  .bl_sideImgLinkList_bodyList li {
    margin-bottom: 12px;
  }
  .bl_sideImgLinkList_bodyList a {
    padding: 8px 85px 18px 25px;
  }
  .bl_sideImgLinkList_bodyList a .bl_circleArrow {
    top: 5px;
    right: 25px;
  }
  .bl_layoutSustainability {
    height: 692px;
    margin-bottom: 84px;
    padding: 52px 15px 183px;
  }
  .bl_layoutSustainability .el_heading01 {
    margin-bottom: 45px;
  }
  .bl_layoutSustainability .el_baseBtn {
    margin-right: auto;
    margin-left: auto;
  }
  .bl_layoutSustainability::after {
    bottom: -18px;
    left: 50%;
    width: 325px;
    transform: translateX(-50%);
  }
  .bl_layoutRecruit {
    padding-top: 39px;
    padding-bottom: 48px;
  }
  .bl_layoutRecruit .el_baseBtn {
    margin: 35px auto 0;
  }
  .bl_recruitBox01 {
    flex-direction: column-reverse;
    margin-bottom: 45px;
  }
  .bl_recruitBox01_imgWrapper {
    width: 83.5%;
    margin-left: auto;
  }
  .bl_recruitBox01_body {
    z-index: 1;
    position: relative;
    margin-top: -65px;
  }
  .bl_recruitBox_txt01 {
    margin-top: 40px;
    margin-bottom: 30px;
    padding-right: 15px;
    font-size: 22px;
    font-size: 1.375rem;
    line-height: 1.63;
  }
  .bl_recruitBox_txt02 {
    margin-bottom: 0;
    padding-right: 15px;
    font-size: 16px;
    font-size: 1rem;
    line-height: 2;
  }
  .bl_wideLinkList {
    margin-bottom: 35px;
  }
  .bl_wideLinkList {
    grid-template-columns: repeat(1, 1fr);
  }
  .bl_wideLinkList li svg {
    height: auto;
  }
  .bl_wideLinkList li:nth-child(1) svg {
    width: 31px;
  }
  .bl_wideLinkList li:nth-child(2) svg {
    width: 41px;
  }
  .bl_wideLinkList li:nth-child(3) svg {
    width: 32px;
  }
  .bl_wideLinkList li:nth-child(4) svg {
    width: 34px;
  }
  .bl_wideLinkList li:nth-child(5) svg {
    width: 34px;
  }
  .bl_wideLinkList li:nth-child(6) svg {
    width: 23px;
  }
  .bl_wideLinkList li:not(:nth-child(3n)) {
    border-right: none;
  }
  .bl_wideLinkList_item {
    height: 85px;
    padding: 5px 0;
  }
  .bl_wideLinkList_item_body {
    gap: 20px;
    font-size: 18px;
    font-size: 1.125rem;
  }
  .bl_wideLinkList_item_body > div {
    width: 41px;
    text-align: center;
  }
  .bl_ctaSection {
    margin: 30px auto;
  }
  .bl_ctaSection_icon {
    top: auto;
    bottom: 0;
    width: 71px;
    transform: translateY(0%);
  }
  .bl_layoutSustainability_inner {
    max-width: 100%;
  }
  .bl_pageNavi {
    margin-top: 30px;
    font-size: 14px;
    font-size: 0.875rem;
  }
  .bl_LowerPageHeader .bl_max01 {
    height: 140px;
  }
  .bl_pageHeaderTitle {
    font-size: 30px;
    font-size: 1.875rem;
  }
  .bl_pageHeaderTitle::before {
    font-size: 16px;
    font-size: 1rem;
  }
  .bl_breadcrumb {
    margin-bottom: 20px;
  }
  .bl_breadcrumb_list {
    font-size: 12px;
    font-size: 0.75rem;
  }
  .bl_breadcrumb_list svg {
    margin-right: 15px;
    vertical-align: middle;
  }
  .bl_catList {
    justify-content: center;
  }
  .bl_catBox {
    flex-direction: column;
    margin-bottom: 45px;
    gap: 20px;
  }
  .bl_detailData {
    margin-top: 50px;
  }
  .bl_detailData .bl_categorys {
    gap: 5px 10px;
  }
  .bl_blogHeading {
    margin-bottom: 25px;
    padding-bottom: 15px;
    font-size: 20px;
    font-size: 1.25rem;
  }
  .bl_blogEyeCatch {
    margin-bottom: 30px;
  }
  .bl_blogBody {
    font-size: 14px;
    font-size: 0.875rem;
  }
  .bl_blogBody ul,
  .bl_blogBody ol,
  .bl_blogBody table {
    margin-bottom: 24px;
  }
  .bl_blogBody h2 {
    margin-bottom: 25px;
    font-size: 20px;
    font-size: 1.25rem;
  }
  .bl_blogBody h3 {
    margin-bottom: 22px;
    font-size: 20px;
    font-size: 1.25rem;
  }
  .bl_blogBody h4 {
    margin-bottom: 26px;
    padding-left: 26px;
    font-size: 18px;
    font-size: 1.125rem;
  }
  .bl_blogBody h4::before {
    width: 16px;
  }
  .bl_blogBody p {
    margin-bottom: 22px;
  }
  .bl_blogBody img {
    margin-bottom: 25px;
  }
  .bl_blogBody table tbody th {
    padding: 8px 20px;
  }
  .bl_blogBody table tbody td {
    padding: 8px 20px;
  }
  .bl_aboutKv .bl_aboutSwiper_operation {
    margin-top: -45px;
  }
  .bl_aboutKv .bl_aboutSwiper_operation .swiper-pagination {
    gap: 5px;
  }
  .bl_aboutKv .bl_aboutSwiper_operation .swiper-button-prev {
    margin-left: 0;
  }
  .bl_aboutKv {
    padding-bottom: 40px;
  }
  .bl_aboutKv_txtbox {
    position: static;
  }
  .bl_aboutKv_txt01 {
    margin-bottom: 8px;
    padding-top: 0;
    font-size: 32px;
    font-size: 2rem;
  }
  .bl_aboutKv_txt02 {
    margin-bottom: 20px;
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 1.67;
  }
  .bl_aboutKvSlideWrapper {
    width: 100%;
  }
  .bl_flowTxt01 {
    height: 88px;
  }
  .bl_flowTxt02 {
    height: 89px;
  }
  .bl_flowTxt03 {
    height: 65px;
    margin-top: 30px;
  }
  .bl_ourStoryInner {
    padding: 40px 15px 30px;
  }
  .bl_ourStoryBody {
    display: block;
  }
  .bl_textContent {
    font-size: 16px;
    font-size: 1rem;
  }
  .bl_textContent p:not(:last-child) {
    margin-bottom: 1em;
  }
  .bl_boldHeading {
    margin-bottom: 5px;
    font-size: 20px;
    font-size: 1.25rem;
  }
  .bl_imgDivision {
    margin-top: -14px;
  }
  .bl_layoutRrame {
    padding: 0 0 48px;
  }
  .bl_contentBody {
    padding-top: 40px;
  }
  .bl_contentBody .bl_boldHeading {
    z-index: 1;
    position: relative;
    margin-bottom: 10px;
  }
  .bl_contentBody .el_sideNumberHeading {
    margin-bottom: 30px;
    font-size: 60px;
    font-size: 3.75rem;
  }
  .bl_contentBody .el_sideNumberHeading .el_sideNumberHeading_number {
    font-size: 20px;
    font-size: 1.25rem;
  }
  .bl_layoutRrame_img {
    top: 50px;
  }
  .bl_layoutCommunity {
    padding: 100px 0 95px;
  }
  .bl_layoutCommunity .el_sideNumberHeading {
    margin-bottom: 30px;
    font-size: 60px;
    font-size: 3.75rem;
  }
  .bl_layoutCommunity .el_sideNumberHeading .el_sideNumberHeading_number {
    top: -30px;
    left: 0;
    font-size: 20px;
    font-size: 1.25rem;
  }
  .bl_layoutCommunity .bl_boldHeading {
    margin-bottom: 16px;
  }
  .bl_layoutCommunity .bl_textContent p {
    text-align: left;
  }
  .bl_layoutCommunity .bl_textContent p br {
    display: none;
  }
  .bl_layoutCommunity .el_baseBtn {
    margin: 30px auto 0;
  }
  .bl_layoutFuture {
    padding-top: 40px;
    padding-right: 0;
    padding-bottom: 400px;
    padding-left: 0;
    background-position: right 10px bottom -22px;
    background-size: 500px auto;
  }
  .bl_layoutFuture .el_sideNumberHeading {
    font-size: 45px;
    font-size: 2.8125rem;
  }
  .bl_layoutFuture .bl_contentBody {
    padding: 0 15px;
  }
  .bl_rotateImg {
    top: 0px;
    bottom: auto;
  }
  .bl_rotateImg {
    width: 100%;
    max-width: 480px;
  }
  .bl_relatedLinks {
    padding-top: 35px;
    border-radius: 35px 35px 0 0;
  }
  .bl_relatedLinks__02 {
    margin-top: 40px;
    padding-bottom: 60px;
  }
  .bl_relatedLinks__gray {
    padding-bottom: 60px;
  }
  .bl_cardUnit {
    grid-template-columns: repeat(1, 1fr);
  }
  .bl_cardItem {
    min-height: 0;
  }
  .bl_cardItem .bl_circleArrow {
    bottom: 20px;
    left: 20px;
  }
  .bl_cardItem_heading {
    margin-top: 5px;
    margin-left: 0;
    font-size: 18px;
    font-size: 1.125rem;
  }
  .bl_cardItem_imgWrapper {
    width: 150px;
  }
  .bl_groupTopHeader_inner {
    height: 240px;
  }
  .bl_groupTopHeaderTitle {
    font-size: 16px;
    font-size: 1rem;
  }
  .bl_groupTopHeaderTitle::before {
    font-size: 40px;
    font-size: 2.5rem;
  }
  .bl_card02tUnit {
    grid-template-columns: repeat(1, 1fr);
    margin-top: 50px;
    gap: 30px;
  }
  .bl_card02tUnit__sustainability .bl_card02:last-child {
    grid-column: span 1;
  }
  .bl_card02_bottom {
    gap: 18px;
    font-size: 18px;
    font-size: 1.125rem;
  }
  .bl_sideMenuParent {
    --sidePadding: 0;
  }
  .bl_sideMenuWrapper {
    margin-top: 40px;
  }
  .bl_sideMenu__recruit .bl_sideMenuList li a {
    padding: 4px 17px 2px;
  }
  .bl_sideMenu__recruit .bl_sideMenuList li:not(:last-child) {
    margin-bottom: 10px;
  }
  .bl_sideMenu__recruit .bl_sideMenuBoxHeading {
    margin-bottom: 20px;
    font-size: 18px;
    font-size: 1.125rem;
  }
  .bl_sideMenu {
    position: static;
    width: 100%;
    padding-bottom: 0;
  }
  .bl_sideMenu .bl_sideMenuList {
    padding-left: 20px;
  }
  .bl_sideMenuBox {
    margin-bottom: 50px;
    padding: 15px;
  }
  .bl_sideMenuBoxHeading {
    margin-bottom: 15px;
  }
  .bl_sideMenuList {
    font-size: 16px;
    font-size: 1rem;
  }
  .bl_sideMenuList li {
    margin: 0;
    color: #030303;
  }
  .bl_productTxt {
    margin-bottom: 40px;
    font-size: 16px;
    font-size: 1rem;
  }
  .bl_commodityItem .el_baseBtn {
    font-size: 14px;
    font-size: 0.875rem;
  }
  .bl_commodityItem_nameEn {
    font-size: 24px;
    font-size: 1.5rem;
  }
  .bl_commodityItem_nameJp {
    font-size: 18px;
    font-size: 1.125rem;
  }
  .bl_commodityItem_nameJp:not(:last-child) {
    margin-bottom: 20px;
  }
  .bl_mainSection01 {
    padding-bottom: 60px;
  }
  .bl_mainSection02 {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .bl_mainSection03 {
    margin-bottom: 45px;
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .bl_mainSection04 {
    padding-bottom: 40px;
  }
  .bl_mainSection05 {
    padding-bottom: 60px;
  }
  .bl_mainSection06 {
    padding-bottom: 60px;
  }
  .bl_mainSection07 {
    padding-bottom: 40px;
  }
  .bl_grayBackHeading {
    margin-bottom: 30px;
    padding-left: 24px;
    font-size: 24px;
    font-size: 1.5rem;
  }
  .bl_grayBackHeading::after {
    width: 12px;
  }
  .bl_messageTop_txtBox {
    display: block;
    padding-top: 40px;
  }
  .bl_messageTop_txt01 {
    margin-bottom: 20px;
    font-size: 18px;
    font-size: 1.125rem;
  }
  .bl_messageTop_txt02 {
    margin-bottom: 15px;
    font-size: 25px;
    font-size: 1.5625rem;
  }
  .bl_messageTop_body {
    min-height: 0;
    padding-bottom: 280px;
    background-size: auto 300px;
  }
  .bl_pageSectionContent {
    padding: 30px 15px;
  }
  .bl_pageSectionContent__02 {
    margin-top: 50px;
    border-radius: 20px;
  }
  .bl_pageSectionContent_name {
    margin-top: 30px;
    font-size: 16px;
    font-size: 1rem;
  }
  .bl_pageSectionContent_name img {
    width: 200px;
    margin-left: 20px;
  }
  .bl_visionTop {
    margin-top: 60px;
    margin-bottom: 50px;
  }
  .bl_visionTop_en {
    position: static;
    font-size: 60px;
    font-size: 3.75rem;
  }
  .bl_visionTop_heading {
    margin-bottom: 16px;
    font-size: 18px;
    font-size: 1.125rem;
  }
  .bl_visionTop_heading::before {
    width: 10px;
    margin-right: 8px;
  }
  .bl_visionTop_text {
    font-size: 20px;
    font-size: 1.25rem;
  }
  .bl_fullMedia__reverse .bl_fullMedia_data {
    padding: 60px 30px;
  }
  .bl_fullMedia__reverse .bl_fullMedia_data {
    padding: 32px 20px;
  }
  .bl_fullMedia {
    display: block;
    border-radius: 10px;
  }
  .bl_fullMedia_imgWrapper {
    width: 100%;
  }
  .bl_fullMedia_data {
    padding: 60px 30px;
  }
  .bl_philosophyList > div:not(:last-child) {
    margin-bottom: 28px;
    padding-bottom: 20px;
  }
  .bl_recruitTopHeader {
    min-height: 350px;
  }
  .bl_recruitTopHeader_mainTxt {
    font-size: 32px;
    font-size: 2rem;
    text-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
  }
  .bl_recruitTopHeader_subTxt {
    margin-top: 10px;
    font-size: 18px;
    font-size: 1.125rem;
    text-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
  }
  .bl_banner__flow {
    height: 123px;
    border-radius: 10px;
  }
  .bl_banner__flow .el_baseBtn {
    min-width: 113px;
    margin-top: 0;
    margin-left: 0;
    line-height: 1.65;
  }
  .bl_banner__flow::after {
    background-image: url("/assets/images/recruit/banner_flow_sp.webp");
  }
  .bl_banner {
    padding: 20px 26px;
  }
  .bl_banner_txt01 {
    font-size: 16px;
    font-size: 1rem;
  }
  .bl_recruitNews {
    display: block;
    max-width: 100%;
    margin-top: 0;
    padding: 44px 15px 50px;
    border-radius: 0;
  }
  .bl_recruitNews .bl_newsListItem_title {
    opacity: 1;
  }
  .bl_recruitNews_heading {
    margin-bottom: 30px;
  }
  .bl_layoutOurVision .el_enMainHeading,
  .bl_layoutOurVision .el_enMainSubHeading {
    margin-left: 0;
  }
  .bl_ourVision_body {
    margin-top: 20px;
    padding-top: 50px;
    padding-bottom: 40px;
    border-radius: 10px;
    background-position: 65% center;
  }
  .bl_ourVision_body h3 {
    margin-bottom: 20px;
    font-size: 26px;
    font-size: 1.625rem;
  }
  .bl_ourVision_txt01 {
    font-size: 18px;
    font-size: 1.125rem;
  }
  .bl_ourVision_txt02 {
    margin-top: 20px;
  }
  .bl_layoutLeftAdsorption {
    margin-top: 40px;
  }
  .bl_layoutLeftAdsorption_inner {
    width: 100%;
    padding-right: 15px;
    padding-bottom: 45px;
    border-radius: 0 25px 25px 0;
  }
  .bl_layoutLeftAdsorption_inner__data {
    padding-top: 40px;
  }
  .bl_recruitDataBody {
    flex-direction: column-reverse;
    padding-bottom: 100px;
  }
  .bl_recruitDataImgWrapper {
    width: 100%;
  }
  .bl_recruitDataTxtBox {
    width: 100%;
  }
  .bl_content_txt01 {
    margin-top: 30px;
    margin-bottom: 20px;
    font-size: 22px;
    font-size: 1.375rem;
  }
  .bl_content_txt02 {
    margin-bottom: 30px;
  }
  .bl_layoutWork {
    margin-top: -100px;
  }
  .bl_worksBody {
    padding-top: 32px;
    padding-bottom: 50px;
    border-radius: 12px;
  }
  .bl_layoutWork_header header {
    top: -30px;
    left: 0%;
  }
  .bl_worksBody_main {
    width: 100%;
    padding-top: 0;
  }
  .bl_worksList {
    width: 100%;
    padding-top: 0;
  }
  .bl_worksList a {
    gap: 24px;
    font-size: 16px;
    font-size: 1rem;
  }
  .bl_worksList .bl_circleArrow {
    right: 20px;
  }
  .bl_worksList_imgWrapper {
    width: 100px;
  }
  .bl_worksBody_forntInner {
    flex-direction: column;
    margin-bottom: 5cqmax;
  }
  .bl_interviewItem_heading {
    font-size: 18px;
    font-size: 1.125rem;
  }
  .bl_interviewUnit {
    grid-template-columns: repeat(1, 1fr);
    margin-top: 40px;
    gap: 40px;
  }
  .bl_headerVertical {
    position: static;
  }
  .bl_headerVertical .el_enMainSubHeading {
    margin-top: 10px;
    margin-bottom: 40px;
    writing-mode: horizontal-tb;
  }
  .bl_layoutEnvironment {
    padding-top: 70px;
    padding-bottom: 60px;
  }
  .bl_layoutEnvironment_txtBox {
    padding-right: 70px;
  }
  .bl_layoutEnvironment_txt {
    margin-bottom: 35px;
  }
  .bl_flowImgItem01 {
    width: 75.5px;
  }
  .bl_flowImgItem02 {
    display: none;
  }
  .bl_layoutFaq {
    margin-bottom: 100px;
    padding-top: 55px;
  }
  .bl_layoutFaq_inner {
    flex-direction: column;
    gap: 40px;
  }
  .bl_layoutFaq_inner > div:first-child {
    width: 100%;
    max-width: 100%;
  }
  .bl_faq > div {
    padding: 20px;
    font-size: 16px;
    font-size: 1rem;
  }
  .bl_faq dt {
    padding-left: 35px;
  }
  .bl_faq dt::before {
    top: 0;
    font-size: 30px;
    font-size: 1.875rem;
  }
  .bl_faq dd {
    padding-left: 35px;
  }
  .bl_faq dd::before {
    top: 30px;
    font-size: 30px;
    font-size: 1.875rem;
  }
  .bl_layoutEntry {
    height: auto;
    padding: 60px 0;
  }
  .bl_layoutEntry_core {
    flex-direction: column;
    justify-content: center;
    min-height: 280px;
  }
  .bl_layoutEntry_heading {
    font-size: 50px;
    font-size: 3.125rem;
  }
  .bl_layoutEntry_subHeading {
    margin-bottom: 20px;
    font-size: 18px;
    font-size: 1.125rem;
  }
  .bl_Layoutcircleback {
    height: auto;
    padding-top: 30px;
    padding-bottom: 50px;
  }
  .bl_Layoutcircleback img {
    max-width: 100%;
    margin-bottom: 20px;
  }
  .bl_Layoutcircleback p {
    font-size: 18px;
    font-size: 1.125rem;
  }
  .bl_visitBody {
    margin-top: 60px;
  }
  .bl_visitList {
    gap: 60px;
  }
  .bl_visitList li {
    min-height: 0;
    padding: 50px 30px 20px;
    border-radius: 20px;
  }
  .bl_visitList_text01 {
    font-size: 18px;
    font-size: 1.125rem;
  }
  .bl_visitList_text02 {
    font-size: 16px;
    font-size: 1rem;
  }
  .bl_visitList_number {
    top: 0;
    left: 50%;
    width: 80px;
    transform: translate(-50%, -50%);
    font-size: 14px;
    font-size: 0.875rem;
  }
  .bl_visitList_number::after {
    font-size: 28px;
    font-size: 1.75rem;
  }
  .bl_LayoutWhite {
    margin-top: 40px;
    padding: 40px 15px;
  }
  .bl_table01 {
    font-size: 16px;
    font-size: 1rem;
  }
  .bl_table01 th,
  .bl_table01 td {
    display: block;
    width: 100%;
    height: auto;
    padding: 15px;
  }
  .bl_LayoutSubSection:not(:last-child) {
    margin-bottom: 50px;
  }
  .bl_contactSection:not(:last-child) {
    margin-bottom: 44px;
    padding-bottom: 50px;
  }
  .bl_contactTxt {
    margin-bottom: 35px;
    font-size: 18px;
    font-size: 1.125rem;
  }
  .bl_contactBody {
    margin-top: 60px;
  }
  .bl_iconHeading {
    line-height: 1.4;
  }
  .bl_iconHeading {
    padding-left: 45px;
    font-size: 24px;
    font-size: 1.5rem;
  }
  .bl_iconHeading svg {
    width: 30px;
  }
  .bl_contactData {
    padding: 20px;
  }
  .bl_contactData_inner {
    display: block;
    font-size: 16px;
    font-size: 1rem;
  }
  .bl_contactData_inner > div:first-child, .bl_contactData_inner > div:last-child {
    width: 100%;
  }
  .bl_contactData_inner > div:first-child {
    margin-bottom: 10px;
    border-bottom: 1px solid #cecece;
  }
  .bl_contactData_inner > div:first-child::after {
    display: none;
  }
  .bl_contactData_name {
    font-size: 18px;
    font-size: 1.125rem;
  }
  .bl_contactNumber {
    font-size: 32px;
    font-size: 2rem;
  }
  .bl_contactNumber svg {
    width: 25px;
  }
  .bl_contactData_btn {
    padding: 16px 10px;
    font-size: 16px;
    font-size: 1rem;
  }
  .bl_contactData_btn_icon {
    right: 20px;
    width: 40px;
  }
  .bl_centerLogo img {
    width: 100%;
    margin-bottom: 30px;
  }
  .bl_table02 th,
  .bl_table02 td {
    font-size: 16px;
    font-size: 1rem;
  }
  .bl_table02 th,
  .bl_table02 td {
    display: block;
    width: 100%;
    padding: 12px;
  }
  .bl_table02 th {
    border-color: #cecece;
  }
  .bl_table02 td {
    border-bottom: 1px solid #000;
  }
  .bl_mediaUnit {
    gap: 30px;
  }
  .bl_mediaItem_title {
    font-size: 18px;
    font-size: 1.125rem;
  }
  .bl_mediaItem_borderTitle {
    font-size: 18px;
    font-size: 1.125rem;
  }
  .bl_mediaItem_text02 {
    margin-bottom: 20px;
  }
  .bl_mediaItem_imgWrapper {
    width: 45%;
  }
  @container (width <= 650px) {
    .bl_mediaItem_imgWrapper {
      width: 100%;
    }
  }
  .bl_recruitPageHeader {
    padding: 20px 30px;
  }
  .bl_recruitPageHeader_inner {
    display: block;
    padding-left: 0;
  }
  .bl_recruitPageHeader_inner h1 {
    font-size: 18px;
    font-size: 1.125rem;
  }
  .bl_recruitPageHeader_en {
    font-size: 16px;
    font-size: 1rem;
  }
  .bl_recruitSection__company {
    margin-top: 60px;
  }
  .bl_dataCardUnit01 {
    display: block;
  }
  .bl_dataCardUnit01 .bl_dataCard:last-child {
    padding-bottom: 20px;
  }
  .bl_dataCardUnit02 {
    display: block;
  }
  .bl_dataCardUnit02 .bl_dataCard {
    margin-bottom: 20px;
    padding-bottom: 20px;
  }
  .bl_dataCardUnit04 {
    display: block;
  }
  .bl_dataCardUnit04 .bl_dataCard {
    margin-bottom: 20px;
    padding-bottom: 20px;
  }
  .bl_dataCardUnit05 {
    display: block;
  }
  .bl_dataCardUnit05 .bl_dataCard {
    min-height: 0;
    margin-bottom: 20px;
    padding-bottom: 20px;
  }
  .bl_dataCard {
    margin-bottom: 20px;
    padding: 20px;
  }
  .bl_dataCard_map {
    top: 30px;
    right: 30px;
  }
  .bl_dataCard_map img {
    width: 200px;
  }
  .bl_dataCard_heading {
    font-size: 20px;
    font-size: 1.25rem;
  }
  .bl_dataCard_heading span {
    font-size: 16px;
    font-size: 1rem;
  }
  .bl_dataCard_sideImgNumber {
    margin-top: 20px;
  }
  .bl_dataCard_sideImgNumber__01 {
    gap: 20px;
  }
  .bl_dataCard_sideImgNumber__01 img {
    width: 40px;
  }
  .bl_dataCard_sideImgNumber__02 {
    gap: 20px;
  }
  .bl_dataCard_sideImgNumber__02 img {
    width: 55px;
  }
  .bl_dataCard_sideImgNumber__03 {
    gap: 20px;
  }
  .bl_dataCard_sideImgNumber__03 img {
    width: 55px;
  }
  .bl_dataCard_sideImgNumber__04 {
    gap: 20px;
  }
  .bl_dataCard_sideImgNumber__04 img {
    width: 55px;
  }
  .bl_dataCard_sideImgNumber__05 {
    gap: 20px;
  }
  .bl_dataCard_sideImgNumber__05 img {
    width: 65px;
  }
  .bl_dataCard_sideImgNumber__06 {
    gap: 20px;
  }
  .bl_dataCard_sideImgNumber__06 img {
    width: 55px;
  }
  .bl_dataCard_sideImgNumber__07 {
    gap: 20px;
  }
  .bl_dataCard_sideImgNumber__07 img {
    width: 75px;
  }
  .bl_dataCard_sideImgNumber__08 {
    gap: 20px;
  }
  .bl_dataCard_sideImgNumber__08 img {
    width: 65px;
  }
  .bl_dataCard_sideImgNumber__09 {
    gap: 20px;
  }
  .bl_dataCard_sideImgNumber__09 .bl_childcareImg {
    width: 70px;
  }
  .bl_dataCard_sideImgNumber__10 {
    gap: 20px;
  }
  .bl_dataCard_sideImgNumber__10 img {
    width: 45px;
  }
  .bl_dataCard_sideImgNumber_number {
    font-size: 50px;
  }
  .bl_dataCard_sideImgNumber_number .bl_unit {
    font-size: 18px;
  }
  .bl_dataCard_centerNumber {
    margin-top: 20px;
    font-size: 50px;
  }
  .bl_dataCard_centerNumber .bl_unit {
    font-size: 18px;
  }
  .bl_dataCard_centerImg {
    margin-top: 20px;
  }
  .bl_dataCard_positionName {
    margin-top: 40px;
    font-size: 50px;
  }
  .bl_dataCard_positionName span {
    font-size: 18px;
  }
  .bl_dataCardUnit03 {
    margin-bottom: 60px;
  }
  .bl_dataCardUnit03 .bl_dataCard {
    padding-bottom: 40px;
  }
  .bl_productionModel {
    grid-template-columns: repeat(2, 1fr);
    gap: 30px 20px;
  }
  .bl_productionModel_imgWrapper {
    margin-bottom: -30px;
  }
  .bl_productionModel_name {
    font-size: 16px;
    font-size: 1rem;
  }
  .bl_productionModel_name::before {
    display: block;
    margin: 0 auto 5px;
    font-size: 18px;
    font-size: 1.125rem;
  }
  .bl_backRed {
    padding: 60px 0 40px;
  }
  .bl_gender {
    padding-left: 0;
  }
  .bl_gender_item_name {
    font-size: 18px;
    font-size: 1.125rem;
  }
  .bl_gender_item_number {
    font-size: 40px;
  }
  .bl_gender_item_number .bl_unit {
    font-size: 18px;
    font-size: 1.125rem;
  }
  .bl_dataCard_sideImgNumber_holiday {
    font-size: 20px;
    font-size: 1.25rem;
  }
  .bl_holiday_txt01 {
    font-size: 50px;
    font-size: 3.125rem;
  }
  .bl_holiday_txt02 {
    font-size: 20px;
    font-size: 1.25rem;
  }
  .bl_holiday_txt03 {
    font-size: 18px;
    font-size: 1.125rem;
  }
  .bl_dataCard_sideImgNumber_small {
    font-size: 16px;
    font-size: 1rem;
  }
  .bl_childcareDate_02 {
    font-size: 16px;
    font-size: 1rem;
  }
  .bl_childcareDate_03 {
    font-size: 50px;
    font-size: 3.125rem;
  }
  .bl_childcareDate_03 .bl_unit {
    font-size: 18px;
    font-size: 1.125rem;
  }
  .bl_ranking {
    flex-direction: column;
    margin-top: 20px;
  }
  .bl_ranking_map img {
    width: 100%;
  }
  .bl_ranking_body img {
    width: 100%;
  }
  .bl_worksKv {
    border-radius: 15px;
  }
  .bl_whitebox {
    margin-top: 30px;
    padding: 20px;
    font-size: 16px;
    font-size: 1rem;
  }
  .bl_whitebox_heading {
    font-size: 20px;
    font-size: 1.25rem;
  }
  .bl_flowWrapper {
    display: block;
    padding-right: 20px;
  }
  .bl_step_item {
    border-radius: 10px;
  }
  .bl_step_item_number {
    top: 20px;
    left: 20px;
    width: 100px;
    font-size: 16px;
    font-size: 1rem;
  }
  .bl_step_item_number::after {
    font-size: 20px;
    font-size: 1.25rem;
  }
  .bl_step_item_heading {
    top: 20px;
    right: 20px;
    font-size: 32px;
    font-size: 2rem;
  }
  .bl_step_item_txt {
    margin-top: 200px;
    padding-top: min( 65px,5.4166666667vw);
  }
  .bl_tabHeading_item {
    font-size: 18px;
    font-size: 1.125rem;
  }
  .bl_faqHeading {
    margin-top: 40px;
    font-size: 18px;
    font-size: 1.125rem;
  }
  .bl_faqHeading span {
    font-size: 24px;
    font-size: 1.5rem;
  }
  .bl_tabBody_item section {
    margin-top: 30px;
  }
  .bl_requirementsCardUnit {
    grid-template-columns: repeat(1, 1fr);
    margin-top: 60px;
    margin-bottom: 60px;
    gap: 20px;
  }
  .bl_requirementsCard {
    border-radius: 10px;
  }
  .bl_requirementsCard_content {
    padding: 20px 20px 90px;
  }
  .bl_requirementsCard_content .el_dotBlackBtn {
    bottom: 30px;
    margin-top: 16px;
  }
  .bl_requirementsCard_heading {
    font-size: 24px;
    font-size: 1.5rem;
  }
  .bl_requirementsCard_body {
    font-size: 16px;
    font-size: 1rem;
  }
  .bl_detailHeading {
    margin-bottom: 10px;
    font-size: 24px;
    font-size: 1.5rem;
  }
  .bl_jobdateTime {
    font-size: 18px;
    font-size: 1.125rem;
  }
  .bl_detailBody {
    margin-top: 30px;
  }
  .bl_detailBody table tr {
    display: block;
    padding: 20px;
    font-size: 16px;
    font-size: 1rem;
  }
  .bl_detailBody table tr td:first-child {
    width: 100% !important;
    margin-bottom: 10px;
    padding-bottom: 5px;
    border-bottom: 1px solid #cecece;
  }
  .bl_detailBody table tr td:last-child {
    width: 100% !important;
    border-left: none;
  }
  .bl_btnWrapper {
    margin-top: 40px;
    margin-bottom: 80px;
  }
  .bl_historyHeader {
    grid-template-columns: 1fr 1fr;
    margin-bottom: 25px;
    gap: 15px;
    font-size: 14px;
    font-size: 0.875rem;
  }
  .bl_historyHeader > div:nth-child(2) {
    display: none;
  }
  .bl_historyContent_item::after {
    height: calc(100% - 68px);
  }
  .bl_historyContent_itemYear {
    margin-bottom: 10px;
    font-size: 45px;
  }
  #year_1970 .bl_historyContent_itemYear,
  #year_1980 .bl_historyContent_itemYear {
    margin-bottom: 40px;
  }
  .bl_historyContent_item:last-child .bl_historyContent_unit:last-child {
    padding-bottom: 60px;
  }
  .bl_historyContent_block:first-child .bl_historyContent_block_body {
    padding-right: 7px;
  }
  .bl_historyContent_block:nth-child(2) .bl_historyContent_block_body {
    padding-left: 7px;
  }
  .bl_historyContent_block:nth-child(2) .bl_historyContent_block_heading {
    padding-left: 7px;
  }
  .bl_historyContent_block__1960 {
    padding-top: 415px;
  }
  .bl_historyContent_block_heading {
    margin-bottom: 20px;
    font-size: 30px;
  }
  .bl_historyContent_block_heading::before {
    width: 6px;
  }
  .bl_historyContent_block_txt {
    font-size: 13px;
    font-size: 0.8125rem;
  }
  .bl_historyContent_block_txt:not(:last-child) {
    margin-bottom: 15px;
  }
  .bl_historyContent_block_txt__l {
    font-size: 18px;
    font-size: 1.125rem;
  }
  .bl_historyYearWrapper {
    margin-bottom: 35px;
  }
  .bl_historyYearWrapper__mb01 {
    margin-bottom: 0;
  }
  .bl_privacyHeadingLv01 {
    font-size: 24px;
    font-size: 1.5rem;
  }
  .bl_privacySectionWrapper {
    margin-top: 35px;
  }
  .bl_privacySection {
    margin-bottom: 30px;
  }
  .bl_privacyHeadingLv02 {
    font-size: 18px;
    font-size: 1.125rem;
  }
  .bl_privacyHeadingLv02::after {
    top: 0.42em;
    left: -22px;
    width: 14px;
  }
  .bl_address {
    margin-top: 0;
    font-size: 16px;
    font-size: 1rem;
  }
  .bl_pageSectionContent__interview {
    min-width: 0;
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
    padding-top: 40px;
  }
  .bl_pageSectionContent__interview .el_txtSizeL {
    margin-bottom: 12px;
    font-size: 22px;
    font-size: 1.375rem;
  }
  .bl_pageSectionContent__interview .el_txtSizeL br {
    display: block;
  }
  .bl_pageSectionContent__interview p {
    font-size: 16px;
    font-size: 1rem;
    text-align: left;
  }
  .bl_interviewTopWrapper {
    padding: 30px 20px;
  }
  .bl_interviewUnit__02 {
    margin-bottom: 60px;
    gap: 20px;
  }
  .bl_interviewUnit__02 .bl_interviewItem {
    padding: 20px;
  }
  .bl_interviewImageWrapper img {
    border-radius: 200px;
  }
  .bl_interviewProf_number {
    margin-bottom: 20px;
    font-size: 16px;
    font-size: 1rem;
  }
  .bl_interviewProf_list {
    gap: 15px;
    font-size: 16px;
    font-size: 1rem;
  }
  .bl_interviewProf_heading {
    margin-bottom: 20px;
    font-size: 20px;
    font-size: 1.25rem;
  }
  .bl_interviewProf_name {
    font-size: 18px;
    font-size: 1.125rem;
  }
  .bl_interviewProf_index {
    margin-top: 30px;
    padding: 22px;
    border-radius: 10px;
  }
  .bl_interviewProf_index_list a {
    padding-left: 20px;
    font-size: 14px;
    font-size: 0.875rem;
  }
  .bl_interviewContent {
    margin-top: 60px;
  }
  .bl_qaHeading {
    margin-bottom: 20px;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.5;
  }
  .bl_qaHeading::before {
    font-size: 32px;
    font-size: 2rem;
  }
  .bl_qaLargeTxt {
    margin-bottom: 12px;
    font-size: 18px;
    font-size: 1.125rem;
  }
  .bl_qaNormalTxt {
    font-size: 14px;
    font-size: 0.875rem;
  }
  .bl_qaWideImg {
    margin-top: 30px;
  }
  .bl_qaSideImg {
    flex-direction: column-reverse;
    margin-top: 60px;
    gap: 0;
  }
  .bl_qaSideImg_wrapper {
    width: 100%;
    margin-top: 20px;
  }
  .bl_backgroundQa {
    min-height: 0;
    margin-top: 70px;
    padding: 90px 15px 60px;
  }
  .bl_backgroundQa_inner .bl_qaHeading {
    margin-bottom: 25px;
  }
  .bl_backgroundQa_inner .bl_qaHeading::before {
    font-size: 30px;
    font-size: 1.875rem;
  }
  .bl_dayFlow {
    margin-top: 60px;
    padding-top: 50px;
    padding-bottom: 0;
    border-radius: 15px;
  }
  .bl_dayFlow_heading {
    margin-bottom: 40px;
    padding-bottom: 10px;
    font-size: 28px;
    font-size: 1.75rem;
  }
  .bl_flowColumn_items {
    width: 100%;
  }
  .bl_timeSection {
    min-height: 0;
    padding-bottom: 30px;
  }
  .bl_timeSection::after {
    left: 24px;
    height: calc(100% - 30px);
  }
  .bl_timeSection_time {
    font-size: 18px;
    font-size: 1.125rem;
  }
  .bl_timeSection_txtBox_heading {
    font-size: 18px;
    font-size: 1.125rem;
  }
  .bl_timeSection_txtBox_body {
    font-size: 16px;
    font-size: 1rem;
  }
  .bl_timeSection_txtBox_small {
    margin-top: 20px;
    margin-bottom: 25px;
    font-size: 16px;
    font-size: 1rem;
  }
  .bl_flowColumn {
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  .el_heading01 {
    margin-bottom: 25px;
    font-size: 16px;
    font-size: 1rem;
  }
  .el_heading01::before {
    margin-bottom: 7px;
    font-size: 42px;
    font-size: 2.625rem;
  }
  .el_heading01 span {
    padding-left: 15px;
  }
  .el_heading01 span::before {
    width: 7px;
  }
  .el_heading02 {
    margin-bottom: 5px;
    font-size: 20px;
    font-size: 1.25rem;
  }
  .el_squareHeading {
    padding: 4px 33px;
  }
  .el_sideNumberHeading {
    margin-top: 0;
    margin-bottom: 20px;
    margin-left: 40px;
    font-size: 60px;
    font-size: 3.75rem;
  }
  .el_sideNumberHeading .el_sideNumberHeading_number {
    font-size: 20px;
    font-size: 1.25rem;
  }
  .el_bottomHeading {
    margin-bottom: 30px;
    font-size: 28px;
    font-size: 1.75rem;
  }
  .el_enMainHeading {
    font-size: 14px;
    font-size: 0.875rem;
  }
  .el_enMainSubHeading {
    font-size: 40px;
    font-size: 2.5rem;
  }
  .el_bgColorHeading {
    margin-bottom: 35px;
    padding: 7px 18px;
    font-size: 20px;
    font-size: 1.25rem;
  }
  .el_baseBtn__back {
    margin: 50px auto 60px;
  }
  .el_baseBtn__factory {
    max-width: 100%;
  }
  .el_dotBlackBtn {
    padding: 10px 40px 10px 20px;
    font-size: 16px;
    font-size: 1rem;
  }
  .el_dotBlackBtn::after {
    right: 20px;
    width: 8px;
  }
  .el_dotBlackBtn__l {
    min-width: 300px;
    padding: 16px 83px 16px 35px;
    font-size: 18px;
    font-size: 1.125rem;
  }
  .el_dotBlackBtn__l::after {
    width: 8px;
  }
  .el_dotRedBtn {
    right: 15px;
    bottom: 20px;
  }
  .el_dotRedBtn {
    padding: 15px 40px 15px 20px;
    font-size: 18px;
    font-size: 1.125rem;
  }
  .el_dotRedBtn::after {
    right: 20px;
    width: 8px;
  }
  .el_txtSizeL {
    font-size: 25px;
    font-size: 1.5625rem;
    line-height: 1.8;
  }
  .el_txtSizeL br {
    display: none;
  }
  .el_txt01 {
    font-size: 16px;
    font-size: 1rem;
    line-height: 2;
  }
  .el_headingLv3 {
    padding-left: 15px;
    font-size: 20px;
    font-size: 1.25rem;
  }
  .el_simpleHeading {
    margin-bottom: 30px;
    font-size: 25px;
    font-size: 1.5625rem;
  }
  .el_boldHeading {
    margin-bottom: 20px;
    font-size: 20px;
    font-size: 1.25rem;
  }
  .el_boderHeading {
    margin-bottom: 35px;
    padding-bottom: 8px;
    font-size: 24px;
    font-size: 1.5rem;
  }
  .el_boderHeading::before {
    font-size: 14px;
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 600px){
  .bl_rotateImg {
    max-width: 300px;
  }
}
@media screen{
  [hidden~=screen] {
    display: inherit;
  }
  [hidden~=screen]:not(:active):not(:focus):not(:target) {
    clip: rect(0 0 0 0) !important;
    position: absolute !important;
  }
}