html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}
body {
  line-height: 1.4;
}
ol,
ul {
  list-style: none;
}
blockquote,
q {
  quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
:root {
  --color-white: #ffffff;
  --color-black: #000000;
  --color-black-light: #333333;
  --color-gray-light: #f2f2f2;
  --color-gray-mid-light: #e9e9e9;
  --color-gray-mid: #bcbcbc;
  --color-gray-dark: #4f4f4f;
  --color-red: #a71717;
  --color-red-light: #d74f4f;
}
@media (max-width: 768px) {
  .pc-only {
    display: none !important;
  }
}
.sp-tb-only {
  display: none !important;
}
@media (max-width: 1024px) {
  .sp-tb-only {
    display: block !important;
  }
}
.sp-only {
  display: none !important;
}
@media (max-width: 768px) {
  .sp-only {
    display: block !important;
  }
}

@media (max-width: 480px) {
  .body {
    overflow: hidden;
  }
}
p,
a,
li,
dd,
dt,
span,
div,
h1,
h2,
h3 {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  box-sizing: border-box;
}
a {
  color: inherit;
  text-decoration: none;
  -webkit-transition: all 0.2s linear;
  transition: all 0.2s linear;
}
a:link,
a:visited {
  text-decoration: none;
}
a:hover {
  cursor: pointer;
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
  -moz-opacity: 0.7;
  -khtml-opacity: 0.7;
}
img {
  max-width: 100%;
}
html {
  scroll-behavior: smooth;
  scroll-padding: 90px;
}
@media (max-width: 1150px) {
  html {
    scroll-padding: 70px;
  }
}
:root {
  --color-white: #ffffff;
  --color-black: #000000;
  --color-black-light: #333333;
  --color-gray-light: #f2f2f2;
  --color-gray-mid-light: #e9e9e9;
  --color-gray-mid: #bcbcbc;
  --color-gray-dark: #4f4f4f;
  --color-red: #a71717;
  --color-red-light: #d74f4f;
}
@media (max-width: 768px) {
  .pc-only {
    display: none !important;
  }
}
.sp-tb-only {
  display: none !important;
}
@media (max-width: 1024px) {
  .sp-tb-only {
    display: block !important;
  }
}
.sp-only {
  display: none !important;
}
@media (max-width: 768px) {
  .sp-only {
    display: block !important;
  }
}
.section {
  padding-block: 60px;
}
.section.-bg-gray {
  background-color: #f4f4f4;
}
.section__box {
  display: grid;
  gap: 25px;
}
.section__box.-column-2 {
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
}
@media (max-width: 768px) {
  .section__box.-column-2 {
    grid-template-columns: 1fr;
  }
}
.section__box-item {
  display: grid;
  align-content: start;
  gap: 20px;
}
.breadcrumb {
  background-color: var(--color-black-light);
  padding: 16px 0;
}
.breadcrumb__list {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 40px;
  display: flex;
  align-items: center;
  list-style: none;
  flex-wrap: wrap;
  gap: 8px;
}
@media (max-width: 768px) {
  .breadcrumb__list {
    padding: 0 20px;
    gap: 6px;
  }
}
.breadcrumb__item {
  display: flex;
  align-items: center;
  gap: 8px;
}
@media (max-width: 768px) {
  .breadcrumb__item {
    gap: 6px;
  }
}
.breadcrumb__link {
  font-size: 14px;
  color: var(--color-white);
  text-decoration: none;
  transition: color 0.2s ease;
}
@media (max-width: 768px) {
  .breadcrumb__link {
    font-size: 12px;
  }
}
.breadcrumb__link:hover {
  opacity: 1;
}
.breadcrumb__link:hover::after {
  width: 100%;
}
.breadcrumb__link::after {
  content: "";
  display: block;
  height: 2px;
  width: 0;
  background-color: var(--color-white);
  transition: width 0.3s ease-in-out;
}
.breadcrumb__home-icon {
  width: 16px;
  height: 16px;
}
@media (max-width: 768px) {
  .breadcrumb__home-icon {
    width: 14px;
    height: 14px;
  }
}
.breadcrumb__separator {
  font-size: 14px;
  color: var(--color-gray-light);
}
@media (max-width: 768px) {
  .breadcrumb__separator {
    font-size: 12px;
  }
}
.breadcrumb__current {
  font-size: 14px;
  color: var(--color-gray-mid);
}
@media (max-width: 768px) {
  .breadcrumb__current {
    font-size: 12px;
  }
}
:root {
  --color-white: #ffffff;
  --color-black: #000000;
  --color-black-light: #333333;
  --color-gray-light: #f2f2f2;
  --color-gray-mid-light: #e9e9e9;
  --color-gray-mid: #bcbcbc;
  --color-gray-dark: #4f4f4f;
  --color-red: #a71717;
  --color-red-light: #d74f4f;
}
@media (max-width: 768px) {
  .pc-only {
    display: none !important;
  }
}
.sp-tb-only {
  display: none !important;
}
@media (max-width: 1024px) {
  .sp-tb-only {
    display: block !important;
  }
}
.sp-only {
  display: none !important;
}
@media (max-width: 768px) {
  .sp-only {
    display: block !important;
  }
}
.u-mb10,
.u-mt20,
.u-pl20 {
  font-size: 14px;
}
.g-recaptcha {
  margin-left: 39px;
}
/* Tablet (768px) */
@media (max-width: 768px) {
  .g-recaptcha {
    margin-left: 216px;
  }
}
 
/* Mobile (480px) */
@media (max-width: 480px) {
  .g-recaptcha {
    margin-left: 17px;
  }
}
.cv {
  position: relative;
  background-image: url("/assets/img/cv_bg_pc.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 80px 20px;
}
.cv-admin-builder {
  margin-top: -60px;
}
.cv__container {
  position: relative;
  z-index: 2;
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
  color: #fff;
}
.cv__title {
  font-size: 40px;
  font-weight: bold;
  margin-bottom: 24px;
  line-height: 1.4;
}
.cv__description {
  font-size: 16px;
  line-height: 1.8;
  margin-bottom: 48px;
}
.cv__buttons {
  display: flex;
  justify-content: center;
  gap: 24px;
  flex-wrap: wrap;
}
@media (max-width: 768px) {
  .cv {
    padding: 60px 20px;
  }
  .cv__title {
    font-size: 28px;
    margin-bottom: 16px;
  }
  .cv__description {
    font-size: 14px;
    margin-bottom: 32px;
  }
  .cv__buttons {
    flex-direction: column;
    gap: 16px;
  }
}
:root {
  --color-white: #ffffff;
  --color-black: #000000;
  --color-black-light: #333333;
  --color-gray-light: #f2f2f2;
  --color-gray-mid-light: #e9e9e9;
  --color-gray-mid: #bcbcbc;
  --color-gray-dark: #4f4f4f;
  --color-red: #a71717;
  --color-red-light: #d74f4f;
}
@media (max-width: 768px) {
  .pc-only {
    display: none !important;
  }
}
.sp-tb-only {
  display: none !important;
}
@media (max-width: 1024px) {
  .sp-tb-only {
    display: block !important;
  }
}
.sp-only {
  display: none !important;
}
@media (max-width: 768px) {
  .sp-only {
    display: block !important;
  }
}
.header-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  position: relative;
}

.header-nav__logo {
  max-width: 100%;
  width: 170px;
}

.header-nav__hamburger {
  display: none;
  flex-direction: column;
  justify-content: space-around;
  width: 30px;
  height: 24px;
  background: rgba(0, 0, 0, 0);
  border: none;
  cursor: pointer;
  padding: 0;
  z-index: 1001;
}

@media (max-width: 1150px) {
  .header-nav__hamburger {
    display: flex;
  }
}

.header-nav__hamburger-line {
  width: 100%;
  height: 3px;
  background-color: var(--color-black);
  border-radius: 2px;
  transition: all 0.3s ease-in-out;
  transform-origin: center;
}

.header-nav__hamburger.is-open .header-nav__hamburger-line:nth-child(1) {
  transform: rotate(45deg) translateY(11px);
}

.header-nav__hamburger.is-open .header-nav__hamburger-line:nth-child(2) {
  opacity: 0;
  transform: translateX(-20px);
}

.header-nav__hamburger.is-open .header-nav__hamburger-line:nth-child(3) {
  transform: rotate(-45deg) translateY(-11px);
}

.header-nav__menu-wrapper {
  display: flex;
  align-items: center;
}

@media (max-width: 1150px) {
  .header-nav__menu-wrapper {
    position: fixed;
    top: 0;
    right: 0;
    width: 100%;
    max-width: 320px;
    height: 100vh;
    background-color: var(--color-white);
    flex-direction: column;
    align-items: stretch;
    padding: 80px 24px 24px;
    box-shadow: -2px 0 10px rgba(0, 0, 0, 0.1);
    z-index: 1000;
    overflow: auto;
    opacity: 0;
    visibility: hidden;
    transform: translateX(100%);
    transition: all 0.3s ease-in-out;
  }

  .header-nav__menu-wrapper.is-open {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
  }
}

@media (max-width: 768px) {
  .header-nav__menu-wrapper {
    width: 100%;
    max-width: 100%;
  }
}

.header-nav__menu {
  display: flex;
  align-items: center;
  align-content: center;
  gap: 13px 15px;
  margin-left: 0;
}

@media (max-width: 1150px) {
  .header-nav__menu {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    width: 100%;
    margin-bottom: 24px;
  }
}

.header-nav__menu-item-wrapper {
  position: relative;
}

.header-nav__menu-item-wrapper:hover .header-nav__mega-menu {
  opacity: 1;
  visibility: visible;
}

@media (max-width: 1150px) {
  .header-nav__menu-item-wrapper {
    width: 100%;
  }

  .header-nav__menu-item-wrapper.is-open .header-nav__menu-item::after {
    transform: rotate(180deg);
  }

  .header-nav__menu-item-wrapper.is-open .header-nav__mega-menu {
    opacity: 1;
    visibility: visible;
    max-height: 2000px;
  }
}

.header-nav__menu-item {
  display: flex;
  align-items: center;
  align-content: stretch;
  gap: 7.222px;
  flex-shrink: 0;
  transition: opacity 0.3s ease;
}

.header-nav__menu-item:hover {
  opacity: 0.7;
}

@media (max-width: 1150px) {
  .header-nav__menu-item {
    padding: 16px 0;
    border-bottom: 1px solid var(--color-gray-mid-light);
    justify-content: space-between;
    position: relative;
  }

  [data-has-dropdown="true"] .header-nav__menu-item::after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-left: 6px solid rgba(0, 0, 0, 0);
    border-right: 6px solid rgba(0, 0, 0, 0);
    border-top: 6px solid var(--color-black);
    margin-left: auto;
    transition: transform 0.3s ease-in-out;
  }
}

@media (max-width: 768px) {
  .header-nav__menu-item {
    width: 100%;
  }
}

.header-nav__menu-text {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.55;
  color: var(--color-black);
  white-space: nowrap;
  flex-shrink: 0;
}

@media (max-width: 1150px) {
  .header-nav__menu-text {
    font-size: 16px;
  }
}

.header-nav__menu-text:hover::after {
  width: 100%;
}

.header-nav__menu-text::after {
  content: "";
  display: block;
  height: 2px;
  width: 0;
  background-color: var(--color-black);
  transition: width 0.3s ease-in-out;
}

.header-text {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.55;
  color: var(--color-black);
  white-space: nowrap;
  flex-shrink: 0;
}

@media (max-width: 1150px) {
  .header-text {
    font-size: 16px;
  }
}

.header-nav__login {
  grid-area: 1/1;
  background-color: var(--color-gray-mid-light);
  display: flex;
  align-items: center;
  align-content: stretch;
  justify-content: center;
  height: 26px;
  width: 80px;
  padding: 8.125px 23.472px;
  margin-left: 12px;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.header-nav__login:hover {
  background-color: hsl(0, 0%, 86.3725490196%);
}

@media (max-width: 1150px) {
  .header-nav__login {
    width: 100%;
    height: 44px;
    margin-left: 0;
    margin-bottom: 12px;
  }
}

.header-nav__login-text {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.55;
  color: var(--color-black);
  text-align: center;
  white-space: nowrap;
  flex-shrink: 0;
}

.header-nav__download {
  grid-area: 1/1;
  background-color: var(--color-red);
  display: flex;
  align-items: center;
  align-content: stretch;
  justify-content: center;
  height: 44px;
  width: 147px;
  padding: 8.125px 23.472px;
  margin-left: 20px;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.header-nav__download:hover {
  background-color: var(--color-red-light);
}

@media (max-width: 1150px) {
  .header-nav__download {
    width: 100%;
    margin-left: 0;
    margin-bottom: 12px;
  }
}

.header-nav__download-text {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 1.55;
  color: var(--color-white);
  text-align: center;
  white-space: nowrap;
  flex-shrink: 0;
}

.header-nav__contact {
  grid-area: 1/1;
  background-color: var(--color-white);
  border: 1px solid #cfcfcf;
  display: flex;
  align-items: center;
  align-content: stretch;
  justify-content: center;
  height: 44px;
  width: 147px;
  padding: 8.125px 23.472px;
  margin-left: 9px;
  cursor: pointer;
  transition: all 0.3s ease;
}

.header-nav__contact:hover {
  background-color: var(--color-gray-light);
  border-color: var(--color-gray-mid);
}

@media (max-width: 1150px) {
  .header-nav__contact {
    width: 100%;
    margin-left: 0;
  }
}

.header-nav__contact-text {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 1.55;
  color: var(--color-black-light);
  text-align: center;
  white-space: nowrap;
  flex-shrink: 0;
}

/* --- 1. GLOBAL & DESKTOP --- */
.header-nav__mega-menu {
  position: absolute;
  top: 100%;
  max-width: max-content;
  min-width: 700px;
  background-color: var(--color-white);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  padding: 40px;
  padding-top: 60px;
  margin-top: 0;
  z-index: 999;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease-in-out;
}

.header-nav__mega-menu::before {
  cursor: pointer;
  content: "";
  position: absolute;
  top: -20px;
  left: 0;
  right: 0;
  height: 20px;
}

.header-nav__mega-menu:hover {
  opacity: 1;
  visibility: visible;
}

.header-nav__mega-menu-inner {
  display: flex;
  gap: 40px;
}

.header-nav__mega-menu-category {
  display: flex;
  flex-direction: column;
  gap: 16px;
  flex: 1;
}

.header-nav__mega-menu-category-title {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.5;
  color: var(--color-black);
  padding-bottom: 12px;
  border-bottom: 2px solid var(--color-gray-mid-light);
  margin: 0;
}

.header-nav__mega-menu-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.header-nav__mega-menu-link {
  display: block;
  text-decoration: none;
  transition: opacity 0.3s ease;
}

.header-nav__mega-menu-link:hover {
  opacity: 0.7;
}

.header-nav__mega-menu-item-title {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 1.5;
  color: var(--color-red);
  display: block;
  margin-bottom: 8px;
}

.header-nav__mega-menu-item-title.underline {
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-decoration-color: #a71717;
  text-underline-offset: 4px;
}

.header-nav__mega-menu-item-description {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 1.6;
  color: var(--color-black);
  margin: 0;
}

@media (max-width: 1150px) {
  .header-nav__mega-menu {
    position: relative;
    top: 0;
    transform: none;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding: 0;
    box-shadow: none;
    background-color: var(--color-gray-light);
    display: none;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
  }

  .header-nav__mega-menu::before,
  .header-nav__mega-menu:hover {
    display: none;
    opacity: 0;
  }

  .header-nav__mega-menu-inner {
    flex-direction: column;
    gap: 0;
    padding: 16px 0;
  }

  .header-nav__mega-menu-category {
    gap: 0;
    padding: 12px 16px;
    border-bottom: 1px solid var(--color-gray-mid-light);
  }

  .header-nav__mega-menu-category:last-child {
    border-bottom: none;
  }

  .header-nav__mega-menu-list {
    flex-wrap: nowrap;
    flex-direction: column;
    gap: 0;
  }

  .header-nav__mega-menu-list-item {
    padding: 8px 0;
  }

  .header-nav__mega-menu-item-title {
    font-size: 13px;
    margin-bottom: 4px;
  }

  .header-nav__mega-menu-item-description {
    display: none;
    font-size: 11px;
    line-height: 1.2;
    color: var(--color-gray-dark);
  }
  .header-nav__menu-item-wrapper.is-open .header-nav__mega-menu {
    display: block;
    max-height: none; /* Allows natural height */
    opacity: 1;
    visibility: visible;
  }
}
/* contents */
.contents-Function {
  padding-bottom: 60px;
}

.contents-Function-member {
  padding-bottom: 40px;
}

.title-bold {
  font-weight: 500;
  font-size: 20px;
}
.text-red {
  color: #bc1217;
}

footer {
  background: #1a1a1a;
  position: relative;
  z-index: 1;
}
footer p,
footer a,
footer li,
footer dd,
footer dt,
footer span,
footer div,
footer h1,
footer h2,
footer h3 {
  color: #333;
  font-family:
    "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック",
    "MS PGothic", sans-serif, "メイリオ", Meiryo, "Yu Gothic", YuGothic;
  font-weight: 400;
  line-height: 1.6;
  box-sizing: border-box;
  font-size: 16px;
}
footer a {
  color: inherit;
  text-decoration: none;
  -webkit-transition: all 0.2s linear;
  transition: all 0.2s linear;
}
footer a:link,
footer a:visited {
  text-decoration: none;
}
footer a:hover {
  cursor: pointer;
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
  -moz-opacity: 0.7;
  -khtml-opacity: 0.7;
}
footer img {
  max-width: 100%;
}
.ft_inner {
  margin: 0 auto;
  padding: 45px 0 0;
}
.ft_logo {
  width: calc(100% - 40px);
  max-width: 1250px;
  margin: 0 auto;
}
.ft_logo img {
  width: 236px;
}
.ft_border {
  border-bottom: 1px solid #6e6e6e;
  margin-top: 20px;
  color: #888;
}
.ft_annotation {
  width: calc(100% - 40px);
  max-width: 1250px;
  margin: 10px auto 0;
  font-size: 9px;
  color: #999;
}
.ft_cont {
  width: calc(100% - 40px);
  max-width: 1250px;
  margin: 0 auto;
  padding-top: 40px;
}
.ft_menu {
  width: 100%;
}
.ft_menu ul li a {
  color: #fff;
  font-size: 12px;
  padding-bottom: 10px;
  display: block;
  font-weight: 400;
  position: relative;
  padding-left: 12px;
}
.ft_menu ul li a:before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 1px;
  background: #ddd;
  vertical-align: middle;
  position: absolute;
  left: 0;
  top: 0;
  margin-top: 10px;
}
.ft_menu > ul {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
.ft_menu > ul > li {
  width: 12%;
  margin-bottom: 60px;
  margin-right: 2%;
  padding-right: 15px;
}
.ft_menu > ul > li:first-child {
  width: 29%;
}
.ft_menu > ul > li:nth-child(2) {
  width: 25%;
  margin-left: 30px;
}
.ft_menu > ul > li:nth-child(3) {
  width: 26%;
  margin-left: -82px;
  margin-right: 60px;
}
.ft_menu > ul > li:nth-child(4),
.ft_menu > ul > li:nth-child(5) {
  width: 13%;
}
.ft_menu > ul > li:nth-child(6) {
  width: 16%;
}
.ft_menu > ul > li:last-child {
  margin-right: 0;
}
@media screen and (max-width: 980px) {
  .ft_menu > ul > li:first-child,
  .ft_menu > ul > li:nth-child(2),
  .ft_menu > ul > li:nth-child(3) {
    width: 32%;
  }
  .ft_menu > ul > li:nth-child(3) {
    margin-right: 0;
  }
  .ft_menu > ul > li:nth-child(4),
  .ft_menu > ul > li:nth-child(5) {
    width: 14%;
  }
}
.ft_menu > ul > li h3 {
  position: relative;
}
.ft_menu > ul > li h3 a {
  font-size: 16px;
  font-weight: 600;
  padding-left: 0;
  color: #fff;
}
.ft_menu > ul > li h3 a:before {
  content: none;
}
.ft_menu > ul > li div.ft_block {
  margin-top: 30px;
}
.ft_menu > ul > li h4 a {
  font-size: 14px;
  font-weight: 600;
  position: relative;
  padding-left: 0;
}
.ft_menu > ul > li h4 a:before {
  content: none;
}
.iso_ban {
  width: 346px;
  margin-left: auto;
  margin-bottom: 40px;
}
.iso_ban ul {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
.iso_ban li:first-child {
  width: 155px;
}
.iso_ban li:last-child {
  width: 151px;
}
.ft_sns {
  width: 38%;
  margin-left: auto;
}
.ft_sns ul {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  margin-bottom: 30px;
}
.ft_sns ul li {
  width: 32px;
  margin-right: 20px;
}
.ft_sns ul li:last-child {
  margin-right: 0;
}
.ft_links_wrap {
  background: #121212;
  padding: 15px 0 15px;
}
.ft_links {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  align-items: flex-end;
  width: calc(100% - 40px);
  max-width: 1250px;
  margin: 0 auto;
}
.ft_links > ul {
  width: 55%;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
.ft_links > ul li {
  margin-right: 8px;
}
.ft_links > ul li:last-child {
  margin-right: 0;
}
.ft_links > ul li a {
  color: #fff;
  font-size: 13px;
  position: relative;
}
.ft_links > ul li a:after {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 1px;
  height: 10px;
  background: #414141;
  margin-left: 8px;
}
.ft_links > ul li:last-child a:after {
  content: none;
}
.copy_r {
  width: 45%;
  font-size: 11px;
  color: #fff;
  text-align: right;
}
.ft_menu > ul > li h4 {
  font-size: 14px;
  font-weight: 600;
  position: relative;
  padding-left: 0;
  color: #fff;
}
.ft_menu > ul > li h3 {
  font-size: 16px;
  font-weight: 600;
  padding-left: 0;
  color: #fff;
}
a.style_none {
  padding-bottom: 0px !important;
}
*:before,
*:after {
  padding: 0;
  margin: 0;
  line-height: 1;
}
.u-mt0 {
  margin-top: 0;
}
.u-mr0 {
  margin-right: 0;
}
.u-mb0 {
  margin-bottom: 0;
}
.u-ml0 {
  margin-left: 0;
}
.u-pt0 {
  padding-top: 0;
}
.u-pr0 {
  padding-right: 0;
}
.u-pb0 {
  padding-bottom: 0;
}
.u-pl0 {
  padding-left: 0;
}
.u-mt5 {
  margin-top: 5px;
}
.u-mr5 {
  margin-right: 5px;
}
.u-mb5 {
  margin-bottom: 5px;
}
.u-ml5 {
  margin-left: 5px;
}
.u-pt5 {
  padding-top: 5px;
}
.u-pr5 {
  padding-right: 5px;
}
.u-pb5 {
  padding-bottom: 5px;
}
.u-pl5 {
  padding-left: 5px;
}
.u-mt10 {
  margin-top: 10px;
}
.u-mr10 {
  margin-right: 10px;
}
.u-mb10 {
  margin-bottom: 10px;
}
.u-ml10 {
  margin-left: 10px;
}
.u-pt10 {
  padding-top: 10px;
}
.u-pr10 {
  padding-right: 10px;
}
.u-pb10 {
  padding-bottom: 10px;
}
.u-pl10 {
  padding-left: 10px;
}
.u-mt15 {
  margin-top: 15px;
}
.u-mr15 {
  margin-right: 15px;
}
.u-mb15 {
  margin-bottom: 15px;
}
.u-ml15 {
  margin-left: 15px;
}
.u-pt15 {
  padding-top: 15px;
}
.u-pr15 {
  padding-right: 15px;
}
.u-pb15 {
  padding-bottom: 15px;
}
.u-pl15 {
  padding-left: 15px;
}
.u-mt20 {
  margin-top: 20px;
}
.u-mr20 {
  margin-right: 20px;
}
.u-mb20 {
  margin-bottom: 20px;
}
.u-ml20 {
  margin-left: 20px;
}
.u-pt20 {
  padding-top: 20px;
}
.u-pr20 {
  padding-right: 20px;
}
.u-pb20 {
  padding-bottom: 20px;
}
.u-pl20 {
  padding-left: 18px;
}
.u-mt25 {
  margin-top: 25px;
}
.u-mr25 {
  margin-right: 25px;
}
.u-mb25 {
  margin-bottom: 25px;
}
.u-ml25 {
  margin-left: 25px;
}
.u-pt25 {
  padding-top: 25px;
}
.u-pr25 {
  padding-right: 25px;
}
.u-pb25 {
  padding-bottom: 25px;
}
.u-pl25 {
  padding-left: 25px;
}
.u-mt30 {
  margin-top: 30px;
}
.u-mr30 {
  margin-right: 30px;
}
.u-mb30 {
  margin-bottom: 30px;
}
.u-ml30 {
  margin-left: 30px;
}
.u-pt30 {
  padding-top: 30px;
}
.u-pr30 {
  padding-right: 30px;
}
.u-pb30 {
  padding-bottom: 30px;
}
.u-pl30 {
  padding-left: 30px;
}
.u-mt35 {
  margin-top: 35px;
}
.u-mr35 {
  margin-right: 35px;
}
.u-mb35 {
  margin-bottom: 35px;
}
.u-ml35 {
  margin-left: 35px;
}
.u-pt35 {
  padding-top: 35px;
}
.u-pr35 {
  padding-right: 35px;
}
.u-pb35 {
  padding-bottom: 35px;
}
.u-pl35 {
  padding-left: 35px;
}
.u-mt40 {
  margin-top: 40px;
}
.u-mr40 {
  margin-right: 40px;
}
.u-mb40 {
  margin-bottom: 40px;
}
.u-ml40 {
  margin-left: 40px;
}
.u-pt40 {
  padding-top: 40px;
}
.u-pr40 {
  padding-right: 40px;
}
.u-pb40 {
  padding-bottom: 40px;
}
.u-pl40 {
  padding-left: 40px;
}
.u-mt45 {
  margin-top: 45px;
}
.u-mr45 {
  margin-right: 45px;
}
.u-mb45 {
  margin-bottom: 45px;
}
.u-ml45 {
  margin-left: 45px;
}
.u-pt45 {
  padding-top: 45px;
}
.u-pr45 {
  padding-right: 45px;
}
.u-pb45 {
  padding-bottom: 45px;
}
.u-pl45 {
  padding-left: 45px;
}
.u-mt50 {
  margin-top: 50px;
}
.u-mr50 {
  margin-right: 50px;
}
.u-mb50 {
  margin-bottom: 50px;
}
.u-ml50 {
  margin-left: 50px;
}
.u-pt50 {
  padding-top: 50px;
}
.u-pr50 {
  padding-right: 50px;
}
.u-pb50 {
  padding-bottom: 50px;
}
.u-pl50 {
  padding-left: 50px;
}
.u-mt55 {
  margin-top: 55px;
}
.u-mr55 {
  margin-right: 55px;
}
.u-mb55 {
  margin-bottom: 55px;
}
.u-ml55 {
  margin-left: 55px;
}
.u-pt55 {
  padding-top: 55px;
}
.u-pr55 {
  padding-right: 55px;
}
.u-pb55 {
  padding-bottom: 55px;
}
.u-pl55 {
  padding-left: 55px;
}
.u-mt60 {
  margin-top: 60px;
}
.u-mr60 {
  margin-right: 60px;
}
.u-mb60 {
  margin-bottom: 60px;
}
.u-ml60 {
  margin-left: 60px;
}
.u-pt60 {
  padding-top: 60px;
}
.u-pr60 {
  padding-right: 60px;
}
.u-pb60 {
  padding-bottom: 60px;
}
.u-pl60 {
  padding-left: 60px;
}
.u-mt65 {
  margin-top: 65px;
}
.u-mr65 {
  margin-right: 65px;
}
.u-mb65 {
  margin-bottom: 65px;
}
.u-ml65 {
  margin-left: 65px;
}
.u-pt65 {
  padding-top: 65px;
}
.u-pr65 {
  padding-right: 65px;
}
.u-pb65 {
  padding-bottom: 65px;
}
.u-pl65 {
  padding-left: 65px;
}
.u-mt70 {
  margin-top: 70px;
}
.u-mr70 {
  margin-right: 70px;
}
.u-mb70 {
  margin-bottom: 70px;
}
.u-ml70 {
  margin-left: 70px;
}
.u-pt70 {
  padding-top: 70px;
}
.u-pr70 {
  padding-right: 70px;
}
.u-pb70 {
  padding-bottom: 70px;
}
.u-pl70 {
  padding-left: 70px;
}
.u-mt100 {
  margin-top: 100px;
}
.u-mr100 {
  margin-right: 100px;
}
.u-mb100 {
  margin-bottom: 100px;
}
.u-ml100 {
  margin-left: 100px;
}
@media screen and (max-width: 768px) {
  .ft_inner {
    padding: 40px 0 130px;
  }
  .ft_cont {
    width: calc(100% - 50px);
    max-width: 100%;
    margin-top: 50px;
    padding-top: 0;
  }
  .ft_logo img {
    display: block;
    margin: 0 auto;
  }
  .ft_menu {
    display: none;
  }
  .iso_ban {
    margin: 0 auto 40px;
    max-width: 100%;
  }
  .iso_ban ul {
    -webkit-justify-content: center;
    justify-content: center;
  }
  .iso_ban li:first-child {
    margin-right: 15px;
  }
  .ft_border {
    font-size: 6px;
  }
  .ft_sns {
    display: none;
  }
  .ft_links_wrap {
    padding: 0;
    background: #1a1a1a;
  }
  .ft_links > ul li a {
    font-size: 12px;
  }
  .ft_links > ul li a:after {
    content: none;
  }
  .ft_links {
    display: block;
    width: 100%;
    max-width: 100%;
  }
  .ft_links > ul {
    width: 100%;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 50px;
  }
  .copy_r {
    width: 100%;
    font-size: 10px;
    text-align: center;
  }
  .ft_links > ul li {
    margin-right: 0;
    padding: 3px 15px;
  }
  #pageTop {
    right: auto;
    left: 87.5%;
  }
  #pageTop a {
    font-size: 13px;
  }
  .ft_links > ul li a {
    font-size: 12px;
  }
}
.header {
  padding-block: 20px;
  padding-inline: 24px;
  position: sticky;
  top: 0;
  background-color: rgba(0, 0, 0, 0);
  z-index: 1000;
  transition: 0.2s;
}
.header.-scrolled {
  background-color: #fff;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  padding-block: 10px;
}
:root {
  --color-white: #ffffff;
  --color-black: #000000;
  --color-black-light: #333333;
  --color-gray-light: #f2f2f2;
  --color-gray-mid-light: #e9e9e9;
  --color-gray-mid: #bcbcbc;
  --color-gray-dark: #4f4f4f;
  --color-red: #a71717;
  --color-red-light: #d74f4f;
}
@media (max-width: 768px) {
  .pc-only {
    display: none !important;
  }
}
.sp-tb-only {
  display: none !important;
}
@media (max-width: 1024px) {
  .sp-tb-only {
    display: block !important;
  }
}
.sp-only {
  display: none !important;
}
@media (max-width: 768px) {
  .sp-only {
    display: block !important;
  }
}

#form-iframe {
  width: 440px !important; 
  max-width: 100%;        
  margin: 0 auto;
  display: block;
  border: none;
}

.contact-form-right {
  flex: 1;
  max-width: 440px;
  position: relative;
  border: none;
  min-height: 800px;
  display: block;
}

/* The Mobile Fix */
@media (max-width: 1024px) {
  .form-container {
    display: flex;
    flex-direction: column !important;
    padding: 0 !important; 
  }

  .contact-form-right {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important; 
    margin: 0 !important;
    flex: none;
    display: block;
  }

  #form-iframe {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block;
  }
}

.form-header {
  position: relative;
  margin-bottom: -10px;
  z-index: 2;
}
.form-header-bg {
  background-color: var(--color-gray-dark);
  height: 62px;
  border-radius: 0 0 10px 10px;
  transform: scaleY(-1);
}
.form-header-text {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  transform: translate(-50%, -50%);
  font-weight: 700;
  font-size: 18px;
  line-height: 1.5;
  letter-spacing: 1.26px;
  color: var(--color-white);
  text-align: center;
  margin: 0;
  padding: 0 20px;
}
@media (max-width: 768px) {
  .form-header-text {
    padding: 0 21px;
    font-size: 16px;
  }
}
.form-header-arrow {
  position: absolute;
  bottom: -21px;
  left: 50%;
  transform: translateX(-50%) rotate(180deg);
  width: 23.317px;
  height: 21px;
}
.form-header-arrow img {
  display: block;
  width: 100%;
  height: 100%;
}
.form-body {
  background-color: var(--color-gray-light);
  border-radius: 0 0 10px 10px;
  padding: 40px 32px 30px;
}
.form-body:not(:has(.form-header)) {
  border-radius: 10px;
}
@media (max-width: 768px) {
  .form-body:not(:has(.form-header)) {
    border-radius: 10px;
  }
}
@media (max-width: 768px) {
  .form-body {
    padding: 40px 20px 32px;
  }
}
.contact-form {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
@media (max-width: 768px) {
  .contact-form {
    gap: 12px;
  }
}
.form-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.field-label {
  display: flex;
  align-items: center;
  gap: 12px;
}
.field-label label {
  font-weight: 700;
  font-size: 14px;
  line-height: normal;
  color: var(--color-black-light);
  margin: 0;
}
.required-badge {
  background-color: var(--color-red-light);
  color: var(--color-white);
  font-weight: 500;
  font-size: 10px;
  line-height: normal;
  padding: 2px 6px;
  border-radius: 4px;
  display: inline-block;
}
.form-input,
.form-select {
  height: 48px;
  background-color: var(--color-white);
  border: 1px solid var(--color-gray-mid);
  border-radius: 8px;
  padding: 0 20px;
  font-weight: 500;
  font-size: 16px;
  color: var(--color-black);
  transition: border-color 0.3s ease;
}
.form-input::placeholder,
.form-select::placeholder {
  color: #b8b8b8;
}
.form-input:focus,
.form-select:focus {
  outline: none;
  border-color: var(--color-black-light);
}
@media (max-width: 768px) {
  .form-input,
  .form-select {
    max-width: 100%;
    height: 44px;
  }
}
.select-wrapper {
  position: relative;
  width: 100%;
}
@media (max-width: 768px) {
  .select-wrapper {
    max-width: 100%;
  }
}
.form-select {
  width: 100%;
  appearance: none;
  cursor: pointer;
  padding-right: 40px;
}
.select-arrow {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  width: 13.5px;
  height: 13.5px;
  pointer-events: none;
}
.form-textarea {
  min-height: 158px;
  background-color: var(--color-white);
  border: 1px solid var(--color-gray-mid);
  border-radius: 8px;
  padding: 16px 20px;
  font-weight: 500;
  font-size: 16px;
  color: var(--color-black);
  resize: vertical;
  transition: border-color 0.3s ease;
}
.form-textarea::placeholder {
  color: #b8b8b8;
}
.form-textarea:focus {
  outline: none;
  border-color: var(--color-black-light);
}
@media (max-width: 768px) {
  .form-textarea {
    max-width: 100%;
  }
}
.privacy-checkbox {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}
.checkbox-input {
  width: 25.649px;
  height: 22px;
  border: 1px solid var(--color-gray-mid);
  background-color: var(--color-white);
  cursor: pointer;
  flex-shrink: 0;
}
.checkbox-label {
  font-weight: 500;
  font-size: 13px;
  line-height: normal;
  color: var(--color-black-light);
  cursor: pointer;
  margin: 0;
}
.checkbox-label .privacy-link {
  text-decoration: underline;
  text-decoration-skip-ink: none;
  text-underline-position: from-font;
}
.submit-button {
  background-color: var(--color-red);
  color: var(--color-white);
  font-weight: 700;
  font-size: 15px;
  line-height: 1.55;
  text-align: center;
  border: none;
  border-radius: 0;
  padding: 12px 24px;
  width: 100%;
  max-width: 290px;
  margin: 0 auto;
  cursor: pointer;
  transition: background-color 0.3s ease;
}
.submit-button:hover {
  background-color: var(--color-red-light);
}
.submit-button:disabled {
  background-color: var(--color-gray-mid);
  cursor: not-allowed;
}
@media (max-width: 768px) {
  .submit-button {
    max-width: 100%;
  }
}
:root {
  --color-white: #ffffff;
  --color-black: #000000;
  --color-black-light: #333333;
  --color-gray-light: #f2f2f2;
  --color-gray-mid-light: #e9e9e9;
  --color-gray-mid: #bcbcbc;
  --color-gray-dark: #4f4f4f;
  --color-red: #a71717;
  --color-red-light: #d74f4f;
}
@media (max-width: 768px) {
  .pc-only {
    display: none !important;
  }
}
.sp-tb-only {
  display: none !important;
}
@media (max-width: 1024px) {
  .sp-tb-only {
    display: block !important;
  }
}
.sp-only {
  display: none !important;
}
@media (max-width: 768px) {
  .sp-only {
    display: block !important;
  }
}
.first-view {
  background-image: url("/assets/img/fv_bg.png");
  background-size: cover;
  background-repeat: no-repeat;
  padding-block: 58px;
  padding-inline: 24px;
}
.first-view.-top {
  background-image: url("/assets/img/top_fv_bg.png");
  position: relative;
  padding-top: 145px;
  margin-top: -90px;
  z-index: 1;
}
@media (max-width: 1024px) {
  .first-view.-top {
    padding-top: 80px;
    background-size: 486%;
    background-position-x: 10%;
  }
}
@media (max-width: 768px) {
  .first-view {
    padding-top: 58px;
    padding-bottom: 36px;
  }
}
.first-view__wrapper {
  display: flex;
  max-width: 1048px;
  margin: 0 auto;
}
.first-view.-top .first-view__wrapper {
  max-width: 1148px;
}
@media (max-width: 1024px) {
  .first-view.-top .first-view__wrapper {
    flex-direction: column-reverse;
    text-align: center;
  }
}
@media (max-width: 768px) {
  .first-view__wrapper {
    flex-direction: column;
    align-items: center;
    gap: 12px;
  }
}
.first-view__wrapper > div {
  flex: 1;
}
@media (max-width: 768px) {
  .first-view__wrapper > div {
    flex: none;
    width: 100%;
  }
}
.first-view.-top .first-view__wrapper > div {
  flex: auto;
}
.first-view.-top .first-view__image {
  width: 590px;
  position: relative;
  left: 10px;
}
@media (max-width: 1024px) {
  .first-view.-top .first-view__image {
    width: 100%;
    max-width: 480px;
    margin: 0 auto;
    left: 0;
  }
}
.first-view__title {
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 30px;
}
@media (max-width: 768px) {
  .first-view__title {
    text-align: center;
    margin-bottom: 20px;
  }
}
.first-view__title__ja {
  font-size: 25px;
  letter-spacing: 0.5px;
}
@media (max-width: 768px) {
  .first-view__title__ja {
    font-size: 17px;
  }
}
.first-view__title__ja > img {
  width: 232px;
}
.first-view__title__en {
  font-size: 58px;
  letter-spacing: 1.16px;
}
@media (max-width: 768px) {
  .first-view__title__en {
    font-size: 32px;
  }
}
.first-view__title__sub {
  font-size: 22px;
  line-height: 1.2;
  display: block;
  margin-bottom: 9.3px;
}
@media (max-width: 1150px) {
  .first-view__title__sub {
    font-size: 18px;
  }
}
.first-view__title__main {
  font-size: 45px;
  font-weight: bold;
  line-height: 1.25;
  display: block;
  margin-bottom: 11.07px;
}
@media (max-width: 1150px) {
  .first-view__title__main {
    font-size: 28px;
  }
}
.first-view__title__heading {
  font-size: 24px;
  line-height: 1.4;
}
@media (max-width: 1150px) {
  .first-view__title__heading {
    font-size: 16px;
  }
}
.first-view__title__heading-member {
  font-size: 13px;
  margin-top: -10px;
}
@media (max-width: 1150px) {
  .first-view__title__heading-member {
    font-size: 10px;
  }
}
.first-view__buttons {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
:root {
  --color-white: #ffffff;
  --color-black: #000000;
  --color-black-light: #333333;
  --color-gray-light: #f2f2f2;
  --color-gray-mid-light: #e9e9e9;
  --color-gray-mid: #bcbcbc;
  --color-gray-dark: #4f4f4f;
  --color-red: #a71717;
  --color-red-light: #d74f4f;
}
@media (max-width: 768px) {
  .pc-only {
    display: none !important;
  }
}
.sp-tb-only {
  display: none !important;
}
@media (max-width: 1024px) {
  .sp-tb-only {
    display: block !important;
  }
}
.sp-only {
  display: none !important;
}
@media (max-width: 768px) {
  .sp-only {
    display: block !important;
  }
}
.heading-with-line-wrapper:has(.-centered) {
  max-width: 1000px;
  margin: 0 auto;
}
@media (max-width: 1024px) {
  .heading-with-line-wrapper:has(.-centered) {
    padding-inline: 25px;
  }
}

.heading-with-line-wrapper-data:has(.-centered) {
  max-width: 1000px;
  margin: 0 auto;
  padding-top: 20px;
}
@media (max-width: 1024px) {
  .heading-with-line-wrapper-data:has(.-centered) {
    padding-inline: 25px;
  }
}
.heading-with-line {
  font-weight: 700;
  font-size: 18px;
  line-height: 1.5;
  letter-spacing: 1.26px;
  color: var(--color-black);
  margin-bottom: 16px;
}
.heading-with-line-seminar {
  font-weight: 700;
  font-size: 25px;
  line-height: 1.5;
  letter-spacing: 1.26px;
  color: var(--color-black);
  margin-bottom: 20px;
  margin-top: 22px;
}
@media (max-width: 768px) {
  .heading-with-line {
    font-size: 17px;
  }
}
.heading-with-line.-centered {
  text-align: center;
  font-size: 23px;
  margin-bottom: 30px;
}
@media (max-width: 768px) {
  .heading-with-line.-centered {
    font-size: 20px;
  }
}
.heading-with-line.-large {
  font-size: 27px;
}
@media (max-width: 768px) {
  .heading-with-line.-large {
    font-size: 21px;
  }
}
.heading-with-line-divider {
  display: block;
  position: relative;
  width: 100%;
  height: 1px;
  background: var(--color-gray-mid);
  margin-bottom: 24px;
}
.heading-with-line-divider::after {
  position: absolute;
  left: 0;
  bottom: 0;
  content: "";
  display: block;
  width: 72px;
  height: 4px;
  background: var(--color-red);
}
.heading-with-line-divider.-centered::after {
  left: 50%;
  transform: translateX(-50%);
}

.line-divider {
  display: block;
  position: relative;
  width: 100%;
  height: 1px;
  background: var(--color-gray-mid);
  margin-bottom: 24px;
}
.line-divider.-centered::after {
  left: 50%;
  transform: translateX(-50%);
}
.big-digit {
  font-size: 54px;
}
@media screen and (max-width: 768px) {
  .big-digit {
    font-size: 34px;
  }
}
:root {
  --color-white: #ffffff;
  --color-black: #000000;
  --color-black-light: #333333;
  --color-gray-light: #f2f2f2;
  --color-gray-mid-light: #e9e9e9;
  --color-gray-mid: #bcbcbc;
  --color-gray-dark: #4f4f4f;
  --color-red: #a71717;
  --color-red-light: #d74f4f;
}
@media (max-width: 768px) {
  .pc-only {
    display: none !important;
  }
}
.sp-tb-only {
  display: none !important;
}
@media (max-width: 1024px) {
  .sp-tb-only {
    display: block !important;
  }
}
.sp-only {
  display: none !important;
}
@media (max-width: 768px) {
  .sp-only {
    display: block !important;
  }
}
.heading-simple-line {
  text-align: center;
  margin-bottom: 40px;
  line-height: 1.55;
}
@media (max-width: 768px) {
  .heading-simple-line {
    margin-bottom: 30px;
  }
}
.heading-simple-line.-left-line {
  text-align: left;
  margin-bottom: 0;
}
@media (max-width: 768px) {
  .heading-simple-line.-left-line {
    text-align: center;
  }
}
.heading-simple-line__text {
  font-size: 27px;
  font-weight: bold;
  position: relative;
  display: inline-block;
  padding-bottom: 26px;
}
@media (max-width: 768px) {
  .heading-simple-line__text {
    font-size: 20px;
  }
}
.-left-line .heading-simple-line__text {
  padding-bottom: 22px;
}
.heading-simple-line__text::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 120px;
  height: 3px;
  background-color: #b50005;
  border-radius: 2px;
}
.-left-line .heading-simple-line__text::after {
  left: 0;
  transform: none;
}
@media (max-width: 768px) {
  .-left-line .heading-simple-line__text::after {
    left: 50%;
    transform: translateX(-50%);
  }
}
.heading-simple-line b {
  font-size: 37px;
}
@media (max-width: 768px) {
  .heading-simple-line b {
    font-size: 27px;
  }
}
:root {
  --color-white: #ffffff;
  --color-black: #000000;
  --color-black-light: #333333;
  --color-gray-light: #f2f2f2;
  --color-gray-mid-light: #e9e9e9;
  --color-gray-mid: #bcbcbc;
  --color-gray-dark: #4f4f4f;
  --color-red: #a71717;
  --color-red-light: #d74f4f;
}
@media (max-width: 768px) {
  .pc-only {
    display: none !important;
  }
}
.sp-tb-only {
  display: none !important;
}
@media (max-width: 1024px) {
  .sp-tb-only {
    display: block !important;
  }
}
.sp-only {
  display: none !important;
}
@media (max-width: 768px) {
  .sp-only {
    display: block !important;
  }
}
.logo-flow {
  padding-top: 36px;
  overflow: hidden;
}
@media (max-width: 768px) {
  .logo-flow {
    padding-top: 60px;
  }
}
.logo-flow__wrapper {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 40px;
}
.logo-flow__track {
  display: flex;
  width: max-content;
  white-space: nowrap;
  will-change: transform;
  transition: none !important;
}

.logo-flow__item {
  width: 215px;
  margin-right: 20px;
  flex-shrink: 0;
}

.logo-flow__row {
  display: flex;
  gap: 10px;
  animation: scroll 30s linear infinite;
  flex-shrink: 0;
}

.logo-flow__item img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

:root {
  --color-white: #ffffff;
  --color-black: #000000;
  --color-black-light: #333333;
  --color-gray-light: #f2f2f2;
  --color-gray-mid-light: #e9e9e9;
  --color-gray-mid: #bcbcbc;
  --color-gray-dark: #4f4f4f;
  --color-red: #a71717;
  --color-red-light: #d74f4f;
}
@media (max-width: 768px) {
  .pc-only {
    display: none !important;
  }
}
.sp-tb-only {
  display: none !important;
}
@media (max-width: 1024px) {
  .sp-tb-only {
    display: block !important;
  }
}
.sp-only {
  display: none !important;
}
@media (max-width: 768px) {
  .sp-only {
    display: block !important;
  }
}
.heading-side-line {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding-inline: 24px;
}
.heading-side-line::before,
.heading-side-line::after {
  content: "";
  display: inline-block;
  max-width: 200px;
  width: 100%;
  height: 1px;
  background-color: #aeaeae;
  vertical-align: middle;
}
.heading-side-line__title {
  font-weight: 700;
  font-size: 17px;
  color: var(--color-red);
  flex-shrink: 0;
  text-align: center;
}
:root {
  --color-white: #ffffff;
  --color-black: #000000;
  --color-black-light: #333333;
  --color-gray-light: #f2f2f2;
  --color-gray-mid-light: #e9e9e9;
  --color-gray-mid: #bcbcbc;
  --color-gray-dark: #4f4f4f;
  --color-red: #a71717;
  --color-red-light: #d74f4f;
}
@media (max-width: 768px) {
  .pc-only {
    display: none !important;
  }
}
.sp-tb-only {
  display: none !important;
}
@media (max-width: 1024px) {
  .sp-tb-only {
    display: block !important;
  }
}
.sp-only {
  display: none !important;
}
@media (max-width: 768px) {
  .sp-only {
    display: block !important;
  }
}
.heading-wrapper {
  display: grid;
  gap: 13px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--color-gray-mid);
}
.heading-wrapper-seminar {
  display: grid;
  gap: 13px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--color-gray-mid);
  margin-top: -40px;
}
.heading-seminar {
  font-size: 25px;
  font-weight: 700;
  line-height: 150%;
  letter-spacing: 1.75px;
  text-align: center;
}
.heading {
  font-size: 25px;
  font-weight: 700;
  line-height: 150%;
  letter-spacing: 1.75px;
}
@media (max-width: 768px) {
  .heading {
    font-size: 18px;
    letter-spacing: 1.26px;
  }
}
:root {
  --color-white: #ffffff;
  --color-black: #000000;
  --color-black-light: #333333;
  --color-gray-light: #f2f2f2;
  --color-gray-mid-light: #e9e9e9;
  --color-gray-mid: #bcbcbc;
  --color-gray-dark: #4f4f4f;
  --color-red: #a71717;
  --color-red-light: #d74f4f;
}
@media (max-width: 768px) {
  .pc-only {
    display: none !important;
  }
}
.sp-tb-only {
  display: none !important;
}
@media (max-width: 1024px) {
  .sp-tb-only {
    display: block !important;
  }
}
.sp-only {
  display: none !important;
}
@media (max-width: 768px) {
  .sp-only {
    display: block !important;
  }
}
.inquiry-types {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-bottom: 40px;
}
.inquiry-types.-not-one-line .inquiry-type-item {
  align-items: flex-start;
}
.inquiry-types.-not-one-line .inquiry-type-item .inquiry-text {
  font-weight: 500;
  line-height: 1.7;
}
.inquiry-type-item {
  display: flex;
  align-items: center;
  gap: 15px;
}
.inquiry-icon {
  position: relative;
  width: 32px;
  height: 32px;
  flex-shrink: 0;
}
.inquiry-icon .icon-check {
  position: absolute;
  width: 26.127px;
  height: 26.126px;
  top: 7.8%;
  left: 0;
}
.inquiry-icon .icon-circle {
  position: absolute;
  width: 28.079px;
  height: 21.968px;
  top: 0;
  left: 12.26%;
}
.inquiry-text {
  font-weight: 700;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 1.12px;
  color: var(--color-black);
  margin: 0;
}
.inquiry-text > span {
  font-weight: 700;
  border-bottom: 1px solid var(--color-red);
}

.inquiry-text-data {
  font-weight: 500;
  font-size: 15px;
  line-height: 1.5;
  letter-spacing: 1.12px;
  color: var(--color-black);
  margin: 0;
  padding-top: 25px;
}
.inquiry-text-data > span {
  font-weight: 500;
  border-bottom: 1px solid var(--color-red);
}
.highlight-line {
  display: inline-block;
  padding-bottom: 4px;
}

.highlight-line-data {
  padding-bottom: 1px;
}

.member {
  margin-left: 205px;
}
.casestudy_member {
  text-align: center;
  margin-top: 60px;
  width: max-content;
  margin: auto;
}
@media (max-width: 768px) {
  .casestudy_member {
    width: 100%;
  }
}

:root {
  --color-white: #ffffff;
  --color-black: #000000;
  --color-black-light: #333333;
  --color-gray-light: #f2f2f2;
  --color-gray-mid-light: #e9e9e9;
  --color-gray-mid: #bcbcbc;
  --color-gray-dark: #4f4f4f;
  --color-red: #a71717;
  --color-red-light: #d74f4f;
}
@media (max-width: 768px) {
  .pc-only {
    display: none !important;
  }
}
.sp-tb-only {
  display: none !important;
}
@media (max-width: 1024px) {
  .sp-tb-only {
    display: block !important;
  }
}
.sp-only {
  display: none !important;
}
@media (max-width: 768px) {
  .sp-only {
    display: block !important;
  }
}
.tag {
  display: flex;
  height: 27px;
  padding: 3px 13px;
  justify-content: center;
  align-items: center;
  font-size: 12.09px;
  font-weight: 700;
  line-height: 160%;
  letter-spacing: 0.242px;
  border-radius: 5px;
  background-color: var(--color-gray-mid-light);
  color: var(--color-black-light);
}
.tag.-status {
  background-color: var(--color-red);
  color: var(--color-white);
  padding: 3px 9px;
}
.tag.-finished {
  background-color: #797979;
}
.tag.-large {
  width: 88px;
  height: 27px;
  padding: 4px 12px;
}
:root {
  --color-white: #ffffff;
  --color-black: #000000;
  --color-black-light: #333333;
  --color-gray-light: #f2f2f2;
  --color-gray-mid-light: #e9e9e9;
  --color-gray-mid: #bcbcbc;
  --color-gray-dark: #4f4f4f;
  --color-red: #a71717;
  --color-red-light: #d74f4f;
}
@media (max-width: 768px) {
  .pc-only {
    display: none !important;
  }
}
.sp-tb-only {
  display: none !important;
}
@media (max-width: 1024px) {
  .sp-tb-only {
    display: block !important;
  }
}
.sp-only {
  display: none !important;
}
@media (max-width: 768px) {
  .sp-only {
    display: block !important;
  }
}
.top-badge__container {
  display: flex;
  gap: 20px;
  max-width: 960px;
  margin: auto;
  padding-inline: 16px;
}
@media (max-width: 768px) {
  .top-badge__container {
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
  }
}
.top-badge__item {
  width: fit-content;
  height: 70px;
}
.top-badge__item > img {
  height: 100%;
  width: auto;
}
:root {
  --color-white: #ffffff;
  --color-black: #000000;
  --color-black-light: #333333;
  --color-gray-light: #f2f2f2;
  --color-gray-mid-light: #e9e9e9;
  --color-gray-mid: #bcbcbc;
  --color-gray-dark: #4f4f4f;
  --color-red: #a71717;
  --color-red-light: #d74f4f;
}
@media (max-width: 768px) {
  .pc-only {
    display: none !important;
  }
}
.sp-tb-only {
  display: none !important;
}
@media (max-width: 1024px) {
  .sp-tb-only {
    display: block !important;
  }
}
.sp-only {
  display: none !important;
}
@media (max-width: 768px) {
  .sp-only {
    display: block !important;
  }
}
.top-introduce {
  padding-inline: 12px;
}
@media (max-width: 768px) {
  .top-introduce {
    padding-inline: 20px;
  }
}
.top-introduce__contents {
  display: grid;
  gap: 20px;
}
@media (max-width: 768px) {
  .top-introduce__contents {
    gap: 40px;
  }
}
@media (max-width: 768px) {
  .top-introduce__contents p {
    font-size: 14px;
    line-height: 1.6;
  }
}
@media (max-width: 768px) {
  .top-introduce__contents > div {
    padding-inline: 0;
  }
}
.top-introduce__title {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 30px;
  font-size: 22px;
}
@media (max-width: 768px) {
  .top-introduce__title {
    gap: 16px;
    font-size: 18px;
    text-align: center;
    margin-bottom: 30px;
  }
}
.document-info {
  width: 100%;
  background: linear-gradient(135deg, #8293ad 0%, #6b7a94 100%);
  padding: 72px 0 63px;
  overflow: hidden;
  background-image: url("/assets/img/footer_bg.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media (max-width: 768px) {
  .document-info {
    padding-top: 42px;
  }
}
.document-info__container {
  position: relative;
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media (max-width: 1024px) {
  .document-info__container {
    flex-direction: column;
    padding: 0 40px;
    width: max-content;
  }
}
@media (max-width: 768px) {
  .document-info__container {
    padding: 0 20px;
    width: 100%;
  }
}
.document-info__content {
  flex: 1;
  position: relative;
  z-index: 1;
}
.document-info__title {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-size: 20px;
  line-height: 1.55;
  letter-spacing: 1.4px;
  color: var(--color-white);
   margin: 0 0 24px 0;
   margin-bottom: 37px;
   margin-top: -8px;
}
@media (max-width: 768px) {
  .document-info__title {
    font-size: 18px;
    margin-bottom: 50px;
  }
}
.document-info__heading {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-size: 32px;
  line-height: 1.55;
  letter-spacing: 2.52px;
  color: var(--color-white);
  margin: 0 0 48px 0;
}
@media (max-width: 1024px) {
  .document-info__heading {
    font-size: 30px;
    margin-bottom: 40px;
  }
}
@media (max-width: 768px) {
  .document-info__heading {
    font-size: 23px;
    margin-bottom: 32px;
    letter-spacing: 1.61px;
  }
}
.document-info__buttons {
  display: flex;
  gap: 20px;
}
@media (max-width: 1024px) {
  .document-info__buttons {
    flex-direction: column;
    gap: 16px;
  }
}
.document-info__image {
  position: absolute;
  top: -26px;
  right: -26px;
  width: 355px;
  height: 245px;
  flex-shrink: 0;
  z-index: 1;
  background-image: url("/assets/img/footer_document.png");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
@media (max-width: 1024px) {
  .document-info__image {
    width: 300px;
    height: 207px;
    right: -91px;
  }
}
@media (max-width: 768px) {
  .document-info__image {
    width: 250px;
    height: 172px;
  }
}
.decorate-button {
  position: relative;
  width: 490px;
  height: 97px;
  cursor: pointer;
}
@media (max-width: 1024px) {
  .decorate-button {
    width: 100%;
  }
}
@media (max-width: 768px) {
  .decorate-button {
    height: 77px;
  }
}
.decorate-button::before {
  content: "";
  position: absolute;
  top: 18px;
  left: 1px;
  width: 100%;
  height: 80px;
  background: var(--color-white);
  border-radius: 38px;
  grid-column: 1;
  grid-row: 1;
}
@media (max-width: 768px) {
  .decorate-button::before {
    height: 60px;
  }
}
.decorate-button.-white::after {
  border-color: var(--color-red);
}
.decorate-button.-white .decorate-button__text {
  color: var(--color-black-light);
}
.decorate-button.-red::before {
  background: var(--color-red);
}
.decorate-button.-red::after {
  border-color: var(--color-white);
}
.decorate-button.-red .decorate-button__text {
  color: var(--color-white);
}
.decorate-button:hover {
  transform: translateY(-2px);
  opacity: 1;
}
.decorate-button__badge-wrapper {
  position: absolute;
  top: 2px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
}
@media (max-width: 768px) {
  .decorate-button__badge-wrapper {
    top: 9px;
  }
}
.decorate-button__badge {
  display: block;
  position: relative;
  z-index: 2;
  border-radius: 38px;
  height: 29px;
  line-height: 29px;
  width: 231px;
  font-weight: 700;
  font-size: 15px;
  color: var(--color-white);
  letter-spacing: 0.75px;
  text-align: center;
}
@media (max-width: 768px) {
  .decorate-button__badge {
    font-size: 12px;
    height: 20px;
    line-height: 20px;
  }
}
.decorate-button__badge.-white {
  background: var(--color-red);
}
@media (max-width: 768px) {
  .decorate-button__badge.-white {
    width: 157px;
  }
}
.decorate-button__badge.-red {
  background: #373737;
}
@media (max-width: 768px) {
  .decorate-button__badge.-red {
    width: 183px;
  }
}
.decorate-button__badge::before {
  position: absolute;
  bottom: -6px;
  left: 50%;
  z-index: 1;
  width: 0;
  height: 0;
  content: "";
  border-left: 5px solid rgba(0, 0, 0, 0);
  border-right: 5px solid rgba(0, 0, 0, 0);
  border-bottom: 7px solid var(--color-white);
  transform: translateX(-50%);
  rotate: 180deg;
}
.-white .decorate-button__badge::before {
  border-bottom-color: var(--color-red);
}
.-red .decorate-button__badge::before {
  border-bottom-color: #373737;
}
.decorate-button__text-wrapper {
  position: absolute;
  bottom: 4px;
  left: 6px;
  z-index: 2;
  width: calc(100% - 10px);
  height: 70px;
  display: flex;
  justify-content: center;
  border: 1px solid;
  border-radius: 38px;
}
@media (max-width: 768px) {
  .decorate-button__text-wrapper {
    height: 50px;
  }
}
.-white .decorate-button__text-wrapper {
  border-color: var(--color-red);
}
.-red .decorate-button__text-wrapper {
  border-color: var(--color-white);
}
.decorate-button__text {
  font-weight: 700;
  font-size: 18px;
  letter-spacing: 1.26px;
  text-align: center;
  z-index: 2;
  align-self: center;
  justify-self: center;
  transform: translateX(0);
}
@media (max-width: 768px) {
  .decorate-button__text {
    font-size: 16px;
  }
}
.decorate-button__arrow {
  width: 22px;
  height: 22px;
  z-index: 2;
  pointer-events: none;
  position: absolute;
  right: 30px;
  top: 50%;
  transform: translateY(-50%);
}
@media (max-width: 768px) {
  .decorate-button__arrow {
    right: 20px;
    width: 20px;
    height: 20px;
  }
}
.feature-button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--color-white);
  padding: 17px 24px;
  text-decoration: none;
  transition: all 0.3s ease;
  height: 77px;
  width: 242px;
}
@media (max-width: 768px) {
  .feature-button {
    padding: 16px 20px;
    min-height: 56px;
    width: 100%;
    padding: 17px 10px;
  }
}
.feature-button:hover .feature-button__icon {
  transform: translateX(4px);
}
.feature-button__label {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 16px;
  color: var(--color-black-light);
  letter-spacing: 0.5px;
}
@media (max-width: 768px) {
  .feature-button__label {
    font-size: 13px;
  }
}
.feature-button__icon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  transition: transform 0.3s ease;
}
@media (max-width: 768px) {
  .feature-button__icon {
    width: 18px;
    height: 18px;
  }
}
.feature-grid {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 16px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 40px;
}
@media (max-width: 1024px) {
  .feature-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 768px) {
  .feature-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    padding: 0 20px;
    gap: 12px;
  }
}
:root {
  --color-white: #ffffff;
  --color-black: #000000;
  --color-black-light: #333333;
  --color-gray-light: #f2f2f2;
  --color-gray-mid-light: #e9e9e9;
  --color-gray-mid: #bcbcbc;
  --color-gray-dark: #4f4f4f;
  --color-red: #a71717;
  --color-red-light: #d74f4f;
}
@media (max-width: 768px) {
  .pc-only {
    display: none !important;
  }
}
.sp-tb-only {
  display: none !important;
}
@media (max-width: 1024px) {
  .sp-tb-only {
    display: block !important;
  }
}
.sp-only {
  display: none !important;
}
@media (max-width: 768px) {
  .sp-only {
    display: block !important;
  }
}
.scene {
  position: relative;
  width: 100%;
  background-color: #f7f7f7;
  padding: 60px 0 70px;
}
@media (max-width: 768px) {
  .scene {
    display: none;
  }
}
.scene__container {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 220px;
}
@media (max-width: 1300px) {
  .scene__container {
    padding: 0 60px;
  }
}
@media (max-width: 1024px) {
  .scene__container {
    padding: 0 40px;
  }
}
@media (max-width: 768px) {
  .scene__container {
    padding: 0 20px;
  }
}
.scene__title {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-size: 27px;
  line-height: 1.55;
  letter-spacing: 1.89px;
  color: var(--color-black);
  text-align: center;
  margin: 0 0 51px 0;
  white-space: pre-line;
}
@media (max-width: 768px) {
  .scene__title {
    font-size: 22px;
    margin-bottom: 40px;
  }
}
@media (max-width: 640px) {
  .scene__title {
    font-size: 18px;
    margin-bottom: 30px;
  }
}
.scene__content {
  position: relative;
}
.scene__subtitle-wrapper {
  position: relative;
  display: flex;
  justify-content: center;
  margin-bottom: -23px;
  z-index: 2;
}
.scene__subtitle {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-size: 17px;
  line-height: 1.55;
  letter-spacing: 1.19px;
  color: var(--color-black);
  text-align: center;
  background-color: #f7f7f7;
  padding: 10px 25px;
  margin: 0;
  white-space: nowrap;
}
@media (max-width: 768px) {
  .scene__subtitle {
    font-size: 15px;
    padding: 8px 20px;
  }
}
@media (max-width: 640px) {
  .scene__subtitle {
    font-size: 13px;
    padding: 6px 15px;
  }
}
.scene__list {
  position: relative;
  background-color: #f7f7f7;
  border: 1.104px solid #adadad;
  padding: 43px 58px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px 28px;
}
@media (max-width: 1024px) {
  .scene__list {
    padding: 35px 45px;
    gap: 14px 24px;
  }
}
@media (max-width: 768px) {
  .scene__list {
    padding: 30px 30px;
    gap: 12px 20px;
  }
}
@media (max-width: 640px) {
  .scene__list {
    padding: 25px 20px;
    gap: 10px 16px;
  }
}
.scene__item {
  position: relative;
  display: inline-block;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-size: 17px;
  line-height: 1.75;
  letter-spacing: 1.19px;
  color: var(--color-black);
}
@media (max-width: 768px) {
  .scene__item {
    font-size: 15px;
  }
}
@media (max-width: 640px) {
  .scene__item {
    font-size: 14px;
  }
}
.scene__item--underline .scene__text {
  position: relative;
}
.scene__item--underline .scene__text::after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: var(--color-black);
}
.scene__bullet {
  color: var(--color-red);
  margin-right: 0.3em;
}
.scene__text {
  display: inline-block;
}
:root {
  --color-white: #ffffff;
  --color-black: #000000;
  --color-black-light: #333333;
  --color-gray-light: #f2f2f2;
  --color-gray-mid-light: #e9e9e9;
  --color-gray-mid: #bcbcbc;
  --color-gray-dark: #4f4f4f;
  --color-red: #a71717;
  --color-red-light: #d74f4f;
}
@media (max-width: 768px) {
  .pc-only {
    display: none !important;
  }
}
.sp-tb-only {
  display: none !important;
}
@media (max-width: 1024px) {
  .sp-tb-only {
    display: block !important;
  }
}
.sp-only {
  display: none !important;
}
@media (max-width: 768px) {
  .sp-only {
    display: block !important;
  }
}
.square-button {
  position: relative;
}
.square-button.-small {
  width: 204px;
}
@media (max-width: 768px) {
  .square-button.-small {
    width: 100%;
  }
}
.square-button.-medium {
  width: 276px;
  margin-top: 20px;
}
@media (max-width: 768px) {
  .square-button.-medium {
    width: 100%;
  }
}

.square-button.-medium1 {
  width: 276px;
  margin-top: -100px;
}

@media (max-width: 768px) {
  .square-button.-medium1 {
    width: 100%;
    margin-top: -53px;
  }
}

.square-button.-medium2 {
  width: 276px;
  margin-top: 50px;
}

@media (max-width: 768px) {
  .square-button.-medium2 {
    width: 96% !important;
    margin-top: 48px;
    margin-left: 16px;
  }
}

@media (max-width: 480px), (max-height: 480px) and (orientation: landscape) {
  .square-button.-medium1 {
    margin-top: -60px;
  }

  .square-button.-medium2 {
    width: 88% !important;
    margin-top: 41px;
    margin-left: 22px;
  }
}

.square-button.-large {
  width: 496px;
}
@media (max-width: 768px) {
  .square-button.-large {
    width: 100%;
  }
}
.square-button__flag {
  position: absolute;
  top: 0;
  left: 0;
}
.square-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 1px;
  padding: 15px 25px;
  width: 100%;
  border: 1px solid #adadad;
  background-color: var(--color-white);
  text-decoration: none;
  font-size: 14px;
  font-weight: bold;
  letter-spacing: 1.12px;
  line-height: 1.9;
  transition: color 0.2s;
}
@media (max-width: 768px) {
  .square-button__link {
    width: 100%;
    justify-content: center;
    padding: 12px 20px;
  }
}
.square-button__link:hover {
  color: var(--color-gray-dark);
  opacity: 1;
}
.square-button__link:hover .square-button__arrow {
  transform: translateX(4px);
}
.square-button__arrow {
  width: 18px;
  height: 18px;
  transition: 0.2s;
}
.back-to-top-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-red);
  color: var(--color-white);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.55;
  text-align: center;
  text-decoration: none;
  width: 100%;
  max-width: 290px;
  padding: 12px 24px;
  margin: 40px auto 0;
  /* replaces mt-40 */
  border: none;
  border-radius: 4px;
  cursor: pointer;
}

.seminar-top-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-red);
  color: var(--color-white);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.55;
  text-align: center;
  text-decoration: none;
  width: 100%;
  max-width: 290px;
  padding: 12px 24px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}

@media (max-width: 768px) {
  .seminar-top-btn {
    margin-bottom: 40px;
  }
}
.form-error-design {
  border: 2px solid #e60023;
}
.form-error-message {
  color: #e60023;
  font-size: 12px;
  margin-top: 6px;
}
.contact-complete__btn{
  text-align: center;
  /* overrides left alignment */
  margin-top: 40px;
}

.seminar-form__btn {
  text-align: center;
  /* overrides left alignment */
}
.contact-complete__text,
.seminar-complete__text {
  font-weight: 500;
  line-height: 1.9;
  color: #333;
  max-width: 672px;
  margin: 0 auto;
  padding-inline: 36px;
}
.contact-complete__text {
  font-size: 1.4rem;
}
.seminar-complete__text {
  font-size: 1.1rem;
}
.download-text {
  font-size: 1.5rem;
  line-height: 1.7;
  text-align: center;
  font-weight: 700;
}
.download-text a {
  color: #a71717;
  /* blue */
  text-decoration: underline !important;
}
@media (max-width: 480px) {
  .download-text a {
    font-size: 19px;
  }
}
:root {
  --color-white: #ffffff;
  --color-black: #000000;
  --color-black-light: #333333;
  --color-gray-light: #f2f2f2;
  --color-gray-mid-light: #e9e9e9;
  --color-gray-mid: #bcbcbc;
  --color-gray-dark: #4f4f4f;
  --color-red: #a71717;
  --color-red-light: #d74f4f;
}
@media (max-width: 768px) {
  .pc-only {
    display: none !important;
  }
}
.sp-tb-only {
  display: none !important;
}
@media (max-width: 1024px) {
  .sp-tb-only {
    display: block !important;
  }
}
.sp-only {
  display: none !important;
}
@media (max-width: 768px) {
  .sp-only {
    display: block !important;
  }
}
.card-grid__container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px 20px;
  max-width: 1000px;
  margin: 0 auto;
}

@media (max-width: 1024px) {
  .card-grid__container {
    grid-template-columns: repeat(2, 1fr); 
    justify-content: center;
  }
}

@media (max-width: 820px) {
  .card-grid__container {
    grid-template-columns: repeat(2, 1fr);
    gap: 30px 20px;
    padding: 0 15px;
  }
}


@media (max-width: 768px) {
  .card-grid__container {
    grid-template-columns: 1fr !important; 
    gap: 40px 0;
  }
}

@media (max-width: 480px) {
  .card-grid__container {
    grid-template-columns: 1fr !important;
    gap: 20px 0;
  }
}
.card-grid__search__form {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;
  max-width: 1000px;
  margin: 0 auto 60px auto;
}
@media (max-width: 1024px) {
  .card-grid__search__form {
    max-width: 660px;
    flex-direction: column;
    gap: 25px;
    margin-bottom: 40px;
  }
}
@media (max-width: 768px) {
  .card-grid__search__form {
    padding-inline: 25px;
  }
}
.card-grid__search__form .select-wrapper {
  display: grid;
  gap: 15px;
  max-width: 284px;
}
.card-grid__search__form .form-select {
  border-radius: 0;
  border: none;
  height: 61px;
}
.section-header {
  position: relative;
  width: 100%;
  padding: 48px 0;
  background-color: rgba(0, 0, 0, 0.06);
  overflow: hidden;
  background-image: url("/assets/img/heading_bg.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media (max-width: 768px) {
  .section-header {
    padding: 40px 0;
    background-image: url("/assets/img/heading_bg_sp.png");
  }
}
.section-header--white {
  background-color: var(--color-white);
}
.section-header__container {
  position: relative;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 60px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
  z-index: 1;
}
@media (max-width: 1024px) {
  .section-header__container {
    padding: 0 40px;
  }
}
@media (max-width: 768px) {
  .section-header__container {
    padding: 0 20px;
    gap: 14px;
  }
}
.section-header__label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #bc1217;
  color: var(--color-white);
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-size: 13px;
  line-height: normal;
  letter-spacing: 0.26px;
  text-align: center;
  padding: 2px 20px;
  border-radius: 31.689px;
  white-space: nowrap;
}
@media (max-width: 768px) {
  .section-header__label {
    font-size: 12px;
    padding: 2px 16px;
  }
}
.section-header__title {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-size: 40px;
  line-height: 1.55;
  letter-spacing: 2.8px;
  color: var(--color-black-light);
  text-align: center;
  margin: 0;
}
@media (max-width: 768px) {
  .section-header__title {
    font-size: 32px;
    letter-spacing: 2.24px;
  }
}
@media (max-width: 640px) {
  .section-header__title {
    font-size: 28px;
    letter-spacing: 1.96px;
  }
}
.section-header__underline {
  width: 94px;
  height: 2px;
  background-color: var(--color-black-light);
}
@media (max-width: 768px) {
  .section-header__underline {
    width: 80px;
  }
}
:root {
  --color-white: #ffffff;
  --color-black: #000000;
  --color-black-light: #333333;
  --color-gray-light: #f2f2f2;
  --color-gray-mid-light: #e9e9e9;
  --color-gray-mid: #bcbcbc;
  --color-gray-dark: #4f4f4f;
  --color-red: #a71717;
  --color-red-light: #d74f4f;
}
@media (max-width: 768px) {
  .pc-only {
    display: none !important;
  }
}
.sp-tb-only {
  display: none !important;
}
@media (max-width: 1024px) {
  .sp-tb-only {
    display: block !important;
  }
}
.sp-only {
  display: none !important;
}
@media (max-width: 768px) {
  .sp-only {
    display: block !important;
  }
}
.heading-with-divider {
  text-align: center;
  margin-bottom: 40px;
}
.heading-with-divider__subtitle {
  font-size: 15px;
  font-weight: bold;
  color: #bc1217;
  letter-spacing: 1.05px;
  margin-bottom: 8px;
}
.heading-with-divider__titleWrap {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 24px;
}
@media (max-width: 1150px) {
  .heading-with-divider__titleWrap {
    margin-bottom: 16px;
  }
}
.heading-with-divider__title {
  font-size: 32px;
  font-weight: bold;
  color: #333;
  letter-spacing: 2.24px;
}
@media (max-width: 1150px) {
  .heading-with-divider__title {
    font-size: 27px;
  }
}
.heading-with-divider__divider {
  height: 10px;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  background: linear-gradient(
    254deg,
    rgb(217, 217, 217) 0.13%,
    rgb(250, 250, 250) 99.83%
  );
  transform: scaleY(-1);
}
.card {
  position: relative;
  width: 100%;
  max-width: 320px;
  margin: 0 auto;
}
.card__image-wrapper {
  position: relative;
  width: 100%;
  height: auto;
  overflow: hidden;
  margin-bottom: 20px;
}
.card__image {
  width: 100%;
  height: auto;
  object-fit: contain;
  object-position: center;
}
.card__title {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-size: 17.204px;
  line-height: normal;
  letter-spacing: 0.3441px;
  color: var(--color-black);
  margin: 0 0 16px 0;
}

.card__description {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 15.054px;
  line-height: 1.6;
  letter-spacing: 0.3011px;
  margin-bottom: -28px;
  color: #7a7a7a;
}

@media (max-width: 768px) {
  .card__title {
    font-size: 16px;
  }
}
.card__description {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 15.054px;
  line-height: 1.6;
  letter-spacing: 0.3011px;
  color: #7a7a7a;
  margin: 0 0 20px 0;
}
@media (max-width: 768px) {
  .card__description {
    font-size: 14px;
  }
}
.card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.case-card {
  display: flex;
  flex-direction: column;
  background: #f4f4f4;
  width: 242px;
  position: relative;
}

@media (max-width: 768px) {
  .case-card {
    width: 100%;
    max-width:362px !important;
  }
}
.case-card__image-wrapper {
  width: 100%;
  height: auto;
  overflow: hidden;
  position: relative;
  background: var(--color-white);
}

.case-card__image {
  width: 100%;
  height: 100%;
  /*object-fit: cover;*/
  object-position: center;
}
.case-card__content {
  padding: 18px;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.case-card__company {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 1.12px;
  color: #333;
  text-align: center;
  margin: 0 0 14px 0;
}
.case-card__company.-highlight {
  color: var(--color-red);
}
.case-card__description {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.7;
  letter-spacing: 0.28px;
  color: #333;
  margin: 0 0 auto 0;
  flex: 1;
}
.case-card__tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--color-white);
  border: 1px solid var(--color-red);
  border-radius: 20px;
  padding: 5px 13px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.98px;
  color: var(--color-red);
  width: fit-content;
  margin-top: 20px;
  height: 25px;
  line-height: 1;
}
.case-card__button {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #464646;
  color: var(--color-white);
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.98px;
  line-height: 1.5;
  padding: 13px 21px;
  text-decoration: none;
  height: 49px;
  position: relative;
  transition: background-color 0.3s ease;
  transition: 0.3s ease;
}
.case-card__button:hover {
  background: #333;
}
.case-card__button-icon {
  width: 15px;
  height: 15px;
  margin-left: auto;
  top: 50%;
}
.case-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  max-width: 1024px;
  margin: 0 auto;
  padding: 0 12px;
  justify-content: center;
}
@media (max-width: 1024px) {
  .case-grid {
    grid-template-columns: repeat(3, 242px);
  }
}
@media (max-width: 860px) {
  .case-grid {
    grid-template-columns: repeat(2, 242px);
  }
}
@media (max-width: 768px) {
  .case-grid {
    grid-template-columns: repeat(2, 1fr);
    padding: 0 20px;
    gap: 16px;
  }
}
@media (max-width: 560px) {
  .case-grid {
    grid-template-columns: 1fr;
  }
}
:root {
  --color-white: #ffffff;
  --color-black: #000000;
  --color-black-light: #333333;
  --color-gray-light: #f2f2f2;
  --color-gray-mid-light: #e9e9e9;
  --color-gray-mid: #bcbcbc;
  --color-gray-dark: #4f4f4f;
  --color-red: #a71717;
  --color-red-light: #d74f4f;
}
@media (max-width: 768px) {
  .pc-only {
    display: none !important;
  }
}
.sp-tb-only {
  display: none !important;
}
@media (max-width: 1024px) {
  .sp-tb-only {
    display: block !important;
  }
}
.sp-only {
  display: none !important;
}
@media (max-width: 768px) {
  .sp-only {
    display: block !important;
  }
}
/* Container */
.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  margin-top: 86px;
}

.pagination__pages a {
  display: inline-block;
  width: 33px;
  height: 33px;
  line-height: 33px;
  text-align: center;
  border-radius: 50%;
  background-color: #e1e1e1;
  color: #7f7f7f;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 16px;
  text-decoration: none;
  transition: 0.2s;
  margin-inline: 3px;
}

.pagination__pages a.WCMselected {
  background-color: var(--color-red);
  color: var(--color-white);
}

.pagination__pages a:hover {
  background-color: #d1d1d1;
}

.pagination__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: none;
  background: none;
  cursor: pointer;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 16px;
  color: var(--color-black);
  padding-inline: 12px;
  height: auto;
}

.pagination__button img {
  display: inline-block;
  width: 18px;
  height: 18px;
  object-fit: contain;
}

.pagination__item.-current {
  background-color: var(--color-red);
  color: var(--color-white);
}

a:link,
a:visited {
  text-decoration: none;
}
:root {
  --color-white: #ffffff;
  --color-black: #000000;
  --color-black-light: #333333;
  --color-gray-light: #f2f2f2;
  --color-gray-mid-light: #e9e9e9;
  --color-gray-mid: #bcbcbc;
  --color-gray-dark: #4f4f4f;
  --color-red: #a71717;
  --color-red-light: #d74f4f;
}
@media (max-width: 768px) {
  .pc-only {
    display: none !important;
  }
}
.sp-tb-only {
  display: none !important;
}
@media (max-width: 1024px) {
  .sp-tb-only {
    display: block !important;
  }
}
.sp-only {
  display: none !important;
}
@media (max-width: 768px) {
  .sp-only {
    display: block !important;
  }
}
.pricing-plan {
  background-color: #f9f9f9;
  padding: 80px 20px;
  max-width: 1000px;
  margin: 0 auto;
}
.pricing-plan__container {
  max-width: 800px;
  margin: 0 auto;
}
.pricing-plan__description {
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  letter-spacing: 1.12px;
  line-height: 1.55;
  margin-bottom: 56px;
}
.pricing-plan__cards {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-bottom: 48px;
}
.pricing-plan__card {
  flex: 1;
  max-width: 384px;
  position: relative;
}
.pricing-plan__card-badge {
  position: absolute;
  top: -20px;
  left: 50%;
  transform: translateX(-50%);
  background-color: #a71717;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  padding: 10px 20px;
  border-radius: 38px;
  letter-spacing: 1.12px;
  margin: 0 auto;
  width: fit-content;
  min-width: 216px;
}
.pricing-plan__card-content {
  background-color: #fff;
  border: 1px solid #c5c5c5;
  border-radius: 10px;
  padding: 20px 20px;
  height: 128px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pricing-plan__card-text {
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  letter-spacing: 1.4px;
  line-height: 1.42;
}
.pricing-plan__info {
  font-size: 15px;
  font-weight: 500;
  text-align: center;
  letter-spacing: 1.05px;
  line-height: 1.75;
  margin-bottom: 48px;
}
.pricing-plan__info p {
  margin: 0;
}
.pricing-plan__button {
  display: flex;
  justify-content: center;
}
@media (max-width: 768px) {
  .pricing-plan {
    padding: 60px 20px;
  }
  .pricing-plan__title {
    font-size: 28px;
    margin-bottom: 16px;
  }
  .pricing-plan__subtitle {
    font-size: 13px;
  }
  .pricing-plan__description {
    font-size: 14px;
    margin-bottom: 32px;
  }
  .pricing-plan__cards {
    flex-direction: column;
    gap: 36px;
  }
  .pricing-plan__card {
    max-width: 100%;
  }
  .pricing-plan__card-text {
    font-size: 18px;
  }
  .pricing-plan__info {
    font-size: 14px;
    margin-bottom: 32px;
  }
}
:root {
  --color-white: #ffffff;
  --color-black: #000000;
  --color-black-light: #333333;
  --color-gray-light: #f2f2f2;
  --color-gray-mid-light: #e9e9e9;
  --color-gray-mid: #bcbcbc;
  --color-gray-dark: #4f4f4f;
  --color-red: #a71717;
  --color-red-light: #d74f4f;
}
@media (max-width: 768px) {
  .pc-only {
    display: none !important;
  }
}
.sp-tb-only {
  display: none !important;
}
@media (max-width: 1024px) {
  .sp-tb-only {
    display: block !important;
  }
}
.sp-only {
  display: none !important;
}
@media (max-width: 768px) {
  .sp-only {
    display: block !important;
  }
}
.contents {
  display: flex;
  justify-content: center;
  gap: 50px;
  max-width: 1000px;
  margin: 40px auto 0;
  color: #000;
  font-style: normal;
  font-weight: 500;
  line-height: 210%;
  letter-spacing: 0.32px;
}

.contents > div {
  flex: 1;
}
@media (min-width: 1024px) {
.contents.-bottom  {
    padding-bottom: 50px;
  }
}
@media (max-width: 768px) {
  .contents {
    padding-inline: 24px;
    flex-direction: column;
    flex: none;
  }
 .contents.-bottom {
  padding-bottom: 60px;
}
}

@media (max-width: 480px) {
 .contents.-bottom {
  padding-bottom: 30px;
}
}
.contents.-left {
  flex-direction: row-reverse;
}
@media (max-width: 768px) {
  .contents.-left {
    flex-direction: column;
  }
}
.contents.-bottom {
  flex-direction: column;
  align-items: center;
}
.contents.-bottom > div {
  width: 100%;
}
.contents.-bottom img {
  margin-bottom: 24px;
}
@media (max-width: 768px) {
  .contents.-sp-top {
    flex-direction: column-reverse;
  }
}
@media (max-width: 768px) {
  .contents {
    grid-template-columns: 1fr;
    gap: 30px;
    margin: 20px auto 0;
  }
}
.contents__text {
  display: grid;
  align-content: start;
  gap: 22px;
}
:root {
  --color-white: #ffffff;
  --color-black: #000000;
  --color-black-light: #333333;
  --color-gray-light: #f2f2f2;
  --color-gray-mid-light: #e9e9e9;
  --color-gray-mid: #bcbcbc;
  --color-gray-dark: #4f4f4f;
  --color-red: #a71717;
  --color-red-light: #d74f4f;
}
@media (max-width: 768px) {
  .pc-only {
    display: none !important;
  }
}
.sp-tb-only {
  display: none !important;
}
@media (max-width: 1024px) {
  .sp-tb-only {
    display: block !important;
  }
}
.sp-only {
  display: none !important;
}
@media (max-width: 768px) {
  .sp-only {
    display: block !important;
  }
}
.latest-news {
  padding: 80px 20px;
  max-width: 1000px;
  margin: 0 auto;
}
.latest-news__container {
  max-width: 1220px;
  margin: 0 auto;
  display: grid;
  grid-template-areas: "header content" "button content";
  grid-template-columns: 220px 1fr;
  grid-template-rows: auto 1fr;
  row-gap: 40px;
  column-gap: 60px;
}
@media (max-width: 768px) {
  .latest-news__container {
    grid-template-areas: "header" "content" "button";
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    row-gap: 24px;
    column-gap: 0;
  }
}
.latest-news__header {
  flex-shrink: 0;
  width: 220px;
  grid-area: header;
}
.latest-news__subtitle {
  font-size: 15px;
  font-weight: bold;
  color: #a71717;
  letter-spacing: 1.05px;
}
.latest-news__title {
  font-size: 27px;
  font-weight: bold;
  color: #000;
  letter-spacing: 1.89px;
  line-height: 1.55;
  white-space: pre-wrap;
}
.latest-news__content {
  grid-area: content;
}
.latest-news__list {
  list-style: none;
  padding: 0;
  margin: 0 0 24px 0;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.latest-news__item {
  background-color: #f5f5f5;
}
.latest-news__link {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 21px 20px;
  text-decoration: none;
  color: #000;
  transition: background-color 0.2s;
}
.latest-news__link:hover {
  background-color: #ebebeb;
}
.latest-news__date {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.98px;
  line-height: 1.55;
  flex-shrink: 0;
  width: 110px;
}
.latest-news__text {
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 1.05px;
  line-height: 1.55;
  flex: 1;
  padding-left: 10px;
}
.latest-news__arrow {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}
.latest-news__button {
  grid-area: button;
}
@media (max-width: 768px) {
  .latest-news {
    padding: 60px 20px;
  }
  .latest-news__container {
    flex-direction: column;
    gap: 24px;
  }
  .latest-news__header {
    width: 100%;
  }
  .latest-news__title {
    font-size: 24px;
  }
  .latest-news__link {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    padding: 16px;
  }
  .latest-news__date {
    width: 100%;
    font-size: 13px;
  }
  .latest-news__text {
    font-size: 14px;
    width: 100%;
  }
  .latest-news__arrow {
    align-self: flex-end;
  }
}
:root {
  --color-white: #ffffff;
  --color-black: #000000;
  --color-black-light: #333333;
  --color-gray-light: #f2f2f2;
  --color-gray-mid-light: #e9e9e9;
  --color-gray-mid: #bcbcbc;
  --color-gray-dark: #4f4f4f;
  --color-red: #a71717;
  --color-red-light: #d74f4f;
}
@media (max-width: 768px) {
  .pc-only {
    display: none !important;
  }
}
.sp-tb-only {
  display: none !important;
}
@media (max-width: 1024px) {
  .sp-tb-only {
    display: block !important;
  }
}
.sp-only {
  display: none !important;
}
@media (max-width: 768px) {
  .sp-only {
    display: block !important;
  }
}
.theme-challenges {
  padding: 80px 20px;
}
.theme-challenges__container {
  max-width: 1000px;
  margin: 0 auto;
}
.theme-challenges__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
}
.theme-challenges__card {
  background-color: #fff;
  border: 1.104px solid #c5c5c5;
  padding: 31px 23px;
  display: flex;
  gap: 20px;
  min-height: 190px;
}
.theme-challenges__icon {
  flex-shrink: 0;
  width: 108px;
  height: 108px;
}
.theme-challenges__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.theme-challenges__content {
  flex: 1;
}
.theme-challenges__title {
  font-size: 19px;
  font-weight: bold;
  color: #000;
  letter-spacing: 0.38px;
  margin-bottom: 38px;
  display: flex;
  align-items: center;
  gap: 7px;
}
.theme-challenges__marker {
  width: 13px;
  height: 13px;
  background-color: #b50005;
  flex-shrink: 0;
}
.theme-challenges__list {
  list-style: disc;
  padding-left: 21px;
  margin: 0;
}
.theme-challenges__list li {
  font-size: 14px;
  font-weight: 500;
  color: #000;
  letter-spacing: 0.28px;
  line-height: 1.6;
  margin-bottom: 0;
}
.theme-challenges__list li:last-child {
  margin-bottom: 0;
}
@media (max-width: 768px) {
  .theme-challenges {
    padding: 60px 20px;
  }
  .theme-challenges__grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .theme-challenges__card {
    flex-direction: column;
    padding: 24px 20px;
    min-height: auto;
  }
  .theme-challenges__icon {
    width: 80px;
    height: 80px;
    margin: 0 auto;
  }
  .theme-challenges__content {
    text-align: left;
  }
  .theme-challenges__title {
    font-size: 17px;
    margin-bottom: 20px;
    justify-content: flex-start;
  }
  .theme-challenges__list li {
    font-size: 13px;
  }
}
.theme-challenges.-cards-only {
  padding: 0;
}
.theme-challenges.-cards-only .theme-challenges__card {
  min-height: max-content;
}
.theme-challenges.-cards-only .theme-challenges__title {
  margin-bottom: 10px;
}
:root {
  --color-white: #ffffff;
  --color-black: #000000;
  --color-black-light: #333333;
  --color-gray-light: #f2f2f2;
  --color-gray-mid-light: #e9e9e9;
  --color-gray-mid: #bcbcbc;
  --color-gray-dark: #4f4f4f;
  --color-red: #a71717;
  --color-red-light: #d74f4f;
}
@media (max-width: 768px) {
  .pc-only {
    display: none !important;
  }
}
.sp-tb-only {
  display: none !important;
}
@media (max-width: 1024px) {
  .sp-tb-only {
    display: block !important;
  }
}
.sp-only {
  display: none !important;
}
@media (max-width: 768px) {
  .sp-only {
    display: block !important;
  }
}
.top-feature-grid {
  padding-block: 80px;
  padding-inline: 12px;
}
.top-feature-grid__container {
  max-width: 1000px;
  margin: 0 auto;
  display: grid;
  justify-items: center;
  gap: 68px;
  padding-inline: 20px;
}
.top-feature-grid__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
.top-feature-grid__item {
  border-right: 1px solid #c5c5c5;
  border-bottom: 1px solid #c5c5c5;
  padding: 40px 33px 36px;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}
.top-feature-grid__item:nth-child(3n) {
  border-right: none;
}
@media (max-width: 768px) {
  .top-feature-grid__item:nth-child(3n) {
    border-right: 1px solid #c5c5c5;
  }
}
.top-feature-grid__item:nth-last-child(-n + 3) {
  border-bottom: none;
}
@media (max-width: 768px) {
  .top-feature-grid__item:nth-last-child(-n + 3) {
    border-bottom: 1px solid #c5c5c5;
  }
}
@media (max-width: 768px) {
  .top-feature-grid__item:nth-child(2n) {
    border-right: none;
  }
}
@media (max-width: 768px) {
  .top-feature-grid__item:nth-last-child(-n + 2) {
    border-bottom: none;
  }
}
.top-feature-grid__number {
  position: absolute;
  top: 0;
  left: 0;
  width: 48px;
  height: 48px;
  background-color: #a71717;
  color: #fff;
  font-size: 24px;
  font-weight: 500;
  letter-spacing: 1.92px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.top-feature-grid__icon {
  width: 163px;
  height: 163px;
  margin-bottom: 22px;
}
.top-feature-grid__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.top-feature-grid__title {
  font-size: 19px;
  font-weight: bold;
  color: #000;
  letter-spacing: 0.38px;
  margin-bottom: 14px;
  line-height: 1.4;
  text-align: center;
}
.top-feature-grid__subtitle {
  display: block;
  font-size: 13px;
  font-weight: bold;
  letter-spacing: 0.26px;
  line-height: 1.65;
}
.top-feature-grid__description {
  font-size: 14px;
  font-weight: 500;
  color: #000;
  letter-spacing: 0.28px;
  line-height: 1.88;
  margin: 0;
}
@media (max-width: 768px) {
  .top-feature-grid {
    padding: 60px 0;
  }
  .top-feature-grid__grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .top-feature-grid__item {
    padding: 50px 20px 20px;
  }
  .top-feature-grid__number {
    width: 40px;
    height: 40px;
    font-size: 20px;
  }
  .top-feature-grid__icon {
    width: 90px;
    height: 90px;
    margin-bottom: 16px;
  }
  .top-feature-grid__title {
    font-size: 17px;
    margin-bottom: 12px;
  }
  .top-feature-grid__subtitle {
    font-size: 12px;
  }
  .top-feature-grid__description {
    font-size: 13px;
  }
}
:root {
  --color-white: #ffffff;
  --color-black: #000000;
  --color-black-light: #333333;
  --color-gray-light: #f2f2f2;
  --color-gray-mid-light: #e9e9e9;
  --color-gray-mid: #bcbcbc;
  --color-gray-dark: #4f4f4f;
  --color-red: #a71717;
  --color-red-light: #d74f4f;
}
@media (max-width: 768px) {
  .pc-only {
    display: none !important;
  }
}
.sp-tb-only {
  display: none !important;
}
@media (max-width: 1024px) {
  .sp-tb-only {
    display: block !important;
  }
}
.sp-only {
  display: none !important;
}
@media (max-width: 768px) {
  .sp-only {
    display: block !important;
  }
}
.top-case-intro {
  padding-inline: 20px;
}
.top-case-intro__title {
  font-weight: 700;
  font-size: 27px;
  line-height: 1.55;
  letter-spacing: 1.89px;
  color: var(--color-black);
  text-align: center;
  margin-bottom: 42px;
}
@media (max-width: 768px) {
  .top-case-intro__title {
    font-size: 20px;
    margin-bottom: 30px;
  }
}
.top-case-intro__title > span {
  font-size: 44px;
}
@media (max-width: 768px) {
  .top-case-intro__title > span {
    font-size: 32px;
  }
}
.top-case-intro__images {
  display: flex;
  justify-content: space-between;
  gap: 50px;
  max-width: 1000px;
  margin: auto;
}
@media (max-width: 768px) {
  .top-case-intro__images {
    flex-wrap: wrap;
    gap: 48px;
  }
}
.top-case-intro__images > img {
  width: auto;
  height: 150px;
}
@media (max-width: 768px) {
  .top-case-intro__images > img {
    height: 100px;
  }
}
.top-case-intro__image {
  width: fit-content;
  height: fit-content;
}
.top-case-intro__image > img {
  width: auto;
  height: 100%;
  object-fit: contain;
  margin-bottom: 20px;
}
.top-case-intro__image__text {
  font-weight: 700;
  line-height: 1.55;
  letter-spacing: 1.05px;
  text-align: center;
}
@media (max-width: 768px) {
  .top-case-intro__image__text {
    font-size: 14px;
    text-align: left;
  }
}
.top-case-intro__image__text > span {
  color: var(--color-red);
}
.top-contact {
  padding-inline: 90px;
}
@media (max-width: 768px) {
  .top-contact {
    padding-block: 40px 60px;
    padding-inline: 0;
  }
}
.top-contact__container {
  background-image: url("/assets/img/top_contact_bg.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 60px 24px 97px;
  max-width: 1240px;
  position: relative;
  margin: 0 auto;
  z-index: 1;
}
@media (max-width: 768px) {
  .top-contact__container {
    padding-block: 40px 60px;
    padding-inline: 20px;
  }
}
.top-contact__title {
  font-size: 40px;
  font-weight: 700;
  line-height: 1.55;
  letter-spacing: 2.8px;
  color: #fff;
  text-align: center;
  margin: 0 0 30px 0;
}
@media (max-width: 768px) {
  .top-contact__title {
    font-size: 20px;
    letter-spacing: 1.4px;
  }
}
.top-contact__description {
  font-size: 19px;
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.95px;
  color: #fff;
  text-align: center;
  margin: 0 0 50px 0;
}
@media (max-width: 768px) {
  .top-contact__description {
    font-size: 14px;
    letter-spacing: 0.8px;
    margin-bottom: 28px;
  }
  .top-contact__description br {
    display: none;
  }
}
.top-contact__buttons {
  display: flex;
  gap: 24px;
  justify-content: center;
  align-items: center;
}
@media (max-width: 768px) {
  .top-contact__buttons {
    flex-direction: column;
    gap: 20px;
  }
}
:root {
  --color-white: #ffffff;
  --color-black: #000000;
  --color-black-light: #333333;
  --color-gray-light: #f2f2f2;
  --color-gray-mid-light: #e9e9e9;
  --color-gray-mid: #bcbcbc;
  --color-gray-dark: #4f4f4f;
  --color-red: #a71717;
  --color-red-light: #d74f4f;
}
@media (max-width: 768px) {
  .pc-only {
    display: none !important;
  }
}
.sp-tb-only {
  display: none !important;
}
@media (max-width: 1024px) {
  .sp-tb-only {
    display: block !important;
  }
}
.sp-only {
  display: none !important;
}
@media (max-width: 768px) {
  .sp-only {
    display: block !important;
  }
}
@media (max-width: 768px) {
  .top-point {
    display: grid;
    gap: 40px;
  }
}
.top-point__title {
  font-size: 27px;
  font-weight: 700;
  line-height: 1.55;
  letter-spacing: 1.89px;
}
@media (max-width: 768px) {
  .top-point__title {
    font-size: 20px;
  }
}
.top-point__text {
  font-size: 14px;
  line-height: 1.9;
}
@media (max-width: 768px) {
  .top-point__text {
    font-size: 13px;
  }
}
:root {
  --color-white: #ffffff;
  --color-black: #000000;
  --color-black-light: #333333;
  --color-gray-light: #f2f2f2;
  --color-gray-mid-light: #e9e9e9;
  --color-gray-mid: #bcbcbc;
  --color-gray-dark: #4f4f4f;
  --color-red: #a71717;
  --color-red-light: #d74f4f;
}
@media (max-width: 768px) {
  .pc-only {
    display: none !important;
  }
}
.sp-tb-only {
  display: none !important;
}
@media (max-width: 1024px) {
  .sp-tb-only {
    display: block !important;
  }
}
.sp-only {
  display: none !important;
}
@media (max-width: 768px) {
  .sp-only {
    display: block !important;
  }
}
.top-case-logos__logos {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  column-gap: 0px;
  row-gap: 18px;
}

.top-case-logos__logos img {
  max-width: 218px;
  width: 100%;
  height: auto;
  object-fit: contain;
}

@media screen and (max-width: 480px) {
  .top-case-logos__logos {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    display: flex !important;
    grid-template-columns: none !important;
    padding: 0 10px !important;
    gap: 8px !important;
  }

  .top-case-logos__logos > * {
    flex: 0 0 calc(50% - 8px) !important;
    max-width: calc(50% - 8px) !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  .top-case-logos__logos img {
    width: 100% !important;
    height: auto !important;
    max-height: 70px !important;
    object-fit: contain !important;
  }
}

@media (max-width: 768px) {
  .top-case-logos__logos {
    gap: 20px;
  }
  .top-case-logos__logos {
    grid-template-rows: unset;
    grid-auto-flow: row;
    grid-template-columns: repeat(4, 1fr);
    padding-left: 30px;
    padding-right: 30px;
    gap: 25px;
  }

  .top-case-logos__logos img {
    max-height: 90px !important;
  }
}
:root {
  --color-white: #ffffff;
  --color-black: #000000;
  --color-black-light: #333333;
  --color-gray-light: #f2f2f2;
  --color-gray-mid-light: #e9e9e9;
  --color-gray-mid: #bcbcbc;
  --color-gray-dark: #4f4f4f;
  --color-red: #a71717;
  --color-red-light: #d74f4f;
}
@media (max-width: 768px) {
  .pc-only {
    display: none !important;
  }
}
.sp-tb-only {
  display: none !important;
}
@media (max-width: 1024px) {
  .sp-tb-only {
    display: block !important;
  }
}
.sp-only {
  display: none !important;
}
@media (max-width: 768px) {
  .sp-only {
    display: block !important;
  }
}
.top-support {
  position: relative;
  padding: 80px 0;
  text-align: center;
}
.top-support__container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}
.top-support__heading {
  font-size: 33px;
  font-weight: bold;
  line-height: 1.55;
  letter-spacing: 2.31px;
  margin-bottom: 40px;
  font-weight: bold;
}
@media (max-width: 1150px) {
  .top-support__heading {
    font-size: 24px;
  }
}
.top-support__heading-line {
  display: block;
  font-weight: bold;
}
@media (max-width: 1150px) {
  .top-support__heading-line {
    font-size: 20px;
  }
}
.top-support__badge {
  display: inline-block;
  margin-bottom: 35px;
}
.top-support__badge-text {
  display: inline-block;
  background-color: #a71717;
  color: #fff;
  font-family: "Zen Kaku Gothic New", "Noto Sans", sans-serif;
  font-size: 22px;
  font-weight: bold;
  line-height: 1.55;
  letter-spacing: 1.54px;
  padding: 4px 40px;
}
@media (max-width: 1150px) {
  .top-support__badge-text {
    font-size: 16px;
    padding: 4px 20px;
  }
}
.top-support__content {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 58px;
  max-width: 900px;
  margin: 0 auto;
}
@media (max-width: 1150px) {
  .top-support__content {
    flex-direction: column;
    gap: 50px;
  }
}
.top-support__box {
  border: 1px solid #adadad;
  padding: 17px 15px;
  width: 50%;
  height: 209px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
@media (max-width: 1150px) {
  .top-support__box {
    width: 100%;
    height: auto;
    padding: 24px 15px;
  }
}
.top-support__logo {
  margin-bottom: 32px;
}
.top-support__logo img {
  max-width: 270px;
  height: auto;
}
.top-support__box-title {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 27px;
  font-weight: bold;
  line-height: 1.55;
  letter-spacing: 1.89px;
  margin-bottom: 24px;
}
@media (max-width: 1150px) {
  .top-support__box-title {
    font-size: 20px;
  }
}
.top-support__description {
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: 1.19px;
}
@media (max-width: 1150px) {
  .top-support__description {
    font-size: 15px;
  }
}
.top-support__description-line {
  display: block;
}
.top-support__cross {
  position: absolute;
  flex-shrink: 0;
}
@media (max-width: 1150px) {
  .top-support__cross {
    transform: translateY(-6px);
  }
}
.top-support__cross img {
  width: 93px;
  height: 93px;
}
@media (max-width: 1150px) {
  .top-support__cross img {
    width: 70px;
    height: 70px;
  }
}
:root {
  --color-white: #ffffff;
  --color-black: #000000;
  --color-black-light: #333333;
  --color-gray-light: #f2f2f2;
  --color-gray-mid-light: #e9e9e9;
  --color-gray-mid: #bcbcbc;
  --color-gray-dark: #4f4f4f;
  --color-red: #a71717;
  --color-red-light: #d74f4f;
}
@media (max-width: 768px) {
  .pc-only {
    display: none !important;
  }
}
.sp-tb-only {
  display: none !important;
}
@media (max-width: 1024px) {
  .sp-tb-only {
    display: block !important;
  }
}
.sp-only {
  display: none !important;
}
@media (max-width: 768px) {
  .sp-only {
    display: block !important;
  }
}
.top-card-slider__container {
  max-width: 1000px;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .top-card-slider__container {
    padding-inline: 20px;
  }
}
.top-card-slider__slider {
  padding-bottom: 50px;
}
.top-card-slider__button {
  text-align: center;
  margin-top: 40px;
  width: max-content;
  margin: auto;
}
@media (max-width: 768px) {
  .top-card-slider__button {
    width: 100%;
  }
}
:root {
  --color-white: #ffffff;
  --color-black: #000000;
  --color-black-light: #333333;
  --color-gray-light: #f2f2f2;
  --color-gray-mid-light: #e9e9e9;
  --color-gray-mid: #bcbcbc;
  --color-gray-dark: #4f4f4f;
  --color-red: #a71717;
  --color-red-light: #d74f4f;
}
@media (max-width: 768px) {
  .pc-only {
    display: none !important;
  }
}
.sp-tb-only {
  display: none !important;
}
@media (max-width: 1024px) {
  .sp-tb-only {
    display: block !important;
  }
}
.sp-only {
  display: none !important;
}
@media (max-width: 768px) {
  .sp-only {
    display: block !important;
  }
}
.feature-contents-list {
  background: #f4f4f4;
  border-radius: 10px;
  padding: 50px 88px 80px;
  max-width: 1000px;
  margin: 0 auto;
}
@media (max-width: 1150px) {
  .feature-contents-list {
    width: 100%;
  }
}
@media (max-width: 768px) {
  .feature-contents-list {
    padding: 40px 30px 50px;
  }
}
.feature-contents-list__header {
  text-align: center;
  margin-bottom: 20px;
}
.feature-contents-list__image {
  text-align: center;
  width: 129px;
  height: 129px;
  margin: 0 auto 25px;
}
.feature-contents-list__image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.feature-contents-list__title {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 1.26px;
  color: #333;
}
.feature-contents-list__items {
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.feature-contents-list__item {
  display: flex;
  gap: 33px;
  align-items: center;
}
@media (max-width: 1024px) {
  .feature-contents-list__item {
    flex-direction: column;
    gap: 10px;
  }
}
.feature-contents-list__item-header {
  display: flex;
  align-items: center;
  gap: 20px;
  width: 226px;
  flex-shrink: 0;
}
@media (max-width: 768px) {
  .feature-contents-list__item-header {
    width: 100%;
  }
}
.feature-contents-list__marker {
  width: 11px;
  height: 11px;
  background: #bc1217;
  flex-shrink: 0;
}
.feature-contents-list__item-title {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 14px;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.42px;
  color: #333;
}
.feature-contents-list__description {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.28px;
  color: #333;
  width: 566px;
  flex-shrink: 0;
}
@media (max-width: 768px) {
  .feature-contents-list__description {
    width: 100%;
  }
}
.feature-contents-list__item:not(:last-child) {
  padding-bottom: 15px;
  border-bottom: 1px solid #d9d9d9;
}
:root {
  --color-white: #ffffff;
  --color-black: #000000;
  --color-black-light: #333333;
  --color-gray-light: #f2f2f2;
  --color-gray-mid-light: #e9e9e9;
  --color-gray-mid: #bcbcbc;
  --color-gray-dark: #4f4f4f;
  --color-red: #a71717;
  --color-red-light: #d74f4f;
}
@media (max-width: 768px) {
  .pc-only {
    display: none !important;
  }
}
.sp-tb-only {
  display: none !important;
}
@media (max-width: 1024px) {
  .sp-tb-only {
    display: block !important;
  }
}
.sp-only {
  display: none !important;
}
@media (max-width: 768px) {
  .sp-only {
    display: block !important;
  }
}
.feature-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(317px, 1fr));
  gap: 25px;
  max-width: 1000px;
  margin: 0 auto;
}
@media (max-width: 1024px) {
  .feature-card-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 768px) {
  .feature-card-grid {
    grid-template-columns: repeat(1, 1fr);
    row-gap: 20px;
  }
}
.feature-card-grid__card {
  min-height: 330px;
  background: #f4f4f4;
  border-radius: 10px;
  padding-block: 40px 20px;
  padding-inline: 30px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.feature-card-grid__icon {
  width: 110px;
  height: 110px;
  margin-bottom: 20px;
  border-radius: 50%;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  flex-shrink: 0;
}
.feature-card-grid__icon img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.feature-card-grid__title {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-size: 18px;
  line-height: 1.5;
  letter-spacing: 1.26px;
  color: #333;
  text-align: center;
  margin-bottom: 20px;
}
.feature-card-grid__description {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.6;
  letter-spacing: 0.98px;
  color: #333;
  text-align: center;
  margin-bottom: auto;
}
.feature-card-grid__items {
  width: 100%;
  margin-top: 9px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.feature-card-grid__item {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.5;
  color: #333;
  display: flex;
  align-items: flex-start;
}
.feature-card-grid__item::before {
  content: "■";
  color: #bc1217;
  margin-right: 0.5em;
  flex-shrink: 0;
}
:root {
  --color-white: #ffffff;
  --color-black: #000000;
  --color-black-light: #333333;
  --color-gray-light: #f2f2f2;
  --color-gray-mid-light: #e9e9e9;
  --color-gray-mid: #bcbcbc;
  --color-gray-dark: #4f4f4f;
  --color-red: #a71717;
  --color-red-light: #d74f4f;
}
@media (max-width: 768px) {
  .pc-only {
    display: none !important;
  }
}
.sp-tb-only {
  display: none !important;
}
@media (max-width: 1024px) {
  .sp-tb-only {
    display: block !important;
  }
}
.sp-only {
  display: none !important;
}
@media (max-width: 768px) {
  .sp-only {
    display: block !important;
  }
}
.anchor-list {
  max-width: 800px;
  margin: 0 auto;
}
.anchor-list__items {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  row-gap: 23px;
  column-gap: 31px;
  list-style: none;
  padding: 0;
  margin: 0;
}
@media (max-width: 768px) {
  .anchor-list__items {
    gap: 15px 20px;
  }
}
.anchor-list__item {
  flex-shrink: 0;
}
.anchor-list__link {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  transition: opacity 0.2s;
}
.anchor-list__link:hover {
  opacity: 0.7;
}
.anchor-list__label {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.55;
  letter-spacing: 0.8px;
  text-align: center;
}
.anchor-list__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 18.457px;
  height: 18.457px;
  flex-shrink: 0;
}
.anchor-list__icon img {
  width: 100%;
  height: 100%;
}
.dam-intro {
  display: flex;
  gap: 50px;
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 40px;
  align-items: flex-start;
}
@media (max-width: 1024px) {
  .dam-intro {
    flex-direction: column;
    align-items: center;
  }
}
@media (max-width: 768px) {
  .dam-intro {
    padding: 0 20px;
    gap: 40px;
  }
}
.dam-intro__text {
  flex: 1;
  max-width: 500px;
}
.dam-intro__text p {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 16px;
  line-height: 2.1;
  letter-spacing: 0.32px;
  color: #000;
  margin: 0 0 1em 0;
}
.dam-intro__text p:last-child {
  margin-bottom: 0;
}
@media (max-width: 768px) {
  .dam-intro__text p {
    font-size: 14px;
    line-height: 1.9;
  }
}
:root {
  --color-white: #ffffff;
  --color-black: #000000;
  --color-black-light: #333333;
  --color-gray-light: #f2f2f2;
  --color-gray-mid-light: #e9e9e9;
  --color-gray-mid: #bcbcbc;
  --color-gray-dark: #4f4f4f;
  --color-red: #a71717;
  --color-red-light: #d74f4f;
}
@media (max-width: 768px) {
  .pc-only {
    display: none !important;
  }
}
.sp-tb-only {
  display: none !important;
}
@media (max-width: 1024px) {
  .sp-tb-only {
    display: block !important;
  }
}
.sp-only {
  display: none !important;
}
@media (max-width: 768px) {
  .sp-only {
    display: block !important;
  }
}
.form-page {
  background-color: var(--color-white);
  width: 100%;
  min-height: 100vh;
  padding: 47px 0;
}
@media (max-width: 768px) {
  .form-page {
    padding: 0px 0;
    padding-block: 36px 0;
  }
}


.form-container {
  max-width: 1072px;
  margin: 0 auto;
  display: flex;
  gap: 24px;
  align-items: flex-start;
  justify-content: center;
  padding-inline: 24px;
}
@media (max-width: 768px) {
  .form-container {
    flex-direction: column;
    padding-inline: 0;
    gap: 50px;
  }
}

.form-left {
  flex: 1;
  max-width: 560px;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .form-left {
    max-width: 720px;
    padding-inline: 25px;
  }
}
@media (max-width: 768px) {
  .form-left.-contact {
    display: grid;
    grid-template-areas: "illustration" "texts" "phone";
  }
}
.form-texts {
  grid-area: texts;
}
.form-illustration {
  grid-area: illustration;
  margin: 60px 0 40px;
  display: flex;
  justify-content: center;
}
@media (max-width: 768px) {
  .form-illustration {
    padding-inline: 25px;
    margin-top: 0;
    margin-bottom: 30px;
  }
}
.form-illustration-image {
  max-width: 100%;
  height: auto;
}
.phone-contact {
  grid-area: phone;
  background-color: var(--color-gray-light);
  border-radius: 13px;
  padding: 30px 40px;
  text-align: center;
  position: relative;
}
@media (max-width: 768px) {
  .phone-contact {
    padding: 30px 26px;
  }
}
.phone-title {
  font-weight: 700;
  font-size: 17px;
  line-height: 1.5;
  letter-spacing: 1.19px;
  color: var(--color-black);
  margin: 0 0 12px 0;
}
.phone-number {
  position: relative;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
.phone-number .phone-label {
  font-size: 19px;
  letter-spacing: 1.33px;
}
.phone-number .phone-digits {
  font-size: 39px;
  letter-spacing: 1.56px;
}
@media (max-width: 1024px) {
  .phone-number .phone-digits {
    font-size: 33px;
  }
}
@media (max-width: 480px) {
  .phone-number .phone-digits {
    font-size: 17px;
    font-weight: 700;
  }
  .phone-hours {
    font-size: 9px;
    margin-top: 13px;
  }
  .phone-number .phone-label {
    font-size: 15px;
    letter-spacing: 1.33px;
  }
  .phone-title {
    font-size: 12px;
  }
  .phone-contact {
    grid-area: phone;
    background-color: var(--color-gray-light);
    padding: 31px 25px !important;
    text-align: center;
    border-radius: 0px;
    position: relative;
  }
}
.phone-number::after {
  position: absolute;
  bottom: 2px;
  left: 50%;
  content: "";
  display: block;
  width: 324.27px;
  height: 2px;
  background: var(--color-red);
  margin: 0 auto;
  transform: translateX(-50%);
}
@media (max-width: 768px) {
  .phone-number::after {
    bottom: 0;
    width: 100%;
  }
}
.phone-hours {
  font-weight: 500;
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: 0.98px;
  color: var(--color-black);
  margin: 0;
}
@media (max-width: 768px) {
  .phone-hours {
    font-size: 9px;
    margin-top: 13px;
  }
}
.form-description {
  margin-top: 17px;
  font-size: 18px;
  font-weight: 700;
  line-height: 150%;
  letter-spacing: 1.26px;
}
@media (max-width: 768px) {
  .form-description {
    display: none;
  }
}
:root {
  --color-white: #ffffff;
  --color-black: #000000;
  --color-black-light: #333333;
  --color-gray-light: #f2f2f2;
  --color-gray-mid-light: #e9e9e9;
  --color-gray-mid: #bcbcbc;
  --color-gray-dark: #4f4f4f;
  --color-red: #a71717;
  --color-red-light: #d74f4f;
}
@media (max-width: 768px) {
  .pc-only {
    display: none !important;
  }
}
.sp-tb-only {
  display: none !important;
}
@media (max-width: 1024px) {
  .sp-tb-only {
    display: block !important;
  }
}
.sp-only {
  display: none !important;
}
@media (max-width: 768px) {
  .sp-only {
    display: block !important;
  }
}

@media (max-width: 768px) {
  .form-page.-document {
    position: relative;
    padding-block: 0;
  }
}
.form-left.-document {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 40px;
  max-width: 720px;
}
@media (max-width: 768px) {
  .form-left.-document {
    position: static;
    padding-top: 0;
    gap: 20px;
  }
}
.form-left.-document .form-illustration {
  margin: 0 0 10px;
}

@media (max-width: 768px) {
  .form-left.-document .form-illustration {
    padding-inline: 0;
  }
}
@media (max-width: 768px) {
  .form-left.-document .inquiry-types {
    margin-bottom: 0;
  }
}

.form-page.-contact {
  min-height: auto;
}

@media (max-width: 768px) {
  .form-page {
    padding: 0px 0;
    padding-block: 36px 0;
  }
}

.recommendation-box-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 26px;
}
.recommendation-box {
  flex: 1;
  min-width: 267px;
  display: flex;
  align-items: center;
  gap: 12px;
  background-color: var(--color-gray-light);
  padding: 16px 10px;
}
@media (max-width: 768px) {
  .recommendation-box {
    min-width: 100%;
  }
}
.recommendation-icon {
  flex-shrink: 0;
  width: 62px;
  height: 62px;
}
.recommendation-icon-image {
  border-radius: 50%;
  object-fit: cover;
}
.recommendation-text {
  font-size: 14px;
}
.recommendation-profile {
  font-size: 16px;
}
:root {
  --color-white: #ffffff;
  --color-black: #000000;
  --color-black-light: #333333;
  --color-gray-light: #f2f2f2;
  --color-gray-mid-light: #e9e9e9;
  --color-gray-mid: #bcbcbc;
  --color-gray-dark: #4f4f4f;
  --color-red: #a71717;
  --color-red-light: #d74f4f;
}
@media (max-width: 768px) {
  .pc-only {
    display: none !important;
  }
}
.sp-tb-only {
  display: none !important;
}
@media (max-width: 1024px) {
  .sp-tb-only {
    display: block !important;
  }
}
.sp-only {
  display: none !important;
}
@media (max-width: 768px) {
  .sp-only {
    display: block !important;
  }
}
.seminar-header {
  display: grid;
  gap: 13px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--color-gray-mid);
}
.form-illustration.-seminar {
  margin-block: 29px 50px;
}
@media (max-width: 1024px) {
  .form-illustration.-seminar {
    margin-block: 20px 30px;
    padding-inline: 0;
  }
}
.seminar-contents {
  display: grid;
  gap: 40px;
}
.seminar-description-text {
  display: grid;
  gap: 1em;
  font-size: 14px;
  font-weight: 500;
  line-height: 200%;
  letter-spacing: 0.42px;
}
.seminar-description-text-detail {
  display: grid;
  gap: 1em;
  font-size: 17px;
  font-weight: 500;
  line-height: 185%;
  letter-spacing: 0.42px;
}
.seminar-info {
  display: grid;
  gap: 30px;
  margin-top: 60px;
}
.seminar-info-title {
  text-align: center;
  font-size: 21px;
  font-weight: 700;
  line-height: 150%;
  letter-spacing: 1.47px;
}
@media (max-width: 1024px) {
  .seminar-info-title {
    font-size: 18px;
    letter-spacing: 1.26px;
  }
}
.seminar-info-list {
  display: grid;
}
.seminar-info-item {
  display: flex;
  align-items: center;
  border-top: 1px solid var(--color-gray-mid);
}
.seminar-info-item:last-child {
  border-bottom: 1px solid var(--color-gray-mid);
}
@media (max-width: 1024px) {
  .seminar-info-item {
    flex-direction: column;
    align-items: stretch;
  }
}
.seminar-info-term {
padding: 0 20px;
  display: grid;
  place-items: center;
  height: 100%;
  border-right: 1px solid var(--color-gray-mid);
}
@media (max-width: 1024px) {
  .seminar-info-term {
    border-right: none;
    height: auto;
    display: block;
  }
}
.seminar-info-term > span {
  display: inline-block;
  padding-block: 18px;
  min-width: 170px;
  font-size: 15px;
  font-weight: 700;
  line-height: 200%;
  letter-spacing: 0.6px;
  text-align: center;
}
@media (max-width: 1024px) {
  .seminar-info-term > span {
    padding-block: 15px 0;
    text-align: left;
    min-width: 0;
  }
}
.seminar-info-description {
  padding-block: 18px;
  padding-left: 34px;
}
@media (max-width: 1024px) {
  .seminar-info-description {
    padding-block: 0 15px;
    padding-left: 0;
  }
}

@media (max-width: 480px) {
  .seminar-info {
    margin-bottom: 50px;
  }
}
@media (max-width: 768px) {
  .form-container-seminar {
    padding-left: 24px !important;
    padding-right: 25px !important;
  }
  .form-illustration-image-seminar {
    padding-top: 16px;
  }
}
@media (max-width: 480px) {
  .form-container-seminar {
    padding-left: 24px !important;
    padding-right: 25px !important;
  }
  .form-illustration-image-seminar {
    padding-top: 16px;
  }
  .heading-with-line-seminar {
    margin-top: -19px;
    font-size: 23px;
  }
}
.form-container-seminar {
  width: 100%;
  max-width: 1072px;
  /* wider but controlled */
  margin: 0 auto;
  display: flex;
  gap: 24px;
  align-items: flex-start;
  justify-content: flex-start;
  padding-inline: 24px;
  box-sizing: border-box;
  padding: 60px 0;
}
.form-left-seminar {
  flex: 1;
  max-width: none;
  margin: 0;
}
.form-illustration-image-seminar {
  display: block;
  width: 100%;
  max-width: 600px;
  /* desktop size */
  height: auto;
  margin: 0 auto;
  margin-bottom: 20px;
  margin-top: 2px;
}
.form-illustration {
  width: 100%;
  text-align: center;
}
.features {
  display: grid;
  gap: 60px;
  max-width: 1000px;
  margin: 0 auto;
}
@media (max-width: 1150px) {
  .features {
    padding-inline: 20px;
  }
}
.features .heading-with-divider {
  margin-bottom: 30px;
}
.features .heading-with-line-divider {
  margin-bottom: 0;
}
/* --- CARD CAROUSEL --- */
.card-carousel {
  position: relative;
width: 100%;
}
.card-carousel__container {
  position: relative;
  max-width: 1000px;
  margin: 0 auto;
  width: 100%;
}
.card-carousel__swiper {
  overflow: hidden !important;
  width: 100%;
  position: relative;
}
.card-carousel__swiper-wrapper {
  display: flex;
  flex-wrap: nowrap;
  transition: transform 0.5s ease-out;
  width: 100%;
  justify-content: flex-start !important;
  gap: 20px;
}

.card-carousel__navigation {
  display: none !important;
  align-items: center;
  justify-content: center;
  margin-top: 8px;
  gap: 30px;
  padding: 30px;
}
.card-carousel__swiper[data-carousel-active="true"]
  ~ .card-carousel__navigation {
  display: flex !important;
}
.card-carousel__button {
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
  width: 40px !important;
  height: 40px !important;
  transition:
    transform 0.2s ease,
    opacity 0.2s ease;
}
.card-carousel__button:hover {
  opacity: 0.7;
  transform: scale(1.05);
}
.card-carousel__button--prev {
  transform: rotate(180deg);
}
.card-carousel__button--prev:hover {
  transform: rotate(180deg) scale(1.05);
}
.card-carousel__button img {
  width: 65% !important;
  height: auto;
  display: block;
}
.card-carousel__pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px !important;
}
.custom-bullet {
  width: 8px !important;
  height: 8px !important;
  display: inline-block !important;
  border-radius: 50%;
  background: #000;
  opacity: 0.2;
  border: none;
  cursor: pointer;
  padding: 0;
  transition: all 0.3s ease;
}
.custom-bullet.active {
  opacity: 1 !important;
  background: #b40000 !important;
  transform: scale(1.15);
  /* Smaller scale-up */
}

@media (min-width: 993px) {
  .card-carousel__swiper-wrapper > * {
    flex: 0 0 calc((100% - (20px * 2)) / 3) !important;
    max-width: calc((100% - (20px * 2)) / 3) !important;
    min-width: calc((100% - (20px * 2)) / 3) !important;
    flex-shrink: 0 !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 992px) {
  .card-carousel__swiper-wrapper {
    gap: 15px;
  }
  .card-carousel__swiper-wrapper > * {
    flex: 0 0 calc((100% - 15px) / 2) !important;
    max-width: calc((100% - 15px) / 2) !important;
    min-width: calc((100% - 15px) / 2) !important;
  }
}
@media (max-width: 576px) {
  .card-carousel__swiper-wrapper {
    gap: 0;
  }
  .card-carousel__swiper-wrapper > * {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
  }
  .card-carousel__button {
    width: 32px !important;
    height: 32px !important;
  }
}

/* --- MOBILE (480px and below) --- */
@media (max-width: 480px) {
  .card-carousel {
    /* Use clip but add padding so the pagination isn't deleted */
    overflow: clip !important; 
    width: 100%;
    padding-bottom: 60px !important; /* CRITICAL: Creates space for bullets */
    contain: paint;
  }

  .card-carousel__swiper {
    padding: 0 !important; 
    overflow: visible !important;
    box-sizing: border-box;
    width: 100%;
    touch-action: pan-y !important;
  }

.card-carousel__pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 9px !important;
}

  .card-carousel__navigation {
    /* Ensure this is flex and visible */
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin-top: 20px !important;
    position: relative;
    z-index: 10;
  }



  /* --- THE SAFARI BULLET FIX --- */
  .custom-bullet {
    -webkit-appearance: none !important; /* Removes default iOS button style */
    appearance: none !important;
    width: 10px !important;
    height: 10px !important;
    background: #000 !important; /* Ensure it has a color */
    opacity: 0.2;
    border-radius: 50% !important;
    border: none !important;
    margin: 0 8px !important;
    padding: 0 !important;
    display: inline-block !important;
  }

  .custom-bullet.active {
    opacity: 1 !important;
    background: #b40000 !important;
  }
.card-carousel__button img{
    width: 100% !important;
}

  .card-carousel__swiper-wrapper > * {
    flex: 0 0 70% !important; 
    max-width: 70% !important;
    min-width: 70% !important;
  }
}@media (max-width: 992px) {
  .card-carousel__swiper {
    overflow: visible !important;
    padding: 0 !important;      
    width: 100%;
  }

  .card-carousel__swiper-wrapper {
    display: flex !important;
    justify-content: flex-start !important;
    gap: 15px !important; 
  }

  .card-carousel__swiper-wrapper > * {
    flex: 0 0 60% !important; 
    max-width: 60% !important;
    min-width: 60% !important; 
  
    opacity: 1;

  }

  .card-carousel__swiper-wrapper > .active-card {
    opacity: 1;
    transform: scale(1);
  }
}

.case-card {
  display: flex;
  flex-direction: column;
  background: #f4f4f4;
  width: 100%;
  max-width: 242px;
  margin: 0 auto;
}
/* --- SLIDER CAROUSEL --- */
.slider-carousel {
  position: relative;
  width: 100%;
  overflow: visible !important;
  padding-bottom: 40px;
}
.slider-carousel__container {
  position: relative;
  max-width: 1000px;
  margin: 0 auto;
  width: 100%;
}
.slider-carousel__swiper {
  position: relative;
  overflow: hidden;
  width: 100%;
  z-index: 1;
}
.slider-carousel__swiper-wrapper {
  display: flex;
  flex-wrap: nowrap;
  transition: transform 0.5s ease;
  width: 100%;
  visibility: visible !important;
  will-change: transform;
}
.slider-carousel__swiper-wrapper > * {
  flex: 0 0 33.3333% !important;
  max-width: 33.3333% !important;
  box-sizing: border-box;
  padding: 0 12px;
}
.slider-carousel__navigation {
  position: absolute;
  top: 103%;
  left: -80px;
  width: calc(100% + 160px);
  transform: translateY(-50%);
  display: none; 
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  z-index: 10;
}

.slider-carousel__swiper[data-carousel-active="true"] + .slider-carousel__navigation,
.slider-carousel__swiper[data-carousel-active="true"] ~ .slider-carousel__navigation {
  display: flex;
}

.slider-carousel__progress-container {
  position: relative !important;
  width: 100% !important;
  max-width: 1000px;
  margin: 40px auto 0 !important;
  height: 5px !important;
  background: #eee !important;
  overflow: hidden !important;
}
.slider-carousel__progress-bar {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  background: #a2a2a2;
  width: 0%;
  transition: width 0.3s ease;
}
.slider-carousel__button {
  width: 64px;
  height: 64px;
  background: transparent;
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition:
    opacity 0.2s,
    transform 0.2s;
  flex-shrink: 0;
margin-top: -41px !important;
}
.slider-carousel__button img {
  width: 100%;
  height: auto;
  display: block;
}
.slider-carousel__button:hover {
  opacity: 0.6;
  transform: scale(1.1);
}
.slider-carousel__button--next {
  margin-left: auto;
}
@media (max-width: 992px) {
  .slider-carousel__progress-bar {
    height: 4px;
    background-color:#a2a2a2; /* Or your brand color */
    transition: width 0.3s ease-out;
    display: block !important; 
  }
}
@media (max-width: 1250px) {
  .slider-carousel__navigation {
    top: 214px;
    left: 29px;
    display: none;
    width: 100%;
    padding: 0 10px;
    box-sizing: border-box;
  }
.slider-carousel__swiper[data-carousel-active="true"] + .slider-carousel__navigation,
.slider-carousel__swiper[data-carousel-active="true"] ~ .slider-carousel__navigation {
  display: flex;
}
}
@media (max-width: 992px) {
  .slider-carousel__swiper-wrapper > * {
    flex: 0 0 50% !important;
    max-width: 50% !important;
  }
}
@media (max-width: 576px) {
  .slider-carousel__swiper-wrapper > * {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
  .slider-carousel__button {
    width: 48px;
    height: 48px;
  }
}

@media (max-width: 820px) {
  .slider-carousel__navigation {
    position: absolute;
    top: 106%;
    left: 0;
    width: 100%;
    transform: translateY(-50%);
    display: none;
    justify-content: space-between !important;
    pointer-events: none;
    z-index: 10;
  }
.slider-carousel__swiper[data-carousel-active="true"] + .slider-carousel__navigation,
.slider-carousel__swiper[data-carousel-active="true"] ~ .slider-carousel__navigation {
  display: flex;
}

#case-search .swiper-slide .card-carousel__slide {
    width: 70% !important;
    height: 100%;
    margin-left: 108px!important;
    padding-right: 52px !important;
    padding-left: 50px !important;
}

.slider{
width: 70% !important;
    height: 100%;
    margin-left: 108px!important;
    padding-right: 0px !important;
    padding-left: 0px !important;
}

  .slider-carousel__button {
    pointer-events: auto;
    margin: 0 10px !important;
margin-top: 25px !important;
  }
}
@media (max-width: 768px) {
  .slider-carousel__button {
    pointer-events: auto;
    width: 40px;
    height: 64px;
    background: transparent;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition:
      opacity 0.2s,
      transform 0.2s;
    flex-shrink: 0;
    margin-left: -64px;
    padding-bottom: 29px;
  }
  .slider-carousel_navigation {
    left: 30px;
    top: 229px;
  }
#case-search .swiper-slide .card-carousel__slide {
    width: 70% !important;
    height: 100%;
    margin-left: 108px!important;
    padding-right: 52px !important;
    padding-left: 50px !important;
}

.slider{
    width: 70% !important;
    height: 100%;
    margin-left: 108px!important;
    padding-right: 0px !important;
    padding-left: 0px !important;
}
.swiper-slide {
    padding-right: 12px !important;
    padding-left: 10px !important;
  }
}

@media (max-width: 480px) {
  .slider-carousel__navigation {
    margin-top: -14px;
    left: -2px;
    width: 100%;
    padding: 0 0px;
    box-sizing: border-box;
  }
  .slider-carousel__button {
    width: 35px;
    height: 48px;
    margin-left: -62px;
   padding-bottom: 20px;
  }
  .card__image {
    width: 100%;
    height: auto;
    object-fit: contain;
    object-position: center;
  }


    .slider {
        width: 100% !important;
        height: 100%;
        margin-left: 9px !important;
    padding-right: 16px !important;
    padding-left: 0px !important;

    }

  .swiper-slide {
    padding-right: 20px;
    padding-left: 21px;
  }
}

.big-carousel__swiper-wrapper {
  display: flex;
  gap: 40px;
  align-items: stretch;
  transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
  will-change: transform;
}

.big-carousel__swiper-wrapper {
  display: flex;
  gap: 60px;
  align-items: stretch;
  transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
  will-change: transform;
}

.big-carousel__slide {
  width: 1179px !important;
  flex: 0 0 1179px !important;
  display: flex;
  box-sizing: border-box;
}

.big-carousel__card {
  background: #f4f4f4;
  border-radius: 20px;
  padding: 55px 70px;
  height: 100%;
  width: 100% !important;
}
.big-carousel__navigation {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  right: 0;
  padding-inline: 100px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  z-index: 10;
  width: 100%;
  pointer-events: none;
}
.big-carousel__button {
  position: absolute; /* Vital for the JS positioning to work */
  pointer-events: all;
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.big-carousel__button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.big-carousel__button--prev {
  /* Center the arrow icon on the border line */
  top: 50%;
}

.big-carousel__button.swiper-button-prev,
.big-carousel__button.swiper-button-next {
  position: static;
  margin: 0;
  padding: 0;
  flex-shrink: 0;
  width: 64px;
  height: 64px;
  transition:
    opacity 0.2s,
    transform 0.2s;
}
.big-carousel__button.swiper-button-prev,
.big-carousel__button.swiper-button-next {
  position: static;
  margin: 0;
  padding: 0;
  flex-shrink: 0;
  width: 64px;
  height: 64px;
  margin-top: 71px !important;
  transition:
    opacity 0.2s,
    transform 0.2s;
}

.big-carousel__button {
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(0, 0, 0, 0);
  pointer-events: all;
}

.big-carousel__pagination {
  margin-left: 0px !important;
  margin-top: 26px;
}

.big-carousel__pagination .swiper-pagination-bullet {
  flex-shrink: 0;
  width: 10px;
  height: 10px;
  background-color: #d9d9d9 !important;
  opacity: 1;
  margin-left: 21px;
  border-radius: 50%;
  cursor: pointer;
  transition: transform 0.3s ease;
}

.big-carousel__pagination .swiper-pagination-bullet-active {
  background-color: #c8161d !important;
  transform: scale(1.3);
}

.big-carousel__button--prev {
  margin-left: -44px;
}

.big-carousel__button--next {
  margin-right: -42px;
  margin-top: 29px;
}

@media (max-width: 1250px) {
  .big-carousel__slide {
    width: 90vw !important;
    flex: 0 0 90vw !important;
  }
}
.big-carousel-section {
  overflow: hidden;
}
.big-carousel {
  position: relative;
}
.big-carousel__container {
  position: relative;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 24px;
}
@media (max-width: 1024px) {
  .big-carousel__container {
    padding: 0 100px;
  }
}
@media (max-width: 1150px) {
  .big-carousel__container {
    padding: 0;
  }
}
.big-carousel__swiper {
  position: relative;
  overflow: visible;
  width: 100%;
}

.big-carousel__swiper-wrapper {
  display: flex;
  gap: 40px;
  transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
}
.big-carousel__slide {
  width: 700px;
  flex-shrink: 0;
  height: auto;
}
@media (max-width: 1150px) {
  .big-carousel__slide {
    width: 100%;
  }
}
.big-carousel__card {
  background: #f4f4f4;
  border-radius: 20px;
  padding: 55px 70px;
  height: 100%;
}
@media (max-width: 1150px) {
  .big-carousel__card {
    padding: 30px 20px;
  }
}
.big-carousel__card-header {
  position: relative;
  margin-bottom: 60px;
}
@media (max-width: 1150px) {
  .big-carousel__card-header {
    margin-bottom: 30px;
  }
}
.big-carousel__card-title {
  font-size: 27px;
  line-height: 1.55;
  letter-spacing: 1.89px;
  color: #000;
  margin: 0 0 0 25px;
  white-space: pre-line;
}
@media (max-width: 1150px) {
  .big-carousel__card-title {
    font-size: 18px;
    margin-left: 1em;
  }
}
.big-carousel__card-title > span {
  font-weight: 700;
}
.big-carousel__card-line {
  position: absolute;
  left: 0;
  top: 6px;
  height: 100%;
  width: 3px;
  background: #c8161d;
}
.big-carousel__card-body {
  display: flex;
  gap: 40px;
}
@media (max-width: 1150px) {
  .big-carousel__card-body {
    flex-direction: column;
    gap: 30px;
  }
}
.big-carousel__card-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 25px;
}
.big-carousel__card-info {
  width: 259px;
  flex-shrink: 0;
}
@media (max-width: 1150px) {
  .big-carousel__card-info {
    width: 100%;
  }
}
.big-carousel__section.-result {
  background: #fff;
  padding: 27px 39px;
}
@media (max-width: 1150px) {
  .big-carousel__section.-result {
    padding: 20px;
  }
}
.big-carousel__section.-result .big-carousel__section-title::after {
  display: none;
}
.big-carousel__section-title {
  align-items: center;
  gap: 20px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.55;
  letter-spacing: 1.26px;
  color: #000;
  margin: 0 0 8px 0;
}
@media (max-width: 1150px) {
  .big-carousel__section-title {
    font-size: 16px;
    gap: 10px;
  }
}
.big-carousel__section-title > span {
  flex-shrink: 0;
}
.big-carousel__section-title::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: #aeaeae;
}
.big-carousel__section-text {
  font-size: 15px;
  font-weight: 500;
  line-height: 1.55;
  letter-spacing: 0.45px;
  color: #000;
  margin: 0;
}
@media (max-width: 1150px) {
  .big-carousel__section-text {
    font-size: 13px;
  }
}
.big-carousel__image-wrapper {
  width: 207px;
  margin-bottom: 15px;
}
@media (max-width: 1150px) {
  .big-carousel__image-wrapper {
    margin: 0 auto 15px;
    width: 70%;
    height: auto;
    aspect-ratio: 1/1;
  }
}
.big-carousel__image {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
.big-carousel__company {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.55;
  letter-spacing: 1.26px;
  color: #000;
  margin: 0 0 10px 0;
}
.big-carousel__meta {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.55;
  letter-spacing: 1.12px;
  color: #000;
  margin: 5px 0;
}
@media (max-width: 1150px) {
  .big-carousel__meta {
    font-size: 13px;
    display: inline;
  }
}
.big-carousel__navigation {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  padding-inline: 100px;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: space-between;
  z-index: 10;
  width: 100%;
  pointer-events: none;
}
.big-carousel__navigation .swiper-navigation-icon {
  display: none;
}
@media (max-width: 1150px) {
  .big-carousel__navigation {
    bottom: -34px;
    top: auto;
    padding-inline: 34px;
  }
}
.big-carousel__button {
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(0, 0, 0, 0);
  pointer-events: all;
}
.big-carousel__button.swiper-button-prev,
.big-carousel__button.swiper-button-next {
  position: static;
  margin: 0;
  padding: 0;
  flex-shrink: 0;
  width: 64px;
  height: 64px;
  transition:
    opacity 0.2s,
    transform 0.2s;
}
.big-carousel__button.swiper-button-prev img,
.big-carousel__button.swiper-button-next img {
  width: 64px;
  height: 64px;
}
@media (max-width: 1150px) {
  .big-carousel__button.swiper-button-prev,
  .big-carousel__button.swiper-button-next {
    width: 50px;
    height: 50px;
  }
  .big-carousel__button.swiper-button-prev img,
  .big-carousel__button.swiper-button-next img {
    width: 50px;
    height: 50px;
  }
}

@media (max-width: 1024px) {
  .big-carousel__button--next {
    margin-right: 0;
  }
}
.big-carousel__button:hover {
  opacity: 0.8;
  transform: scale(1.05);
}
.big-carousel__button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.big-carousel__pagination.swiper-pagination {
  position: relative;
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin-top: 45px;
  pointer-events: all;
}
.big-carousel__pagination.swiper-pagination :global(.swiper-pagination-bullet) {
  width: 10px;
  height: 10px;
  background-color: #d9d9d9;
  opacity: 1;
  border-radius: 50%;
  cursor: pointer;
  transition:
    background-color 0.3s ease,
    transform 0.3s ease;
}
.big-carousel__pagination.swiper-pagination
  :global(.swiper-pagination-bullet):hover {
  transform: scale(1.2);
}
.big-carousel__pagination.swiper-pagination .swiper-pagination-bullet-active {
  background-color: var(--color-red);
}
.big-carousel .swiper-button-next:after,
.big-carousel .swiper-button-prev:after {
  display: none;
}
.media__mobile-stack,
.scale-container,
.scale-header {
  display: none !important;
}

@media (max-width: 820px) {
  .big-carousel__navigation {
    top: auto !important;
    bottom: -40px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 100% !important;
    opacity: 1 !important;
    display: flex !important;
    justify-content: center !important;
    padding: 0 !important;
  }

  .big-carousel__button img {
    margin-left: 70px;
    margin-top: -35px;
    width: 49px !important;
    height: 54px !important;
  }

  .big-carousel__button--prev {
    position: relative !important;
    left: -367px !important;
    top: 50px !important;
    width: 82px !important;
    height: 82px !important;
    margin: 0 !important;
  }

  .big-carousel__button--next {
    position: relative !important;
    left: 279px !important;
    top: 50px !important;
    width: 82px !important;
    height: 82px !important;
    margin: 0 !important;
  }

  .big-carousel__pagination .swiper-pagination-bullet-active {
    background-color: #c8161d !important;
    opacity: 1 !important;
    transform: scale(1.3) !important;
  }

  .big-carousel__pagination {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
    margin-left: -21px !important;
    margin-top: 36px !important;
  }
}

.big-carousel__pagination .swiper-pagination-bullet-active {
  background-color: #c8161d !important;
}

@media (max-width: 768px) {
  .big-carousel__navigation {
    top: auto !important;
    bottom: -40px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    padding: 0 !important;
  }

  .big-carousel__button img {
    margin-left: 124px;
    margin-top: 53px;
    width: 49px !important;
    height: 54px !important;
  }

  .big-carousel__button--prev {
    position: relative !important;
    left: -317px !important;
    top: 50px !important;
    width: 82px !important;
    height: 82px !important;
    margin: 0 !important;
  }

  .big-carousel__button--next {
    position: relative !important;
    left: 202px !important;
    top: 50px !important;
    width: 82px !important;
    height: 82px !important;

    margin: 0 !important;
  }

  .big-carousel__pagination .swiper-pagination-bullet-active {
    background-color: #c8161d !important;
    opacity: 1 !important;
    transform: scale(1.3) !important;
  }

  .big-carousel__pagination {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
    margin-left: -21px !important;
    margin-top: 80px !important;
  }
}

@media (max-width: 480px) {
  .big-carousel__navigation {
    top: auto !important;
    bottom: -18px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    padding: 0 !important;
  }

  .big-carousel__button--prev {
    position: relative !important;
    left: -80px !important;
    top: 50px !important;
    margin: 0 !important;
  }

  .big-carousel__button--next {
    position: relative !important;
    left: 80px !important;
    top: 50px !important;
    margin: 0 !important;
  }

  .big-carousel__button img {
    width: 42px;
    height: 42px;
    margin-top: 48px !important;
    margin-left: 11px !important;
  }
  .big-carousel__pagination .swiper-pagination-bullet-active {
    background-color: #c8161d !important;
    opacity: 1 !important;
    transform: scale(1.3) !important;
  }

  .big-carousel__pagination {
    margin-left: 0 !important;
    margin-top: 49px !important;
    display: flex !important;
    justify-content: center !important;
  }

  .big-carousel__pagination .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
  }
}

.big-carousel__pagination .swiper-pagination-bullet-active {
  background-color: #c8161d !important;
}

@media (max-width: 480px) {
  .contents__image_full,
  source[media="(max-width: 768px)"] {
    display: none !important;
  }

  .media__mobile-stack {
    display: flex !important;
    flex-direction: column;
    gap: 25px;
    padding: 10px;
  }

  .scale-container {
    display: flex !important;
    border: 1px solid #ddd;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
    padding: 0px 15px 15px 15px;
    flex-direction: column;
  }

  .scale-header {
    display: block !important;
    padding: 15px 0;
    font-size: 14px;
    font-weight: bold;
    text-align: center;
    color: #333;
  }

  .table-slice {
    width: 100%;
    height: 143px;
    background-repeat: no-repeat;
    background-size: 420% auto;
    position: relative;
    margin-top: 10px;
    border-radius: 6px;
    overflow: hidden;
  }

  .table-slice::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 32px;
    background-color: #a52a2a;
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: bold;
    z-index: 1;
  }

  .merit::before,
  .merit-m::before,
  .merit-s::before {
    content: "主なメリット";
  }

  .risk::before,
  .risk-m::before,
  .risk-s::before {
    content: "主なリスク";
  }

  .target::before,
  .target-m::before,
  .target-s::before {
    content: "HeartCoreの対象可否";
  }

  /* Container 1: 大規模 */
  .merit {
    background-position: 26% 0%;
  }

  .risk {
    background-position: 62% 0%;
  }

  .target {
    background-position: 96% 2%;
  }

  /* Container 2: 中規模 */
  .merit-m {
    background-position: 26.9% 46%;
  }

  .risk-m {
    background-position: 62% 49%;
  }

  .target-m {
    background-position: 96% 49%;
  }

  /* Container 3: 小規模 */
  .merit-s {
    background-position: 25% 94%;
  }

  .risk-s {
    background-position: 61% 99%;
  }

  .target-s {
    background-position: 97% 92%;
  }
}

.media__mobile-stack_vertical,
.scale-container_vertical,
.table-slice_vertical {
  display: none !important;
}



/* 2. Standard behavior for the image container */
.contents__media_vertical {
  display: block;
  width: 100%;
}

.contents__media__picture img {
  display: block;
  width: 100%;
  height: auto;
}

@media (max-width: 480px) {
  .contents__media__picture_vertical {
    display: none !important;
  }

  .media__mobile-stack_vertical {
    display: flex !important;
    flex-direction: column !important;
    gap: 15px !important;
    padding: 10px !important;
  }

}



  .scale-container_vertical {
    display: flex !important;
    flex-direction: column !important;
  }

  .table-slice_vertical {
    display: block !important;
    width: 100%;
    background-repeat: no-repeat;
    background-size: 420% auto;
    position: relative;
    margin-top: 10px;
    border-radius: 6px;
    overflow: visible !important;
    margin-bottom: 20px !important;
  }

  .table-slice_vertical.horizontal-row {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    background-color: #f5f5f5 !important;
    height: auto !important;
    padding: 15px !important;
    background-image: none !important;
  }

  .table-slice_vertical.two {
    background-position: 23% 12%;
    background-size: 312%;
    height: 349px;
  }

  .table-slice_vertical.three {
    background-position: 77% 12%;
    background-size: 312%;
    height: 351px;
  }

  .table-slice_vertical::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 32px;
    background-color: transparent !important;
    color: #333;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: bold;
    z-index: 1;
  }

  .horizontal-row {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 8px 5px 25px 5px !important;
    background-color: #f5f5f5 !important;
    height: auto !important;
    position: relative;
  }

  .circle {
    width: 64px;
    height: 64px;
    font-size: 9px;
    font-weight: bold;
    background: white;
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    border: 1px solid #ddd;
    line-height: 1.4;
    padding: 2px;
  }

  .etc-label {
    position: absolute;
    bottom: -6px;
    left: 5px;
    width: 100%;
    text-align: center;
    font-size: 9px;
    font-weight: bolder;
    color: #333;
  }

  .table-slice_vertical::after {
    content: "▼";
    position: absolute;
    bottom: -25px;
    left: 50%;
    transform: translateX(-50%);
    color: #333;
    font-size: 16px;
    z-index: 10;
  }

  .table-slice_vertical.four::after {
    display: none;
  }
}

.alert-box {
width: 177px;
  height: 30px;
  background-color: #A71717;
  color: #ffffff;
  display: flex;
  align-items: center;   /* vertical center */
  justify-content: center; /* horizontal center */
  font-size: 16px;
}


.data-card-grid__icon {
  width: 110px;
  height: 110px;
  margin-bottom: 20px;
  border-radius: 50%;
  background: #f4f4f4;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  flex-shrink: 0;
}
.data-card-grid__icon img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.data-card-grid__card {
  min-height: 150px;
  background: #fff;
  display: flex;
  border-radius: 10px;
  padding-inline: 30px;
  padding-block: 30px 10px;
  flex-direction: column;
  align-items: center;
}

.data-list {
  list-style-type: disc;
  padding-left: 20px; /* keeps bullets properly aligned */
  margin: 0;
}

.data-list li {
  text-align: left;
  margin-bottom: 8px; /* space between bullet points */
}

.data-list li::marker {
  font-size: 9px; /* smaller bullet */
}

.data-card-grid__title {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 18px;
  line-height: 1.5;
  letter-spacing: 1.26px;
  color: #333;
  display: inline-block;
  padding-inline: 240px;
  padding-top: 18px;
}

.data-card-wrapper {
  display: flex;
  flex-direction: column;
}

.data-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(317px, 1fr));
  column-gap: 25px; /* space between columns */
  row-gap: 4px;
  max-width: 1000px;
  margin: 0 auto;
}




@media (max-width: 768px) {
  .data-card-grid {
    grid-template-columns: repeat(2, 1fr);
    row-gap: 20px;
  }
  .alert-box {
    width: 177px;
    margin-left: 260px;
    height: 30px;
    background-color: #a71717;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
  }
  .title-bold {
    display: inline-block;
    padding-bottom: 26px;
  }
  .data-card-grid__title {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
    font-size: 18px;
    line-height: 1.5;
    letter-spacing: 1.26px;
    color: #333;
    display: inline-block;
    padding-inline: 280px;
    padding-top: 18px;
    margin-left: 15px;
  }
  .contentsNew {
    display: flex;
    flex-direction: column !important;
    align-items: center;
    text-align: center;
    gap: 0px !important;
  }

  .contents__media {
    order: -1;
    margin-bottom: 5px !important;
  }

  .inquiry-text-data {
    margin-top: 0;
    font-size: 12px;
  }
}

.section-data {
  padding-bottom: 30px;
}
.data-card-grid2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 25px; /* space between columns */
  row-gap: 4px;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}

.contentsNew {
  display: flex;
  justify-content: center;
  gap: 50px;
  max-width: 1000px;
  margin: 40px auto 0;
  color: #000;
  font-style: normal;
  font-weight: 500;
  line-height: 210%;
  letter-spacing: 0.32px;
}

.contentsNew.-left {
  flex-direction: row-reverse;
}
@media (max-width: 768px) {
  .contentsNew.-left {
    flex-direction: column;
  }
}
.event-section {
  font-size: 16px;
  margin-bottom: 50px;
  line-height: 1.5;
}

.square-button__text {
  padding-bottom: 4px;
}

.tag-heading {
  flex-grow: 0;
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-red);
  color: var(--color-white);
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-size: 19px;
  line-height: normal;
  letter-spacing: 0.26px;
  text-align: center;
  padding: 2px 20px;
  border-radius: 31.689px;
}
@media (max-width: 768px) {
  .tag-heading {
    font-size: 16px;
    padding: 2px 16px;
  }
}
.tag-heading.-font-small {
  font-size: 16px;
}
@media (max-width: 768px) {
  .tag-heading.-font-small {
    font-size: 14px;
  }
}

@media (max-width: 480px) {
  .data-card-grid__title {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
    font-size: 18px;
    line-height: 1.5;
    letter-spacing: 1.26px;
    color: #333;
    margin-left: 106px !important;
    display: inline-block;
    padding-inline: 0px !important;
    padding-top: 18px;
  }

  .alert-box {
    width: 177px;
    margin-left: 72px !important;
    height: 30px;
    background-color: #a71717;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
  }
  .title-bold {
    display: inline-block;
    padding-bottom: 26px;
  }

  .contentsNew {
    display: flex;
    flex-direction: column !important;
    align-items: center;
    text-align: center;
    gap: 0px !important;
  }

  .contents__media {
    order: -1;
    margin-bottom: 5px !important;
  }

  .inquiry-text-data {
    margin-top: 0;
  }
}

:root {
  --color-white: #ffffff;
  --color-black: #000000;
  --color-black-light: #333333;
  --color-gray-light: #f2f2f2;
  --color-gray-mid-light: #e9e9e9;
  --color-gray-mid: #bcbcbc;
  --color-gray-dark: #4f4f4f;
  --color-red: #a71717;
  --color-red-light: #d74f4f;
}
@media (max-width: 768px) {
  .pc-only {
    display: none !important;
  }
}
.sp-tb-only {
  display: none !important;
}
@media (max-width: 1024px) {
  .sp-tb-only {
    display: block !important;
  }
}
.sp-only {
  display: none !important;
}
@media (max-width: 768px) {
  .sp-only {
    display: block !important;
  }
}
.list-with-num {
  max-width: 500px;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 27px;
}
.list-with-num__item {
  display: grid;
  grid-template-columns: 38px 1fr;
  column-gap: 20px;
  align-items: start;
  padding-bottom: 27px;
  border-bottom: 1px solid var(--color-gray-mid);
}
.list-with-num__item:last-child {
  padding-bottom: 0;
  border-bottom: none;
}
.list-with-num__num {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: var(--color-red);
  color: var(--color-white);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 19.53px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 1.36px;
}
.list-with-num__item-title {
  margin: 3px 0 0;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 19px;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.38px;
  color: var(--color-black);
}
.list-with-num__item-description {
  grid-column: 1/-1;
  margin: 15px 0 0;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.32px;
  color: var(--color-black);
}
@media (max-width: 768px) {
  .list-with-num {
    gap: 20px;
  }
  .list-with-num__item {
    grid-template-columns: 32px 1fr;
    column-gap: 14px;
    padding-bottom: 20px;
  }
  .list-with-num__num {
    width: 32px;
    height: 32px;
    font-size: 17px;
    letter-spacing: 1px;
  }
  .list-with-num__item-title {
    margin-top: 1px;
    font-size: 17px;
    line-height: 1.6;
  }
  .list-with-num__item-description {
    margin-top: 10px;
    font-size: 15px;
    line-height: 1.65;
  }
}
.contents__media__title {
  margin-bottom: 20px;
}
@media (max-width: 768px) {
  .contents__media__title {
    margin-bottom: 12px;
  }
}

.security-content {
  max-width: 1000px;
  margin-inline: auto;
}
@media (max-width: 1024px) {
  .security-content {
    padding-inline: 24px;
  }
}
.security-content__inner {
  display: grid;
  gap: 24px;
}
.security-content__inner:not(:last-child) {
  margin-bottom: 60px;
}
@media (max-width: 768px) {
  .security-content__inner:not(:last-child) {
    margin-bottom: 40px;
  }
}

.faq__container {
  max-width: 1000px;
  margin: 0 auto;
  display: grid;
  gap: 8px;
}
@media (max-width: 1024px) {
  .faq__container {
    padding-inline: 25px;
  }
}
.faq__item {
  background-color: #f5f5f5;
}
.faq__question {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  padding: 30px;
}
.faq__question::-webkit-details-marker {
  display: none;
}
.faq__question-text {
  font-size: 15px;
  font-weight: 700;
  line-height: 1.5;
  color: var(--color-black);
}
.faq__icon {
  width: 18px;
  min-width: 18px;
  height: 18px;
  background-image: url("/assets/img/icon_chevron_down_red.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transition: transform 0.25s ease;
}
.faq__answer {
  padding: 0 30px 30px;
}
.faq__answer p {
  margin: 0;
  color: var(--color-black-light);
  font-size: 15px;
  line-height: 1.5;
}
.faq__item[open] .faq__icon {
  transform: rotate(180deg);
}
@media (max-width: 768px) {
  .faq__question {
    padding: 18px 16px;
    gap: 14px;
  }
  .faq__question-text {
    font-size: 16px;
  }
  .faq__answer {
    padding: 0 16px 18px;
  }
  .faq__answer p {
    font-size: 14px;
    line-height: 1.8;
  }
}
:root {
  --color-white: #ffffff;
  --color-black: #000000;
  --color-black-light: #333333;
  --color-gray-light: #f2f2f2;
  --color-gray-mid-light: #e9e9e9;
  --color-gray-mid: #bcbcbc;
  --color-gray-dark: #4f4f4f;
  --color-red: #a71717;
  --color-red-light: #d74f4f;
}
@media (max-width: 768px) {
  .pc-only {
    display: none !important;
  }
}
.sp-tb-only {
  display: none !important;
}
@media (max-width: 1024px) {
  .sp-tb-only {
    display: block !important;
  }
}
.sp-only {
  display: none !important;
}
@media (max-width: 768px) {
  .sp-only {
    display: block !important;
  }

.sp-only-break {
  display: none;
  font-weight: 700;
}

@media (max-width: 768px) {
  .sp-only-break {
    display: block;
    font-weight: 700;
  }
}

body > div[style*="position: absolute"]:last-child {
    position: fixed !important;
    top: calc(50% - 40px) !important; 
    left: 50% !important;
    -webkit-transform: translate(-50%, -50%) scale(0.9) !important;
    transform: translate(-50%, -50%) scale(0.9) !important;
    transform-origin: center center !important;
    z-index: 2147483647 !important;
}


@media screen and (min-resolution: 2dppx) {
    body > div[style*="position: absolute"]:last-child {
        width: 400px !important; 
        max-width: 90vw !important;
    }
}

.card-carousel, 
.slider-carousel, 
#case-search,
.card-grid {
  width: 100% !important;
  max-width: 100vw !important;
  overflow: clip !important; 
  contain: paint !important;
}

.card-carousel__swiper, 
.slider-carousel__swiper {
  touch-action: pan-y !important; 
}

@media (max-width: 820px) {
  .slider {
    width: 100% !important;
    margin-left: 0 !important; 
    padding: 0 15px !important;
    box-sizing: border-box;
  }
  
  #case-search .swiper-slide .card-carousel__slide {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}



#case-search {
  width: 100% !important;
  max-width: 100vw !important;
  overflow: clip !important;
  contain: paint;
}

