@charset "UTF-8";
/*!
 * Bootstrap Reboot v4.4.1 (https://getbootstrap.com/)
 * Copyright 2011-2019 The Bootstrap Authors
 * Copyright 2011-2019 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
 */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  font-family: "Noto Sans Serif";
  margin: 0;
  padding: 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-text-size-adjust: 100%;
}

article,
aside,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section {
  display: block;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Noto Sans Serif", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-weight: 400;
  margin: 0;
  text-align: left;
  background-color: #ffffff;
}

[tabindex="-1"]:focus:not(:focus-visible) {
  outline: 0 !important;
}

hr {
  overflow: visible;
  box-sizing: content-box;
  height: 0;
  margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
}

p {
  margin: 0;
}

abbr[title],
abbr[data-original-title] {
  cursor: help;
  text-decoration: underline;
  text-decoration: underline dotted;
  border-bottom: 0;
  -webkit-text-decoration: underline dotted;
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
}

address {
  font-style: normal;
  line-height: inherit;
  margin-bottom: 1rem;
}

ol,
ul,
dl {
  margin: 0;
  padding: 0;
  list-style-type: none;
}

ol ol,
ul ul,
ol ul,
ul ol {
  margin-bottom: 0;
}

dt {
  font-weight: 700;
}

dd {
  margin-left: 0;
}

blockquote {
  margin: 0 0 1rem;
}

q:before, q:after {
  display: none;
}

b,
strong {
  font-weight: bolder;
}

small {
  font-size: 80%;
}

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

a {
  text-decoration: none;
  background-color: transparent;
}

a:hover {
  text-decoration: none;
}

a:not([href]) {
  text-decoration: none;
  color: inherit;
}

a:not([href]):hover {
  text-decoration: none;
  color: inherit;
}

pre,
code,
kbd,
samp {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 1em;
}

pre {
  overflow: auto;
  margin-top: 0;
  margin-bottom: 1rem;
}

figure {
  margin: 0 0 1rem;
}

img {
  vertical-align: middle;
  border-style: none;
}

figure {
  margin: 0px;
}

svg {
  overflow: hidden;
  vertical-align: middle;
}

table {
  border-collapse: collapse;
}

caption {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  caption-side: bottom;
  text-align: left;
  color: #6c757d;
}

th {
  text-align: inherit;
}

label {
  display: inline-block;
}

button {
  border-radius: 0;
}

input,
button,
select,
optgroup,
textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  margin: 0;
}

input::-webkit-calendar-picker-indicator {
  display: none;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

select {
  word-wrap: normal;
}

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

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

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

input[type=radio],
input[type=checkbox] {
  box-sizing: border-box;
  padding: 0;
}

input[type=date],
input[type=time],
input[type=datetime-local],
input[type=month] {
  -webkit-appearance: listbox;
}

textarea {
  overflow: auto;
  resize: vertical;
}

fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

legend {
  font-size: 1.5rem;
  line-height: inherit;
  display: block;
  width: 100%;
  max-width: 100%;
  padding: 0;
  white-space: normal;
  color: inherit;
}

progress {
  vertical-align: baseline;
}

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

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

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

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

output {
  display: inline-block;
}

summary {
  display: list-item;
  cursor: pointer;
}

template {
  display: none;
}

[hidden] {
  display: none !important;
}

:root {
  --scale-40: -160px;
  --scale-39: -156px;
  --scale-38: -152px;
  --scale-37: -148px;
  --scale-36: -144px;
  --scale-35: -140px;
  --scale-34: -136px;
  --scale-33: -132px;
  --scale-32: -128px;
  --scale-31: -124px;
  --scale-30: -120px;
  --scale-29: -116px;
  --scale-28: -112px;
  --scale-27: -108px;
  --scale-26: -104px;
  --scale-25: -100px;
  --scale-24: -96px;
  --scale-23: -92px;
  --scale-22: -88px;
  --scale-21: -84px;
  --scale-20: -80px;
  --scale-19: -76px;
  --scale-18: -72px;
  --scale-17: -68px;
  --scale-16: -64px;
  --scale-15: -60px;
  --scale-14: -56px;
  --scale-13: -52px;
  --scale-12: -48px;
  --scale-11: -44px;
  --scale-10: -40px;
  --scale-9: -36px;
  --scale-8: -32px;
  --scale-7: -28px;
  --scale-6: -24px;
  --scale-5: -20px;
  --scale-4: -16px;
  --scale-3: -12px;
  --scale-2: -8px;
  --scale-1: -4px;
  --scale0: 0px;
  --scale1: 4px;
  --scale2: 8px;
  --scale3: 12px;
  --scale4: 16px;
  --scale5: 20px;
  --scale6: 24px;
  --scale7: 28px;
  --scale8: 32px;
  --scale9: 36px;
  --scale10: 40px;
  --scale11: 44px;
  --scale12: 48px;
  --scale13: 52px;
  --scale14: 56px;
  --scale15: 60px;
  --scale16: 64px;
  --scale17: 68px;
  --scale18: 72px;
  --scale19: 76px;
  --scale20: 80px;
  --scale21: 84px;
  --scale22: 88px;
  --scale23: 92px;
  --scale24: 96px;
  --scale25: 100px;
  --scale26: 104px;
  --scale27: 108px;
  --scale28: 112px;
  --scale29: 116px;
  --scale30: 120px;
  --scale31: 124px;
  --scale32: 128px;
  --scale33: 132px;
  --scale34: 136px;
  --scale35: 140px;
  --scale36: 144px;
  --scale37: 148px;
  --scale38: 152px;
  --scale39: 156px;
  --scale40: 160px;
  --font-size10: 10px;
  --font-size11: 11px;
  --font-size12: 12px;
  --font-size13: 13px;
  --font-size14: 14px;
  --font-size15: 15px;
  --font-size16: 16px;
  --font-size17: 17px;
  --font-size18: 18px;
  --font-size19: 19px;
  --font-size20: 20px;
  --font-size21: 21px;
  --font-size22: 22px;
  --font-size23: 23px;
  --font-size24: 24px;
  --font-size25: 25px;
  --font-size26: 26px;
  --font-size27: 27px;
  --font-size28: 28px;
  --font-size29: 29px;
  --font-size30: 30px;
  --main-font: "Zen Kaku Gothic New", "Noto Sans Serif";
  --sub-font: "semplicitapro", "Noto Sans Serif";
  --box-shadow: 0px 0px 8px #00000010;
}

/* -- media_query -- */
:root {
  --color-white: #FFFFFF;
  --color-white_rgb: 255, 255, 255;
  --color-divider: #DADADA;
  --color-divider_rgb: 218, 218, 218;
  --color-base: #FBF8F3;
  --color-base_rgb: 251, 248, 243;
  --color-main: #14284F;
  --color-main_rgb: 20, 40, 79;
  --color-accent: #E11E1F;
  --color-accent_rgb: 225, 30, 31;
  --color-red: #E11E1F;
  --color-red_rgb: 225, 30, 31;
  --color-gray-1: #E0E1E2;
  --color-gray-1_rgb: 224, 225, 226;
  --color-gray-2: #DADADA;
  --color-gray-2_rgb: 218, 218, 218;
  --color-gray-3: #9EA0A4;
  --color-gray-3_rgb: 158, 160, 164;
  --color-gray-4: #F9F9FA;
  --color-gray-4_rgb: 249, 249, 250;
  --color-gray-5: #D2D3D5;
  --color-gray-5_rgb: 210, 211, 213;
  --color-gray-6: #FBF8F3;
  --color-gray-6_rgb: 251, 248, 243;
  --color-gray-7: #ECEEF1;
  --color-gray-7_rgb: 236, 238, 241;
  --color-gray-8: #FAF9F9;
  --color-gray-8_rgb: 250, 249, 249;
  --color-text-1: #1A0303;
  --color-text-1_rgb: 26, 3, 3;
  --color-text-2: #9EA0A4;
  --color-text-2_rgb: 158, 160, 164;
  --color-text-3: #E11E1F;
  --color-text-3_rgb: 225, 30, 31;
  --color-text-4: #D9D9D9;
  --color-text-4_rgb: 217, 217, 217;
  --color-error: #E76E6E;
  --color-error_rgb: 231, 110, 110;
  --color-error-lighter: #FFF6F6;
  --color-error-lighter_rgb: 255, 246, 246;
}

.bor_col_white {
  border: 1px solid #FFFFFF;
}

.col_white {
  color: #FFFFFF;
}

.fill_white {
  fill: #FFFFFF;
}

.bcol_white {
  background-color: #FFFFFF;
}

.bor_col_divider {
  border: 1px solid #DADADA;
}

.col_divider {
  color: #DADADA;
}

.fill_divider {
  fill: #DADADA;
}

.bcol_divider {
  background-color: #DADADA;
}

.bor_col_base {
  border: 1px solid #FBF8F3;
}

.col_base {
  color: #FBF8F3;
}

.fill_base {
  fill: #FBF8F3;
}

.bcol_base {
  background-color: #FBF8F3;
}

.bor_col_main {
  border: 1px solid #14284F;
}

.col_main {
  color: #14284F;
}

.fill_main {
  fill: #14284F;
}

.bcol_main {
  background-color: #14284F;
}

.bor_col_accent {
  border: 1px solid #E11E1F;
}

.col_accent {
  color: #E11E1F;
}

.fill_accent {
  fill: #E11E1F;
}

.bcol_accent {
  background-color: #E11E1F;
}

.bor_col_red {
  border: 1px solid #E11E1F;
}

.col_red {
  color: #E11E1F;
}

.fill_red {
  fill: #E11E1F;
}

.bcol_red {
  background-color: #E11E1F;
}

.bor_col_gray-1 {
  border: 1px solid #E0E1E2;
}

.col_gray-1 {
  color: #E0E1E2;
}

.fill_gray-1 {
  fill: #E0E1E2;
}

.bcol_gray-1 {
  background-color: #E0E1E2;
}

.bor_col_gray-2 {
  border: 1px solid #DADADA;
}

.col_gray-2 {
  color: #DADADA;
}

.fill_gray-2 {
  fill: #DADADA;
}

.bcol_gray-2 {
  background-color: #DADADA;
}

.bor_col_gray-3 {
  border: 1px solid #9EA0A4;
}

.col_gray-3 {
  color: #9EA0A4;
}

.fill_gray-3 {
  fill: #9EA0A4;
}

.bcol_gray-3 {
  background-color: #9EA0A4;
}

.bor_col_gray-4 {
  border: 1px solid #F9F9FA;
}

.col_gray-4 {
  color: #F9F9FA;
}

.fill_gray-4 {
  fill: #F9F9FA;
}

.bcol_gray-4 {
  background-color: #F9F9FA;
}

.bor_col_gray-5 {
  border: 1px solid #D2D3D5;
}

.col_gray-5 {
  color: #D2D3D5;
}

.fill_gray-5 {
  fill: #D2D3D5;
}

.bcol_gray-5 {
  background-color: #D2D3D5;
}

.bor_col_gray-6 {
  border: 1px solid #FBF8F3;
}

.col_gray-6 {
  color: #FBF8F3;
}

.fill_gray-6 {
  fill: #FBF8F3;
}

.bcol_gray-6 {
  background-color: #FBF8F3;
}

.bor_col_gray-7 {
  border: 1px solid #ECEEF1;
}

.col_gray-7 {
  color: #ECEEF1;
}

.fill_gray-7 {
  fill: #ECEEF1;
}

.bcol_gray-7 {
  background-color: #ECEEF1;
}

.bor_col_gray-8 {
  border: 1px solid #FAF9F9;
}

.col_gray-8 {
  color: #FAF9F9;
}

.fill_gray-8 {
  fill: #FAF9F9;
}

.bcol_gray-8 {
  background-color: #FAF9F9;
}

.bor_col_text-1 {
  border: 1px solid #1A0303;
}

.col_text-1 {
  color: #1A0303;
}

.fill_text-1 {
  fill: #1A0303;
}

.bcol_text-1 {
  background-color: #1A0303;
}

.bor_col_text-2 {
  border: 1px solid #9EA0A4;
}

.col_text-2 {
  color: #9EA0A4;
}

.fill_text-2 {
  fill: #9EA0A4;
}

.bcol_text-2 {
  background-color: #9EA0A4;
}

.bor_col_text-3 {
  border: 1px solid #E11E1F;
}

.col_text-3 {
  color: #E11E1F;
}

.fill_text-3 {
  fill: #E11E1F;
}

.bcol_text-3 {
  background-color: #E11E1F;
}

.bor_col_text-4 {
  border: 1px solid #D9D9D9;
}

.col_text-4 {
  color: #D9D9D9;
}

.fill_text-4 {
  fill: #D9D9D9;
}

.bcol_text-4 {
  background-color: #D9D9D9;
}

.bor_col_error {
  border: 1px solid #E76E6E;
}

.col_error {
  color: #E76E6E;
}

.fill_error {
  fill: #E76E6E;
}

.bcol_error {
  background-color: #E76E6E;
}

.bor_col_error-lighter {
  border: 1px solid #FFF6F6;
}

.col_error-lighter {
  color: #FFF6F6;
}

.fill_error-lighter {
  fill: #FFF6F6;
}

.bcol_error-lighter {
  background-color: #FFF6F6;
}

body {
  font-family: var(--main-font);
  font-optical-sizing: auto;
  color: var(--color-text-1);
  background-color: #ECEEF1;
}

html {
  scroll-behavior: smooth;
}

.material-icons {
  font-family: "Material Icons";
  font-size: 24px;
}

@media screen and (min-width: 768px) {
  .site {
    min-width: 1280px;
    width: 100vw;
  }
}

.numberList {
  counter-reset: count 0;
}
.numberList li {
  counter-increment: count 1;
}
.numberList li::marker {
  content: counter(count, decimal) ".";
}

.zoomSlideShow .splide__slide.is-active img,
.zoomSlideShow .splide__slide.is-prev img,
.zoomSlideShow .splide__slide img.is-prev {
  animation: scale 11s linear 0s normal both;
}
@keyframes scale {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.1);
  }
}

.hoverAnimation_circle {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: var(--scale2);
  cursor: pointer;
  color: var(--color-text-1);
}
.hoverAnimation_circle::before {
  content: "";
  display: block;
  width: 13px;
  height: 13px;
  border-radius: 50%;
  transition: transform 0.3s;
  border: 1px solid var(--color-main);
}
.hoverAnimation_circle:hover::before {
  transform: scale(1.4);
  transform-origin: center;
  background: var(--color-main);
}

.sideMenuRequestBtn {
  width: 100%;
  max-width: 350px;
  display: block;
  margin: 0 auto;
}

select, input, textarea {
  padding: 11px 9px 12px 14px;
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: 0.025em;
  border: 1px solid var(--color-gray-2);
  color: var(--color-text-1);
  background-color: white;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}
select::-moz-placeholder, input::-moz-placeholder, textarea::-moz-placeholder {
  color: var(--color-text-3);
}
select::placeholder, input::placeholder, textarea::placeholder {
  color: var(--color-text-3);
}

select {
  background: url("/images/decoration/keyboard_arrow_down.svg") no-repeat right 12px center/24px auto;
}

a {
  text-decoration: none;
  color: inherit;
  background-color: transparent;
  transition: 0.3s;
}
a:hover {
  opacity: 0.7;
}

.px_0 {
  padding-left: var(--scale0);
  padding-right: var(--scale0);
}

.py_0 {
  padding-top: var(--scale0);
  padding-bottom: var(--scale0);
}

.pt_0 {
  padding-top: var(--scale0);
}

.pb_0 {
  padding-bottom: var(--scale0);
}

@media screen and (min-width: 768px) {
  .px_0_pc {
    padding-left: var(--scale0);
    padding-right: var(--scale0);
  }
  .py_0_pc {
    padding-top: var(--scale0);
    padding-bottom: var(--scale0);
  }
  .pt_0_pc {
    padding-top: var(--scale0);
  }
  .pb_0_pc {
    padding-bottom: var(--scale0);
  }
}
.px_1 {
  padding-left: var(--scale1);
  padding-right: var(--scale1);
}

.py_1 {
  padding-top: var(--scale1);
  padding-bottom: var(--scale1);
}

.pt_1 {
  padding-top: var(--scale1);
}

.pb_1 {
  padding-bottom: var(--scale1);
}

@media screen and (min-width: 768px) {
  .px_1_pc {
    padding-left: var(--scale1);
    padding-right: var(--scale1);
  }
  .py_1_pc {
    padding-top: var(--scale1);
    padding-bottom: var(--scale1);
  }
  .pt_1_pc {
    padding-top: var(--scale1);
  }
  .pb_1_pc {
    padding-bottom: var(--scale1);
  }
}
.px_2 {
  padding-left: var(--scale2);
  padding-right: var(--scale2);
}

.py_2 {
  padding-top: var(--scale2);
  padding-bottom: var(--scale2);
}

.pt_2 {
  padding-top: var(--scale2);
}

.pb_2 {
  padding-bottom: var(--scale2);
}

@media screen and (min-width: 768px) {
  .px_2_pc {
    padding-left: var(--scale2);
    padding-right: var(--scale2);
  }
  .py_2_pc {
    padding-top: var(--scale2);
    padding-bottom: var(--scale2);
  }
  .pt_2_pc {
    padding-top: var(--scale2);
  }
  .pb_2_pc {
    padding-bottom: var(--scale2);
  }
}
.px_3 {
  padding-left: var(--scale3);
  padding-right: var(--scale3);
}

.py_3 {
  padding-top: var(--scale3);
  padding-bottom: var(--scale3);
}

.pt_3 {
  padding-top: var(--scale3);
}

.pb_3 {
  padding-bottom: var(--scale3);
}

@media screen and (min-width: 768px) {
  .px_3_pc {
    padding-left: var(--scale3);
    padding-right: var(--scale3);
  }
  .py_3_pc {
    padding-top: var(--scale3);
    padding-bottom: var(--scale3);
  }
  .pt_3_pc {
    padding-top: var(--scale3);
  }
  .pb_3_pc {
    padding-bottom: var(--scale3);
  }
}
.px_4 {
  padding-left: var(--scale4);
  padding-right: var(--scale4);
}

.py_4 {
  padding-top: var(--scale4);
  padding-bottom: var(--scale4);
}

.pt_4 {
  padding-top: var(--scale4);
}

.pb_4 {
  padding-bottom: var(--scale4);
}

@media screen and (min-width: 768px) {
  .px_4_pc {
    padding-left: var(--scale4);
    padding-right: var(--scale4);
  }
  .py_4_pc {
    padding-top: var(--scale4);
    padding-bottom: var(--scale4);
  }
  .pt_4_pc {
    padding-top: var(--scale4);
  }
  .pb_4_pc {
    padding-bottom: var(--scale4);
  }
}
.px_5 {
  padding-left: var(--scale5);
  padding-right: var(--scale5);
}

.py_5 {
  padding-top: var(--scale5);
  padding-bottom: var(--scale5);
}

.pt_5 {
  padding-top: var(--scale5);
}

.pb_5 {
  padding-bottom: var(--scale5);
}

@media screen and (min-width: 768px) {
  .px_5_pc {
    padding-left: var(--scale5);
    padding-right: var(--scale5);
  }
  .py_5_pc {
    padding-top: var(--scale5);
    padding-bottom: var(--scale5);
  }
  .pt_5_pc {
    padding-top: var(--scale5);
  }
  .pb_5_pc {
    padding-bottom: var(--scale5);
  }
}
.px_6 {
  padding-left: var(--scale6);
  padding-right: var(--scale6);
}

.py_6 {
  padding-top: var(--scale6);
  padding-bottom: var(--scale6);
}

.pt_6 {
  padding-top: var(--scale6);
}

.pb_6 {
  padding-bottom: var(--scale6);
}

@media screen and (min-width: 768px) {
  .px_6_pc {
    padding-left: var(--scale6);
    padding-right: var(--scale6);
  }
  .py_6_pc {
    padding-top: var(--scale6);
    padding-bottom: var(--scale6);
  }
  .pt_6_pc {
    padding-top: var(--scale6);
  }
  .pb_6_pc {
    padding-bottom: var(--scale6);
  }
}
.px_7 {
  padding-left: var(--scale7);
  padding-right: var(--scale7);
}

.py_7 {
  padding-top: var(--scale7);
  padding-bottom: var(--scale7);
}

.pt_7 {
  padding-top: var(--scale7);
}

.pb_7 {
  padding-bottom: var(--scale7);
}

@media screen and (min-width: 768px) {
  .px_7_pc {
    padding-left: var(--scale7);
    padding-right: var(--scale7);
  }
  .py_7_pc {
    padding-top: var(--scale7);
    padding-bottom: var(--scale7);
  }
  .pt_7_pc {
    padding-top: var(--scale7);
  }
  .pb_7_pc {
    padding-bottom: var(--scale7);
  }
}
.px_8 {
  padding-left: var(--scale8);
  padding-right: var(--scale8);
}

.py_8 {
  padding-top: var(--scale8);
  padding-bottom: var(--scale8);
}

.pt_8 {
  padding-top: var(--scale8);
}

.pb_8 {
  padding-bottom: var(--scale8);
}

@media screen and (min-width: 768px) {
  .px_8_pc {
    padding-left: var(--scale8);
    padding-right: var(--scale8);
  }
  .py_8_pc {
    padding-top: var(--scale8);
    padding-bottom: var(--scale8);
  }
  .pt_8_pc {
    padding-top: var(--scale8);
  }
  .pb_8_pc {
    padding-bottom: var(--scale8);
  }
}
.px_9 {
  padding-left: var(--scale9);
  padding-right: var(--scale9);
}

.py_9 {
  padding-top: var(--scale9);
  padding-bottom: var(--scale9);
}

.pt_9 {
  padding-top: var(--scale9);
}

.pb_9 {
  padding-bottom: var(--scale9);
}

@media screen and (min-width: 768px) {
  .px_9_pc {
    padding-left: var(--scale9);
    padding-right: var(--scale9);
  }
  .py_9_pc {
    padding-top: var(--scale9);
    padding-bottom: var(--scale9);
  }
  .pt_9_pc {
    padding-top: var(--scale9);
  }
  .pb_9_pc {
    padding-bottom: var(--scale9);
  }
}
.px_10 {
  padding-left: var(--scale10);
  padding-right: var(--scale10);
}

.py_10 {
  padding-top: var(--scale10);
  padding-bottom: var(--scale10);
}

.pt_10 {
  padding-top: var(--scale10);
}

.pb_10 {
  padding-bottom: var(--scale10);
}

@media screen and (min-width: 768px) {
  .px_10_pc {
    padding-left: var(--scale10);
    padding-right: var(--scale10);
  }
  .py_10_pc {
    padding-top: var(--scale10);
    padding-bottom: var(--scale10);
  }
  .pt_10_pc {
    padding-top: var(--scale10);
  }
  .pb_10_pc {
    padding-bottom: var(--scale10);
  }
}
.px_11 {
  padding-left: var(--scale11);
  padding-right: var(--scale11);
}

.py_11 {
  padding-top: var(--scale11);
  padding-bottom: var(--scale11);
}

.pt_11 {
  padding-top: var(--scale11);
}

.pb_11 {
  padding-bottom: var(--scale11);
}

@media screen and (min-width: 768px) {
  .px_11_pc {
    padding-left: var(--scale11);
    padding-right: var(--scale11);
  }
  .py_11_pc {
    padding-top: var(--scale11);
    padding-bottom: var(--scale11);
  }
  .pt_11_pc {
    padding-top: var(--scale11);
  }
  .pb_11_pc {
    padding-bottom: var(--scale11);
  }
}
.px_12 {
  padding-left: var(--scale12);
  padding-right: var(--scale12);
}

.py_12 {
  padding-top: var(--scale12);
  padding-bottom: var(--scale12);
}

.pt_12 {
  padding-top: var(--scale12);
}

.pb_12 {
  padding-bottom: var(--scale12);
}

@media screen and (min-width: 768px) {
  .px_12_pc {
    padding-left: var(--scale12);
    padding-right: var(--scale12);
  }
  .py_12_pc {
    padding-top: var(--scale12);
    padding-bottom: var(--scale12);
  }
  .pt_12_pc {
    padding-top: var(--scale12);
  }
  .pb_12_pc {
    padding-bottom: var(--scale12);
  }
}
.px_13 {
  padding-left: var(--scale13);
  padding-right: var(--scale13);
}

.py_13 {
  padding-top: var(--scale13);
  padding-bottom: var(--scale13);
}

.pt_13 {
  padding-top: var(--scale13);
}

.pb_13 {
  padding-bottom: var(--scale13);
}

@media screen and (min-width: 768px) {
  .px_13_pc {
    padding-left: var(--scale13);
    padding-right: var(--scale13);
  }
  .py_13_pc {
    padding-top: var(--scale13);
    padding-bottom: var(--scale13);
  }
  .pt_13_pc {
    padding-top: var(--scale13);
  }
  .pb_13_pc {
    padding-bottom: var(--scale13);
  }
}
.px_14 {
  padding-left: var(--scale14);
  padding-right: var(--scale14);
}

.py_14 {
  padding-top: var(--scale14);
  padding-bottom: var(--scale14);
}

.pt_14 {
  padding-top: var(--scale14);
}

.pb_14 {
  padding-bottom: var(--scale14);
}

@media screen and (min-width: 768px) {
  .px_14_pc {
    padding-left: var(--scale14);
    padding-right: var(--scale14);
  }
  .py_14_pc {
    padding-top: var(--scale14);
    padding-bottom: var(--scale14);
  }
  .pt_14_pc {
    padding-top: var(--scale14);
  }
  .pb_14_pc {
    padding-bottom: var(--scale14);
  }
}
.px_15 {
  padding-left: var(--scale15);
  padding-right: var(--scale15);
}

.py_15 {
  padding-top: var(--scale15);
  padding-bottom: var(--scale15);
}

.pt_15 {
  padding-top: var(--scale15);
}

.pb_15 {
  padding-bottom: var(--scale15);
}

@media screen and (min-width: 768px) {
  .px_15_pc {
    padding-left: var(--scale15);
    padding-right: var(--scale15);
  }
  .py_15_pc {
    padding-top: var(--scale15);
    padding-bottom: var(--scale15);
  }
  .pt_15_pc {
    padding-top: var(--scale15);
  }
  .pb_15_pc {
    padding-bottom: var(--scale15);
  }
}
.px_16 {
  padding-left: var(--scale16);
  padding-right: var(--scale16);
}

.py_16 {
  padding-top: var(--scale16);
  padding-bottom: var(--scale16);
}

.pt_16 {
  padding-top: var(--scale16);
}

.pb_16 {
  padding-bottom: var(--scale16);
}

@media screen and (min-width: 768px) {
  .px_16_pc {
    padding-left: var(--scale16);
    padding-right: var(--scale16);
  }
  .py_16_pc {
    padding-top: var(--scale16);
    padding-bottom: var(--scale16);
  }
  .pt_16_pc {
    padding-top: var(--scale16);
  }
  .pb_16_pc {
    padding-bottom: var(--scale16);
  }
}
.px_17 {
  padding-left: var(--scale17);
  padding-right: var(--scale17);
}

.py_17 {
  padding-top: var(--scale17);
  padding-bottom: var(--scale17);
}

.pt_17 {
  padding-top: var(--scale17);
}

.pb_17 {
  padding-bottom: var(--scale17);
}

@media screen and (min-width: 768px) {
  .px_17_pc {
    padding-left: var(--scale17);
    padding-right: var(--scale17);
  }
  .py_17_pc {
    padding-top: var(--scale17);
    padding-bottom: var(--scale17);
  }
  .pt_17_pc {
    padding-top: var(--scale17);
  }
  .pb_17_pc {
    padding-bottom: var(--scale17);
  }
}
.px_18 {
  padding-left: var(--scale18);
  padding-right: var(--scale18);
}

.py_18 {
  padding-top: var(--scale18);
  padding-bottom: var(--scale18);
}

.pt_18 {
  padding-top: var(--scale18);
}

.pb_18 {
  padding-bottom: var(--scale18);
}

@media screen and (min-width: 768px) {
  .px_18_pc {
    padding-left: var(--scale18);
    padding-right: var(--scale18);
  }
  .py_18_pc {
    padding-top: var(--scale18);
    padding-bottom: var(--scale18);
  }
  .pt_18_pc {
    padding-top: var(--scale18);
  }
  .pb_18_pc {
    padding-bottom: var(--scale18);
  }
}
.px_19 {
  padding-left: var(--scale19);
  padding-right: var(--scale19);
}

.py_19 {
  padding-top: var(--scale19);
  padding-bottom: var(--scale19);
}

.pt_19 {
  padding-top: var(--scale19);
}

.pb_19 {
  padding-bottom: var(--scale19);
}

@media screen and (min-width: 768px) {
  .px_19_pc {
    padding-left: var(--scale19);
    padding-right: var(--scale19);
  }
  .py_19_pc {
    padding-top: var(--scale19);
    padding-bottom: var(--scale19);
  }
  .pt_19_pc {
    padding-top: var(--scale19);
  }
  .pb_19_pc {
    padding-bottom: var(--scale19);
  }
}
.px_20 {
  padding-left: var(--scale20);
  padding-right: var(--scale20);
}

.py_20 {
  padding-top: var(--scale20);
  padding-bottom: var(--scale20);
}

.pt_20 {
  padding-top: var(--scale20);
}

.pb_20 {
  padding-bottom: var(--scale20);
}

@media screen and (min-width: 768px) {
  .px_20_pc {
    padding-left: var(--scale20);
    padding-right: var(--scale20);
  }
  .py_20_pc {
    padding-top: var(--scale20);
    padding-bottom: var(--scale20);
  }
  .pt_20_pc {
    padding-top: var(--scale20);
  }
  .pb_20_pc {
    padding-bottom: var(--scale20);
  }
}
.px_21 {
  padding-left: var(--scale21);
  padding-right: var(--scale21);
}

.py_21 {
  padding-top: var(--scale21);
  padding-bottom: var(--scale21);
}

.pt_21 {
  padding-top: var(--scale21);
}

.pb_21 {
  padding-bottom: var(--scale21);
}

@media screen and (min-width: 768px) {
  .px_21_pc {
    padding-left: var(--scale21);
    padding-right: var(--scale21);
  }
  .py_21_pc {
    padding-top: var(--scale21);
    padding-bottom: var(--scale21);
  }
  .pt_21_pc {
    padding-top: var(--scale21);
  }
  .pb_21_pc {
    padding-bottom: var(--scale21);
  }
}
.px_22 {
  padding-left: var(--scale22);
  padding-right: var(--scale22);
}

.py_22 {
  padding-top: var(--scale22);
  padding-bottom: var(--scale22);
}

.pt_22 {
  padding-top: var(--scale22);
}

.pb_22 {
  padding-bottom: var(--scale22);
}

@media screen and (min-width: 768px) {
  .px_22_pc {
    padding-left: var(--scale22);
    padding-right: var(--scale22);
  }
  .py_22_pc {
    padding-top: var(--scale22);
    padding-bottom: var(--scale22);
  }
  .pt_22_pc {
    padding-top: var(--scale22);
  }
  .pb_22_pc {
    padding-bottom: var(--scale22);
  }
}
.px_23 {
  padding-left: var(--scale23);
  padding-right: var(--scale23);
}

.py_23 {
  padding-top: var(--scale23);
  padding-bottom: var(--scale23);
}

.pt_23 {
  padding-top: var(--scale23);
}

.pb_23 {
  padding-bottom: var(--scale23);
}

@media screen and (min-width: 768px) {
  .px_23_pc {
    padding-left: var(--scale23);
    padding-right: var(--scale23);
  }
  .py_23_pc {
    padding-top: var(--scale23);
    padding-bottom: var(--scale23);
  }
  .pt_23_pc {
    padding-top: var(--scale23);
  }
  .pb_23_pc {
    padding-bottom: var(--scale23);
  }
}
.px_24 {
  padding-left: var(--scale24);
  padding-right: var(--scale24);
}

.py_24 {
  padding-top: var(--scale24);
  padding-bottom: var(--scale24);
}

.pt_24 {
  padding-top: var(--scale24);
}

.pb_24 {
  padding-bottom: var(--scale24);
}

@media screen and (min-width: 768px) {
  .px_24_pc {
    padding-left: var(--scale24);
    padding-right: var(--scale24);
  }
  .py_24_pc {
    padding-top: var(--scale24);
    padding-bottom: var(--scale24);
  }
  .pt_24_pc {
    padding-top: var(--scale24);
  }
  .pb_24_pc {
    padding-bottom: var(--scale24);
  }
}
.px_25 {
  padding-left: var(--scale25);
  padding-right: var(--scale25);
}

.py_25 {
  padding-top: var(--scale25);
  padding-bottom: var(--scale25);
}

.pt_25 {
  padding-top: var(--scale25);
}

.pb_25 {
  padding-bottom: var(--scale25);
}

@media screen and (min-width: 768px) {
  .px_25_pc {
    padding-left: var(--scale25);
    padding-right: var(--scale25);
  }
  .py_25_pc {
    padding-top: var(--scale25);
    padding-bottom: var(--scale25);
  }
  .pt_25_pc {
    padding-top: var(--scale25);
  }
  .pb_25_pc {
    padding-bottom: var(--scale25);
  }
}
.px_26 {
  padding-left: var(--scale26);
  padding-right: var(--scale26);
}

.py_26 {
  padding-top: var(--scale26);
  padding-bottom: var(--scale26);
}

.pt_26 {
  padding-top: var(--scale26);
}

.pb_26 {
  padding-bottom: var(--scale26);
}

@media screen and (min-width: 768px) {
  .px_26_pc {
    padding-left: var(--scale26);
    padding-right: var(--scale26);
  }
  .py_26_pc {
    padding-top: var(--scale26);
    padding-bottom: var(--scale26);
  }
  .pt_26_pc {
    padding-top: var(--scale26);
  }
  .pb_26_pc {
    padding-bottom: var(--scale26);
  }
}
.px_27 {
  padding-left: var(--scale27);
  padding-right: var(--scale27);
}

.py_27 {
  padding-top: var(--scale27);
  padding-bottom: var(--scale27);
}

.pt_27 {
  padding-top: var(--scale27);
}

.pb_27 {
  padding-bottom: var(--scale27);
}

@media screen and (min-width: 768px) {
  .px_27_pc {
    padding-left: var(--scale27);
    padding-right: var(--scale27);
  }
  .py_27_pc {
    padding-top: var(--scale27);
    padding-bottom: var(--scale27);
  }
  .pt_27_pc {
    padding-top: var(--scale27);
  }
  .pb_27_pc {
    padding-bottom: var(--scale27);
  }
}
.px_28 {
  padding-left: var(--scale28);
  padding-right: var(--scale28);
}

.py_28 {
  padding-top: var(--scale28);
  padding-bottom: var(--scale28);
}

.pt_28 {
  padding-top: var(--scale28);
}

.pb_28 {
  padding-bottom: var(--scale28);
}

@media screen and (min-width: 768px) {
  .px_28_pc {
    padding-left: var(--scale28);
    padding-right: var(--scale28);
  }
  .py_28_pc {
    padding-top: var(--scale28);
    padding-bottom: var(--scale28);
  }
  .pt_28_pc {
    padding-top: var(--scale28);
  }
  .pb_28_pc {
    padding-bottom: var(--scale28);
  }
}
.px_29 {
  padding-left: var(--scale29);
  padding-right: var(--scale29);
}

.py_29 {
  padding-top: var(--scale29);
  padding-bottom: var(--scale29);
}

.pt_29 {
  padding-top: var(--scale29);
}

.pb_29 {
  padding-bottom: var(--scale29);
}

@media screen and (min-width: 768px) {
  .px_29_pc {
    padding-left: var(--scale29);
    padding-right: var(--scale29);
  }
  .py_29_pc {
    padding-top: var(--scale29);
    padding-bottom: var(--scale29);
  }
  .pt_29_pc {
    padding-top: var(--scale29);
  }
  .pb_29_pc {
    padding-bottom: var(--scale29);
  }
}
.px_30 {
  padding-left: var(--scale30);
  padding-right: var(--scale30);
}

.py_30 {
  padding-top: var(--scale30);
  padding-bottom: var(--scale30);
}

.pt_30 {
  padding-top: var(--scale30);
}

.pb_30 {
  padding-bottom: var(--scale30);
}

@media screen and (min-width: 768px) {
  .px_30_pc {
    padding-left: var(--scale30);
    padding-right: var(--scale30);
  }
  .py_30_pc {
    padding-top: var(--scale30);
    padding-bottom: var(--scale30);
  }
  .pt_30_pc {
    padding-top: var(--scale30);
  }
  .pb_30_pc {
    padding-bottom: var(--scale30);
  }
}
.px_31 {
  padding-left: var(--scale31);
  padding-right: var(--scale31);
}

.py_31 {
  padding-top: var(--scale31);
  padding-bottom: var(--scale31);
}

.pt_31 {
  padding-top: var(--scale31);
}

.pb_31 {
  padding-bottom: var(--scale31);
}

@media screen and (min-width: 768px) {
  .px_31_pc {
    padding-left: var(--scale31);
    padding-right: var(--scale31);
  }
  .py_31_pc {
    padding-top: var(--scale31);
    padding-bottom: var(--scale31);
  }
  .pt_31_pc {
    padding-top: var(--scale31);
  }
  .pb_31_pc {
    padding-bottom: var(--scale31);
  }
}
.px_32 {
  padding-left: var(--scale32);
  padding-right: var(--scale32);
}

.py_32 {
  padding-top: var(--scale32);
  padding-bottom: var(--scale32);
}

.pt_32 {
  padding-top: var(--scale32);
}

.pb_32 {
  padding-bottom: var(--scale32);
}

@media screen and (min-width: 768px) {
  .px_32_pc {
    padding-left: var(--scale32);
    padding-right: var(--scale32);
  }
  .py_32_pc {
    padding-top: var(--scale32);
    padding-bottom: var(--scale32);
  }
  .pt_32_pc {
    padding-top: var(--scale32);
  }
  .pb_32_pc {
    padding-bottom: var(--scale32);
  }
}
.px_33 {
  padding-left: var(--scale33);
  padding-right: var(--scale33);
}

.py_33 {
  padding-top: var(--scale33);
  padding-bottom: var(--scale33);
}

.pt_33 {
  padding-top: var(--scale33);
}

.pb_33 {
  padding-bottom: var(--scale33);
}

@media screen and (min-width: 768px) {
  .px_33_pc {
    padding-left: var(--scale33);
    padding-right: var(--scale33);
  }
  .py_33_pc {
    padding-top: var(--scale33);
    padding-bottom: var(--scale33);
  }
  .pt_33_pc {
    padding-top: var(--scale33);
  }
  .pb_33_pc {
    padding-bottom: var(--scale33);
  }
}
.px_34 {
  padding-left: var(--scale34);
  padding-right: var(--scale34);
}

.py_34 {
  padding-top: var(--scale34);
  padding-bottom: var(--scale34);
}

.pt_34 {
  padding-top: var(--scale34);
}

.pb_34 {
  padding-bottom: var(--scale34);
}

@media screen and (min-width: 768px) {
  .px_34_pc {
    padding-left: var(--scale34);
    padding-right: var(--scale34);
  }
  .py_34_pc {
    padding-top: var(--scale34);
    padding-bottom: var(--scale34);
  }
  .pt_34_pc {
    padding-top: var(--scale34);
  }
  .pb_34_pc {
    padding-bottom: var(--scale34);
  }
}
.px_35 {
  padding-left: var(--scale35);
  padding-right: var(--scale35);
}

.py_35 {
  padding-top: var(--scale35);
  padding-bottom: var(--scale35);
}

.pt_35 {
  padding-top: var(--scale35);
}

.pb_35 {
  padding-bottom: var(--scale35);
}

@media screen and (min-width: 768px) {
  .px_35_pc {
    padding-left: var(--scale35);
    padding-right: var(--scale35);
  }
  .py_35_pc {
    padding-top: var(--scale35);
    padding-bottom: var(--scale35);
  }
  .pt_35_pc {
    padding-top: var(--scale35);
  }
  .pb_35_pc {
    padding-bottom: var(--scale35);
  }
}
.px_36 {
  padding-left: var(--scale36);
  padding-right: var(--scale36);
}

.py_36 {
  padding-top: var(--scale36);
  padding-bottom: var(--scale36);
}

.pt_36 {
  padding-top: var(--scale36);
}

.pb_36 {
  padding-bottom: var(--scale36);
}

@media screen and (min-width: 768px) {
  .px_36_pc {
    padding-left: var(--scale36);
    padding-right: var(--scale36);
  }
  .py_36_pc {
    padding-top: var(--scale36);
    padding-bottom: var(--scale36);
  }
  .pt_36_pc {
    padding-top: var(--scale36);
  }
  .pb_36_pc {
    padding-bottom: var(--scale36);
  }
}
.px_37 {
  padding-left: var(--scale37);
  padding-right: var(--scale37);
}

.py_37 {
  padding-top: var(--scale37);
  padding-bottom: var(--scale37);
}

.pt_37 {
  padding-top: var(--scale37);
}

.pb_37 {
  padding-bottom: var(--scale37);
}

@media screen and (min-width: 768px) {
  .px_37_pc {
    padding-left: var(--scale37);
    padding-right: var(--scale37);
  }
  .py_37_pc {
    padding-top: var(--scale37);
    padding-bottom: var(--scale37);
  }
  .pt_37_pc {
    padding-top: var(--scale37);
  }
  .pb_37_pc {
    padding-bottom: var(--scale37);
  }
}
.px_38 {
  padding-left: var(--scale38);
  padding-right: var(--scale38);
}

.py_38 {
  padding-top: var(--scale38);
  padding-bottom: var(--scale38);
}

.pt_38 {
  padding-top: var(--scale38);
}

.pb_38 {
  padding-bottom: var(--scale38);
}

@media screen and (min-width: 768px) {
  .px_38_pc {
    padding-left: var(--scale38);
    padding-right: var(--scale38);
  }
  .py_38_pc {
    padding-top: var(--scale38);
    padding-bottom: var(--scale38);
  }
  .pt_38_pc {
    padding-top: var(--scale38);
  }
  .pb_38_pc {
    padding-bottom: var(--scale38);
  }
}
.px_39 {
  padding-left: var(--scale39);
  padding-right: var(--scale39);
}

.py_39 {
  padding-top: var(--scale39);
  padding-bottom: var(--scale39);
}

.pt_39 {
  padding-top: var(--scale39);
}

.pb_39 {
  padding-bottom: var(--scale39);
}

@media screen and (min-width: 768px) {
  .px_39_pc {
    padding-left: var(--scale39);
    padding-right: var(--scale39);
  }
  .py_39_pc {
    padding-top: var(--scale39);
    padding-bottom: var(--scale39);
  }
  .pt_39_pc {
    padding-top: var(--scale39);
  }
  .pb_39_pc {
    padding-bottom: var(--scale39);
  }
}
.px_40 {
  padding-left: var(--scale40);
  padding-right: var(--scale40);
}

.py_40 {
  padding-top: var(--scale40);
  padding-bottom: var(--scale40);
}

.pt_40 {
  padding-top: var(--scale40);
}

.pb_40 {
  padding-bottom: var(--scale40);
}

@media screen and (min-width: 768px) {
  .px_40_pc {
    padding-left: var(--scale40);
    padding-right: var(--scale40);
  }
  .py_40_pc {
    padding-top: var(--scale40);
    padding-bottom: var(--scale40);
  }
  .pt_40_pc {
    padding-top: var(--scale40);
  }
  .pb_40_pc {
    padding-bottom: var(--scale40);
  }
}
.column {
  display: grid;
  justify-content: var(--justify-content);
  justify-items: var(--justify-items);
  align-content: var(--align-content);
  align-items: var(--align-items);
  grid-template-columns: var(--columns, repeat(auto-fit, minmax(1px, 1fr)));
}
@media screen and (min-width: 768px) {
  .column {
    justify-content: var(--justify-content-pc, var(--justify-content));
    justify-items: var(--justify-items-pc, var(--justify-items));
    align-content: var(--align-content-pc, var(--align-content));
    align-items: var(--align-items-pc, var(--align-items));
  }
}
@media screen and (min-width: 768px) {
  .column {
    grid-template-columns: var(--pcColumns, var(--columns, repeat(auto-fit, minmax(1px, 1fr))));
  }
}

.row {
  align-content: flex-start;
  display: grid;
  justify-content: var(--justify-content);
  justify-items: var(--justify-items);
  align-content: var(--align-content);
  align-items: var(--align-items);
}
@media screen and (min-width: 768px) {
  .row {
    justify-content: var(--justify-content-pc, var(--justify-content));
    justify-items: var(--justify-items-pc, var(--justify-items));
    align-content: var(--align-content-pc, var(--align-content));
    align-items: var(--align-items-pc, var(--align-items));
  }
}

.gap_0 {
  gap: var(--scale0);
}

.gap_0_y {
  row-gap: var(--scale0);
}

.gap_0_x {
  -moz-column-gap: var(--scale0);
       column-gap: var(--scale0);
}

.gap_1 {
  gap: var(--scale1);
}

.gap_1_y {
  row-gap: var(--scale1);
}

.gap_1_x {
  -moz-column-gap: var(--scale1);
       column-gap: var(--scale1);
}

.gap_2 {
  gap: var(--scale2);
}

.gap_2_y {
  row-gap: var(--scale2);
}

.gap_2_x {
  -moz-column-gap: var(--scale2);
       column-gap: var(--scale2);
}

.gap_3 {
  gap: var(--scale3);
}

.gap_3_y {
  row-gap: var(--scale3);
}

.gap_3_x {
  -moz-column-gap: var(--scale3);
       column-gap: var(--scale3);
}

.gap_4 {
  gap: var(--scale4);
}

.gap_4_y {
  row-gap: var(--scale4);
}

.gap_4_x {
  -moz-column-gap: var(--scale4);
       column-gap: var(--scale4);
}

.gap_5 {
  gap: var(--scale5);
}

.gap_5_y {
  row-gap: var(--scale5);
}

.gap_5_x {
  -moz-column-gap: var(--scale5);
       column-gap: var(--scale5);
}

.gap_6 {
  gap: var(--scale6);
}

.gap_6_y {
  row-gap: var(--scale6);
}

.gap_6_x {
  -moz-column-gap: var(--scale6);
       column-gap: var(--scale6);
}

.gap_7 {
  gap: var(--scale7);
}

.gap_7_y {
  row-gap: var(--scale7);
}

.gap_7_x {
  -moz-column-gap: var(--scale7);
       column-gap: var(--scale7);
}

.gap_8 {
  gap: var(--scale8);
}

.gap_8_y {
  row-gap: var(--scale8);
}

.gap_8_x {
  -moz-column-gap: var(--scale8);
       column-gap: var(--scale8);
}

.gap_9 {
  gap: var(--scale9);
}

.gap_9_y {
  row-gap: var(--scale9);
}

.gap_9_x {
  -moz-column-gap: var(--scale9);
       column-gap: var(--scale9);
}

.gap_10 {
  gap: var(--scale10);
}

.gap_10_y {
  row-gap: var(--scale10);
}

.gap_10_x {
  -moz-column-gap: var(--scale10);
       column-gap: var(--scale10);
}

.gap_11 {
  gap: var(--scale11);
}

.gap_11_y {
  row-gap: var(--scale11);
}

.gap_11_x {
  -moz-column-gap: var(--scale11);
       column-gap: var(--scale11);
}

.gap_12 {
  gap: var(--scale12);
}

.gap_12_y {
  row-gap: var(--scale12);
}

.gap_12_x {
  -moz-column-gap: var(--scale12);
       column-gap: var(--scale12);
}

.gap_13 {
  gap: var(--scale13);
}

.gap_13_y {
  row-gap: var(--scale13);
}

.gap_13_x {
  -moz-column-gap: var(--scale13);
       column-gap: var(--scale13);
}

.gap_14 {
  gap: var(--scale14);
}

.gap_14_y {
  row-gap: var(--scale14);
}

.gap_14_x {
  -moz-column-gap: var(--scale14);
       column-gap: var(--scale14);
}

.gap_15 {
  gap: var(--scale15);
}

.gap_15_y {
  row-gap: var(--scale15);
}

.gap_15_x {
  -moz-column-gap: var(--scale15);
       column-gap: var(--scale15);
}

.gap_16 {
  gap: var(--scale16);
}

.gap_16_y {
  row-gap: var(--scale16);
}

.gap_16_x {
  -moz-column-gap: var(--scale16);
       column-gap: var(--scale16);
}

.gap_17 {
  gap: var(--scale17);
}

.gap_17_y {
  row-gap: var(--scale17);
}

.gap_17_x {
  -moz-column-gap: var(--scale17);
       column-gap: var(--scale17);
}

.gap_18 {
  gap: var(--scale18);
}

.gap_18_y {
  row-gap: var(--scale18);
}

.gap_18_x {
  -moz-column-gap: var(--scale18);
       column-gap: var(--scale18);
}

.gap_19 {
  gap: var(--scale19);
}

.gap_19_y {
  row-gap: var(--scale19);
}

.gap_19_x {
  -moz-column-gap: var(--scale19);
       column-gap: var(--scale19);
}

.gap_20 {
  gap: var(--scale20);
}

.gap_20_y {
  row-gap: var(--scale20);
}

.gap_20_x {
  -moz-column-gap: var(--scale20);
       column-gap: var(--scale20);
}

.gap_21 {
  gap: var(--scale21);
}

.gap_21_y {
  row-gap: var(--scale21);
}

.gap_21_x {
  -moz-column-gap: var(--scale21);
       column-gap: var(--scale21);
}

.gap_22 {
  gap: var(--scale22);
}

.gap_22_y {
  row-gap: var(--scale22);
}

.gap_22_x {
  -moz-column-gap: var(--scale22);
       column-gap: var(--scale22);
}

.gap_23 {
  gap: var(--scale23);
}

.gap_23_y {
  row-gap: var(--scale23);
}

.gap_23_x {
  -moz-column-gap: var(--scale23);
       column-gap: var(--scale23);
}

.gap_24 {
  gap: var(--scale24);
}

.gap_24_y {
  row-gap: var(--scale24);
}

.gap_24_x {
  -moz-column-gap: var(--scale24);
       column-gap: var(--scale24);
}

.gap_25 {
  gap: var(--scale25);
}

.gap_25_y {
  row-gap: var(--scale25);
}

.gap_25_x {
  -moz-column-gap: var(--scale25);
       column-gap: var(--scale25);
}

.gap_26 {
  gap: var(--scale26);
}

.gap_26_y {
  row-gap: var(--scale26);
}

.gap_26_x {
  -moz-column-gap: var(--scale26);
       column-gap: var(--scale26);
}

.gap_27 {
  gap: var(--scale27);
}

.gap_27_y {
  row-gap: var(--scale27);
}

.gap_27_x {
  -moz-column-gap: var(--scale27);
       column-gap: var(--scale27);
}

.gap_28 {
  gap: var(--scale28);
}

.gap_28_y {
  row-gap: var(--scale28);
}

.gap_28_x {
  -moz-column-gap: var(--scale28);
       column-gap: var(--scale28);
}

.gap_29 {
  gap: var(--scale29);
}

.gap_29_y {
  row-gap: var(--scale29);
}

.gap_29_x {
  -moz-column-gap: var(--scale29);
       column-gap: var(--scale29);
}

.gap_30 {
  gap: var(--scale30);
}

.gap_30_y {
  row-gap: var(--scale30);
}

.gap_30_x {
  -moz-column-gap: var(--scale30);
       column-gap: var(--scale30);
}

.gap_31 {
  gap: var(--scale31);
}

.gap_31_y {
  row-gap: var(--scale31);
}

.gap_31_x {
  -moz-column-gap: var(--scale31);
       column-gap: var(--scale31);
}

.gap_32 {
  gap: var(--scale32);
}

.gap_32_y {
  row-gap: var(--scale32);
}

.gap_32_x {
  -moz-column-gap: var(--scale32);
       column-gap: var(--scale32);
}

.gap_33 {
  gap: var(--scale33);
}

.gap_33_y {
  row-gap: var(--scale33);
}

.gap_33_x {
  -moz-column-gap: var(--scale33);
       column-gap: var(--scale33);
}

.gap_34 {
  gap: var(--scale34);
}

.gap_34_y {
  row-gap: var(--scale34);
}

.gap_34_x {
  -moz-column-gap: var(--scale34);
       column-gap: var(--scale34);
}

.gap_35 {
  gap: var(--scale35);
}

.gap_35_y {
  row-gap: var(--scale35);
}

.gap_35_x {
  -moz-column-gap: var(--scale35);
       column-gap: var(--scale35);
}

.gap_36 {
  gap: var(--scale36);
}

.gap_36_y {
  row-gap: var(--scale36);
}

.gap_36_x {
  -moz-column-gap: var(--scale36);
       column-gap: var(--scale36);
}

.gap_37 {
  gap: var(--scale37);
}

.gap_37_y {
  row-gap: var(--scale37);
}

.gap_37_x {
  -moz-column-gap: var(--scale37);
       column-gap: var(--scale37);
}

.gap_38 {
  gap: var(--scale38);
}

.gap_38_y {
  row-gap: var(--scale38);
}

.gap_38_x {
  -moz-column-gap: var(--scale38);
       column-gap: var(--scale38);
}

.gap_39 {
  gap: var(--scale39);
}

.gap_39_y {
  row-gap: var(--scale39);
}

.gap_39_x {
  -moz-column-gap: var(--scale39);
       column-gap: var(--scale39);
}

.gap_40 {
  gap: var(--scale40);
}

.gap_40_y {
  row-gap: var(--scale40);
}

.gap_40_x {
  -moz-column-gap: var(--scale40);
       column-gap: var(--scale40);
}

@media screen and (min-width: 768px) {
  .gap_0_pc {
    gap: var(--scale0);
  }
  .gap_0_y_pc {
    row-gap: var(--scale0);
  }
  .gap_0_x_pc {
    -moz-column-gap: var(--scale0);
         column-gap: var(--scale0);
  }
  .gap_1_pc {
    gap: var(--scale1);
  }
  .gap_1_y_pc {
    row-gap: var(--scale1);
  }
  .gap_1_x_pc {
    -moz-column-gap: var(--scale1);
         column-gap: var(--scale1);
  }
  .gap_2_pc {
    gap: var(--scale2);
  }
  .gap_2_y_pc {
    row-gap: var(--scale2);
  }
  .gap_2_x_pc {
    -moz-column-gap: var(--scale2);
         column-gap: var(--scale2);
  }
  .gap_3_pc {
    gap: var(--scale3);
  }
  .gap_3_y_pc {
    row-gap: var(--scale3);
  }
  .gap_3_x_pc {
    -moz-column-gap: var(--scale3);
         column-gap: var(--scale3);
  }
  .gap_4_pc {
    gap: var(--scale4);
  }
  .gap_4_y_pc {
    row-gap: var(--scale4);
  }
  .gap_4_x_pc {
    -moz-column-gap: var(--scale4);
         column-gap: var(--scale4);
  }
  .gap_5_pc {
    gap: var(--scale5);
  }
  .gap_5_y_pc {
    row-gap: var(--scale5);
  }
  .gap_5_x_pc {
    -moz-column-gap: var(--scale5);
         column-gap: var(--scale5);
  }
  .gap_6_pc {
    gap: var(--scale6);
  }
  .gap_6_y_pc {
    row-gap: var(--scale6);
  }
  .gap_6_x_pc {
    -moz-column-gap: var(--scale6);
         column-gap: var(--scale6);
  }
  .gap_7_pc {
    gap: var(--scale7);
  }
  .gap_7_y_pc {
    row-gap: var(--scale7);
  }
  .gap_7_x_pc {
    -moz-column-gap: var(--scale7);
         column-gap: var(--scale7);
  }
  .gap_8_pc {
    gap: var(--scale8);
  }
  .gap_8_y_pc {
    row-gap: var(--scale8);
  }
  .gap_8_x_pc {
    -moz-column-gap: var(--scale8);
         column-gap: var(--scale8);
  }
  .gap_9_pc {
    gap: var(--scale9);
  }
  .gap_9_y_pc {
    row-gap: var(--scale9);
  }
  .gap_9_x_pc {
    -moz-column-gap: var(--scale9);
         column-gap: var(--scale9);
  }
  .gap_10_pc {
    gap: var(--scale10);
  }
  .gap_10_y_pc {
    row-gap: var(--scale10);
  }
  .gap_10_x_pc {
    -moz-column-gap: var(--scale10);
         column-gap: var(--scale10);
  }
  .gap_11_pc {
    gap: var(--scale11);
  }
  .gap_11_y_pc {
    row-gap: var(--scale11);
  }
  .gap_11_x_pc {
    -moz-column-gap: var(--scale11);
         column-gap: var(--scale11);
  }
  .gap_12_pc {
    gap: var(--scale12);
  }
  .gap_12_y_pc {
    row-gap: var(--scale12);
  }
  .gap_12_x_pc {
    -moz-column-gap: var(--scale12);
         column-gap: var(--scale12);
  }
  .gap_13_pc {
    gap: var(--scale13);
  }
  .gap_13_y_pc {
    row-gap: var(--scale13);
  }
  .gap_13_x_pc {
    -moz-column-gap: var(--scale13);
         column-gap: var(--scale13);
  }
  .gap_14_pc {
    gap: var(--scale14);
  }
  .gap_14_y_pc {
    row-gap: var(--scale14);
  }
  .gap_14_x_pc {
    -moz-column-gap: var(--scale14);
         column-gap: var(--scale14);
  }
  .gap_15_pc {
    gap: var(--scale15);
  }
  .gap_15_y_pc {
    row-gap: var(--scale15);
  }
  .gap_15_x_pc {
    -moz-column-gap: var(--scale15);
         column-gap: var(--scale15);
  }
  .gap_16_pc {
    gap: var(--scale16);
  }
  .gap_16_y_pc {
    row-gap: var(--scale16);
  }
  .gap_16_x_pc {
    -moz-column-gap: var(--scale16);
         column-gap: var(--scale16);
  }
  .gap_17_pc {
    gap: var(--scale17);
  }
  .gap_17_y_pc {
    row-gap: var(--scale17);
  }
  .gap_17_x_pc {
    -moz-column-gap: var(--scale17);
         column-gap: var(--scale17);
  }
  .gap_18_pc {
    gap: var(--scale18);
  }
  .gap_18_y_pc {
    row-gap: var(--scale18);
  }
  .gap_18_x_pc {
    -moz-column-gap: var(--scale18);
         column-gap: var(--scale18);
  }
  .gap_19_pc {
    gap: var(--scale19);
  }
  .gap_19_y_pc {
    row-gap: var(--scale19);
  }
  .gap_19_x_pc {
    -moz-column-gap: var(--scale19);
         column-gap: var(--scale19);
  }
  .gap_20_pc {
    gap: var(--scale20);
  }
  .gap_20_y_pc {
    row-gap: var(--scale20);
  }
  .gap_20_x_pc {
    -moz-column-gap: var(--scale20);
         column-gap: var(--scale20);
  }
  .gap_21_pc {
    gap: var(--scale21);
  }
  .gap_21_y_pc {
    row-gap: var(--scale21);
  }
  .gap_21_x_pc {
    -moz-column-gap: var(--scale21);
         column-gap: var(--scale21);
  }
  .gap_22_pc {
    gap: var(--scale22);
  }
  .gap_22_y_pc {
    row-gap: var(--scale22);
  }
  .gap_22_x_pc {
    -moz-column-gap: var(--scale22);
         column-gap: var(--scale22);
  }
  .gap_23_pc {
    gap: var(--scale23);
  }
  .gap_23_y_pc {
    row-gap: var(--scale23);
  }
  .gap_23_x_pc {
    -moz-column-gap: var(--scale23);
         column-gap: var(--scale23);
  }
  .gap_24_pc {
    gap: var(--scale24);
  }
  .gap_24_y_pc {
    row-gap: var(--scale24);
  }
  .gap_24_x_pc {
    -moz-column-gap: var(--scale24);
         column-gap: var(--scale24);
  }
  .gap_25_pc {
    gap: var(--scale25);
  }
  .gap_25_y_pc {
    row-gap: var(--scale25);
  }
  .gap_25_x_pc {
    -moz-column-gap: var(--scale25);
         column-gap: var(--scale25);
  }
  .gap_26_pc {
    gap: var(--scale26);
  }
  .gap_26_y_pc {
    row-gap: var(--scale26);
  }
  .gap_26_x_pc {
    -moz-column-gap: var(--scale26);
         column-gap: var(--scale26);
  }
  .gap_27_pc {
    gap: var(--scale27);
  }
  .gap_27_y_pc {
    row-gap: var(--scale27);
  }
  .gap_27_x_pc {
    -moz-column-gap: var(--scale27);
         column-gap: var(--scale27);
  }
  .gap_28_pc {
    gap: var(--scale28);
  }
  .gap_28_y_pc {
    row-gap: var(--scale28);
  }
  .gap_28_x_pc {
    -moz-column-gap: var(--scale28);
         column-gap: var(--scale28);
  }
  .gap_29_pc {
    gap: var(--scale29);
  }
  .gap_29_y_pc {
    row-gap: var(--scale29);
  }
  .gap_29_x_pc {
    -moz-column-gap: var(--scale29);
         column-gap: var(--scale29);
  }
  .gap_30_pc {
    gap: var(--scale30);
  }
  .gap_30_y_pc {
    row-gap: var(--scale30);
  }
  .gap_30_x_pc {
    -moz-column-gap: var(--scale30);
         column-gap: var(--scale30);
  }
  .gap_31_pc {
    gap: var(--scale31);
  }
  .gap_31_y_pc {
    row-gap: var(--scale31);
  }
  .gap_31_x_pc {
    -moz-column-gap: var(--scale31);
         column-gap: var(--scale31);
  }
  .gap_32_pc {
    gap: var(--scale32);
  }
  .gap_32_y_pc {
    row-gap: var(--scale32);
  }
  .gap_32_x_pc {
    -moz-column-gap: var(--scale32);
         column-gap: var(--scale32);
  }
  .gap_33_pc {
    gap: var(--scale33);
  }
  .gap_33_y_pc {
    row-gap: var(--scale33);
  }
  .gap_33_x_pc {
    -moz-column-gap: var(--scale33);
         column-gap: var(--scale33);
  }
  .gap_34_pc {
    gap: var(--scale34);
  }
  .gap_34_y_pc {
    row-gap: var(--scale34);
  }
  .gap_34_x_pc {
    -moz-column-gap: var(--scale34);
         column-gap: var(--scale34);
  }
  .gap_35_pc {
    gap: var(--scale35);
  }
  .gap_35_y_pc {
    row-gap: var(--scale35);
  }
  .gap_35_x_pc {
    -moz-column-gap: var(--scale35);
         column-gap: var(--scale35);
  }
  .gap_36_pc {
    gap: var(--scale36);
  }
  .gap_36_y_pc {
    row-gap: var(--scale36);
  }
  .gap_36_x_pc {
    -moz-column-gap: var(--scale36);
         column-gap: var(--scale36);
  }
  .gap_37_pc {
    gap: var(--scale37);
  }
  .gap_37_y_pc {
    row-gap: var(--scale37);
  }
  .gap_37_x_pc {
    -moz-column-gap: var(--scale37);
         column-gap: var(--scale37);
  }
  .gap_38_pc {
    gap: var(--scale38);
  }
  .gap_38_y_pc {
    row-gap: var(--scale38);
  }
  .gap_38_x_pc {
    -moz-column-gap: var(--scale38);
         column-gap: var(--scale38);
  }
  .gap_39_pc {
    gap: var(--scale39);
  }
  .gap_39_y_pc {
    row-gap: var(--scale39);
  }
  .gap_39_x_pc {
    -moz-column-gap: var(--scale39);
         column-gap: var(--scale39);
  }
  .gap_40_pc {
    gap: var(--scale40);
  }
  .gap_40_y_pc {
    row-gap: var(--scale40);
  }
  .gap_40_x_pc {
    -moz-column-gap: var(--scale40);
         column-gap: var(--scale40);
  }
}
.order_-1 {
  order: -1;
}

.order_0 {
  order: 0;
}

.order_1 {
  order: 1;
}

.order_2 {
  order: 2;
}

.order_3 {
  order: 3;
}

.order_4 {
  order: 4;
}

.order_5 {
  order: 5;
}

@media screen and (min-width: 768px) {
  .order_-1_pc {
    order: -1;
  }
  .order_0_pc {
    order: 0;
  }
  .order_1_pc {
    order: 1;
  }
  .order_2_pc {
    order: 2;
  }
  .order_3_pc {
    order: 3;
  }
  .order_4_pc {
    order: 4;
  }
  .order_5_pc {
    order: 5;
  }
}
.flex {
  display: flex;
  flex-direction: var(--direction, row);
  justify-content: var(--justify-content);
  justify-items: var(--justify-items);
  align-content: var(--align-content);
  align-items: var(--align-items);
  flex-wrap: var(--wrap, nowrap);
}

.w_fit {
  width: -moz-fit-content;
  width: fit-content;
}

.w_100 {
  width: 100%;
}

.h_fit {
  height: -moz-fit-content;
  height: fit-content;
}

.fs_10 {
  font-size: var(--font-size10);
}

@media screen and (min-width: 768px) {
  .fs_10_pc {
    font-size: var(--font-size10);
  }
}
.fs_11 {
  font-size: var(--font-size11);
}

@media screen and (min-width: 768px) {
  .fs_11_pc {
    font-size: var(--font-size11);
  }
}
.fs_12 {
  font-size: var(--font-size12);
}

@media screen and (min-width: 768px) {
  .fs_12_pc {
    font-size: var(--font-size12);
  }
}
.fs_13 {
  font-size: var(--font-size13);
}

@media screen and (min-width: 768px) {
  .fs_13_pc {
    font-size: var(--font-size13);
  }
}
.fs_14 {
  font-size: var(--font-size14);
}

@media screen and (min-width: 768px) {
  .fs_14_pc {
    font-size: var(--font-size14);
  }
}
.fs_15 {
  font-size: var(--font-size15);
}

@media screen and (min-width: 768px) {
  .fs_15_pc {
    font-size: var(--font-size15);
  }
}
.fs_16 {
  font-size: var(--font-size16);
}

@media screen and (min-width: 768px) {
  .fs_16_pc {
    font-size: var(--font-size16);
  }
}
.fs_17 {
  font-size: var(--font-size17);
}

@media screen and (min-width: 768px) {
  .fs_17_pc {
    font-size: var(--font-size17);
  }
}
.fs_18 {
  font-size: var(--font-size18);
}

@media screen and (min-width: 768px) {
  .fs_18_pc {
    font-size: var(--font-size18);
  }
}
.fs_19 {
  font-size: var(--font-size19);
}

@media screen and (min-width: 768px) {
  .fs_19_pc {
    font-size: var(--font-size19);
  }
}
.fs_20 {
  font-size: var(--font-size20);
}

@media screen and (min-width: 768px) {
  .fs_20_pc {
    font-size: var(--font-size20);
  }
}
.fs_21 {
  font-size: var(--font-size21);
}

@media screen and (min-width: 768px) {
  .fs_21_pc {
    font-size: var(--font-size21);
  }
}
.fs_22 {
  font-size: var(--font-size22);
}

@media screen and (min-width: 768px) {
  .fs_22_pc {
    font-size: var(--font-size22);
  }
}
.fs_23 {
  font-size: var(--font-size23);
}

@media screen and (min-width: 768px) {
  .fs_23_pc {
    font-size: var(--font-size23);
  }
}
.fs_24 {
  font-size: var(--font-size24);
}

@media screen and (min-width: 768px) {
  .fs_24_pc {
    font-size: var(--font-size24);
  }
}
.fs_25 {
  font-size: var(--font-size25);
}

@media screen and (min-width: 768px) {
  .fs_25_pc {
    font-size: var(--font-size25);
  }
}
.fs_26 {
  font-size: var(--font-size26);
}

@media screen and (min-width: 768px) {
  .fs_26_pc {
    font-size: var(--font-size26);
  }
}
.fs_27 {
  font-size: var(--font-size27);
}

@media screen and (min-width: 768px) {
  .fs_27_pc {
    font-size: var(--font-size27);
  }
}
.fs_28 {
  font-size: var(--font-size28);
}

@media screen and (min-width: 768px) {
  .fs_28_pc {
    font-size: var(--font-size28);
  }
}
.fs_29 {
  font-size: var(--font-size29);
}

@media screen and (min-width: 768px) {
  .fs_29_pc {
    font-size: var(--font-size29);
  }
}
.fs_30 {
  font-size: var(--font-size30);
}

@media screen and (min-width: 768px) {
  .fs_30_pc {
    font-size: var(--font-size30);
  }
}
.fw_bold {
  font-weight: 700;
}

.fw_normal {
  font-weight: 400;
}

.d_in {
  display: inline;
}

.d_inBl {
  display: inline-block;
}

.d_bl {
  display: block;
}

.d_flex {
  display: flex;
}

.d_inFlex {
  display: inline-flex;
}

.d_grid {
  display: grid;
}

.d_inGrid {
  display: inline-grid;
}

.d_none {
  display: none;
}

.d_contents {
  display: contents;
}

@media screen and (max-width: 767px) {
  .d_only_pc {
    display: none !important;
  }
}
@media screen and (min-width: 768px) {
  .d_only_sp {
    display: none;
  }
}
.an_hv_line {
  padding-bottom: 5px;
  position: relative;
}
.an_hv_line::before {
  background: currentColor;
  content: "";
  width: 100%;
  height: 2px;
  position: absolute;
  left: 0;
  bottom: 0;
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform 0.3s;
}
.an_hv_line:hover {
  opacity: 1;
}
.an_hv_line:hover::before {
  transform-origin: left top;
  transform: scale(1, 1);
}

.an_hv_opacity {
  cursor: pointer;
  transition: opacity 0.3s;
}
.an_hv_opacity:hover {
  opacity: 0.7;
}

.bl_image {
  aspect-ratio: var(--aspect-ratio);
  -o-object-fit: var(--object-fit);
     object-fit: var(--object-fit);
  -o-object-position: var(--object-position);
     object-position: var(--object-position);
  width: var(--width);
  height: var(--height);
  max-height: var(--max-height);
  border-radius: var(--border-radius);
}
@media screen and (min-width: 768px) {
  .bl_image {
    aspect-ratio: var(--aspect-ratio-pc);
  }
}

.breadcrumbs {
  background-color: var(--color-white);
  font-size: 10px;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .breadcrumbs ol {
    width: 1140px;
    margin: 0 auto;
  }
}
.breadcrumbs ol {
  padding: 10px 20px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.breadcrumbs li:first-child {
  font-weight: 700;
}
.breadcrumbs li:last-child {
  color: var(--color-text-3);
}
.breadcrumbs li:not(:last-child):after {
  content: "/";
  margin-left: 10px;
}

@media screen and (min-width: 768px) {
  .ly_site {
    min-height: 100vh;
    width: 100vw;
    min-width: 1200px;
  }
}

.ly_header {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
}

.ly_footer {
  display: grid;
  width: 100%;
  background-color: #000;
  padding: 80px 24px 70px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .ly_footer {
    grid-template-columns: 1fr auto;
    padding: 120px 80px;
    min-width: 1280px;
  }
}
.ly_footer_list {
  display: grid;
  align-content: flex-start;
  margin-top: 40px;
  gap: 24px;
}
.ly_footer_list.has_child {
  gap: 16px;
}
.ly_footer_list.has_child > *:first-child {
  margin-bottom: 8px;
}
@media screen and (min-width: 768px) {
  .ly_footer_list {
    gap: 24px;
    margin-top: 0px;
  }
  .ly_footer_list.has_child {
    gap: 16px;
  }
  .ly_footer_list.has_child > *:first-child {
    margin-bottom: 8px;
  }
}
@media screen and (min-width: 768px) {
  .ly_footer_list_wrap {
    display: grid;
    grid-template-columns: auto auto auto;
    justify-content: flex-end;
    gap: 40px;
  }
}
@media screen and (min-width: 768px) {
  .ly_footer_list_item {
    border-bottom: none;
  }
  .ly_footer_list_item:nth-child(n+7) {
    grid-column: 2/3;
  }
  .ly_footer_list_item svg {
    display: none;
  }
}
.ly_footer_logo {
  display: contents;
}
@media screen and (min-width: 768px) {
  .ly_footer_logo {
    display: grid;
    align-items: center;
    justify-content: center;
    justify-items: center;
    margin-top: 40px;
  }
}
.ly_footer_logo_brand_img {
  width: auto;
  height: 32px;
}
@media screen and (min-width: 768px) {
  .ly_footer_logo_brand_img {
    height: 32px;
  }
}
@media screen and (max-width: 768px) {
  .ly_footer_logo_brand {
    display: block;
    text-align: left;
    grid-row: 1/2;
  }
}
@media screen and (min-width: 768px) {
  .ly_footer_logo {
    margin-top: 0;
    justify-content: flex-start;
    align-content: space-between;
    justify-items: normal;
    grid-column: 1/2;
    grid-row: 1/2;
  }
}
.ly_footer_logo_copyright {
  margin-top: 80px;
}
@media screen and (min-width: 768px) {
  .ly_footer_logo_copyright {
    margin-top: 0;
  }
}

.ly_footer_contactLink {
  display: block;
  padding: 40px 24px;
  background: var(--color-main);
}
.ly_footer_contactLink:hover {
  opacity: 1;
}
@media screen and (min-width: 768px) {
  .ly_footer_contactLink {
    padding: 120px 40px;
    background: linear-gradient(to right, var(--color-main) 12.5%, var(--color-main) 25%, var(--color-accent) 50%, var(--color-main) 87.5%, var(--color-main) 100%);
    background-size: 200% 100%;
    transition: background-position 0.3s ease;
  }
  .ly_footer_contactLink:hover {
    background-position: 100% 0;
  }
}
.ly_footer_contactLink_inner {
  display: grid;
  gap: 32px;
}
@media screen and (min-width: 768px) {
  .ly_footer_contactLink_inner {
    gap: 0px;
    grid-template-columns: 1fr auto;
    max-width: 1120px;
    margin: 0 auto;
  }
}
.ly_footer_contactLink_inner_button {
  padding-left: 24px !important;
  padding-right: 13px !important;
  border: none !important;
}
.ly_footer_contactLink_inner_button:hover {
  opacity: 1 !important;
}
@media screen and (min-width: 768px) {
  .ly_footer_contactLink_inner_button {
    padding-left: 45px !important;
    padding-right: 45px !important;
  }
}

.ly_section {
  padding: 0 20px;
}
@media screen and (min-width: 768px) {
  .ly_section {
    padding: 0 40px;
  }
  .ly_section_inner {
    width: 1024px;
    margin: 0 auto;
  }
  .ly_section_inner_large {
    width: 1120px;
    margin: 0 auto;
  }
  .ly_section_inner_middle {
    width: 800px;
    margin: 0 auto;
  }
  .ly_section_inner_small {
    width: 375px;
    margin: 0 auto;
  }
}
.ly_section.round {
  overflow: hidden;
  border-radius: 16px;
}
@media screen and (min-width: 768px) {
  .ly_section.round {
    border-radius: 48px;
  }
}

.fullWidth {
  margin: 0 -20px;
  width: calc(100% + 40px);
}
@media screen and (min-width: 768px) {
  .fullWidth {
    margin: 0 -40px;
    width: calc(100% + 80px);
  }
}

.headerNavbar {
  padding: 16px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: white;
}
@media screen and (min-width: 768px) {
  .headerNavbar {
    background-color: #ECEEF1;
  }
}
.headerNavbar_brand_logo {
  width: auto;
  height: 32px;
}
.headerNavbar_inner {
  display: flex;
  gap: 42px;
  align-items: center;
}
.headerNavbar_menuButton {
  position: relative;
  width: 24px;
  height: 24px;
  border: none;
  background: none;
  padding: 0;
}
.headerNavbar_menuButton_inner {
  position: absolute;
  width: 100%;
  height: 1px;
  background-color: var(--color-main);
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.headerNavbar_menuButton::before, .headerNavbar_menuButton::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  background-color: var(--color-main);
  left: 0;
  transform: translateY(-50%);
}
.headerNavbar_menuButton::before {
  top: calc(50% - 6px);
}
.headerNavbar_menuButton::after {
  top: calc(50% + 6px);
}
.headerNavbar_menuButton.close {
  margin-left: auto;
}
.headerNavbar_menuButton.close::before, .headerNavbar_menuButton.close::after {
  top: 50%;
  left: 50%;
  background-color: var(--color-white);
  height: 2px;
  transform-origin: center;
}
.headerNavbar_menuButton.close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.headerNavbar_menuButton.close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.headerNavbar_menu {
  display: grid;
  gap: 24px;
}
.headerNavbar_menu_child {
  display: grid;
  margin-top: 24px;
  margin-bottom: 8px;
  gap: 16px;
}
.headerNavbar_menu_wrap {
  display: grid;
  align-content: flex-start;
  padding: 24px;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--color-main);
  z-index: 999;
  transition: all 0.3s;
  transform: translateX(100%);
}
.headerNavbar_menu_wrap.active {
  transform: translateX(0);
}
@media screen and (min-width: 768px) {
  .headerNavbar_menu_wrap {
    display: none;
  }
}
.headerNavbar_menu_logo {
  margin-bottom: 32px;
  margin-right: auto;
}
.headerNavbar_menu_logo_img {
  width: auto;
  height: 32px;
}
.headerNavbar_link {
  position: relative;
}
.headerNavbar_link_child {
  position: absolute;
  bottom: -10px;
  left: 50%;
  transform: translateX(-50%) translateY(100%);
  transition: all 0.3s;
  overflow: hidden;
  visibility: hidden;
  padding: 16px 20px;
  background-color: white;
  border-radius: 8px;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  display: grid;
  gap: 8px;
  width: -moz-max-content;
  width: max-content;
}
.headerNavbar_link:hover .headerNavbar_link_child {
  max-height: 400px;
  visibility: visible;
  opacity: 1;
}

.bl_page_nav_button {
  display: block;
  border-bottom: 3px solid var(--color-gray-5);
  padding-bottom: 20px;
}
.bl_page_nav_button svg {
  transition: fill 0.3s;
}
.bl_page_nav_button:hover {
  opacity: 1;
  border-bottom: 3px solid var(--color-accent);
}
.bl_page_nav_button:hover svg {
  fill: var(--color-accent);
}
.bl_page_nav_button.is_active {
  border-bottom: 3px solid var(--color-accent);
}
.bl_page_nav_button.is_active svg {
  fill: var(--color-accent);
}

.bl_history {
  position: relative;
}
@media screen and (max-width: 768px) {
  .bl_history--has-image {
    padding-bottom: 30px;
  }
}
.bl_history_content {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: flex-start;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .bl_history_content {
    grid-template-columns: 1fr;
  }
}
.bl_history:first-child::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 1px;
  height: 40px;
  background-color: #fff;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .bl_history:first-child::before {
    left: 5px;
    transform: translateX(0);
  }
}
.bl_history:last-child::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 1px;
  height: 55px;
  background-color: #fff;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .bl_history:last-child::before {
    left: 5px;
    transform: translateX(0);
  }
}
.bl_history_inner {
  display: grid;
  gap: 8px;
  align-items: flex-start;
  width: 100%;
  padding: 20px 0;
  position: relative;
}
@media screen and (max-width: 768px) {
  .bl_history_inner {
    flex-direction: column;
    gap: 12px;
    padding: 24px 0;
  }
}
.bl_history_date {
  display: flex;
  align-items: center;
  gap: 16px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .bl_history_date {
    gap: 12px;
  }
}
.bl_history_dot {
  background-color: #E11E1F;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  position: absolute;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .bl_history_dot {
    width: 10px;
    height: 10px;
  }
}
.bl_history_image_wrapper {
  position: absolute;
  width: 60%;
  z-index: -1;
  opacity: 0.5;
}
@media screen and (max-width: 768px) {
  .bl_history_image_wrapper {
    top: 30px !important;
    right: 0px !important;
    bottom: auto !important;
    padding-left: 24px;
  }
}
.bl_history_dateText {
  font-size: 40px;
  font-weight: 600;
  color: #E11E1F;
  line-height: 1;
  font-family: var(--sub-font);
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .bl_history_dateText {
    font-size: 20px;
  }
}
.bl_history_event {
  flex: 1;
}
.bl_history_event p {
  font-size: 16px;
  font-weight: 400;
  color: #1A0303;
  line-height: 1;
  margin: 0;
}
@media screen and (max-width: 768px) {
  .bl_history_event p {
    font-size: 14px;
  }
}
@media screen and (min-width: 768px) {
  .bl_history--left .bl_history_inner {
    flex-direction: row;
    justify-items: flex-end;
  }
  .bl_history--left .bl_history_date {
    justify-content: flex-end;
    padding-right: 40px;
  }
  .bl_history--left .bl_history_dot {
    right: -7px;
    top: 50%;
    transform: translateY(-50%);
  }
  .bl_history--left .bl_history_event {
    padding-right: 40px;
    text-align: right;
  }
  .bl_history--left .bl_history_image_wrapper {
    left: 0;
    transform: translateX(-50%);
  }
}
@media screen and (min-width: 768px) {
  .bl_history--right .bl_history_inner {
    grid-column: 2/3;
    flex-direction: row-reverse;
  }
  .bl_history--right .bl_history_date {
    justify-content: flex-start;
    padding-left: 40px;
  }
  .bl_history--right .bl_history_dot {
    left: -7px;
    top: 50%;
    transform: translateY(-50%);
  }
  .bl_history--right .bl_history_event {
    padding-left: 40px;
    text-align: left;
  }
  .bl_history--right .bl_history_image_wrapper {
    right: 0;
    transform: translateX(50%);
  }
}
@media screen and (max-width: 768px) {
  .bl_history--left .bl_history_date, .bl_history--right .bl_history_date {
    position: relative;
    padding-left: 24px;
  }
  .bl_history--left .bl_history_dot, .bl_history--right .bl_history_dot {
    left: 0;
    top: 50%;
    transform: translateY(-50%);
  }
  .bl_history--left .bl_history_event, .bl_history--right .bl_history_event {
    padding-left: 24px;
  }
}
.bl_history:last-child .bl_history_inner {
  border-bottom: none;
}

.bl_historyContainer {
  position: relative;
  width: 100%;
  z-index: 1;
}
.bl_historyContainer::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: 1px;
  background-color: #EEECEC;
  transform: translateX(-50%);
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .bl_historyContainer::before {
    left: 5px;
    transform: translateX(0);
  }
}

.co_text {
  font-size: var(--font-size);
  color: var(--color);
  text-align: var(--text-align);
  letter-spacing: var(--letter-spacing);
  font-weight: var(--font-weight);
  line-height: var(--line-height);
  font-family: var(--font-family);
  white-space: var(--white-space);
  word-break: var(--word-break);
}
.co_text_clamp_1 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
}
.co_text_clamp_2 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.co_text_clamp_3 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}
.co_text_clamp_4 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden;
}
.co_text_clamp_5 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
  overflow: hidden;
}
.co_text_clamp_6 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 6;
  overflow: hidden;
}
.co_text_clamp_7 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 7;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .co_text_clamp_1_pc {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
  }
  .co_text_clamp_2_pc {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
  }
  .co_text_clamp_3_pc {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
  }
  .co_text_clamp_4_pc {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    overflow: hidden;
  }
  .co_text_clamp_5_pc {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5;
    overflow: hidden;
  }
  .co_text_clamp_6_pc {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 6;
    overflow: hidden;
  }
  .co_text_clamp_7_pc {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 7;
    overflow: hidden;
  }
}
@media screen and (min-width: 768px) {
  .co_text .sp {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .co_text .pc {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .co_text {
    font-size: var(--pc-font-size, var(--font-size));
    color: var(--pc-color, var(--color));
    text-align: var(--pc-text-align, var(--text-align));
    letter-spacing: var(--pc-letter-spacing, var(--letter-spacing));
    font-weight: var(--pc-font-weight, var(--font-weight));
    line-height: var(--pc-line-height, var(--line-height));
    font-family: var(--pc-font-family, var(--font-family));
    white-space: var(--pc-white-space, var(--white-space));
    word-break: var(--pc-font-break, var(--word-break));
  }
}
.co_text_content *:not(:first-child) {
  margin-top: 16px;
}
.co_text_content iframe {
  width: 100%;
  aspect-ratio: 1.74;
  height: auto;
}
.co_text_content h2 {
  font-weight: 800;
  font-size: 18px !important;
}
.co_text_content h3 {
  font-size: 16px !important;
}
.co_text_content a {
  font-size: 13px;
  text-decoration: underline;
  color: var(--text-1) !important;
}
.co_text_content hr {
  margin: 0 -20px;
  border: 0.5px solid var(--color-gray-2);
}
.co_text_content table {
  width: 100%;
}
.co_text_content pre {
  text-wrap: auto;
}

.bl_button {
  display: grid;
  grid-template-columns: var(--columns);
  gap: 10px;
  font-weight: 800;
  font-size: 16px;
  line-height: 1;
  justify-content: center;
  align-items: center;
  border-radius: 999px;
  transition: opacity 0.3s;
}
.bl_button.medium {
  padding: 16px 35px 16px;
}
.bl_button.big {
  padding: 13px 40px;
}
.bl_button.small {
  padding: 0;
  display: grid;
  place-items: center;
  place-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  aspect-ratio: 1/1;
  grid-template-columns: 1fr;
}
.bl_button.small svg {
  margin-top: 0px;
}
.bl_button.withShadow {
  box-shadow: 0 0 7.62px 0 rgba(0, 0, 0, 0.25);
}
.bl_button:hover {
  opacity: 0.6;
}
.bl_button.color_1 {
  background-color: var(--color-white);
  color: var(--color-text-3);
  border: 1px solid var(--color-text-3);
}
.bl_button.color_2 {
  background-color: var(--color-main);
  color: var(--color-white);
  border: 1px solid transparent;
}
.bl_button.color_3 {
  background-color: var(--color-accent);
  color: var(--color-white);
  border: none;
}
.bl_button.color_4 {
  background-color: var(--color-white);
  color: var(--color-text-3);
  border: none;
}
.bl_button.color_5 {
  background-color: #E11E1F;
  color: #FFFFFF;
  border: 2px solid transparent;
  border-radius: 50px;
  padding: 16px 24px 16px 32px;
  transition: all 0.3s ease;
}
.bl_button.color_5:hover {
  opacity: 1;
  background-color: #FFFFFF;
  color: #E11E1F;
  border-color: #E11E1F;
}
.bl_button.color_5:hover svg {
  fill: #E11E1F;
}
.bl_button.color_5:hover svg path {
  fill: #E11E1F;
}
.bl_button.color_5 svg {
  width: 16px;
  height: 16px;
  margin-top: 0;
}
@media screen and (max-width: 768px) {
  .bl_button.color_5 {
    padding: 12px 20px 12px 24px;
    font-size: 14px;
  }
}
.bl_button svg {
  margin-top: 5px;
  fill: currentColor;
}
.bl_button svg path {
  fill: currentColor;
}
.bl_button.color_3.animation {
  position: relative;
  overflow: hidden;
}
.bl_button.color_3.animation::before {
  display: block;
  content: "";
  position: absolute;
  inset: 0;
  background-color: var(--color-main);
  transition: transform 0.3s ease;
  transform: scaleX(0);
  transform-origin: right;
}
.bl_button.color_3.animation:hover {
  opacity: 1;
}
.bl_button.color_3.animation .bl_button_content {
  position: relative;
  z-index: 1;
}
.bl_button.color_3.animation:hover::before {
  transform: scaleX(1);
  transform-origin: left;
}
.bl_button.bl_cv_button {
  width: 100%;
  grid-template-columns: 24px auto 24px;
  padding: 16px;
  font-size: clamp(0.5rem, -0.8462rem + 6.1538vw, 1rem);
}
.bl_button.bl_cv_button_icon {
  grid-column: 3/4;
}
@media screen and (min-width: 768px) {
  .bl_button.bl_cv_button {
    width: 375px;
    margin: 0 auto;
  }
}
.bl_button .bl_cv_button_text {
  font-size: clamp(0.875rem, 0.5385rem + 1.5385vw, 1rem);
  line-height: 1.2;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .bl_button .bl_cv_button_text {
    font-size: 16px;
  }
}
.bl_button .bl_cv_button_text_wrap {
  display: grid;
  gap: 8px;
  grid-column: 2/3;
}
.bl_button .bl_cv_button_text_sub {
  font-size: 14px;
  line-height: 1;
  font-weight: 400;
  text-align: center;
}

.bl_spacer {
  height: var(--height_pc);
  width: var(--width_pc);
}
@media screen and (max-width: 768px) {
  .bl_spacer {
    height: var(--height);
    width: var(--width);
  }
}

.bl_greeting_card {
  display: grid;
  gap: 24px;
}
@media screen and (min-width: 768px) {
  .bl_greeting_card {
    grid-template-columns: 320px 1fr;
    gap: 80px;
  }
}

.bl_faq_item {
  padding: 24px 24px 0 24px;
  border-radius: 8px;
  background-color: white;
  border: 1px solid var(--color-gray-5);
  cursor: pointer;
  width: 100%;
}
.bl_faq_item .bl_icon {
  transition: transform 0.3s ease-in-out;
}
.bl_faq_item_input {
  display: none;
}
.bl_faq_item_question {
  padding-bottom: 24px;
}
.bl_faq_item_answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease-in-out;
}
.bl_faq_item_answer_inner {
  padding-top: 24px;
  padding-bottom: 24px;
  border-top: 1px solid var(--color-gray-5);
}
.bl_faq_item_input:checked + .bl_faq_item .bl_icon {
  transform: rotate(180deg);
}
.bl_faq_item_input:checked + .bl_faq_item .bl_faq_item_answer {
  max-height: 200px;
}

.bl_viewSite {
  display: block;
  padding: 40px 24px;
  background: var(--color-accent);
}
.bl_viewSite:hover {
  opacity: 1;
}
@media screen and (min-width: 768px) {
  .bl_viewSite {
    padding: 120px 40px;
  }
}
.bl_viewSite_inner {
  display: grid;
  gap: 32px;
}
@media screen and (min-width: 768px) {
  .bl_viewSite_inner {
    gap: 0px;
    grid-template-columns: 1fr auto;
    max-width: 1120px;
    margin: 0 auto;
  }
}
.bl_viewSite_inner_button {
  padding-left: 24px !important;
  padding-right: 13px !important;
}
@media screen and (min-width: 768px) {
  .bl_viewSite_inner_button {
    padding-left: 45px !important;
    padding-right: 45px !important;
  }
}

.pagenation .nav-links {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 24px;
  padding: 0 20px;
}
.pagenation .page-numbers {
  display: flex;
  font-weight: 600;
  width: 48px;
  height: 48px;
  font-size: 16px;
  font-family: var(--main-font);
  text-align: center;
  place-items: center;
  justify-content: center;
  background-color: var(--color-white);
  border-radius: 4px;
}
.pagenation .page-numbers.dots {
  border: none;
}
.pagenation .page-numbers.current {
  background-color: var(--color-accent);
  color: var(--color-white);
}

.bl_column_tag {
  border-radius: 4px;
}
@media screen and (min-width: 768px) {
  .bl_column_tag {
    min-width: 130px;
    border-radius: 8px;
  }
}

.bl_member_card_modal {
  position: fixed;
  top: 0;
  left: 0;
  padding: 24px;
  width: 100%;
  height: 100%;
  background-color: rgba(20, 40, 79, 0.8);
  z-index: 999;
  transition: all 0.3s;
  opacity: 0;
  visibility: hidden;
  display: grid;
  place-items: center;
}
.bl_member_card_modal.active {
  opacity: 1;
  visibility: visible;
}
.bl_member_card_modal_inner {
  background-color: var(--color-white);
  border-radius: 16px;
  padding: 32px;
}
@media screen and (min-width: 768px) {
  .bl_member_card_modal_inner {
    width: 960px;
    padding: 60px;
  }
}
.bl_member_card_modal_inner_image {
  width: 160px !important;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .bl_member_card_modal_inner_image {
    width: 100% !important;
  }
}

.bl_news_item_title {
  max-width: 100%;
  padding-bottom: 5px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .bl_news_item_title {
    width: -moz-max-content;
    width: max-content;
    text-overflow: ellipsis;
    overflow: hidden;
    display: block;
  }
}
.bl_news_item_title::before {
  background: currentColor;
  content: "";
  width: 100%;
  height: 2px;
  position: absolute;
  left: 0;
  bottom: 0;
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform 0.3s;
}
@media screen and (min-width: 768px) {
  .bl_news_item_title_wrapper {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}
.bl_news_item:hover .bl_news_item_title::before {
  transform-origin: left top;
  transform: scale(1, 1);
}

@media screen and (min-width: 768px) {
  .our_service_link {
    padding: 40px;
    border-radius: 8px;
    transition: 0.3s;
  }
  .our_service_link:hover {
    opacity: 1;
    box-shadow: 0 0 40px rgba(0, 0, 0, 0.15);
  }
}

.bl_sampleCard {
  display: flex;
  flex-direction: column;
  background-color: #FFFFFF;
  border-radius: 8px;
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.bl_sampleCard--shadow {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.bl_sampleCard--shadow:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
}
.bl_sampleCard_imageWrapper {
  width: 100%;
  height: 200px;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .bl_sampleCard_imageWrapper {
    height: 250px;
  }
}
.bl_sampleCard_image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.3s ease;
}
.bl_sampleCard:hover .bl_sampleCard_image {
  transform: scale(1.05);
}
.bl_sampleCard_content {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 16px;
  gap: 12px;
}
@media screen and (min-width: 768px) {
  .bl_sampleCard_content {
    padding: 24px;
    gap: 16px;
  }
}
.bl_sampleCard_title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
  color: #333333;
  margin: 0;
}
@media screen and (min-width: 768px) {
  .bl_sampleCard_title {
    font-size: 24px;
  }
}
.bl_sampleCard_description {
  font-size: 14px;
  line-height: 1.6;
  color: #666666;
  margin: 0;
  flex: 1;
}
@media screen and (min-width: 768px) {
  .bl_sampleCard_description {
    font-size: 16px;
  }
}
.bl_sampleCard .bl_button {
  align-self: flex-start;
  margin-top: auto;
}

.bl_serviceList {
  width: 100%;
}
.bl_serviceList_inner {
  position: relative;
  max-width: 1120px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
@media screen and (max-width: 768px) {
  .bl_serviceList_inner {
    flex-direction: column;
  }
}
.bl_serviceList_items {
  display: flex;
  flex-direction: column;
  gap: 0;
  position: relative;
  z-index: 2;
}
.bl_serviceList_item {
  width: 480px;
  display: block;
}
.bl_serviceList_item .bl_serviceList_title {
  transition: color 0.3s ease;
}
.bl_serviceList_item:hover {
  opacity: 1;
}
.bl_serviceList_item:hover .bl_serviceList_title {
  color: #E11E1F;
}
@media screen and (max-width: 768px) {
  .bl_serviceList_item {
    width: 100%;
  }
}
.bl_serviceList_content {
  padding-top: 48px;
  padding-bottom: 48px;
}
@media screen and (max-width: 768px) {
  .bl_serviceList_content {
    padding-top: 32px;
    padding-bottom: 32px;
  }
}
.bl_serviceList_header {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 24px;
}
@media screen and (max-width: 768px) {
  .bl_serviceList_header {
    gap: 12px;
  }
}
.bl_serviceList_number {
  color: #E11E1F;
  font-family: "Avenir Next", -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans Serif";
  font-weight: 700;
  font-size: 16px;
  line-height: 1;
  display: inline-block;
  min-width: 20px;
}
@media screen and (max-width: 768px) {
  .bl_serviceList_number {
    font-size: 60px;
  }
}
.bl_serviceList_title {
  color: #1A0303;
  font-family: "Noto Sans JP", "Noto Sans Serif";
  font-weight: 700;
  font-size: 24px;
  line-height: 1;
  margin: 0;
}
@media screen and (max-width: 768px) {
  .bl_serviceList_title {
    font-size: 20px;
  }
}
.bl_serviceList_body {
  padding-left: 44px;
}
@media screen and (max-width: 768px) {
  .bl_serviceList_body {
    padding-left: 0px;
  }
}
.bl_serviceList_description {
  color: #1A0303;
  font-family: "Noto Sans JP", "Noto Sans Serif";
  font-weight: 400;
  font-size: 16px;
  line-height: 1.5;
  margin: 0;
}
@media screen and (max-width: 768px) {
  .bl_serviceList_description {
    font-size: 14px;
  }
}
.bl_serviceList_divider {
  width: 100%;
  height: 1px;
  background-color: #DBD1D1;
}
.bl_serviceList_image {
  position: absolute;
  right: 0;
  top: 0;
  width: 520px;
  height: 520px;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .bl_serviceList_image {
    display: none;
  }
}
.bl_serviceList_image img {
  display: none;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.bl_serviceAccordion {
  width: 100%;
}
.bl_serviceAccordion_grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
  max-width: 1120px;
  margin: 0 auto;
  align-items: flex-start;
}
@media screen and (max-width: 768px) {
  .bl_serviceAccordion_grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
.bl_serviceAccordion_item {
  position: relative;
  border-radius: 5px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
}
.bl_serviceAccordion_item:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.bl_serviceAccordion_item.is-active .bl_serviceAccordion_icon {
  transform: rotate(45deg);
}
.bl_serviceAccordion_item.is-active .bl_serviceAccordion_content {
  display: block;
}
.bl_serviceAccordion_link {
  display: block;
  text-decoration: underline;
  color: var(--color-text-3);
  text-align: right;
  margin-top: 8px;
}
.bl_serviceAccordion_button {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 160px;
  padding: 92px 112px;
  border: none;
  background-color: transparent;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  cursor: pointer;
  transition: all 0.3s ease;
}
.bl_serviceAccordion_button::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(35, 24, 21, 0.3);
  z-index: 1;
}
.bl_serviceAccordion_button:hover::before {
  background-color: rgba(35, 24, 21, 0.4);
}
@media screen and (max-width: 768px) {
  .bl_serviceAccordion_button {
    height: 120px;
    padding: 40px 20px;
  }
}
.bl_serviceAccordion_title {
  position: relative;
  color: #FFFFFF;
  font-family: Inter, "Noto Sans Serif";
  font-size: 24px;
  font-weight: 700;
  line-height: 1.21;
  text-align: center;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .bl_serviceAccordion_title {
    font-size: 18px;
  }
}
.bl_serviceAccordion_icon {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 19px;
  height: 19px;
  z-index: 2;
  transition: transform 0.3s ease;
}
.bl_serviceAccordion_icon path {
  stroke: #FFFFFF;
}
.bl_serviceAccordion_content {
  display: none;
  background-color: #FFFFFF;
  border: 1px solid #DBD1D1;
  border-top: none;
}
.bl_serviceAccordion_content_inner {
  padding: 32px;
  color: #1A0303;
  font-family: Inter, "Noto Sans Serif";
  font-size: 16px;
  font-weight: 500;
  line-height: 1.21;
}
@media screen and (max-width: 768px) {
  .bl_serviceAccordion_content_inner {
    padding: 20px;
    font-size: 14px;
  }
}

.bl_groupCompanyItem {
  width: 100%;
  max-width: 1120px;
  margin: 0 auto;
}
.bl_groupCompanyItem_link {
  text-decoration: none;
  display: block;
  color: inherit;
  transition: all 0.3s ease;
}
.bl_groupCompanyItem_link:hover .bl_groupCompanyItem_image img {
  transform: scale(1.05);
}
.bl_groupCompanyItem_inner {
  display: flex;
  align-items: center;
  gap: 40px;
}
@media screen and (max-width: 768px) {
  .bl_groupCompanyItem_inner {
    flex-direction: column;
    gap: 24px;
  }
}
.bl_groupCompanyItem_image {
  flex-shrink: 0;
  width: 280px;
  height: 187px;
  overflow: hidden;
  border-radius: 5px;
  background-color: #f5f5f5;
}
@media screen and (max-width: 768px) {
  .bl_groupCompanyItem_image {
    width: 100%;
    height: auto;
    aspect-ratio: 280/187;
  }
}
.bl_groupCompanyItem_image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.3s ease;
}
.bl_groupCompanyItem_imagePlaceholder {
  width: 100%;
  height: 100%;
  background-color: #e0e0e0;
}
.bl_groupCompanyItem_content {
  flex: 1;
  max-width: 824px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 8px 0;
}
@media screen and (max-width: 768px) {
  .bl_groupCompanyItem_content {
    width: 100%;
    max-width: none;
  }
}
.bl_groupCompanyItem_name {
  color: #1A0303;
  font-family: "Noto Sans JP", "Noto Sans Serif";
  font-weight: 700;
  font-size: 24px;
  line-height: 1.5;
  margin: 0;
}
@media screen and (max-width: 768px) {
  .bl_groupCompanyItem_name {
    font-size: 20px;
  }
}
.bl_groupCompanyItem_info {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
@media screen and (max-width: 768px) {
  .bl_groupCompanyItem_info {
    gap: 12px;
  }
}
.bl_groupCompanyItem_infoItem {
  display: flex;
  align-items: center;
  gap: 16px;
  font-family: "Noto Sans JP", "Noto Sans Serif";
  font-size: 16px;
  line-height: 1.5;
  color: #1A0303;
}
@media screen and (max-width: 768px) {
  .bl_groupCompanyItem_infoItem {
    font-size: 14px;
    gap: 12px;
  }
}
.bl_groupCompanyItem_infoLabel {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 16px;
  width: 92px;
  background-color: #FFFFFF;
  border: 1px solid #E11E1F;
  color: #E11E1F;
  font-weight: 500;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .bl_groupCompanyItem_infoLabel {
    padding: 2px 12px;
    font-size: 14px;
  }
}
.bl_groupCompanyItem_infoValue {
  font-weight: 500;
  flex: 1;
}
.bl_groupCompanyItem--shadow {
  box-shadow: 0px 0px 40px 0px rgba(0, 0, 0, 0.1);
  padding: 24px;
  background-color: #FFFFFF;
  border-radius: 8px;
}
@media screen and (max-width: 768px) {
  .bl_groupCompanyItem--shadow .bl_groupCompanyItem_inner {
    padding: 0;
  }
}

.bl_phoneContact {
  display: inline-block;
}
.bl_phoneContact_box {
  background-color: #FFFFFF;
  box-shadow: 0px 0px 40px 0px rgba(0, 0, 0, 0.1);
  padding: 32px 40px;
  width: 520px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  border-radius: 8px;
}
@media screen and (max-width: 768px) {
  .bl_phoneContact_box {
    width: 100%;
    max-width: 520px;
    padding: 24px 20px;
  }
}
.bl_phoneContact_header {
  display: flex;
  flex-direction: column;
  gap: 8px;
  text-align: center;
}
.bl_phoneContact_title {
  color: #1A0303;
  font-family: "Noto Sans JP", "Noto Sans Serif";
  font-weight: 700;
  font-size: 24px;
  line-height: 1.5;
  margin: 0;
}
@media screen and (max-width: 768px) {
  .bl_phoneContact_title {
    font-size: 20px;
  }
}
.bl_phoneContact_businessHours {
  color: #1A0303;
  font-family: "Noto Sans JP", "Noto Sans Serif";
  font-weight: 700;
  font-size: 16px;
  line-height: 1.5;
  margin: 0;
}
@media screen and (max-width: 768px) {
  .bl_phoneContact_businessHours {
    font-size: 14px;
  }
}
.bl_phoneContact_phoneNumber {
  display: flex;
  align-items: center;
  gap: 8px;
}
@media screen and (max-width: 768px) {
  .bl_phoneContact_phoneNumber {
    gap: 4px;
  }
}
.bl_phoneContact_icon {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .bl_phoneContact_icon {
    width: 20px;
    height: 20px;
  }
}
.bl_phoneContact_number {
  color: #E11E1F;
  font-family: "DIN 2014 Narrow", "Arial Narrow", Arial, "Noto Sans Serif";
  font-weight: 700;
  font-size: 54px;
  line-height: 1;
  letter-spacing: -0.02em;
}
@media screen and (max-width: 768px) {
  .bl_phoneContact_number {
    font-size: 36px;
  }
}
.bl_phoneContact_button {
  margin-top: 16px;
}
.bl_phoneContact_button .bl_button {
  background-color: #E11E1F;
  color: #FFFFFF;
  padding: 16px 24px 16px 32px;
  border-radius: 50px;
  font-family: "Noto Sans JP", "Noto Sans Serif";
  font-weight: 700;
  font-size: 16px;
  line-height: 1.2;
  display: inline-flex;
  align-items: center;
  gap: 16px;
  text-decoration: none;
  transition: all 0.3s ease;
}
.bl_phoneContact_button .bl_button:hover {
  background-color: rgb(180, 24, 24.8);
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}
@media screen and (max-width: 768px) {
  .bl_phoneContact_button .bl_button {
    width: 100%;
    justify-content: center;
  }
}
@media screen and (max-width: 768px) {
  .bl_phoneContact_button {
    width: 100%;
  }
}

/**
 * Contact Card Component
 * Based on Figma design node-id=3-1189
 */
.bl_contactCard {
  display: grid;
  align-items: center;
  background-color: #FFFFFF;
  box-shadow: 0px 0px 40px 0px rgba(0, 0, 0, 0.1);
  border-radius: 8px;
  overflow: hidden;
  width: 520px;
  max-width: 100%;
}
.bl_contactCard_inner {
  padding: 32px 40px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}
@media screen and (max-width: 768px) {
  .bl_contactCard_inner {
    padding: 24px 20px;
    gap: 12px;
  }
}
.bl_contactCard_header {
  display: flex;
  flex-direction: column;
  gap: 8px;
  text-align: center;
}
.bl_contactCard_title {
  font-family: "Noto Sans JP", "Noto Sans Serif";
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5;
  color: #1A0303;
  margin: 0;
}
@media screen and (max-width: 768px) {
  .bl_contactCard_title {
    font-size: 20px;
  }
}
.bl_contactCard_subtitle {
  font-family: "Noto Sans JP", "Noto Sans Serif";
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  color: #1A0303;
  margin: 0;
}
@media screen and (max-width: 768px) {
  .bl_contactCard_subtitle {
    font-size: 14px;
  }
}
.bl_contactCard_info {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 8px 0;
}
@media screen and (max-width: 768px) {
  .bl_contactCard_info {
    gap: 12px;
    margin: 4px 0;
  }
}
.bl_contactCard_icon {
  width: 39px;
  height: 40px;
  flex-shrink: 0;
}
.bl_contactCard_icon svg {
  width: 100%;
  height: 100%;
}
.bl_contactCard_icon svg path {
  fill: #E11E1F;
}
@media screen and (max-width: 768px) {
  .bl_contactCard_icon {
    width: 32px;
    height: 32px;
  }
}
.bl_contactCard_number {
  text-align: center;
}
.bl_contactCard_numberLink, .bl_contactCard_numberText {
  font-family: "Oswald", "Arial Narrow", "Noto Sans Serif";
  font-size: 54px;
  font-weight: 700;
  line-height: 1;
  color: #1A0303;
  text-decoration: none;
}
@media screen and (max-width: 768px) {
  .bl_contactCard_numberLink, .bl_contactCard_numberText {
    font-size: 36px;
  }
}
.bl_contactCard_numberLink:hover, .bl_contactCard_numberText:hover {
  color: #E11E1F;
}
.bl_contactCard_bottomText {
  text-align: center;
  font-weight: 700;
  font-size: 16px;
  line-height: 150%;
  letter-spacing: 0%;
}
.bl_contactCard_button {
  width: 100%;
  display: grid;
  justify-items: center;
}
.bl_contactCard_button .bl_button {
  width: 100%;
  justify-content: center;
}
.bl_contactCard_button .bl_button .bl_button_content {
  font-family: "Noto Sans JP", "Noto Sans Serif";
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
}
@media screen and (max-width: 768px) {
  .bl_contactCard_button .bl_button {
    font-size: 14px;
    padding: 12px 20px;
  }
}
.bl_contactCard--email .bl_contactCard_inner {
  min-height: auto;
}
.bl_contactCard--email .bl_contactCard_info {
  flex-direction: column;
  gap: 8px;
  text-align: center;
}
.bl_contactCard--phone .bl_contactCard_inner {
  min-height: auto;
}

.bl_contactCards_inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: stretch;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .bl_contactCards_inner {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}
.bl_contactCards_inner.onColumn {
  grid-template-columns: 1fr;
  justify-items: center;
}
.bl_contactCards_inner.onColumn .bl_contactCard {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .bl_contactCards_inner.onColumn .bl_contactCard {
    width: 520px;
    height: 270px;
  }
}
.bl_contactCards .bl_contactCard {
  width: 100%;
}

/**
 * Company Info Cards Component
 * About page company information cards section
 */
.bl_companyInfoCards {
  background-color: #FFFFFF;
  padding: 0 80px 160px;
}
@media screen and (min-width: 768px) {
  .bl_companyInfoCards {
    padding: 0 40px 120px;
  }
}
@media screen and (max-width: 768px) {
  .bl_companyInfoCards {
    padding: 0 20px 80px;
  }
}
.bl_companyInfoCards_inner {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  max-width: 1120px;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .bl_companyInfoCards_inner {
    gap: 24px;
  }
}
@media screen and (max-width: 768px) {
  .bl_companyInfoCards_inner {
    flex-direction: column;
    gap: 16px;
  }
}
.bl_companyInfoCards_card {
  flex: 0 0 540px;
  max-width: 540px;
  min-height: 200px;
  border-radius: 8px;
  overflow: hidden;
  display: block;
  text-decoration: none;
  color: inherit;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
@media screen and (min-width: 1000px) {
  .bl_companyInfoCards_card {
    flex: 0 1 calc(50% - 20px);
    max-width: calc(50% - 20px);
  }
}
@media screen and (min-width: 768px) {
  .bl_companyInfoCards_card {
    flex: 0 1 calc(50% - 12px);
    max-width: calc(50% - 12px);
  }
}
@media screen and (max-width: 768px) {
  .bl_companyInfoCards_card {
    flex: 1 1 100%;
    max-width: 100%;
    min-height: 160px;
  }
}
.bl_companyInfoCards_card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
}
.bl_companyInfoCards_cardBg {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  width: 100%;
  height: 100%;
  min-height: 200px;
}
@media screen and (max-width: 768px) {
  .bl_companyInfoCards_cardBg {
    min-height: 160px;
  }
}
.bl_companyInfoCards_cardContent {
  padding: 80px 24px 24px;
  color: white;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  background: rgba(35, 24, 21, 0.4);
}
@media screen and (max-width: 768px) {
  .bl_companyInfoCards_cardContent {
    padding: 60px 20px 20px;
  }
}
.bl_companyInfoCards_cardTitle {
  font-family: "Noto Sans JP", "Noto Sans Serif";
  font-size: 32px;
  font-weight: 700;
  line-height: 1.2;
  color: #FFFFFF;
  margin: 0 0 8px 0;
}
@media screen and (max-width: 768px) {
  .bl_companyInfoCards_cardTitle {
    font-size: 24px;
  }
}
.bl_companyInfoCards_cardSubtitle {
  font-family: "Noto Sans JP", "Noto Sans Serif";
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  color: #FFFFFF;
  margin: 0;
  opacity: 0.9;
}
@media screen and (max-width: 768px) {
  .bl_companyInfoCards_cardSubtitle {
    font-size: 14px;
  }
}

.bl_section_heading_wrap {
  max-width: 1120px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 40px;
}
@media screen and (max-width: 768px) {
  .bl_section_heading_wrap {
    gap: 24px;
  }
}
.bl_section_heading_header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 40px;
}
@media screen and (max-width: 768px) {
  .bl_section_heading_header {
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
  }
}
.bl_section_heading_header.pageHeading .bl_section_heading_titleText {
  padding: 0 20px;
}
.bl_section_heading_header.center {
  justify-content: center;
}
.bl_section_heading_header.right {
  justify-content: flex-end;
}
.bl_section_heading_header.left {
  justify-content: flex-start;
}
.bl_section_heading_title {
  display: flex;
  align-items: baseline;
  gap: 24px;
}
@media screen and (max-width: 768px) {
  .bl_section_heading_title {
    flex-direction: column;
    gap: 8px;
    align-items: flex-start;
  }
}
.bl_section_heading_title--withImage {
  align-items: center;
  gap: 0;
}
@media screen and (max-width: 768px) {
  .bl_section_heading_title--withImage {
    flex-direction: row;
    align-items: center;
  }
}
.bl_section_heading_titleImage {
  position: relative;
  margin-right: -4px;
  z-index: 1;
}
.bl_section_heading_titleImage img {
  height: 60px;
  width: auto;
  display: block;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 768px) {
  .bl_section_heading_titleImage img {
    height: 40px;
  }
}
@media screen and (max-width: 768px) {
  .bl_section_heading_titleImage {
    padding: 12px 16px;
  }
}
.bl_section_heading_titleText {
  display: flex;
  align-items: baseline;
  gap: 24px;
  border-radius: 8px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .bl_section_heading_titleText {
    flex-direction: column;
    gap: 8px;
    align-items: flex-start;
    padding: 0 20px 0 0;
  }
}
.bl_section_heading_mainTitle {
  font-family: "Noto Sans JP", "Noto Sans Serif";
  font-weight: 900;
  font-size: 56px;
  line-height: 1.5;
  color: #1A0303;
  margin: 0;
}
@media screen and (max-width: 768px) {
  .bl_section_heading_mainTitle {
    font-size: 32px;
  }
}
.bl_section_heading_subTitle {
  font-family: "Avenir Next", "Noto Sans Serif";
  font-weight: 700;
  font-size: 24px;
  line-height: 1.5;
  color: #E11E1F;
}
@media screen and (max-width: 768px) {
  .bl_section_heading_subTitle {
    font-size: 18px;
  }
}
.bl_section_heading_button {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 24px 16px 32px;
  background-color: #E11E1F;
  color: #FFFFFF;
  text-decoration: none;
  border-radius: 50px;
  font-family: "Noto Sans JP", "Noto Sans Serif";
  font-weight: 700;
  font-size: 16px;
  line-height: 1.2;
  transition: opacity 0.3s ease;
}
.bl_section_heading_button:hover {
  opacity: 0.8;
}
@media screen and (max-width: 768px) {
  .bl_section_heading_button {
    margin-top: 8px;
    padding: 12px 20px 12px 24px;
    font-size: 14px;
  }
}
.bl_section_heading_buttonText {
  color: inherit;
}
.bl_section_heading_buttonIcon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}
.bl_section_heading_description {
  font-family: "Noto Sans JP", "Noto Sans Serif";
  font-weight: 500;
  font-size: 16px;
  line-height: 1.5;
  color: #1A0303;
  margin: 0;
}
@media screen and (max-width: 768px) {
  .bl_section_heading_description {
    font-size: 14px;
  }
}

.bl_section_content_with_image {
  width: 100%;
}
.bl_section_content_with_image_content {
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 20px;
}
@media (min-width: 769px) {
  .bl_section_content_with_image_content--reverse .column {
    flex-direction: row-reverse;
  }
}
.bl_section_content_with_image_textArea {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.bl_section_content_with_image_imageArea {
  width: 100%;
}
.bl_section_content_with_image_imageArea .bl_image {
  width: 100%;
  height: auto;
}
@media (max-width: 768px) {
  .bl_section_content_with_image_content {
    padding: 0 16px;
  }
  .bl_section_content_with_image_content--reverse .column {
    flex-direction: column;
  }
  .bl_section_content_with_image_textArea {
    margin-bottom: 24px;
  }
}
@media (min-width: 769px) {
  .bl_section_content_with_image .column {
    gap: 60px;
    align-items: center;
  }
  .bl_section_content_with_image_textArea {
    padding: 40px 0;
  }
  .bl_section_content_with_image_imageArea {
    flex-shrink: 0;
  }
}
@media (min-width: 1440px) {
  .bl_section_content_with_image_content {
    max-width: 1280px;
  }
}

.bl_heading_underline {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
}
.bl_heading_underline_title {
  font-family: "Noto Sans JP", "Noto Sans Serif";
  font-weight: 700;
  font-size: 32px;
  line-height: 1.5;
  color: #FFFFFF;
  margin: 0;
  word-break: keep-all;
  overflow-wrap: break-word;
}
@media (max-width: 768px) {
  .bl_heading_underline_title {
    font-size: 24px;
  }
}
@media (max-width: 480px) {
  .bl_heading_underline_title {
    font-size: 20px;
  }
}
.bl_heading_underline_line {
  width: 100%;
  height: 1px;
  background-color: #FFFFFF;
}
.bl_heading_underline h1.bl_heading_underline_title {
  font-size: 40px;
}
@media (max-width: 768px) {
  .bl_heading_underline h1.bl_heading_underline_title {
    font-size: 28px;
  }
}
@media (max-width: 480px) {
  .bl_heading_underline h1.bl_heading_underline_title {
    font-size: 24px;
  }
}
.bl_heading_underline h3.bl_heading_underline_title {
  font-size: 24px;
}
@media (max-width: 768px) {
  .bl_heading_underline h3.bl_heading_underline_title {
    font-size: 20px;
  }
}
@media (max-width: 480px) {
  .bl_heading_underline h3.bl_heading_underline_title {
    font-size: 18px;
  }
}
.bl_heading_underline h4.bl_heading_underline_title {
  font-size: 20px;
}
@media (max-width: 768px) {
  .bl_heading_underline h4.bl_heading_underline_title {
    font-size: 18px;
  }
}
@media (max-width: 480px) {
  .bl_heading_underline h4.bl_heading_underline_title {
    font-size: 16px;
  }
}
.bl_heading_underline--dark .bl_heading_underline_title {
  color: #1A0303;
}
.bl_heading_underline--dark .bl_heading_underline_line {
  background-color: #1A0303;
}
.bl_heading_underline--center .bl_heading_underline_title {
  text-align: center;
}
.bl_heading_underline--right .bl_heading_underline_title {
  text-align: right;
}

.bl_header {
  background-color: #FFFFFF;
  position: relative;
  width: 100%;
}
.bl_header_inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 0 0 40px;
  width: 100%;
  max-width: 100%;
  min-width: 1280px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .bl_header_inner {
    min-width: 100%;
    gap: 20px;
    padding: 10px 20px;
  }
}
.bl_header_logo {
  flex-shrink: 0;
}
.bl_header_logoLink {
  display: flex;
  align-items: center;
  gap: 16px;
  text-decoration: none;
}
.bl_header_logoImage {
  width: auto;
  height: 40px;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 768px) {
  .bl_header_logoImage {
    height: 28px;
  }
}
.bl_header_logoText {
  color: #1A0303;
  font-family: "Noto Sans JP", "Noto Sans Serif";
  font-weight: 400;
  font-size: 12px;
  line-height: 1.2;
  letter-spacing: 0.04em;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .bl_header_logoText {
    display: none;
  }
}
.bl_header_nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 32px;
  flex: 1;
}
@media screen and (max-width: 768px) {
  .bl_header_nav {
    display: none;
  }
}
.bl_header_navList {
  display: flex;
  align-items: center;
  gap: 32px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.bl_header_navItem {
  position: relative;
}
.bl_header_navLink {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #1A0303;
  font-family: "Noto Sans JP", "Noto Sans Serif";
  font-weight: 700;
  font-size: 16px;
  line-height: 1.2;
  text-decoration: none;
  transition: all 0.3s ease;
}
@media screen and (max-width: 768px) {
  .bl_header_navLink {
    font-size: 14px;
  }
}
.bl_header_navLink:hover {
  opacity: 0.7;
}
.bl_header_navIcon {
  width: 8px;
  height: 4px;
  transition: transform 0.3s ease;
}
.bl_header_dropdown {
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  background-color: #FFFFFF;
  box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.1);
  border-radius: 4px;
  padding: 16px 0;
  min-width: 200px;
  list-style: none;
  margin: 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-10px);
  transition: all 0.3s ease;
}
@media screen and (max-width: 768px) {
  .bl_header_dropdown {
    padding: 12px 0;
    min-width: 160px;
  }
}
.bl_header_navItem:hover .bl_header_dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.bl_header_navItem:hover .bl_header_navIcon {
  transform: rotate(180deg);
}
.bl_header_dropdownItem {
  padding: 0;
}
.bl_header_dropdownLink {
  display: block;
  padding: 12px 24px;
  color: #1A0303;
  font-family: "Noto Sans JP", "Noto Sans Serif";
  font-weight: 500;
  font-size: 14px;
  line-height: 1.5;
  text-decoration: none;
  transition: background-color 0.3s ease;
}
@media screen and (max-width: 768px) {
  .bl_header_dropdownLink {
    padding: 10px 20px;
    font-size: 12px;
  }
}
.bl_header_dropdownLink:hover {
  background-color: #F5F5F5;
}
.bl_header_contact {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #E11E1F;
  color: #FFFFFF;
  padding: 32px 24px;
  width: 144px;
  height: 83px;
  font-family: "Noto Sans JP", "Noto Sans Serif";
  font-weight: 700;
  font-size: 16px;
  line-height: 1.2;
  text-decoration: none;
  transition: all 0.3s ease;
}
.bl_header_contact:hover {
  background-color: rgb(180, 24, 24.8);
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}
@media screen and (max-width: 768px) {
  .bl_header_contact {
    padding: 16px 20px;
    width: auto;
    height: auto;
    font-size: 14px;
  }
}
.bl_header_menuButton {
  display: none;
  position: relative;
  width: 30px;
  height: 30px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  z-index: 101;
}
@media screen and (max-width: 768px) {
  .bl_header_menuButton {
    display: block;
  }
}
.bl_header_menuButton_inner {
  position: absolute;
  width: 24px;
  height: 2px;
  background-color: #1A0303;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.3s ease;
}
.bl_header_menuButton::before, .bl_header_menuButton::after {
  content: "";
  position: absolute;
  width: 24px;
  height: 2px;
  background-color: #1A0303;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  transition: all 0.3s ease;
}
.bl_header_menuButton::before {
  top: calc(50% - 8px);
}
.bl_header_menuButton::after {
  top: calc(50% + 8px);
}
.bl_header_menuButton[aria-expanded=true] .bl_header_menuButton_inner {
  background-color: transparent;
}
.bl_header_menuButton[aria-expanded=true]::before {
  top: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
}
.bl_header_menuButton[aria-expanded=true]::after {
  top: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
}
.bl_header_menu_wrap {
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 999;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
}
.bl_header_menu_wrap.is-active {
  opacity: 1;
  visibility: visible;
}
@media screen and (min-width: 768px) {
  .bl_header_menu_wrap {
    display: none;
  }
}
.bl_header_menu_inner {
  position: absolute;
  top: 0;
  right: -100%;
  width: 85%;
  max-width: 320px;
  height: 100%;
  background-color: #FFFFFF;
  padding: 24px;
  overflow-y: auto;
  transition: right 0.3s ease;
}
.is-active .bl_header_menu_inner {
  right: 0;
}
.bl_header_menu_close {
  position: absolute;
  top: 24px;
  right: 24px;
  width: 30px;
  height: 30px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
}
.bl_header_menu_close span {
  position: absolute;
  width: 20px;
  height: 2px;
  background-color: #1A0303;
  left: 50%;
  top: 50%;
}
.bl_header_menu_close span:first-child {
  transform: translate(-50%, -50%) rotate(45deg);
}
.bl_header_menu_close span:last-child {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.bl_header_menu_logo {
  display: block;
  margin-bottom: 40px;
}
.bl_header_menu_logo img {
  width: 150px;
  height: auto;
}
.bl_header_menu_list {
  list-style: none;
  margin: 0 0 40px;
  padding: 0;
}
.bl_header_menu_item {
  border-bottom: 1px solid #E5E5E5;
}
.bl_header_menu_item:first-child {
  border-top: 1px solid #E5E5E5;
}
.bl_header_menu_link {
  display: block;
  padding: 16px 0;
  color: #1A0303;
  font-family: "Noto Sans JP", "Noto Sans Serif";
  font-weight: 700;
  font-size: 16px;
  line-height: 1.5;
  text-decoration: none;
  transition: color 0.3s ease;
}
.bl_header_menu_link:hover {
  color: #E11E1F;
}
.bl_header_menu_child {
  list-style: none;
  margin: 0;
  padding: 0 0 8px 16px;
}
.bl_header_menu_child li {
  padding: 0;
  border: none;
}
.bl_header_menu_child a {
  display: block;
  padding: 8px 0;
  color: #666666;
  font-family: "Noto Sans JP", "Noto Sans Serif";
  font-weight: 500;
  font-size: 14px;
  line-height: 1.5;
  text-decoration: none;
  transition: color 0.3s ease;
}
.bl_header_menu_child a:hover {
  color: #E11E1F;
}
.bl_header_menu_contact {
  display: block;
  width: 100%;
  padding: 16px;
  background-color: #E11E1F;
  color: #FFFFFF;
  font-family: "Noto Sans JP", "Noto Sans Serif";
  font-weight: 700;
  font-size: 16px;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  border-radius: 4px;
  transition: all 0.3s ease;
}
.bl_header_menu_contact:hover {
  background-color: rgb(180, 24, 24.8);
}

body.is-menuOpen {
  overflow: hidden;
}

.bl_navModal {
  background-color: #FFFFFF;
  border-top: 1px solid #DBD1D1;
  width: 100%;
}
.bl_navModal_inner {
  padding: 56px 120px;
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .bl_navModal_inner {
    padding: 40px 20px;
  }
}
.bl_navModal_content {
  display: flex;
  flex-direction: column;
  gap: 40px;
  width: 100%;
  max-width: 1040px;
}
@media screen and (max-width: 768px) {
  .bl_navModal_content {
    gap: 24px;
  }
}
.bl_navModal_sectionLink {
  display: inline-flex;
  align-items: center;
  gap: 24px;
  text-decoration: none;
  color: #E11E1F;
  transition: all 0.3s ease;
}
@media screen and (max-width: 768px) {
  .bl_navModal_sectionLink {
    gap: 16px;
  }
}
.bl_navModal_sectionLink:hover {
  opacity: 0.8;
  transform: translateX(5px);
}
.bl_navModal_sectionTitle {
  font-family: "Noto Sans JP", "Noto Sans Serif";
  font-weight: 700;
  font-size: 24px;
  line-height: 1.2;
}
@media screen and (max-width: 768px) {
  .bl_navModal_sectionTitle {
    font-size: 20px;
  }
}
.bl_navModal_sectionIcon {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .bl_navModal_sectionIcon {
    width: 20px;
    height: 20px;
  }
}

.bl_navCard {
  position: relative;
  display: block;
  width: 500px;
  padding: 24px 40px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  text-decoration: none;
  overflow: hidden;
  transition: all 0.3s ease;
}
@media screen and (max-width: 768px) {
  .bl_navCard {
    width: 100%;
    padding: 20px 24px;
  }
}
.bl_navCard:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}
.bl_navCard:hover .bl_navCard_overlay {
  opacity: 0.6;
}
.bl_navCard_overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(35, 24, 21, 0.5);
  transition: opacity 0.3s ease;
  z-index: 1;
}
.bl_navCard_content {
  position: relative;
  z-index: 2;
}
.bl_navCard_title {
  display: flex;
  flex-direction: column;
}
.bl_navCard_titleEn {
  color: #FFFFFF;
  font-family: "Avenir Next", "Arial", "Noto Sans Serif";
  font-weight: 700;
  font-size: 32px;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .bl_navCard_titleEn {
    font-size: 24px;
  }
}
.bl_navCard_titleJa {
  color: #FFFFFF;
  font-family: "Noto Sans JP", "Noto Sans Serif";
  font-weight: 700;
  font-size: 16px;
  line-height: 1.2;
}
@media screen and (max-width: 768px) {
  .bl_navCard_titleJa {
    font-size: 14px;
  }
}

.bl_navCards {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  width: 100%;
  max-width: 1040px;
}
@media screen and (max-width: 768px) {
  .bl_navCards {
    gap: 20px;
  }
}

.bl_footer {
  background-color: #1A0303;
  color: #FFFFFF;
  width: 100%;
}
.bl_footer_inner {
  padding: 80px 80px 40px;
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .bl_footer_inner {
    padding: 40px 20px 20px;
  }
}
.bl_footer_main {
  display: flex;
  justify-content: space-between;
  gap: 80px;
  width: 100%;
  max-width: 1120px;
}
@media screen and (max-width: 768px) {
  .bl_footer_main {
    flex-direction: column;
    gap: 40px;
  }
}
.bl_footer_info {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 24px;
  flex-shrink: 0;
}
.bl_footer_infoTop {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.bl_footer_logo {
  display: flex;
  align-items: center;
  gap: 16px;
  text-decoration: none;
}
.bl_footer_logo:hover {
  opacity: 0.8;
}
.bl_footer_logoImage {
  width: 217px;
  height: 40px;
  -o-object-fit: contain;
     object-fit: contain;
  filter: brightness(0) invert(1);
}
@media screen and (max-width: 768px) {
  .bl_footer_logoImage {
    width: 150px;
    height: 28px;
  }
}
.bl_footer_companyName {
  color: #FFFFFF;
  font-family: "Noto Sans JP", "Noto Sans Serif";
  font-weight: 400;
  font-size: 12px;
  line-height: 1.2;
  letter-spacing: 0.04em;
  text-align: right;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .bl_footer_companyName {
    display: none;
  }
}
.bl_footer_contact {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.bl_footer_address, .bl_footer_tel {
  color: #FFFFFF;
  font-family: "Noto Sans JP", "Noto Sans Serif";
  font-weight: 500;
  font-size: 16px;
  line-height: 1.2;
  margin: 0;
}
@media screen and (max-width: 768px) {
  .bl_footer_address, .bl_footer_tel {
    font-size: 14px;
  }
}
.bl_footer_copyright {
  color: #FFFFFF;
  font-family: "Avenir Next", "Arial", "Noto Sans Serif";
  font-weight: 400;
  font-size: 14px;
  line-height: 1.366;
  margin: 0;
}
@media screen and (max-width: 768px) {
  .bl_footer_copyright {
    font-size: 12px;
  }
}
.bl_footer_nav {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 40px;
}
@media screen and (max-width: 768px) {
  .bl_footer_nav {
    align-items: flex-start;
  }
}
.bl_footer_navMain {
  display: flex;
  justify-content: flex-end;
  gap: 80px;
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .bl_footer_navMain {
    gap: 40px;
    justify-content: flex-start;
  }
}
.bl_footer_navSection {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.bl_footer_navTitle {
  color: #FFFFFF;
  font-family: "Noto Sans JP", "Noto Sans Serif";
  font-weight: 700;
  font-size: 16px;
  line-height: 1.2;
  margin: 0;
}
@media screen and (max-width: 768px) {
  .bl_footer_navTitle {
    font-size: 14px;
  }
}
.bl_footer_navTitle--link {
  text-decoration: none;
  transition: opacity 0.3s ease;
}
.bl_footer_navTitle--link:hover {
  opacity: 0.7;
}
.bl_footer_navList {
  display: flex;
  flex-direction: column;
  gap: 16px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.bl_footer_navItem {
  margin: 0;
}
.bl_footer_navLink {
  color: #FFFFFF;
  font-family: "Noto Sans JP", "Noto Sans Serif";
  font-weight: 400;
  font-size: 14px;
  line-height: 1.2;
  text-decoration: none;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 768px) {
  .bl_footer_navLink {
    font-size: 12px;
  }
}
.bl_footer_navLink:hover {
  opacity: 0.7;
}
.bl_footer_utility {
  display: flex;
  justify-content: flex-end;
  gap: 32px;
}
@media screen and (max-width: 768px) {
  .bl_footer_utility {
    justify-content: flex-start;
    gap: 24px;
    flex-wrap: wrap;
  }
}
.bl_footer_utilityLink {
  color: #FFFFFF;
  font-family: "Noto Sans JP", "Noto Sans Serif";
  font-weight: 400;
  font-size: 12px;
  line-height: 1.2;
  text-decoration: none;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 768px) {
  .bl_footer_utilityLink {
    font-size: 10px;
  }
}
.bl_footer_utilityLink:hover {
  opacity: 0.7;
}

.bl_simpleNewsItem {
  position: relative;
}
.bl_simpleNewsItem--hasBackground {
  background-color: #FFFFFF;
  padding: 40px 0;
}
@media screen and (max-width: 768px) {
  .bl_simpleNewsItem--hasBackground {
    padding: 24px 0;
  }
}
.bl_simpleNewsItem_link {
  display: block;
  text-decoration: none;
  transition: all 0.3s ease;
  padding: 40px 0;
}
@media screen and (max-width: 768px) {
  .bl_simpleNewsItem_link {
    padding: 20px 0;
  }
}
.bl_simpleNewsItem_link:hover {
  opacity: 0.7;
}
.bl_simpleNewsItem_link:hover .bl_simpleNewsItem_arrow {
  transform: translateX(5px);
}
.bl_simpleNewsItem_content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 40px;
  padding: 0 40px 0 24px;
}
@media screen and (max-width: 768px) {
  .bl_simpleNewsItem_content {
    gap: 20px;
    padding: 0 20px;
  }
}
.bl_simpleNewsItem_info {
  display: flex;
  align-items: baseline;
  gap: 32px;
}
@media screen and (max-width: 768px) {
  .bl_simpleNewsItem_info {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
}
.bl_simpleNewsItem_date {
  color: #E11E1F;
  font-family: "Avenir Next", "Arial", "Noto Sans Serif";
  font-weight: 500;
  font-size: 16px;
  line-height: 1;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .bl_simpleNewsItem_date {
    font-size: 14px;
  }
}
.bl_simpleNewsItem_title {
  color: #1A0303;
  font-family: "Noto Sans JP", "Noto Sans Serif";
  font-weight: 500;
  font-size: 16px;
  line-height: 1;
  margin: 0;
}
@media screen and (max-width: 768px) {
  .bl_simpleNewsItem_title {
    font-size: 14px;
    line-height: 1.5;
  }
}
.bl_simpleNewsItem_arrow {
  flex-shrink: 0;
  width: 16px;
  height: 12px;
  color: #E11E1F;
  transition: transform 0.3s ease;
}
@media screen and (max-width: 768px) {
  .bl_simpleNewsItem_arrow {
    width: 14px;
    height: 10px;
  }
}
.bl_simpleNewsItem_border {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 1px;
  background-color: #DBD1D1;
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  .bl_simpleNewsItem_border {
    margin-top: 24px;
  }
}

.bl_simpleNewsList {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 1120px;
  margin: 0 auto;
}

.bl_interview_card {
  background-color: #FFFFFF;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
  cursor: pointer;
}
.bl_interview_card:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
  transform: translateY(-4px);
  opacity: 0.95;
}
.bl_interview_card:focus {
  outline: 2px solid #E11E1F;
  outline-offset: 2px;
}
.bl_interview_card_image {
  position: relative;
  width: 100%;
  padding-top: 100%;
  overflow: hidden;
  background-color: #FAF9F9;
}
.bl_interview_card_image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center top;
     object-position: center top;
}
.bl_interview_card_content {
  padding: 24px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .bl_interview_card_content {
    padding: 20px;
  }
}
.bl_interview_card_name {
  font-family: "Noto Sans JP", "Noto Sans Serif";
  font-weight: 700;
  font-size: 18px;
  line-height: 1.4;
  color: #1A0303;
  margin: 0 0 8px;
}
@media screen and (max-width: 768px) {
  .bl_interview_card_name {
    font-size: 16px;
  }
}
.bl_interview_card_info {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
  font-family: "Noto Sans JP", "Noto Sans Serif";
  font-weight: 500;
  font-size: 14px;
  line-height: 1.5;
  color: #9EA0A4;
  margin-bottom: 4px;
}
.bl_interview_card_info span {
  position: relative;
  padding: 0 8px;
}
.bl_interview_card_info span:first-child {
  padding-left: 0;
}
.bl_interview_card_info span:last-child {
  padding-right: 0;
}
.bl_interview_card_date {
  font-family: "Noto Sans JP", "Noto Sans Serif";
  font-weight: 400;
  font-size: 13px;
  line-height: 1.5;
  color: #9EA0A4;
  margin-bottom: 12px;
}
.bl_interview_card_catchphrase {
  font-family: "Noto Sans JP", "Noto Sans Serif";
  font-weight: 500;
  font-size: 14px;
  line-height: 1.6;
  color: #E11E1F;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .bl_interview_card_catchphrase {
    font-size: 13px;
  }
}

.bl_interview_grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 32px;
}
@media screen and (max-width: 768px) {
  .bl_interview_grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}
@media screen and (min-width: 768px) {
  .bl_interview_grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 1000px) {
  .bl_interview_grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (min-width: 1200px) {
  .bl_interview_grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

.bl_interview_modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(20, 40, 79, 0.8);
  display: grid;
  place-items: center;
  padding: 24px;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
  z-index: 9999;
}
.bl_interview_modal.active {
  opacity: 1;
  visibility: visible;
}
.bl_interview_modal.active .bl_interview_modal_inner {
  transform: scale(1);
}
.bl_interview_modal_inner {
  position: relative;
  background-color: #FFFFFF;
  border-radius: 16px;
  width: 100%;
  max-width: 960px;
  max-height: 90vh;
  overflow-y: auto;
  transform: scale(0.95);
  transition: transform 0.3s ease;
}
@media screen and (max-width: 768px) {
  .bl_interview_modal_inner {
    max-width: 100%;
    max-height: 85vh;
  }
}
.bl_interview_modal_close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 40px;
  height: 40px;
  background-color: #FFFFFF;
  border: none;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 1;
  transition: all 0.3s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.bl_interview_modal_close:hover {
  background-color: #E11E1F;
  color: #FFFFFF;
  transform: rotate(90deg);
}
@media screen and (max-width: 768px) {
  .bl_interview_modal_close {
    top: 12px;
    right: 12px;
    width: 36px;
    height: 36px;
  }
}
.bl_interview_modal_content {
  display: grid;
  grid-template-columns: 1fr;
  padding: 40px;
}
.bl_interview_modal_image {
  position: relative;
  width: 100%;
  background-color: #FAF9F9;
}
@media screen and (max-width: 768px) {
  .bl_interview_modal_image {
    height: 300px;
  }
}
@media screen and (min-width: 768px) {
  .bl_interview_modal_image {
    height: 100%;
    min-height: 500px;
  }
}
.bl_interview_modal_image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center top;
     object-position: center top;
}
.bl_interview_modal_header {
  padding-bottom: 24px;
  border-bottom: 1px solid #E8EAED;
  margin-bottom: 24px;
}
.bl_interview_modal_name {
  font-family: "Noto Sans JP", "Noto Sans Serif";
  font-weight: 900;
  font-size: 28px;
  line-height: 1.4;
  color: #1A0303;
  margin: 0 0 12px;
}
@media screen and (max-width: 768px) {
  .bl_interview_modal_name {
    font-size: 24px;
  }
}
.bl_interview_modal_meta {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 16px;
}
.bl_interview_modal_meta_item {
  font-family: "Noto Sans JP", "Noto Sans Serif";
  font-weight: 500;
  font-size: 14px;
  line-height: 1.5;
  color: #9EA0A4;
  position: relative;
}
.bl_interview_modal_meta_item:not(:last-child)::after {
  content: "/";
  position: absolute;
  right: -8px;
  transform: translateX(50%);
}
.bl_interview_modal_catchphrase {
  position: relative;
  padding: 16px;
  padding-left: 48px;
  background-color: #FAF9F9;
  border-left: 3px solid #E11E1F;
  font-family: "Noto Sans JP", "Noto Sans Serif";
  font-weight: 700;
  font-size: 16px;
  line-height: 1.6;
  color: #1A0303;
}
.bl_interview_modal_catchphrase svg {
  position: absolute;
  top: 16px;
  left: 16px;
  width: 24px;
  height: 24px;
}
@media screen and (max-width: 768px) {
  .bl_interview_modal_catchphrase {
    font-size: 14px;
    padding: 12px;
    padding-left: 40px;
  }
}
.bl_interview_modal_heading {
  font-family: "Noto Sans JP", "Noto Sans Serif";
  font-weight: 700;
  font-size: 18px;
  line-height: 1.5;
  color: #E11E1F;
  margin: 0 0 16px;
}
@media screen and (max-width: 768px) {
  .bl_interview_modal_heading {
    font-size: 16px;
  }
}
.bl_interview_modal_text {
  font-family: "Noto Sans JP", "Noto Sans Serif";
  font-weight: 400;
  font-size: 15px;
  line-height: 1.8;
  color: #1A0303;
}
@media screen and (max-width: 768px) {
  .bl_interview_modal_text {
    font-size: 14px;
  }
}
.bl_interview_modal_qa {
  padding: 0 40px 40px;
}
@media screen and (max-width: 768px) {
  .bl_interview_modal_qa {
    padding: 0 24px 24px;
  }
}
.bl_interview_modal_qa_item {
  margin-bottom: 32px;
}
.bl_interview_modal_qa_item:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  .bl_interview_modal_qa_item {
    margin-bottom: 24px;
  }
}
.bl_interview_modal_qa_question {
  font-family: "Noto Sans JP", "Noto Sans Serif";
  font-weight: 700;
  font-size: 15px;
  line-height: 1.8;
  color: #E11E1F;
  margin-bottom: 16px;
}
@media screen and (max-width: 768px) {
  .bl_interview_modal_qa_question {
    font-size: 14px;
    margin-bottom: 12px;
  }
}
.bl_interview_modal_qa_answer {
  font-family: "Noto Sans JP", "Noto Sans Serif";
  font-weight: 400;
  font-size: 15px;
  line-height: 1.8;
  color: #1A0303;
}
@media screen and (max-width: 768px) {
  .bl_interview_modal_qa_answer {
    font-size: 14px;
  }
}

.bl_processFlow {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 40px 30px;
}
@media (max-width: 768px) {
  .bl_processFlow {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}

.bl_processFlow_item {
  text-align: center;
}

.bl_processFlow_number {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background-color: #E11E1F;
  color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  font-weight: 700;
  margin: 0 auto 20px;
}

.bl_processFlow_content {
  display: flex;
  flex-direction: column;
}

.bl_processFlow_title {
  font-size: 18px;
  font-weight: 700;
  color: #1A0303;
  margin: 0 0 12px;
  line-height: 1.4;
}
@media (min-width: 769px) {
  .bl_processFlow_title {
    font-size: 20px;
  }
}

.bl_processFlow_subtitles {
  display: grid;
  background: #808080;
  color: #FFFFFF;
  padding: 4px 12px;
  border-radius: 4px;
  font-size: 14px;
  font-weight: 600;
  margin: 0 4px 4px 0;
  width: 100%;
  min-height: 5em;
  align-items: center;
}

.bl_processFlow_description {
  font-size: 14px;
  line-height: 1.7;
  color: #1A0303;
  margin: 12px 0 0;
}
@media (min-width: 769px) {
  .bl_processFlow_description {
    font-size: 15px;
  }
}

.bl_itemListCard {
  display: block;
  width: 520px;
  text-decoration: none;
  transition: all 0.3s ease;
}
@media screen and (max-width: 768px) {
  .bl_itemListCard {
    width: 100%;
  }
}
.bl_itemListCard[href]:hover {
  background-color: rgba(255, 255, 255, 0.1);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
.bl_itemListCard[href]:hover .bl_itemListCard_image_default {
  transform: scale(1.05);
}
.bl_itemListCard[href]:hover .bl_itemListCard_image_hover {
  opacity: 1;
  transform: scale(1.05);
}
.bl_itemListCard_inner {
  display: flex;
  gap: 32px;
  align-items: flex-start;
}
@media screen and (max-width: 768px) {
  .bl_itemListCard_inner {
    gap: 20px;
  }
}
.bl_itemListCard_image {
  flex-shrink: 0;
  width: 160px;
  height: 160px;
  overflow: hidden;
  border-radius: 4px;
  background-color: #f5f5f5;
  position: relative;
}
@media screen and (max-width: 768px) {
  .bl_itemListCard_image {
    width: 100px;
    height: 100px;
  }
}
.bl_itemListCard_image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.3s ease, opacity 0.3s ease;
}
.bl_itemListCard_image_default {
  position: relative;
  z-index: 1;
}
.bl_itemListCard_image_hover {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  opacity: 0;
}
.bl_itemListCard_imagePlaceholder {
  width: 100%;
  height: 100%;
  background-color: #e0e0e0;
}
.bl_itemListCard_content {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 24px;
  min-height: 160px;
}
@media screen and (max-width: 768px) {
  .bl_itemListCard_content {
    min-height: 100px;
    gap: 16px;
  }
}
.bl_itemListCard_title {
  color: #FFFFFF;
  font-family: "Noto Sans JP", "Noto Sans Serif";
  font-weight: 700;
  font-size: 24px;
  line-height: 1;
  margin: 0;
  word-break: keep-all;
  overflow-wrap: break-word;
}
@media screen and (max-width: 768px) {
  .bl_itemListCard_title {
    font-size: 18px;
    line-height: 1.2;
  }
}
.bl_itemListCard_description {
  color: #FFFFFF;
  font-family: "Noto Sans JP", "Noto Sans Serif";
  font-weight: 400;
  font-size: 14px;
  line-height: 1.5;
  margin: 0;
}
@media screen and (max-width: 768px) {
  .bl_itemListCard_description {
    font-size: 12px;
    line-height: 1.6;
  }
}
.bl_itemListCard--dark .bl_itemListCard_title {
  color: #1A0303;
}
.bl_itemListCard--dark .bl_itemListCard_description {
  color: #1A0303;
}

.bl_itemList {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(520px, 1fr));
  gap: 40px;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .bl_itemList {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}

.bl_itemListCard--no-hover {
  pointer-events: none;
  cursor: default;
}
.bl_itemListCard--no-hover:hover {
  background-color: transparent;
  box-shadow: none;
}
.bl_itemListCard--no-hover:hover .bl_itemListCard_image_default {
  transform: none;
}
.bl_itemListCard--no-hover:hover .bl_itemListCard_image_hover {
  opacity: 0;
  transform: none;
}

.bl_infoCard {
  display: flex;
  flex-direction: column;
  background-color: #fff;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
  height: 100%;
}
.bl_infoCard:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
  transform: translateY(-2px);
}
.bl_infoCard_imageWrapper {
  position: relative;
  width: 100%;
  padding-top: 60%;
  overflow: hidden;
  background-color: #f5f5f5;
}
.bl_infoCard_image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.3s ease;
}
.bl_infoCard:hover .bl_infoCard_image {
  transform: scale(1.05);
}
.bl_infoCard_body {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 24px;
}
@media screen and (min-width: 768px) {
  .bl_infoCard_body {
    padding: 32px;
  }
}
.bl_infoCard_meta {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
  font-size: 13px;
}
@media screen and (min-width: 768px) {
  .bl_infoCard_meta {
    font-size: 14px;
  }
}
.bl_infoCard_date {
  color: #666;
}
.bl_infoCard_category {
  padding: 4px 12px;
  background-color: #f0f0f0;
  border-radius: 4px;
  font-weight: 500;
  color: #333;
}
.bl_infoCard_subtitle {
  margin: 0 0 8px;
  font-size: 14px;
  color: #666;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  .bl_infoCard_subtitle {
    font-size: 15px;
  }
}
.bl_infoCard_title {
  margin: 0 0 16px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
  color: #333;
}
@media screen and (min-width: 768px) {
  .bl_infoCard_title {
    font-size: 20px;
  }
}
.bl_infoCard_content {
  flex: 1;
  margin: 0 0 24px;
  font-size: 14px;
  line-height: 1.7;
  color: #666;
}
@media screen and (min-width: 768px) {
  .bl_infoCard_content {
    font-size: 15px;
  }
}
.bl_infoCard_link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: auto;
  padding: 12px 0;
  font-size: 14px;
  font-weight: 500;
  color: #0066cc;
  text-decoration: none;
  transition: all 0.3s ease;
}
@media screen and (min-width: 768px) {
  .bl_infoCard_link {
    font-size: 15px;
  }
}
.bl_infoCard_link:hover {
  gap: 12px;
  color: #0052a3;
}
.bl_infoCard_link:hover .bl_infoCard_linkIcon {
  transform: translateX(4px);
}
.bl_infoCard_linkIcon {
  width: 16px;
  height: 12px;
  transition: transform 0.3s ease;
}

.bl_infoCards {
  padding: 40px 0;
}
@media screen and (min-width: 768px) {
  .bl_infoCards {
    padding: 80px 0;
  }
}
.bl_infoCards_header {
  text-align: left;
  margin-bottom: 40px;
}
@media screen and (min-width: 768px) {
  .bl_infoCards_header {
    margin-bottom: 60px;
  }
}
.bl_infoCards_title {
  margin: 0 0 16px;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.3;
  color: #333;
}
@media screen and (min-width: 768px) {
  .bl_infoCards_title {
    font-size: 36px;
  }
}
.bl_infoCards_subtitle {
  margin: 0;
  font-size: 16px;
  line-height: 1.6;
  color: #666;
}
@media screen and (min-width: 768px) {
  .bl_infoCards_subtitle {
    font-size: 18px;
  }
}
.bl_infoCards_grid {
  display: grid;
  gap: 24px;
}
@media screen and (min-width: 768px) {
  .bl_infoCards_grid {
    gap: 32px;
  }
}
.bl_infoCards_grid--cols2 {
  grid-template-columns: 1fr;
}
@media screen and (min-width: 768px) {
  .bl_infoCards_grid--cols2 {
    grid-template-columns: repeat(2, 1fr);
  }
}
.bl_infoCards_grid--cols3 {
  grid-template-columns: 1fr;
}
@media screen and (min-width: 768px) {
  .bl_infoCards_grid--cols3 {
    grid-template-columns: repeat(3, 1fr);
  }
}
.bl_infoCards_grid--cols4 {
  grid-template-columns: 1fr;
}
@media screen and (min-width: 768px) {
  .bl_infoCards_grid--cols4 {
    grid-template-columns: repeat(4, 1fr);
  }
}

.bl_productCard {
  background: white;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  overflow: hidden;
}
.bl_productCard_image {
  width: 100%;
}
.bl_productCard_imageText {
  width: 100%;
  aspect-ratio: 2/1;
  background: linear-gradient(135deg, #f5f5f5 0%, #e0e0e0 100%);
  display: flex;
  align-items: center;
  justify-content: center;
}
.bl_productCard_imageText span {
  font-size: 64px;
  font-weight: 700;
  color: #1A0303;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 768px) {
  .bl_productCard_imageText span {
    font-size: 48px;
  }
}
.bl_productCard_content {
  padding: 32px 24px;
}
.bl_productCard_subtitle {
  font-size: 14px;
  color: #E11E1F;
  font-weight: 700;
  margin-bottom: 8px;
}
.bl_productCard_title {
  font-size: 24px;
  font-weight: 700;
  color: #1A0303;
  margin-bottom: 16px;
}
.bl_productCard_description {
  font-size: 16px;
  line-height: 1.6;
  color: #1A0303;
}

.bl_jobCard {
  background-color: #FFFFFF;
  padding: 40px;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}
.bl_jobCard_title {
  font-size: 24px;
  font-weight: 700;
  color: #E11E1F;
  margin-bottom: 16px;
}
.bl_jobCard_description {
  font-size: 14px;
  line-height: 1.6;
  color: #1A0303;
  margin-bottom: 24px;
}
.bl_jobCard_details {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 24px;
}
.bl_jobCard_detailItem {
  display: grid;
  grid-template-columns: 3.5em 1fr;
  gap: 4px;
}
.bl_jobCard_detailLabel {
  font-size: 12px;
  font-weight: 700;
  color: #9EA0A4;
}
.bl_jobCard_detailValue {
  font-size: 12px;
  color: #1A0303;
}
.bl_jobCard_link {
  display: inline-block;
  width: 100%;
  padding: 12px 24px;
  background-color: #E11E1F;
  color: #FFFFFF;
  text-align: center;
  text-decoration: none;
  border-radius: 4px;
  font-size: 14px;
  font-weight: 700;
  transition: background-color 0.3s ease;
}
.bl_jobCard_link:hover {
  background-color: rgb(180, 24, 24.8);
}

.bl_threePowers {
  padding: 80px 0 0;
}
@media screen and (max-width: 768px) {
  .bl_threePowers {
    padding: 48px 0 0;
  }
}
.bl_threePowers_header {
  text-align: center;
  margin-bottom: 60px;
}
@media screen and (max-width: 768px) {
  .bl_threePowers_header {
    margin-bottom: 40px;
  }
}
.bl_threePowers_title {
  font-size: 32px;
  font-weight: 700;
  color: var(--color-primary);
  margin-bottom: 8px;
}
@media screen and (max-width: 768px) {
  .bl_threePowers_title {
    font-size: 28px;
  }
}
.bl_threePowers_subtitle {
  font-size: 16px;
  font-weight: 500;
  color: var(--color-text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.bl_threePowers_items {
  display: grid;
  gap: 160px;
  max-width: 1200px;
  margin: 64px auto 0;
}
@media screen and (max-width: 768px) {
  .bl_threePowers_items {
    gap: 40px;
    margin: 0 auto;
  }
}
.bl_threePowers_item {
  background-color: var(--color-white);
  padding: 32px;
}
@media screen and (max-width: 768px) {
  .bl_threePowers_item {
    padding: 30px 24px;
  }
}
.bl_threePowers_item_image img {
  height: 12px;
  width: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
.bl_threePowers_item_title {
  font-family: Noto Sans JP;
  font-weight: 700;
  font-size: 24px;
  line-height: 100%;
  letter-spacing: 0%;
  color: #000;
  margin-top: 8px;
}
@media screen and (max-width: 768px) {
  .bl_threePowers_item_title {
    font-size: 20px;
  }
}
.bl_threePowers_item_description {
  font-weight: 400;
  font-size: 12px;
  line-height: 150%;
  letter-spacing: 0%;
  text-align: justify;
  color: #000;
  margin-top: 24px;
}
.bl_threePowers_footer {
  padding: 320px 0;
  overflow: hidden;
  position: relative;
  z-index: 1;
  width: 100vw;
  margin: 0 calc((-100vw + 1120px) / 2);
}
@media (max-width: 1280px) {
  .bl_threePowers_footer {
    width: 1280px;
    margin: 0 -80px;
  }
}
@media screen and (max-width: 768px) {
  .bl_threePowers_footer {
    width: 100vw;
    margin: 0 -20px;
    padding: 120px 0;
  }
}
.bl_threePowers_footer_decoration {
  color: #000000;
  opacity: 0.05;
  top: calc(50% - 36px);
  right: 0px;
  width: -moz-max-content;
  width: max-content;
  position: absolute;
  animation: slideInRight 100s linear;
  animation-fill-mode: forwards;
  animation-iteration-count: infinite;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .bl_threePowers_footer_decoration {
    top: calc(50% - 8px);
  }
}

@keyframes slideInRight {
  from {
    transform: translateX(100%) translateY(-50%);
  }
  to {
    transform: translateX(-100vw) translateY(-50%);
  }
}
.bl_feature_block {
  width: 100%;
  max-width: 1120px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .bl_feature_block {
    padding: 0 16px;
  }
}
.bl_feature_block_grid {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto 1fr;
  gap: 56px 120px;
  min-height: 500px;
}
@media screen and (max-width: 768px) {
  .bl_feature_block_grid {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    gap: 16px;
  }
}
.bl_feature_block_title_area {
  grid-column: 1;
  grid-row: 1/3;
  display: grid;
  grid-template-columns: auto auto;
  align-items: flex-start;
  align-content: flex-start;
}
@media screen and (max-width: 768px) {
  .bl_feature_block_title_area {
    grid-column: 1;
    grid-row: 1;
    grid-template-columns: auto 1fr;
    gap: 8px;
    align-items: flex-end;
    align-content: flex-end;
    flex-direction: row;
    justify-content: space-between;
  }
}
.bl_feature_block_title_ja {
  display: flex;
  flex-direction: column;
  font-family: "Noto Sans JP", "Noto Sans Serif";
  font-size: 120px;
  font-weight: 700;
  width: 1em;
  line-height: 1;
  color: #000000;
  margin: 0;
  letter-spacing: 0.05em;
}
.bl_feature_block_title_ja span {
  display: block;
  height: 1em;
}
@media screen and (max-width: 768px) {
  .bl_feature_block_title_ja span {
    height: auto;
  }
}
@media screen and (max-width: 768px) {
  .bl_feature_block_title_ja {
    flex-direction: row;
    width: auto;
    font-size: 32px;
  }
}
.bl_feature_block_title_en {
  font-family: "Avenir Next", "Noto Sans Serif";
  font-size: 24px;
  font-weight: 600;
  line-height: 1;
  color: #E11E1F;
  margin: 0;
  writing-mode: vertical-lr;
}
@media screen and (max-width: 768px) {
  .bl_feature_block_title_en {
    writing-mode: horizontal-tb;
    line-height: 0.7;
  }
}
.bl_feature_block_description_area {
  grid-column: 2;
  grid-row: 1;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .bl_feature_block_description_area {
    grid-column: 1;
    grid-row: 2;
  }
}
.bl_feature_block_description {
  font-family: "Noto Sans JP", "Noto Sans Serif";
  font-size: 18px;
  font-weight: 400;
  line-height: 1.8;
  color: #333333;
  margin: 0;
}
@media screen and (max-width: 768px) {
  .bl_feature_block_description {
    font-size: 14px;
    line-height: 1.6;
  }
}
.bl_feature_block_image_area {
  grid-column: 2;
  grid-row: 2;
  overflow: hidden;
  min-height: 300px;
}
@media screen and (max-width: 768px) {
  .bl_feature_block_image_area {
    grid-column: 1;
    grid-row: 3;
    min-height: 200px;
  }
}
.bl_feature_block_image_area img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.bl_feature_block--reverse .bl_feature_block_grid {
  grid-template-columns: 1fr 200px;
}
@media screen and (max-width: 768px) {
  .bl_feature_block--reverse .bl_feature_block_grid {
    grid-template-columns: 1fr;
  }
}
.bl_feature_block--reverse .bl_feature_block_title_area {
  grid-column: 2;
  grid-row: 1/3;
}
@media screen and (max-width: 768px) {
  .bl_feature_block--reverse .bl_feature_block_title_area {
    grid-column: 1;
    grid-row: 1;
  }
}
.bl_feature_block--reverse .bl_feature_block_description_area {
  grid-column: 1;
  grid-row: 1;
}
@media screen and (max-width: 768px) {
  .bl_feature_block--reverse .bl_feature_block_description_area {
    grid-column: 1;
    grid-row: 2;
  }
}
.bl_feature_block--reverse .bl_feature_block_image_area {
  grid-column: 1;
  grid-row: 2;
}
@media screen and (max-width: 768px) {
  .bl_feature_block--reverse .bl_feature_block_image_area {
    grid-column: 1;
    grid-row: 3;
  }
}

.bl_sitemap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  max-width: 1120px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .bl_sitemap {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}
.bl_sitemap_main {
  display: contents;
}
@media screen and (max-width: 768px) {
  .bl_sitemap_main {
    display: flex;
    flex-direction: column;
    gap: 32px;
  }
}
.bl_sitemap_side {
  display: contents;
}
@media screen and (max-width: 768px) {
  .bl_sitemap_side {
    display: flex;
    flex-direction: column;
    gap: 32px;
  }
}
.bl_sitemap_block {
  background-color: #FFFFFF;
  border-radius: 8px;
  padding: 32px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  transition: box-shadow 0.3s ease;
}
.bl_sitemap_block:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
}
@media screen and (max-width: 768px) {
  .bl_sitemap_block {
    padding: 24px 20px;
  }
}
.bl_sitemap_heading {
  display: flex;
  align-items: baseline;
  gap: 12px;
  padding-bottom: 16px;
  margin-bottom: 24px;
  border-bottom: 2px solid #E11E1F;
}
@media screen and (max-width: 768px) {
  .bl_sitemap_heading {
    flex-direction: column;
    gap: 4px;
    margin-bottom: 20px;
  }
}
.bl_sitemap_heading_ja {
  font-family: "Noto Sans JP", "Noto Sans Serif";
  font-weight: 700;
  font-size: 24px;
  line-height: 1.4;
  color: #1A0303;
}
@media screen and (max-width: 768px) {
  .bl_sitemap_heading_ja {
    font-size: 20px;
  }
}
.bl_sitemap_heading_en {
  font-family: "Avenir Next", "Noto Sans Serif";
  font-weight: 600;
  font-size: 14px;
  line-height: 1.4;
  color: #E11E1F;
  text-transform: uppercase;
}
@media screen and (max-width: 768px) {
  .bl_sitemap_heading_en {
    font-size: 12px;
  }
}
.bl_sitemap_list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.bl_sitemap_item {
  margin: 0;
}
.bl_sitemap_link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  background-color: #FAF9F9;
  color: #1A0303;
  text-decoration: none;
  border-radius: 4px;
  transition: all 0.3s ease;
}
.bl_sitemap_link:hover {
  background-color: #E11E1F;
  color: #FFFFFF;
  transform: translateX(4px);
}
.bl_sitemap_link:hover .bl_sitemap_link_icon {
  opacity: 1;
  transform: translateX(4px);
}
@media screen and (max-width: 768px) {
  .bl_sitemap_link {
    padding: 10px 12px;
  }
}
.bl_sitemap_link_text {
  font-family: "Noto Sans JP", "Noto Sans Serif";
  font-weight: 500;
  font-size: 15px;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .bl_sitemap_link_text {
    font-size: 14px;
  }
}
.bl_sitemap_link_icon {
  width: 16px;
  height: 16px;
  opacity: 0.5;
  transition: all 0.3s ease;
  flex-shrink: 0;
}

.pg_sitemap {
  background-color: #F8F8F8;
}
.pg_sitemap .ly_section {
  background-color: #F8F8F8;
}

.bl_videoHero {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.bl_videoHero_video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  transform: translate(-50%, -50%);
  -o-object-fit: cover;
     object-fit: cover;
  z-index: 0;
}
.bl_videoHero_overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
}
.bl_videoHero_content {
  text-align: center;
  padding: 0 20px;
  width: 100%;
  max-width: 1200px;
}

.bl_constructionProcess {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin: 40px 0;
}

.bl_constructionItem {
  width: 540px;
  height: 180px;
  background: #F1EDED;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 24px 40px;
  overflow: hidden;
}
.bl_constructionItem_icon {
  position: absolute;
  top: 24px;
  left: 40px;
  width: 64px;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.bl_constructionItem_icon svg {
  width: 42px;
  height: 42px;
}
.bl_constructionItem_icon img {
  width: 64px;
  height: 64px;
  -o-object-fit: contain;
     object-fit: contain;
}
.bl_constructionItem_number {
  position: absolute;
  top: 108px;
  right: 40px;
  font-family: "Avenir Next", "Noto Sans Serif";
  font-weight: 700;
  font-size: 48px;
  line-height: 1;
  color: var(--color-text-3);
}
.bl_constructionItem_content {
  display: flex;
  align-items: baseline;
  gap: 16px;
}
.bl_constructionItem_title {
  font-weight: 700;
  font-size: 24px;
  line-height: 1.5;
  color: white;
}
.bl_constructionItem_subtitle {
  font-weight: 500;
  font-size: 14px;
  line-height: 1.5;
  color: white;
}
@media screen and (max-width: 1200px) {
  .bl_constructionItem {
    width: calc(50% - 10px);
  }
}
@media screen and (max-width: 768px) {
  .bl_constructionItem {
    width: 100%;
    height: 160px;
    padding: 20px 30px;
  }
  .bl_constructionItem_icon {
    width: 48px;
    height: 48px;
    top: 20px;
    left: 30px;
  }
  .bl_constructionItem_icon svg, .bl_constructionItem_icon img {
    width: 32px;
    height: 32px;
  }
  .bl_constructionItem_number {
    font-size: 36px;
    top: 88px;
    right: 30px;
  }
  .bl_constructionItem_title {
    font-size: 20px;
  }
  .bl_constructionItem_subtitle {
    font-size: 12px;
  }
}
@media screen and (max-width: 480px) {
  .bl_constructionItem {
    height: 140px;
    padding: 16px 20px;
  }
  .bl_constructionItem_icon {
    width: 40px;
    height: 40px;
    top: 16px;
    left: 20px;
  }
  .bl_constructionItem_icon svg, .bl_constructionItem_icon img {
    width: 28px;
    height: 28px;
  }
  .bl_constructionItem_number {
    font-size: 32px;
    top: 72px;
    right: 20px;
  }
  .bl_constructionItem_title {
    font-size: 18px;
  }
  .bl_constructionItem_subtitle {
    font-size: 11px;
  }
  .bl_constructionItem_content {
    gap: 12px;
  }
}

.bl_companyInfoRow {
  display: flex;
  flex-direction: column;
  gap: 40px;
  padding-top: 40px;
}
.bl_companyInfoRow:first-child {
  padding-top: 0;
}
.bl_companyInfoRow_content {
  display: grid;
  align-items: flex-start;
  grid-template-columns: 130px 1fr;
  gap: 80px;
}
@media screen and (max-width: 768px) {
  .bl_companyInfoRow_content {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}
.bl_companyInfoRow_label {
  flex-shrink: 0;
  font-size: 20px;
  font-weight: 900;
  line-height: 1.25;
  color: #E11E1F;
  margin: 0;
}
@media screen and (max-width: 768px) {
  .bl_companyInfoRow_label {
    font-size: 16px;
  }
}
.bl_companyInfoRow_value {
  flex: 1;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.3;
  color: #1A0303;
  margin: 0;
}
@media screen and (max-width: 768px) {
  .bl_companyInfoRow_value {
    font-size: 16px;
    line-height: 1.5;
  }
}
.bl_companyInfoRow_border {
  width: 100%;
  height: 1px;
  background-color: #DBD1D1;
}

.bl_companyInfoTable {
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: 1200px;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .bl_companyInfoTable {
    padding: 0 16px;
  }
}

.pg_top_fv {
  position: relative;
  width: 100%;
  min-height: 740px;
  height: calc(100vh - 60px);
  overflow: hidden;
  background-color: #FFFFFF;
  display: grid;
  align-items: center;
  grid-template-columns: 1fr auto;
}
@media screen and (max-width: 768px) {
  .pg_top_fv {
    height: auto;
    grid-template-columns: 1fr;
  }
}
.pg_top_fv_content {
  z-index: 2;
  padding-left: clamp(5rem, 0rem + 6.25vw, 6.25rem);
}
@media screen and (max-width: 768px) {
  .pg_top_fv_content {
    padding: 60px 20px;
  }
}
.pg_top_fv_tagline {
  color: #E11E1F;
  font-family: "Avenir Next", -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans Serif";
  font-weight: 700;
  font-size: clamp(1.656875rem, 0rem + 2.0711vw, 2.07109375rem);
  line-height: 1.366;
  margin: 0.46em 0 0 0;
}
@media screen and (max-width: 768px) {
  .pg_top_fv_tagline {
    font-size: 20px;
  }
}
.pg_top_fv_description {
  font-weight: 400;
  font-size: clamp(1rem, 0rem + 1.25vw, 1.25rem);
  margin-top: 5.43em;
  line-height: 150%;
  letter-spacing: 0%;
  text-align: justify;
  white-space: pre-line;
}
@media screen and (max-width: 768px) {
  .pg_top_fv_description {
    width: 100%;
    margin-top: 2em;
    font-size: 14px;
  }
}
.pg_top_fv_description_en {
  margin-top: 12px;
  font-weight: 700;
  font-size: 24px;
  letter-spacing: 0%;
  line-height: 150%;
  text-align: justify;
  color: var(--color-gray-3);
}
@media screen and (max-width: 768px) {
  .pg_top_fv_description_en {
    font-size: 18px;
  }
}
.pg_top_fv_title {
  color: #1A0303;
  font-family: "Noto Sans JP", "Noto Sans Serif";
  font-weight: 900;
  font-size: clamp(7.0775rem, 0rem + 8.8469vw, 8.846875rem);
  line-height: 1.25;
  margin: 0;
}
@media screen and (max-width: 768px) {
  .pg_top_fv_title {
    font-size: 40px;
  }
}
.pg_top_fv_accent {
  position: relative;
  margin-top: 112px;
}
@media screen and (max-width: 768px) {
  .pg_top_fv_accent {
    margin-top: 60px;
  }
}
.pg_top_fv_line {
  display: block;
  width: 0;
  height: 118px;
  border-left: 1px solid #E11E1F;
  position: relative;
  left: 13px;
}
@media screen and (max-width: 768px) {
  .pg_top_fv_line {
    height: 80px;
  }
}
.pg_top_fv_dot {
  display: block;
  width: 14px;
  height: 14px;
  background-color: #E11E1F;
  border-radius: 50%;
  position: absolute;
  top: 0;
  left: 6px;
  cursor: pointer;
  animation: scroll-down 3s infinite ease-in-out;
}
@media screen and (max-width: 768px) {
  .pg_top_fv_dot {
    width: 10px;
    height: 10px;
    left: 8px;
  }
}
.pg_top_fv_dot:hover {
  animation-play-state: paused;
  transform: scale(1.2);
  transition: transform 0.3s ease;
}
@keyframes scroll-down {
  0% {
    top: 0;
    opacity: 1;
  }
  90% {
    opacity: 1;
  }
  100% {
    top: calc(100% - 14px);
    opacity: 0;
  }
}
.pg_top_fv_slider {
  width: 50vw;
  min-width: 640px;
  height: 100%;
}
@media screen and (max-width: 768px) {
  .pg_top_fv_slider {
    width: 100%;
    min-width: 0;
  }
}
.pg_top_fv_slider .splide {
  width: 100%;
  height: calc(100vh - 60px);
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .pg_top_fv_slider .splide {
    height: 460px;
  }
}
.pg_top_fv_slider .splide__track {
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.pg_top_fv_slider .splide__list {
  width: 100%;
  height: 100%;
}
.pg_top_fv_slider .splide__slide {
  width: 100%;
  height: 100%;
}
.pg_top_fv_slide_image {
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.pg_top_fv_slide_image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  transform: scale(1);
  transition: transform 10s linear;
}
.pg_top_fv_slide_image img.zoom-in {
  transform: scale(1.1);
}
@media screen and (max-width: 768px) {
  .pg_top_fv_slide_image img {
    aspect-ratio: 2/3;
    height: auto;
  }
}
.pg_top_section {
  padding: 80px 0;
}
@media screen and (max-width: 768px) {
  .pg_top_section {
    padding: 60px 0;
  }
}
.pg_top_sectionTitle {
  display: flex;
  align-items: baseline;
  gap: 24px;
  margin-bottom: 60px;
}
@media screen and (max-width: 768px) {
  .pg_top_sectionTitle {
    gap: 16px;
    margin-bottom: 40px;
  }
}
.pg_top_sectionTitle--center {
  justify-content: center;
}
.pg_top_sectionTitle_en {
  color: #E11E1F;
  font-family: "Avenir Next", -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans Serif";
  font-weight: 700;
  font-size: 48px;
  line-height: 1;
  text-transform: uppercase;
}
@media screen and (max-width: 768px) {
  .pg_top_sectionTitle_en {
    font-size: 32px;
  }
}
.pg_top_sectionTitle_ja {
  color: #1A0303;
  font-family: "Noto Sans JP", "Noto Sans Serif";
  font-weight: 700;
  font-size: 24px;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .pg_top_sectionTitle_ja {
    font-size: 18px;
  }
}
.pg_top_statement {
  padding: 160px 0;
  background-color: #FFFFFF;
}
@media screen and (max-width: 768px) {
  .pg_top_statement {
    padding: 80px 20px;
  }
}
.pg_top_statement_inner {
  display: flex;
  gap: 107px;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .pg_top_statement_inner {
    flex-direction: column;
    gap: 60px;
  }
}
@media screen and (max-width: 768px) {
  .pg_top_statement_content {
    flex: 1;
    max-width: 100%;
  }
}
.pg_top_statement_title {
  color: #1A0303;
  font-family: "Noto Serif JP", "Noto Sans Serif";
  font-weight: 900;
  font-size: 48px;
  line-height: 1.5;
  margin: 0 0 64px 0;
  color: var(--color-text-3);
}
@media screen and (max-width: 768px) {
  .pg_top_statement_title {
    font-size: 36px;
    margin-bottom: 40px;
  }
}
.pg_top_statement_title_sub {
  color: #1A0303;
  font-family: "Noto Serif JP", "Noto Sans Serif";
  font-weight: 900;
  font-size: 54px;
  line-height: 1.5;
  margin: 0 0 64px 0;
}
@media screen and (max-width: 768px) {
  .pg_top_statement_title_sub {
    font-size: 36px;
    margin-bottom: 40px;
  }
}
.pg_top_statement_text {
  color: #1A0303;
  font-family: "Noto Sans JP", "Noto Sans Serif";
  font-weight: 700;
  font-size: 24px;
  line-height: 2;
  text-align: justify;
}
@media screen and (max-width: 768px) {
  .pg_top_statement_text {
    font-size: 16px;
    line-height: 1.8;
  }
}
.pg_top_statement_text p {
  margin: 0 0 1.5em;
}
.pg_top_statement_text p:last-child {
  margin-bottom: 0;
}
.pg_top_statement_button {
  margin-top: 96px;
}
@media screen and (max-width: 768px) {
  .pg_top_statement_button {
    margin-top: 48px;
  }
}
.pg_top_statement_images {
  position: relative;
  width: 482px;
  height: 979px;
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .pg_top_statement_images {
    width: 100%;
    height: 500px;
  }
}
.pg_top_statement_image {
  position: absolute;
  overflow: hidden;
  border-radius: 8px;
}
.pg_top_statement_image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.pg_top_statement_image--1 {
  width: 270px;
  height: 360px;
  top: 0;
  right: 0;
}
@media screen and (max-width: 768px) {
  .pg_top_statement_image--1 {
    width: 45%;
    height: 180px;
    top: 0;
    right: 0;
  }
}
.pg_top_statement_image--2 {
  width: 231px;
  height: 173px;
  top: 440px;
  left: 0;
}
@media screen and (max-width: 768px) {
  .pg_top_statement_image--2 {
    width: 40%;
    height: 120px;
    top: auto;
    bottom: 80px;
    left: 0;
  }
}
.pg_top_statement_image--3 {
  width: 360px;
  height: 270px;
  bottom: 0;
  right: 6px;
}
@media screen and (max-width: 768px) {
  .pg_top_statement_image--3 {
    width: 55%;
    height: 150px;
    bottom: 0;
    right: 0;
  }
}
.pg_top_three_powers {
  background-color: #FAF9F9;
}
.pg_top_about {
  padding: 0px;
  position: relative;
}
.pg_top_about_video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.pg_top_about_video_wrapper {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  height: 100vh;
}
@media screen and (max-width: 768px) {
  .pg_top_about_video_wrapper {
    margin-bottom: -30vh;
  }
}
.pg_top_about_video_filter {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.pg_top_about_decoration {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
}
.pg_top_about_content {
  margin: 0 auto;
  width: 800px;
}
@media screen and (max-width: 768px) {
  .pg_top_about_content {
    width: 100%;
    padding: 0 24px;
  }
}
.pg_top_about_service_wrapper {
  bottom: 0;
  top: 100vh;
  width: 100%;
  height: 100%;
  z-index: 1;
  border-radius: 48px 48px 0 0;
  background-color: var(--color-gray-7);
}
.pg_top_service {
  background-color: #FFFFFF;
}
.pg_top_service {
  background-color: #FFFFFF;
}
.pg_top_maker {
  background-color: #1A0303;
}
.pg_top_maker .bl_section_heading_mainTitle,
.pg_top_maker .bl_section_heading_description {
  color: #fff;
}
.pg_top_maker_list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  align-items: flex-start;
  gap: 16px;
}
@media screen and (max-width: 768px) {
  .pg_top_maker_list {
    gap: 8px;
    grid-template-columns: 50% 50%;
  }
}
.pg_top_maker_list_item {
  list-style: none;
  border: 1px solid #fff;
  font-size: 15px;
}
@media screen and (max-width: 768px) {
  .pg_top_maker_list_item {
    font-size: 12px;
  }
}
.pg_top_maker_list_item_content {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 8px 16px;
}
@media screen and (max-width: 768px) {
  .pg_top_maker_list_item_content {
    padding: 4px 8px;
  }
}
.pg_top_maker_list_item_content_details {
  color: #fff;
  display: flex;
  flex-direction: column;
}
.pg_top_maker_list_item_content_details_summary_title {
  overflow: hidden;
  text-overflow: ellipsis;
  width: 100%;
  white-space: nowrap;
}
.pg_top_maker_list_item_content_details summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.pg_top_maker_list_item_content_details summary::-webkit-details-marker {
  display: none;
}
.pg_top_maker_list_item_content_details summary::marker {
  display: none;
}
.pg_top_maker_list_item_content_details summary svg {
  transition: transform 0.3s ease;
  flex-shrink: 0;
}
.pg_top_maker_list_item_content_details[open] summary svg {
  transform: rotate(180deg);
}
.pg_top_maker_list_item_content_details_content {
  display: grid;
  gap: 8px;
}
.pg_top_maker_list_item_content_details_content::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #fff;
  margin: 12px 0 4px;
}
.pg_top_maker_list_item_content_details_content_list {
  display: grid;
  gap: 8px;
}
.pg_top_maker_list_item_content_details_content_list_item {
  list-style: disc;
  margin-left: 1.5em;
}
.pg_top_news {
  background-color: #F5F5F5;
}
.pg_top_news_more {
  display: flex;
  justify-content: center;
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  .pg_top_news_more {
    margin-top: 32px;
  }
}
.pg_top_group {
  background-color: #FAF9F9;
}
.pg_top_group_items {
  display: grid;
  gap: 64px;
}
@media screen and (max-width: 768px) {
  .pg_top_group_items {
    gap: 24px;
  }
}
.pg_top_recruit {
  position: relative;
  padding: 160px 0;
  background-color: #FFFFFF;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .pg_top_recruit {
    padding: 80px 20px;
  }
}
.pg_top_recruit_inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 60px;
  max-width: 1120px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .pg_top_recruit_inner {
    flex-direction: column;
    gap: 40px;
  }
}
.pg_top_recruit_content {
  flex: 0 0 520px;
  z-index: 2;
  position: relative;
}
@media screen and (max-width: 768px) {
  .pg_top_recruit_content {
    flex: 1;
    max-width: 100%;
  }
}
.pg_top_recruit_header {
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .pg_top_recruit_header {
    margin-bottom: 24px;
  }
}
.pg_top_recruit_subtitle {
  color: #E11E1F;
  font-family: "Avenir Next", -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans Serif";
  font-weight: 700;
  font-size: 24px;
  line-height: 1.5;
  display: block;
  margin-bottom: 8px;
}
@media screen and (max-width: 768px) {
  .pg_top_recruit_subtitle {
    font-size: 18px;
  }
}
.pg_top_recruit_title {
  color: #1A0303;
  font-family: "Noto Sans JP", "Noto Sans Serif";
  font-weight: 900;
  font-size: 56px;
  line-height: 1.5;
  margin: 0;
}
@media screen and (max-width: 768px) {
  .pg_top_recruit_title {
    font-size: 36px;
  }
}
.pg_top_recruit_text {
  margin-bottom: 80px;
}
@media screen and (max-width: 768px) {
  .pg_top_recruit_text {
    margin-bottom: 40px;
  }
}
.pg_top_recruit_text p {
  color: #1A0303;
  font-family: "Noto Sans JP", "Noto Sans Serif";
  font-weight: 500;
  font-size: 16px;
  line-height: 1.5;
  margin: 0 0 16px 0;
}
.pg_top_recruit_text p:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  .pg_top_recruit_text p {
    font-size: 14px;
  }
}
.pg_top_recruit_image {
  position: relative;
  width: 610px;
  border-radius: 8px;
  z-index: 2;
  margin-left: -200px;
}
@media screen and (max-width: 768px) {
  .pg_top_recruit_image {
    flex: 1;
    height: 240px;
    max-width: 120%;
    margin: 0 -20px;
  }
}
.pg_top_recruit_image img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.pg_top_recruit_shapes {
  position: absolute;
  top: 100px;
  right: 0;
  width: 723.18px;
  height: 496px;
  pointer-events: none;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .pg_top_recruit_shapes {
    display: none;
  }
}
.pg_top_recruit_shape {
  position: absolute;
}
.pg_top_recruit_shape img {
  width: 100%;
  height: 100%;
}
.pg_top_recruit_shape--1 {
  top: 0px;
  right: 67.31px;
  width: 114.31px;
  height: 114.31px;
}
.pg_top_recruit_shape--2 {
  bottom: 34.78px;
  left: 73.97px;
  width: 115.22px;
  height: 116.3px;
}
.pg_top_recruit_shape--3 {
  bottom: 50.14px;
  left: 0;
  width: 49.58px;
  height: 49.58px;
}
.pg_top_recruit_shape--4 {
  bottom: 0;
  right: 0;
  width: 200.66px;
  height: 200.66px;
}
.pg_top_contact {
  background-color: #F5F5F5;
}
.pg_top_contact_content {
  display: grid;
  gap: 80px;
  grid-template-columns: 1fr 1fr;
}
@media screen and (max-width: 768px) {
  .pg_top_contact_content {
    grid-template-columns: 1fr;
  }
}

.pg_about_history {
  padding: 160px 0;
  background-color: #FFFFFF;
}
@media screen and (max-width: 768px) {
  .pg_about_history {
    padding: 80px 0;
  }
}
.pg_about_sectionTitle {
  display: flex;
  align-items: baseline;
  gap: 24px;
  margin-bottom: 80px;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .pg_about_sectionTitle {
    gap: 16px;
    margin-bottom: 60px;
  }
}
.pg_about_sectionTitle_en {
  color: #E11E1F;
  font-family: "Avenir Next", -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans Serif";
  font-weight: 700;
  font-size: 48px;
  line-height: 1;
  text-transform: uppercase;
}
@media screen and (max-width: 768px) {
  .pg_about_sectionTitle_en {
    font-size: 32px;
  }
}
.pg_about_sectionTitle_ja {
  color: #1A0303;
  font-family: "Noto Sans JP", "Noto Sans Serif";
  font-weight: 700;
  font-size: 24px;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .pg_about_sectionTitle_ja {
    font-size: 18px;
  }
}
.pg_about_timeline {
  position: relative;
  max-width: 1120px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .pg_about_timeline {
    padding: 0 16px;
  }
}
.pg_about_timeline_line {
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: 1px;
  background-color: #DBD1D1;
  transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  .pg_about_timeline_line {
    left: 24px;
  }
}
.pg_about_timeline_item {
  position: relative;
  margin-bottom: 8px;
}
@media screen and (max-width: 768px) {
  .pg_about_timeline_item {
    margin-bottom: 40px;
  }
}
.pg_about_timeline_item:last-child {
  margin-bottom: 0;
}
.pg_about_timeline_item--left .pg_about_timeline_inner {
  justify-content: flex-end;
  flex-direction: row-reverse;
  padding-right: 50%;
}
@media screen and (max-width: 768px) {
  .pg_about_timeline_item--left .pg_about_timeline_inner {
    justify-content: flex-start;
    flex-direction: row;
    padding-right: 0;
    padding-left: 48px;
  }
}
.pg_about_timeline_item--left .pg_about_timeline_date {
  flex-direction: row;
  gap: 24px;
  align-items: baseline;
}
.pg_about_timeline_item--left .pg_about_timeline_dot {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  .pg_about_timeline_item--left .pg_about_timeline_dot {
    left: 24px;
  }
}
.pg_about_timeline_item--left .pg_about_timeline_event {
  text-align: left;
  padding-left: 40px;
}
@media screen and (max-width: 768px) {
  .pg_about_timeline_item--left .pg_about_timeline_event {
    padding-left: 0;
  }
}
.pg_about_timeline_item--right .pg_about_timeline_inner {
  justify-content: flex-start;
  padding-left: 50%;
}
@media screen and (max-width: 768px) {
  .pg_about_timeline_item--right .pg_about_timeline_inner {
    padding-left: 48px;
  }
}
.pg_about_timeline_item--right .pg_about_timeline_date {
  flex-direction: row-reverse;
  gap: 24px;
  align-items: baseline;
}
.pg_about_timeline_item--right .pg_about_timeline_dot {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  .pg_about_timeline_item--right .pg_about_timeline_dot {
    left: 24px;
  }
}
.pg_about_timeline_item--right .pg_about_timeline_event {
  text-align: right;
  padding-right: 40px;
}
@media screen and (max-width: 768px) {
  .pg_about_timeline_item--right .pg_about_timeline_event {
    text-align: left;
    padding-right: 0;
  }
}
.pg_about_timeline_item--right .pg_about_timeline_dateText {
  text-align: right;
}
.pg_about_timeline_inner {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  flex-direction: column;
}
.pg_about_timeline_date {
  display: flex;
  align-items: center;
  position: relative;
}
.pg_about_timeline_dateText {
  color: #E11E1F;
  font-family: "Avenir Next", -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans Serif";
  font-weight: 600;
  font-size: 40px;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .pg_about_timeline_dateText {
    font-size: 24px;
  }
}
.pg_about_timeline_dot {
  width: 16px;
  height: 16px;
  background-color: #E11E1F;
  border-radius: 50%;
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .pg_about_timeline_dot {
    width: 12px;
    height: 12px;
  }
}
@media screen and (max-width: 768px) {
  .pg_about_timeline_event {
    padding-left: 8px;
  }
}
.pg_about_timeline_event p {
  color: #000000;
  font-family: "Noto Sans JP", "Noto Sans Serif";
  font-weight: 400;
  font-size: 16px;
  line-height: 1;
  margin: 0;
}
@media screen and (max-width: 768px) {
  .pg_about_timeline_event p {
    font-size: 14px;
  }
}

.pg_interview_left_top {
  margin-left: 10px;
  margin-bottom: 10px;
}
@media screen and (min-width: 768px) {
  .pg_interview_left_top {
    margin-left: 10px;
    margin-bottom: 16px;
  }
}
.pg_interview_left_top_interviewIcon {
  position: relative;
  transform: translateY(50%);
  z-index: 1;
  height: 80px;
}
@media screen and (min-width: 768px) {
  .pg_interview_left_top_interviewIcon {
    height: 120px;
  }
}
@media screen and (min-width: 768px) {
  .pg_interview_left_interviewCopy {
    position: absolute;
    right: 200px;
    transform: translateX(100%);
  }
}
@media screen and (min-width: 768px) {
  .pg_interview_left_interviewCopy.takeuchi {
    top: 80px;
  }
}
@media screen and (min-width: 768px) {
  .pg_interview_left_interviewCopy.okamoto {
    top: 40px;
  }
}
.pg_interview_left_img {
  position: relative;
  box-shadow: -16px 16px 0 0 var(--color-main);
  border-radius: 8px;
}
@media screen and (min-width: 768px) {
  .pg_interview_left_img {
    box-shadow: -24px 24px 0 0 var(--color-main);
  }
}
.pg_interview_left_img_wrapper {
  position: relative;
}
.pg_interview_body {
  display: grid;
  font-family: var(--main-font);
  color: var(--color-main);
}
.pg_interview_body > *:first-child {
  margin-top: 0;
}
.pg_interview_body h2 {
  margin-top: 40px;
  display: grid;
  grid-template-columns: 24px 1fr;
  gap: 16px;
  align-items: center;
  font-weight: 700;
  font-size: 18px;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .pg_interview_body h2 {
    margin-top: 80px;
    gap: 24px;
    grid-template-columns: 80px 1fr;
    font-size: 24px;
    line-height: 1.25;
  }
}
.pg_interview_body h2::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: var(--color-main);
}
.pg_interview_body p {
  margin-top: px;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.5;
  text-align: justify;
}
@media screen and (min-width: 768px) {
  .pg_interview_body p {
    margin-top: 24px;
    font-size: 16px;
    line-height: 2;
  }
}

.pg_content {
  padding: 32px;
  background-color: var(--color-white);
  color: var(--color-text-1);
  font-family: var(--main-font);
  border-radius: 8px;
}
@media screen and (min-width: 768px) {
  .pg_content {
    padding: 80px;
  }
}
.pg_content > *:first-child {
  margin-top: 0;
}
.pg_content p {
  margin-top: 24px;
  font-weight: 400;
  font-size: 16px;
  line-height: 32px;
  letter-spacing: 0%;
  text-align: justify;
}
@media screen and (max-width: 768px) {
  .pg_content p {
    font-size: 14px;
    line-height: 21px;
  }
}
.pg_content a {
  color: var(--color-text-3);
  text-decoration: underline;
}
.pg_content img {
  margin-top: 56px;
  border-radius: 8px;
}
@media screen and (max-width: 768px) {
  .pg_content img {
    margin-top: 24px;
  }
}
.pg_content h2 {
  margin-top: 56px;
  font-weight: 700;
  font-size: 24px;
  line-height: 30px;
  letter-spacing: 0%;
}
@media screen and (max-width: 768px) {
  .pg_content h2 {
    margin-top: 24px;
    font-size: 18px;
    line-height: 1.5;
  }
}
.pg_content h3 {
  margin-top: 40px;
  font-weight: 700;
  font-size: 20px;
  line-height: 25px;
  letter-spacing: 0%;
  text-align: justify;
}
@media screen and (max-width: 768px) {
  .pg_content h3 {
    margin-top: 20px;
    font-size: 16px;
    line-height: 1.5;
  }
}
.pg_content h4 {
  margin-top: 24px;
  font-weight: 500;
  font-size: 18px;
  line-height: 22.5px;
  letter-spacing: 0%;
}
@media screen and (max-width: 768px) {
  .pg_content h4 {
    margin-top: 18px;
    font-size: 14px;
    line-height: 1.5;
  }
}
.pg_content ul {
  margin-top: 24px;
  font-weight: 400;
  font-size: 16px;
  line-height: 32px;
  letter-spacing: 0%;
  text-align: justify;
}
@media screen and (max-width: 768px) {
  .pg_content ul {
    margin-top: 18px;
    font-size: 14px;
    line-height: 1.5;
  }
}
.pg_content ul li {
  list-style: disc;
  margin-left: 1.5em;
}
.pg_content strong {
  font-weight: 700;
}
.pg_content table {
  margin-top: 16px;
  margin-bottom: 12px;
  font-size: 16px;
  line-height: 1.25;
}
@media screen and (max-width: 768px) {
  .pg_content table {
    font-size: 14px;
    margin-top: 12px;
    margin-bottom: 8px;
  }
}
.pg_content table td {
  border: none;
  padding: 22px 0;
}
@media screen and (max-width: 768px) {
  .pg_content table td {
    padding: 16px 0;
  }
}
.pg_content table tr {
  border-bottom: 1px solid var(--color-gray-5);
}

.contact {
  padding: 32px;
  background-color: var(--color-white);
  color: var(--color-text-1);
  font-family: var(--main-font);
  border-radius: 8px;
  /* フォーム要素のスタイル */
}
@media screen and (min-width: 768px) {
  .contact {
    padding: 80px;
  }
}
.contact .wpcf7 .wpcf7-form {
  display: grid;
  gap: 24px;
}
@media screen and (min-width: 768px) {
  .contact .wpcf7 .wpcf7-form {
    gap: 32px;
  }
}
.contact .wpcf7 label {
  font-weight: 700;
  line-height: 1;
  font-size: 14px;
  color: var(--color-text-1);
  display: grid;
  grid-template-columns: auto auto;
  justify-content: flex-start;
  align-items: center;
  gap: 10px;
}
@media screen and (min-width: 768px) {
  .contact .wpcf7 label {
    font-size: 16px;
  }
}
.contact .wpcf7 label.required::after {
  content: "必須";
  display: block;
  color: var(--color-white);
  background-color: var(--color-accent);
  padding: 2px 8px;
  border-radius: 2px;
  font-size: 10px;
  line-height: 1;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .contact .wpcf7 label.required::after {
    font-size: 12px;
    padding: 3px 8px;
  }
}
.contact .wpcf7 .inputs {
  display: grid;
  grid-template-columns: auto auto;
  justify-content: flex-start;
  gap: 10px;
}
.contact .wpcf7 input[type=text],
.contact .wpcf7 input[type=email],
.contact .wpcf7 input[type=tel],
.contact .wpcf7 textarea,
.contact .wpcf7 select {
  padding: 12px 16px;
  margin-top: 8px;
  width: 100%;
  border-radius: 4px;
  background-color: #EDEDEE;
  color: #9EA0A4;
  border: none;
  font-size: 14px;
  line-height: 1;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .contact .wpcf7 input[type=text],
  .contact .wpcf7 input[type=email],
  .contact .wpcf7 input[type=tel],
  .contact .wpcf7 textarea,
  .contact .wpcf7 select {
    margin-top: 16px;
    font-size: 16px;
    padding: 13px 16px;
  }
}
.contact .wpcf7 input[type=text]:focus-visible,
.contact .wpcf7 input[type=email]:focus-visible,
.contact .wpcf7 input[type=tel]:focus-visible,
.contact .wpcf7 textarea:focus-visible,
.contact .wpcf7 select:focus-visible {
  outline: none;
}
.contact .wpcf7 input[type=text]::-moz-placeholder, .contact .wpcf7 input[type=email]::-moz-placeholder, .contact .wpcf7 input[type=tel]::-moz-placeholder, .contact .wpcf7 textarea::-moz-placeholder, .contact .wpcf7 select::-moz-placeholder {
  color: var(--color-gray-3);
}
.contact .wpcf7 input[type=text]::placeholder,
.contact .wpcf7 input[type=email]::placeholder,
.contact .wpcf7 input[type=tel]::placeholder,
.contact .wpcf7 textarea::placeholder,
.contact .wpcf7 select::placeholder {
  color: var(--color-gray-3);
}
.contact .wpcf7 .names {
  display: grid;
  gap: 24px;
}
@media screen and (min-width: 768px) {
  .contact .wpcf7 .names {
    grid-template-columns: auto auto;
    justify-content: flex-start;
  }
}
@media screen and (min-width: 768px) {
  .contact .wpcf7 input:not(input[type=email]) {
    width: 280px;
  }
}
.contact .wpcf7 select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background: #fff url('data:image/svg+xml;charset=UTF-8,<svg width="14" height="9" viewBox="0 0 14 9" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M7 8.63333L0 1.63333L1.63333 0L7 5.36667L12.3667 0L14 1.63333L7 8.63333Z" fill="%2314284F"/></svg>') no-repeat;
  background-position: right 15px center;
  background-size: 14px 9px;
  padding-right: 40px; /* アイコンの余白を確保 */
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .contact .wpcf7 select {
    width: auto;
  }
}
.contact .wpcf7 .co_submit {
  display: grid;
  grid-template-columns: auto auto;
  justify-content: center;
  align-items: center;
  background: var(--color-accent);
  color: white;
  padding: 12px 24px;
  margin: 5px auto 0;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  width: -moz-max-content;
  width: max-content;
  gap: 8px;
  border-radius: 8px;
}
@media screen and (min-width: 768px) {
  .contact .wpcf7 .co_submit {
    margin: 15px auto 0;
  }
}
.contact .wpcf7 .co_submit input[type=submit] {
  padding: 0;
  margin: 0;
  background: transparent;
  border: none;
  font-size: 14px;
  line-height: 1;
  font-weight: bold;
  color: #fff;
  width: auto;
}
.contact .wpcf7 .co_submit svg {
  width: 14px;
  height: 14px;
}
.contact .wpcf7-radio {
  display: grid;
  gap: 16px;
  margin-top: 15px;
}
@media screen and (min-width: 768px) {
  .contact .wpcf7-radio {
    display: block;
  }
}
.contact .wpcf7-radio .wpcf7-list-item {
  margin: 0 1em 0 0;
}
.contact .wpcf7-radio input {
  display: none;
}
.contact .wpcf7-radio .wpcf7-list-item-label {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  justify-items: center;
  gap: 16px;
  font-weight: 400;
  font-size: 13px;
  line-height: 1;
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .contact .wpcf7-radio .wpcf7-list-item-label {
    font-size: 16px;
  }
}
.contact .wpcf7-radio .wpcf7-list-item-label:before {
  width: 15px;
  height: 15px;
  border-radius: 50%;
  display: block;
  grid-column: 1/2;
  grid-row: 1/2;
  background-color: #EDEDEE;
}
.contact .wpcf7-radio .wpcf7-list-item-label:after {
  grid-column: 1/2;
  grid-row: 1/2;
}
.contact .wpcf7-radio input:checked + .wpcf7-list-item-label:after {
  background-color: var(--color-main);
  height: 7px;
  width: 7px;
  border-radius: 50%;
}
.contact .tx_center {
  display: block;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
}
.contact .tx_center .wpcf7-list-item {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
}
.contact .privacy {
  font-weight: 400;
  color: var(--color-text-1);
  font-size: 14px;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .contact .privacy {
    font-size: 16px;
    line-height: 2;
  }
}
.contact .link {
  font-weight: 700;
  color: var(--color-text-3);
  text-decoration: underline;
  cursor: pointer;
}
.contact input[type=checkbox] {
  width: 20px;
  height: 20px;
  position: relative;
}
.contact input[type=checkbox]:checked:before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(50deg);
  width: 6px;
  height: 10px;
  border-right: 2px solid var(--color-main);
  border-bottom: 2px solid var(--color-main);
  content: "";
}

.pg_offices .map_embed {
  width: 100%;
  aspect-ratio: 16/9;
}
.pg_offices .map_embed iframe {
  width: 100%;
}

.pg_groupCompanyDetail .bl_businessOverview {
  display: flex;
  gap: 40px;
  align-items: flex-start;
}
@media screen and (max-width: 768px) {
  .pg_groupCompanyDetail .bl_businessOverview {
    flex-direction: column;
  }
}
.pg_groupCompanyDetail .bl_businessOverview_content {
  flex: 1;
  max-width: 560px;
}
@media screen and (max-width: 768px) {
  .pg_groupCompanyDetail .bl_businessOverview_content {
    max-width: 100%;
    flex: none;
  }
}
.pg_groupCompanyDetail .bl_businessOverview_image {
  flex: 0 0 520px;
}
@media screen and (max-width: 768px) {
  .pg_groupCompanyDetail .bl_businessOverview_image {
    max-width: 100%;
    flex: none;
  }
}
.pg_groupCompanyDetail .bl_constructionItems {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
}
@media screen and (max-width: 768px) {
  .pg_groupCompanyDetail .bl_constructionItems {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 20px;
  }
}
.pg_groupCompanyDetail .bl_constructionItem {
  display: flex;
  flex-direction: column;
  gap: 16px;
  background-size: 100%;
}
.pg_groupCompanyDetail .bl_constructionItem_image {
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
  border-radius: 8px;
}
.pg_groupCompanyDetail .bl_constructionItem_image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.pg_groupCompanyDetail .bl_constructionItem_text {
  font-size: 16px;
  font-weight: 500;
  color: #1A0303;
  text-align: center;
}
.pg_groupCompanyDetail .bl_recruitmentList {
  list-style: none;
  padding: 0;
  margin: 0;
}
.pg_groupCompanyDetail .bl_recruitmentList li {
  padding: 8px 0;
  border-bottom: 1px solid #E6E6E6;
}
.pg_groupCompanyDetail .bl_recruitmentList li:first-child {
  border-top: 1px solid #E6E6E6;
}
.pg_groupCompanyDetail .bl_recruitmentList a {
  color: #E11E1F;
  text-decoration: underline;
  font-size: 16px;
  line-height: 2;
}
.pg_groupCompanyDetail .bl_recruitmentList a:hover {
  opacity: 0.7;
}
.pg_groupCompanyDetail .bl_mapEmbed {
  width: 100%;
  height: 379px;
  overflow: hidden;
}
.pg_groupCompanyDetail .bl_mapEmbed iframe {
  width: 100%;
  height: 100%;
  border: none;
}
.pg_groupCompanyDetail .bcol_gray {
  background-color: #FAF9F9;
}

.pg_unit_slogan {
  padding: 0px;
  position: relative;
}
.pg_unit_slogan_image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  filter: brightness(0.4);
}
.pg_unit_slogan_image_wrapper {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  height: 100vh;
}
.pg_unit_slogan_content {
  margin: 0 auto;
  max-width: 800px;
  padding: 120px 24px;
}
@media screen and (max-width: 768px) {
  .pg_unit_slogan_content {
    padding: 80px 24px;
  }
}
