@charset "UTF-8";
@import url("https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css");
@import url("https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Noto+Sans+JP:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap");
/*! destyle.css v4.0.1 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
  min-width: 0;
}

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -webkit-tap-highlight-color: transparent; /* 3*/
}

/* Sections */
/* ============================================ */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

address {
  font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Replaced content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
svg,
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable.
 * 1. Make form elements stylable across systems iOS especially.
 * 2. Inherit text-transform from parent.
 */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none; /* 1 */
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit; /* 2 */
}

/**
 * Correct cursors for clickable elements.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
}

button:disabled,
[type=button]:disabled,
[type=reset]:disabled,
[type=submit]:disabled {
  cursor: default;
}

/**
 * Improve outlines for Firefox and unify style with input elements & buttons.
 */
:-moz-focusring {
  outline: auto;
}

select:disabled {
  opacity: inherit;
}

/**
 * Remove padding
 */
option {
  padding: 0;
}

/**
 * Reset to invisible
 */
fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}

legend {
  padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * Correct the outline style in Safari.
 */
[type=search] {
  outline-offset: -2px; /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Fix font inheritance.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/**
 * Fix appearance for Firefox
 */
[type=number] {
  -moz-appearance: textfield;
}

/**
 * Clickable labels
 */
label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/*
 * Remove outline for editable content.
 */
[contenteditable]:focus {
  outline: auto;
}

/* Tables */
/* ============================================ */
/**
1. Correct table border color inheritance in all Chrome and Safari.
*/
table {
  border-color: inherit; /* 1 */
  border-collapse: collapse;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: bold;
}

html {
  font-weight: 400;
  color: #2e2e32;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  line-height: 230%;
  letter-spacing: 0.06rem;
  font-size: 62.5%;
  font-feature-settings: "palt";
}

body {
  background: #fff;
  width: 100%;
  font-size: 1.1vw;
  font-weight: 400;
  letter-spacing: 5%;
  line-height: 1.5em;
  margin: 0;
  overflow-x: hidden;
}
@media (min-width: 750px) and (max-width: 1079px) {
  body {
    font-size: 2.09vw;
  }
}
@media (max-width: 749px) {
  body {
    font-size: 3.75vw;
  }
}

body.active {
  height: 100%;
  overflow: hidden;
}

h1,
h2,
h3,
h4,
h5,
h6,
dt {
  font-family: "Inter", "Noto Sans JP", "Noto Sans JP W3", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  font-feature-settings: "palt";
  line-height: 90%;
  font-weight: 900;
}

a {
  text-decoration: none;
}
@media (min-width: 1080px) {
  a:hover {
    text-decoration: none;
  }
}

img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.content_link__cover {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  z-index: 5;
}

section {
  background: #fff;
}

.inner {
  width: 100%;
  padding: 0 5%;
  margin: 0 auto;
}

.section_title {
  font-family: "Inter", "Noto Sans JP", "Noto Sans JP W3", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  font-size: 10vw;
  font-weight: 900;
  letter-spacing: 5%;
}
@media (max-width: 749px) {
  .section_title {
    font-size: 15vw;
  }
}

.section_title__wrapper {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  padding-bottom: 2rem;
}

.primary_btn {
  padding-right: 3em;
  padding-bottom: 0.5em;
}
@media (max-width: 749px) {
  .primary_btn {
    padding-right: 1.5em;
    padding-bottom: 0.25em;
  }
}
.primary_btn a {
  font-family: "Inter", "Noto Sans JP", "Noto Sans JP W3", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  font-size: 3vw;
  font-weight: 900;
  letter-spacing: 5%;
  transition: 0.3s;
  position: relative;
}
@media (max-width: 749px) {
  .primary_btn a {
    font-size: 6vw;
    letter-spacing: 2%;
  }
}
.primary_btn a::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background-image: url('data:image/svg+xml;utf-8,<svg fill="%232e2e32" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50"><path class="st0" d="M24.4,14c.8-.7,2-.7,2.7,0l9.5,9.6c.7.7.7,2,0,2.7l-9.5,9.6c-.7.8-2,.8-2.7,0-.8-.7-.8-2,0-2.7l6.3-6.3H14.7c-1.1,0-1.9-.9-1.9-1.9s.9-1.9,1.9-1.9h16.1l-6.3-6.3c-.7-.8-.7-2,0-2.7Z"/><path class="st0" d="M46.2,25c0-11.7-9.5-21.2-21.2-21.2S3.8,13.3,3.8,25s9.5,21.2,21.2,21.2,21.2-9.5,21.2-21.2ZM50,25c0,13.8-11.2,25-25,25S0,38.8,0,25,11.2,0,25,0s25,11.2,25,25Z"/></svg>');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  top: 50%;
  right: -1.2em;
  transform: translateY(-50%);
  transition: 0.3s;
}
.primary_btn a:hover {
  opacity: 0.5;
}
@media (max-width: 749px) {
  .primary_btn a:hover {
    opacity: 1;
  }
}
.primary_btn a:hover::after {
  right: -1.4em;
}
@media (max-width: 749px) {
  .primary_btn a:hover::after {
    right: -1.2em;
  }
}

.animated_elem {
  opacity: 0;
  bottom: -100px;
  position: relative;
  transition: 1s;
  transition-delay: 0.2s;
}

.animate .animated_elem {
  opacity: 1;
  bottom: 0;
}

.hidden_pc {
  display: none;
}
@media (max-width: 1079px) {
  .hidden_pc {
    display: flex;
  }
}

@media (max-width: 1079px) {
  .hidden_sp {
    display: none;
  }
}

.fvSub {
  position: relative;
  height: 40%;
  border-bottom: solid 1px #2e2e32;
  padding: 10% 5% 6rem;
}
@media (max-width: 749px) {
  .fvSub {
    padding: 20% 5% 3rem;
  }
}
.fvSub.page_fv {
  border-bottom: unset;
}
.fvSub .fvSub__text {
  margin-top: 5rem;
}
@media (max-width: 749px) {
  .fvSub .fvSub__text {
    margin-top: 3rem;
  }
}

.fvSub__en {
  font-family: "Inter", "Noto Sans JP", "Noto Sans JP W3", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  font-size: 8.5vw;
  font-weight: 900;
}
@media (max-width: 749px) {
  .fvSub__en {
    font-size: 4.2rem;
  }
}

.fvSub__jp {
  font-size: 1.5vw;
  font-weight: 900;
  margin-bottom: 2rem;
}
@media (max-width: 749px) {
  .fvSub__jp {
    font-size: 1.4rem;
    margin-bottom: 1rem;
  }
}

.page_label {
  position: absolute;
  top: 10rem;
  right: 5%;
  background: #2e2e32;
  color: #fff;
  font-family: "Inter", "Noto Sans JP", "Noto Sans JP W3", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  font-size: 1vw;
  font-weight: 700;
  letter-spacing: 10%;
  padding: 0.25em 1em;
  border-radius: 0.4em;
}
@media (max-width: 749px) {
  .page_label {
    top: 6rem;
    font-size: 1rem;
  }
}

@keyframes fvZoom {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.15);
  }
}
@keyframes menuAnimation {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes textFadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes bgFadeIn {
  from {
    opacity: 0;
    width: 0;
  }
  to {
    opacity: 1;
    width: 100%;
  }
}
@keyframes fv_scroll {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  51% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}
@keyframes fvCopy {
  from {
    opacity: 0;
    transform: translateX(20px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
.js-fadeUp {
  opacity: 0;
}

.content_fade_up {
  animation: contentFadeUp 0.8s ease-out 0s 1 normal forwards;
}

@keyframes contentFadeUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.marquee {
  white-space: nowrap;
  padding: 16px 0;
  position: absolute;
  top: 1em;
}
.marquee .marquee__inner {
  display: inline-flex; /* テキストを横並び */
  will-change: transform;
  animation: marquee var(--duration, 40s) linear infinite;
  animation-play-state: var(--play-state);
}
.marquee--reverse {
  top: unset;
  bottom: -1em;
}
@media (max-width: 1079px) {
  .marquee--reverse {
    bottom: 12vw;
  }
}
.marquee--reverse .marquee__inner {
  animation-direction: reverse;
}
.marquee .marquee__item {
  font-size: 10vw;
  font-weight: 700;
  color: #fff;
  opacity: 0.1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 0;
  padding-right: var(--gap, 0px); /* アイテム間のスペース */
  flex-shrink: 0;
}

/* ── アニメーション定義 ── */
@keyframes marquee {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}
.text_scroll_wrapper {
  overflow: hidden;
}

.text_scroll {
  transition-timing-function: linear;
}
.text_scroll .swiper-slide {
  background: transparent;
}

.swiper {
  width: 100%;
  height: 100%;
}

.swiper-slide {
  text-align: center;
  font-size: 18px;
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
}

.header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  width: 100%;
  height: 6.5rem;
  padding: 0 4rem;
  display: flex;
  align-items: center;
}
.header.is-scroll {
  background: rgba(46, 46, 50, 0.2);
}
@media (min-width: 1080px) and (max-width: 1279px) {
  .header {
    padding: 0 2rem;
    height: 4.8rem;
  }
}
@media (max-width: 749px) {
  .header {
    padding: 0 1rem;
    height: 4.8rem;
  }
}
.header .header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}
.header .header__logo {
  width: 14rem;
  z-index: 10;
}
@media (max-width: 1079px) {
  .header .header__logo {
    width: 10rem;
  }
}
.header .header_btn {
  display: flex;
  align-items: center;
  gap: 3rem;
  font-family: "Inter", "Noto Sans JP", "Noto Sans JP W3", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  font-size: 1.8rem;
  font-weight: 800;
  color: #fff;
}
@media (max-width: 1079px) {
  .header .header_btn {
    gap: 2rem;
  }
}
.header .header_btn .header_contact {
  padding-top: 0.5rem;
}
@media (max-width: 1079px) {
  .header .header_btn .header_contact {
    font-size: 1.4rem;
  }
}

.hamburger_menu {
  position: relative;
  width: 30px;
  height: 20px;
  cursor: pointer;
  display: inline-block;
  transition: all 0.5s;
  box-sizing: border-box;
  z-index: 10;
}
@media (max-width: 1079px) {
  .hamburger_menu {
    width: 25px;
    height: 18px;
  }
}
.hamburger_menu span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #fff;
  border-radius: 4px;
  display: inline-block;
  transition: all 0.5s;
  box-sizing: border-box;
}
.hamburger_menu span:nth-of-type(1) {
  top: 0;
}
.hamburger_menu span:nth-of-type(2) {
  top: 10px;
}
@media (max-width: 1079px) {
  .hamburger_menu span:nth-of-type(2) {
    top: 9px;
  }
}
.hamburger_menu span:nth-of-type(3) {
  top: 20px;
}
@media (max-width: 1079px) {
  .hamburger_menu span:nth-of-type(3) {
    top: 18px;
  }
}
.hamburger_menu.open span:nth-of-type(1) {
  transform: translateY(10px) rotate(-315deg);
}
@media (max-width: 1079px) {
  .hamburger_menu.open span:nth-of-type(1) {
    transform: translateY(9px) rotate(-315deg);
  }
}
.hamburger_menu.open span:nth-of-type(2) {
  opacity: 0;
}
.hamburger_menu.open span:nth-of-type(3) {
  transform: translateY(-10px) rotate(315deg);
}
@media (max-width: 1079px) {
  .hamburger_menu.open span:nth-of-type(3) {
    transform: translateY(-9px) rotate(315deg);
  }
}

.hamburger_menu__content {
  display: none;
  opacity: 0;
  position: relative;
  animation: bgFadeIn 0.5s ease-in-out 0s 1 normal backwards;
}
.hamburger_menu__content.open {
  display: block;
  opacity: 1;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  background: #2e2e32;
  position: absolute;
  top: 0;
  left: 0;
}
.hamburger_menu__content .hamburger_menu__list {
  width: 100%;
  height: 100vh;
  height: 100dvh;
  max-width: 1040px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  margin: 0 auto;
  padding: 2rem 0 0;
  gap: 2rem;
  animation: textFadeIn 1.5s ease-out 0.8s 1 normal backwards;
}
@media (max-width: 1079px) {
  .hamburger_menu__content .hamburger_menu__list {
    padding: 0 7%;
    gap: 1rem;
  }
}
.hamburger_menu__content li {
  width: 100%;
}
.hamburger_menu__content li a {
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  cursor: pointer;
  transition: 0.3s;
}
@media (max-width: 1079px) {
  .hamburger_menu__content li a {
    flex-direction: column;
    gap: 0.5rem;
    align-items: flex-start;
  }
}
.hamburger_menu__content li a:hover {
  opacity: 0.5;
}
@media (max-width: 1079px) {
  .hamburger_menu__content li a:hover {
    opacity: 1;
  }
}
.hamburger_menu__content li a:hover .menu_arrow {
  right: -1rem;
}
@media (max-width: 1079px) {
  .hamburger_menu__content li a:hover .menu_arrow {
    right: 0;
  }
}
.hamburger_menu__content li label {
  font-family: "Inter", "Noto Sans JP", "Noto Sans JP W3", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  font-size: 8rem;
  font-weight: 900;
  letter-spacing: 3%;
  line-height: 100%;
}
@media (max-width: 1079px) {
  .hamburger_menu__content li label {
    font-size: 3.8rem;
  }
}
.hamburger_menu__content li p {
  font-weight: 600;
  padding-right: 3rem;
}
@media (max-width: 1079px) {
  .hamburger_menu__content li p {
    font-size: 1.4rem;
  }
}
.hamburger_menu__content li .menu_arrow {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 2rem;
  display: flex;
  transition: 0.2s;
}

.header--sub {
  backdrop-filter: blur(5px);
  background: rgba(255, 255, 255, 0.3);
  border-bottom: solid 1px #fff;
}
.header--sub .header_btn {
  color: #2e2e32;
}
.header--sub .hamburger_menu span {
  background-color: #2e2e32;
}
.header--sub .hamburger_menu.open span {
  background-color: #fff;
}

.footer {
  background: #fff;
  padding: 10rem 7rem 4rem;
  color: #2e2e32;
  border-top: solid 1px #2e2e32;
}
@media (max-width: 749px) {
  .footer {
    padding: 6rem 0;
  }
}

.footer_content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10rem;
}
@media (max-width: 1079px) {
  .footer_content {
    flex-direction: column;
  }
}

.footer__logo {
  width: 20rem;
}
@media (max-width: 1079px) {
  .footer__logo {
    width: 18rem;
    margin-bottom: 6rem;
  }
}

.footer_menu {
  display: flex;
  align-items: center;
  gap: 3rem;
  font-size: 1.4rem;
  font-weight: 800;
}
@media (max-width: 1079px) {
  .footer_menu {
    flex-direction: column;
    gap: 2rem;
  }
}
.footer_menu a {
  transition: 0.3s;
}
.footer_menu a:hover {
  color: #bec0ca;
}

.copyright {
  color: #bec0ca;
  font-family: "Inter", "Noto Sans JP", "Noto Sans JP W3", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  font-weight: 400;
  font-size: 1.2rem;
  text-align: center;
}

.news {
  padding: 10rem 0;
  position: relative;
}
@media (max-width: 1079px) {
  .news {
    padding: 6rem 0 4rem;
  }
}

.news__items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}
@media (max-width: 749px) {
  .news__items {
    display: block;
  }
}

.news__item {
  margin-bottom: 0;
}
@media (max-width: 749px) {
  .news__item {
    margin-bottom: 2rem;
  }
}
.news__item:hover .news__thumbnail {
  overflow: hidden;
}
.news__item:hover .news__thumbnail img {
  transition: 0.3s;
  transform: scale(1.1);
}
.news__item:hover .news__title::after {
  right: -1.4em;
}
@media (max-width: 749px) {
  .news__item:hover .news__title::after {
    right: -1.2em;
  }
}

.news__thumbnail {
  aspect-ratio: 5/3;
  transition: 0.3s;
}

.news__wrap {
  padding: 2rem 0 0;
}
@media (max-width: 1079px) {
  .news__wrap {
    padding: 2rem 0;
  }
}

.news__info {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
}

.news__time {
  font-family: "Inter", "Noto Sans JP", "Noto Sans JP W3", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  font-size: 1.3rem;
  font-weight: 400;
  letter-spacing: 7%;
}

.news__category {
  font-family: "Inter", "Noto Sans JP", "Noto Sans JP W3", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  font-size: 1.2rem;
  font-weight: 400;
  letter-spacing: 7%;
  border: solid 1px #2e2e32;
  width: fit-content;
  padding: 0.1rem 1.2rem;
}

.news__title {
  font-family: "Inter", "Noto Sans JP", "Noto Sans JP W3", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  font-size: 1.1vw;
  font-weight: 600;
  letter-spacing: 7%;
  width: fit-content;
  position: relative;
}
@media (min-width: 750px) and (max-width: 1079px) {
  .news__title {
    font-size: 2.09vw;
  }
}
@media (max-width: 749px) {
  .news__title {
    font-size: 3.75vw;
  }
}
.news__title.archive_news__title {
  font-size: 1.1vw;
  font-weight: 700;
  letter-spacing: 5%;
  line-height: 150%;
}
@media (max-width: 1079px) {
  .news__title.archive_news__title {
    font-size: 1.4rem;
  }
}

.company {
  padding: 0 0 8rem;
  position: relative;
}
.company::before {
  content: "";
  width: 100%;
  height: 1px;
  background: #fff;
  position: absolute;
  top: -1px;
  left: 0;
}

.company_content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  margin-bottom: 6rem;
}
@media (max-width: 1079px) {
  .company_content {
    display: block;
    margin-bottom: 2rem;
  }
}

.company_list {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.company_list li {
  border-bottom: solid 1px #bec0ca;
  padding: 3rem 0;
  display: flex;
  align-items: center;
  gap: 3rem;
}
@media (max-width: 749px) {
  .company_list li {
    display: block;
    padding: 2rem 0;
  }
}

.company_list_label {
  min-width: 12rem;
  font-weight: 800;
}
@media (max-width: 749px) {
  .company_list_label {
    display: block;
    margin-bottom: 0.5rem;
  }
}

.company_list_text {
  font-weight: 500;
}
.company_list_text span {
  display: block;
  font-family: "Inter", "Noto Sans JP", "Noto Sans JP W3", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  font-size: 1.4rem;
}

.company_list_service {
  font-weight: 500;
  position: relative;
  padding-left: 1.2rem;
}
.company_list_service::before {
  content: "";
  width: 5px;
  height: 5px;
  background-color: #2e2e32;
  position: absolute;
  top: calc(50% + 1px);
  left: 0;
  transform: translateY(-50%);
  border-radius: 1rem;
}

.company_map iframe {
  width: 100%;
  height: 35rem;
}
@media (max-width: 749px) {
  .company_map iframe {
    height: 20rem;
  }
}

.partner {
  background: #2e2e32;
  color: #fff;
  padding: 6rem 0 8rem;
}

.partner_inner {
  padding: 0 5%;
  margin: 0 auto;
  max-width: 160rem;
}

.partner_title {
  font-size: 1.8vw;
  font-weight: 600;
  letter-spacing: 5%;
  text-align: center;
  margin-bottom: 4rem;
}
@media (max-width: 749px) {
  .partner_title {
    font-size: 5.5vw;
    margin-bottom: 2rem;
  }
}

.partner_list {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1.5rem;
}
@media (max-width: 749px) {
  .partner_list {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }
}
.partner_list li {
  background: #fff;
  padding: 2.5rem 4rem;
  height: 12rem;
}
@media (min-width: 750px) and (max-width: 1079px) {
  .partner_list li {
    padding: 2rem;
    height: 10rem;
  }
}
@media (max-width: 749px) {
  .partner_list li {
    padding: 2rem;
    height: 8.5rem;
  }
}
.partner_list li .partner_logo {
  object-fit: contain;
}

.partner_slider.swiper {
  overflow-y: visible !important;
}
.partner_slider .swiper-wrapper {
  transition-timing-function: linear;
}
.partner_slider li {
  background: #fff;
  padding: 2.2vw;
  height: 9vw;
  box-shadow: 0px 3px 10px 0 rgba(54, 54, 64, 0.2);
  border-radius: 1rem;
}
@media (min-width: 750px) and (max-width: 1079px) {
  .partner_slider li {
    padding: 2rem;
    height: 10rem;
  }
}
@media (max-width: 749px) {
  .partner_slider li {
    padding: 2rem;
    height: 7.5rem;
    box-shadow: 0px 4px 6px 0 rgba(54, 54, 64, 0.15);
    border-radius: 0.6rem;
  }
}
.partner_slider li .partner_logo {
  object-fit: contain;
}

.footer_contact {
  padding: 8rem 0;
}
@media (max-width: 749px) {
  .footer_contact {
    padding: 6rem 0;
  }
}
.footer_contact .section_title__wrapper {
  padding-bottom: 0;
}
.footer_contact h2 {
  text-align: center;
  margin: 0 auto;
  position: relative;
  transition: 0.3s;
  padding-right: 1em;
  cursor: pointer;
}
@media (max-width: 749px) {
  .footer_contact h2 {
    font-size: 12vw;
  }
}
.footer_contact h2::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background-image: url('data:image/svg+xml;utf-8,<svg fill="%232e2e32" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50"><path class="st0" d="M24.4,14c.8-.7,2-.7,2.7,0l9.5,9.6c.7.7.7,2,0,2.7l-9.5,9.6c-.7.8-2,.8-2.7,0-.8-.7-.8-2,0-2.7l6.3-6.3H14.7c-1.1,0-1.9-.9-1.9-1.9s.9-1.9,1.9-1.9h16.1l-6.3-6.3c-.7-.8-.7-2,0-2.7Z"/><path class="st0" d="M46.2,25c0-11.7-9.5-21.2-21.2-21.2S3.8,13.3,3.8,25s9.5,21.2,21.2,21.2,21.2-9.5,21.2-21.2ZM50,25c0,13.8-11.2,25-25,25S0,38.8,0,25,11.2,0,25,0s25,11.2,25,25Z"/></svg>');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  top: 50%;
  right: -0.2em;
  transform: translateY(-50%);
  transition: 0.3s;
}
.footer_contact h2:hover {
  opacity: 0.5;
}
@media (max-width: 749px) {
  .footer_contact h2:hover {
    opacity: 1;
  }
}
.footer_contact h2:hover::after {
  right: -0.4em;
}
@media (max-width: 749px) {
  .footer_contact h2:hover::after {
    right: -0.2em;
  }
}

.contact {
  background: #2e2e32;
  color: #fff;
  padding: 10rem 0;
}
.contact .contact_tittle {
  font-size: 10vw;
  font-weight: 900;
  letter-spacing: 5%;
  margin-bottom: 2rem;
  position: relative;
  z-index: 2;
}
@media (max-width: 749px) {
  .contact .contact_tittle {
    font-size: 12vw;
  }
}
.contact a {
  width: 100%;
  position: relative;
  padding: 8rem 5rem;
  display: block;
  border: solid 1px #fff;
}
@media (max-width: 749px) {
  .contact a {
    padding: 8rem 2rem;
  }
}
.contact a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  transition: all 0.6s ease 0s;
  background-color: rgba(255, 255, 255, 0.1);
}
.contact a::after {
  content: "";
  display: inline-block;
  width: 5vw;
  height: 5vw;
  background-image: url('data:image/svg+xml;utf-8,<svg fill="%23ffffff" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50"><path class="st0" d="M24.4,14c.8-.7,2-.7,2.7,0l9.5,9.6c.7.7.7,2,0,2.7l-9.5,9.6c-.7.8-2,.8-2.7,0-.8-.7-.8-2,0-2.7l6.3-6.3H14.7c-1.1,0-1.9-.9-1.9-1.9s.9-1.9,1.9-1.9h16.1l-6.3-6.3c-.7-.8-.7-2,0-2.7Z"/><path class="st0" d="M46.2,25c0-11.7-9.5-21.2-21.2-21.2S3.8,13.3,3.8,25s9.5,21.2,21.2,21.2,21.2-9.5,21.2-21.2ZM50,25c0,13.8-11.2,25-25,25S0,38.8,0,25,11.2,0,25,0s25,11.2,25,25Z"/></svg>');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  top: 50%;
  right: 5rem;
  transform: translateY(-50%);
  transition: 0.3s;
}
@media (max-width: 749px) {
  .contact a::after {
    width: 8vw;
    height: 8vw;
    right: 2rem;
  }
}
.contact a:hover::before {
  width: 100%;
}
@media (max-width: 1079px) {
  .contact a:hover::before {
    width: 0;
  }
}
.contact a:hover::after {
  right: 2rem;
}
.contact .contact_text {
  font-size: 1.5vw;
  padding-left: 0.5em;
  letter-spacing: 5%;
  position: relative;
  z-index: 2;
}
@media (max-width: 749px) {
  .contact .contact_text {
    font-size: 1.4rem;
  }
}

.flow {
  width: 100%;
  background: #fff;
  padding: 10rem 5%;
}
@media (max-width: 1079px) {
  .flow {
    padding: 6rem 5%;
  }
}

/* ── ヘッダー ────────────────────────────────────────── */
.flow__header {
  text-align: center;
  margin-bottom: 56px;
}

.flow__title {
  font-size: 3rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  line-height: 1;
  color: #2e2e32;
}

.flow__title-line {
  display: block;
  width: 60px;
  height: 2px;
  background: #2e2e32;
  margin: 12px auto 14px;
}

.flow__subtitle {
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #2e2e32;
}

/* ── ステップリスト ──────────────────────────────────── */
.flow__list {
  list-style: none;
  max-width: 900px;
  margin: 0 auto;
}

/* ── ステップアイテム ────────────────────────────────── */
.flow__item {
  display: flex;
  align-items: center;
  gap: 24px;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}
@media (min-width: 750px) and (max-width: 1079px) {
  .flow__item {
    gap: 1.5rem;
  }
}
@media (max-width: 749px) {
  .flow__item {
    padding-left: 1rem;
  }
}

.flow__item.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* ── ステップ番号 ────────────────────────────────────── */
.flow__step {
  flex-shrink: 0;
  text-align: right;
  display: flex;
  align-items: center;
  font-family: "Inter", "Noto Sans JP", "Noto Sans JP W3", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  gap: 0.5rem;
  font-size: 2rem;
  font-weight: 700;
}
@media (min-width: 750px) and (max-width: 1079px) {
  .flow__step {
    font-size: 1.5rem;
  }
}
@media (max-width: 749px) {
  .flow__step {
    font-size: 1.2rem;
    transform: rotate(-90deg);
    position: absolute;
    left: -3rem;
  }
}

.flow__step-label {
  letter-spacing: 0.1em;
  color: #2e2e32;
  display: block;
}

.flow__step-num {
  letter-spacing: 0.04em;
  color: #2e2e32;
  line-height: 1;
}

/* ── コネクター（ステップ間の縦線）────────────────────── */
.flow__connector {
  display: flex;
  justify-content: flex-start;
  padding-left: 45px;
  height: 24px;
}
@media (max-width: 749px) {
  .flow__connector {
    padding-left: 50%;
  }
}

.flow__connector-line {
  display: block;
  width: 1px;
  height: 100%;
  background: #2e2e32;
}

/* ── カード ──────────────────────────────────────────── */
.flow__card {
  flex: 1;
  background: #2e2e32;
  border-radius: 1rem;
  padding: 2rem 3rem;
  display: flex;
  align-items: center;
  gap: 0;
}
@media (min-width: 750px) and (max-width: 1079px) {
  .flow__card {
    padding: 1.5rem 2rem;
  }
}
@media (max-width: 749px) {
  .flow__card {
    flex-direction: column;
    align-items: flex-start;
    padding: 2.5rem 2rem;
  }
}

.flow__card-title {
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 8%;
  color: #fff;
  white-space: nowrap;
  border-right: solid 1px #bec0ca;
  padding-right: 2rem;
  margin-right: 2rem;
}
@media (max-width: 1079px) {
  .flow__card-title {
    font-size: 1.6rem;
  }
}
@media (max-width: 749px) {
  .flow__card-title {
    border-right: unset;
    border-bottom: solid 1px #bec0ca;
    padding: 0 0 1rem 0;
    margin: 0 0 1rem 0;
    width: 100%;
  }
}

.flow__card-divider {
  display: block;
  width: 1px;
  height: 32px;
  background: #bec0ca;
  margin: 0 24px;
  flex-shrink: 0;
}

.flow__card-desc {
  font-size: 0.9vw;
  color: #fff;
  line-height: 1.6;
  letter-spacing: 8%;
}
@media (max-width: 1079px) {
  .flow__card-desc {
    font-size: 1.4rem;
  }
}

.page_archive_title {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  padding: 0 5%;
  margin-bottom: 2rem;
}
@media (max-width: 749px) {
  .page_archive_title {
    margin-bottom: 2rem;
  }
  .page_archive_title .primary_btn {
    padding-bottom: 0;
  }
}
.page_archive_title .section_title {
  font-size: 2.1vw;
  padding-bottom: 0.4em;
}
@media (max-width: 749px) {
  .page_archive_title .section_title {
    font-size: 2rem;
  }
}

.page_archive {
  padding: 8rem 0 10rem;
}
@media (max-width: 1079px) {
  .page_archive {
    padding: 4rem 0;
  }
}
.page_archive.case {
  padding: 8rem 0 0;
}
@media (max-width: 1079px) {
  .page_archive.case {
    padding: 4rem 0 0;
  }
}

.page_archive_content {
  padding: 0 5%;
  overflow-y: visible;
}

.page_archive_item {
  box-shadow: 0 4px 6px 0 rgba(54, 54, 64, 0.15);
}
.page_archive_item__image {
  width: 100%;
  aspect-ratio: 4/2.6;
}
@media (max-width: 749px) {
  .page_archive_item__info {
    font-size: 1rem;
  }
}
.page_archive_item__content {
  text-align: left;
  padding: 4rem 2rem;
  min-height: 16.7rem;
}
@media (max-width: 749px) {
  .page_archive_item__content {
    padding: 2rem;
    min-height: 10.7rem;
  }
}
.page_archive_item__title h3 {
  font-size: 1.1vw;
  font-weight: 700;
  letter-spacing: 5%;
  line-height: 150%;
}
@media (max-width: 1079px) {
  .page_archive_item__title h3 {
    font-size: 1.4rem;
  }
}

.fv_slider {
  position: fixed;
  opacity: 0;
  z-index: -1;
}
.fv_slider.visible {
  opacity: 1;
}
.fv_slider .fv_overlay {
  background: #2e2e32;
  width: 100%;
  height: 100%;
  opacity: 0.6;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}
.fv_slider .swiper-slide-active img,
.fv_slider .swiper-slide-duplicate-active img,
.fv_slider .swiper-slide-prev img {
  animation: fvZoom 6s linear 0s normal both;
}
.fv_slider .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.fv {
  height: 100vh;
  position: relative;
  background: unset;
}
@media (max-width: 1079px) {
  .fv {
    height: 100vh;
  }
}
.fv .fv_copies {
  position: absolute;
  top: 50%;
  left: 3rem;
  transform: translateY(-50%);
  z-index: 3;
  color: #fff;
  letter-spacing: 0;
}
@media (min-width: 1080px) and (max-width: 1279px) {
  .fv .fv_copies {
    left: 3rem;
  }
}
@media (max-width: 749px) {
  .fv .fv_copies {
    left: 1.5rem;
  }
}
.fv .fv_copy {
  font-size: 13.65vw;
}
@media (max-width: 1079px) {
  .fv .fv_copy {
    font-size: 17vw;
    line-height: 1em;
  }
}
.fv .fv_copy div:nth-of-type(1) {
  opacity: 0;
  animation: fvCopy 0.5s ease-out 0.1s 1 normal forwards;
}
.fv .fv_copy div:nth-of-type(2) {
  opacity: 0;
  animation: fvCopy 0.5s ease-out 0.4s 1 normal forwards;
}
.fv .fv_copy div:nth-of-type(3) {
  opacity: 0;
  animation: fvCopy 0.5s ease-out 0.7s 1 normal forwards;
}
.fv .fv_lead {
  font-size: 2.5rem;
  font-weight: 600;
  letter-spacing: 10%;
  margin-top: 4rem;
  opacity: 0;
  animation: fvCopy 0.5s ease-out 1s 1 normal forwards;
}
@media (max-width: 1079px) {
  .fv .fv_lead {
    font-size: 1.8rem;
  }
}
.fv .scroll {
  position: absolute;
  top: 50%;
  right: 2rem;
  writing-mode: vertical-rl;
  color: #fff;
  font-family: "Inter", "Noto Sans JP", "Noto Sans JP W3", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  font-weight: 800;
  letter-spacing: 5%;
  z-index: 4;
}
@media (max-width: 1079px) {
  .fv .scroll {
    top: 70%;
    font-size: 1.2rem;
  }
}
.fv .scroll::before {
  animation: fv_scroll 2s infinite;
  background-color: #fff;
  bottom: -115px;
  content: "";
  height: 100px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  width: 1px;
}

.service_slider {
  background: linear-gradient(transparent, #2e2e2e 50% 100%);
  padding: 6rem 5rem 10rem;
}
@media (max-width: 1079px) {
  .service_slider {
    padding: 0 0 8rem;
  }
}
.service_slider .swiper {
  overflow: unset;
}
@media (max-width: 1079px) {
  .service_slider .swiper {
    overflow: clip;
    padding-left: 5%;
    padding-right: 5%;
  }
}
.service_slider .swiper-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
}
@media (max-width: 749px) {
  .service_slider .swiper-wrapper {
    display: flex;
    row-gap: normal;
    gap: 0;
  }
}
.service_slider .swiper-slide {
  border-radius: 1.8rem;
  box-shadow: 0px 12px 20px 3px #282828;
  transition: 0.3s;
}
@media (max-width: 1079px) {
  .service_slider .swiper-slide {
    border-radius: 1rem;
    box-shadow: unset;
  }
}
.service_slider .swiper-slide:hover {
  transform: translateY(-10px);
}
@media (max-width: 1079px) {
  .service_slider .swiper-slide:hover {
    transform: unset;
  }
}
.service_slider .swiper-slide:nth-of-type(1) {
  background: #9685d3;
}
.service_slider .swiper-slide:nth-of-type(2) {
  background: #e297d1;
}
.service_slider .swiper-slide a {
  width: 100%;
}
.service_slider .service_slide_content {
  width: 100%;
  color: #fff;
  padding: 6.85vw 2.1vw;
  text-align: left;
  position: relative;
}
@media (max-width: 1079px) {
  .service_slider .service_slide_content {
    padding: 4rem 4rem 4rem 3rem;
  }
}
.service_slider .service_slide_content label {
  font-family: "Inter", "Noto Sans JP", "Noto Sans JP W3", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  font-weight: 600;
  display: block;
  margin-bottom: 1.5rem;
}
@media (max-width: 1079px) {
  .service_slider .service_slide_content label {
    font-size: 1.2rem;
    margin-bottom: 0.5rem;
  }
}
.service_slider .service_slide_content .service_slider_lead {
  font-size: 2.1vw;
  font-weight: 800;
  margin-bottom: 4rem;
}
@media (max-width: 1079px) {
  .service_slider .service_slide_content .service_slider_lead {
    font-size: 2.35vw;
    margin-bottom: 2rem;
  }
}
@media (max-width: 749px) {
  .service_slider .service_slide_content .service_slider_lead {
    font-size: 4.8vw;
  }
}
.service_slider .service_slider_btn {
  font-size: 1.6rem;
  font-weight: 500;
}
@media (max-width: 1079px) {
  .service_slider .service_slider_btn {
    font-size: 1.2rem;
  }
}
.service_slider .arrow {
  width: 4rem;
  height: 4rem;
  position: absolute;
  top: 50%;
  right: 4rem;
  transform: translateY(-50%);
}

.about {
  background: #f1f1f1;
  padding: 15rem 0 10rem;
  display: flex;
  justify-content: center;
  flex-direction: column;
  position: relative;
  height: 100vh;
  overflow: hidden;
  scroll-snap-align: start;
}
@media (min-width: 750px) and (max-width: 1079px) {
  .about {
    padding: 8rem 0;
    height: auto;
  }
}
@media (max-width: 749px) {
  .about {
    padding: 10rem 0;
    height: auto;
  }
}
.about::before {
  content: "About";
  font-family: "Inter", "Noto Sans JP", "Noto Sans JP W3", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  font-weight: 800;
  font-size: 13.5vw;
  color: #fff;
  position: absolute;
  top: 0;
  right: 0.3em;
  writing-mode: vertical-lr;
  transform: rotate(180deg);
  z-index: 0;
}
@media (max-width: 749px) {
  .about::before {
    font-size: 35vw;
  }
}

.logo_none {
  visibility: hidden;
}

.about_content {
  text-align: center;
  gap: 10vw;
  align-items: center;
  max-width: 80vw;
  margin: 0 auto 7rem;
  position: relative;
  z-index: 1;
}
@media (max-width: 1079px) {
  .about_content {
    display: block;
    margin: 0 auto 4rem;
  }
}

.about_text_box h3 {
  font-size: 2.75vw;
  margin-bottom: 4rem;
}
@media (min-width: 750px) and (max-width: 1079px) {
  .about_text_box h3 {
    font-size: 3.91vw;
    line-height: 130%;
  }
}
@media (max-width: 749px) {
  .about_text_box h3 {
    font-size: 8vw;
    line-height: 150%;
    margin-bottom: 3rem;
  }
}
.about_text_box .about_text {
  line-height: 200%;
  margin-bottom: 2rem;
}
.about_text_box .about_text:last-of-type() {
  margin-bottom: 0;
}

.about_logo {
  padding-bottom: 4rem;
}
@media (max-width: 749px) {
  .about_logo {
    max-width: 15rem;
  }
}
.about_logo img {
  object-fit: contain;
}

.service .slider-track {
  position: relative;
}
.service .slider-sticky {
  position: sticky;
  top: 0;
  overflow: clip;
  z-index: 10;
  touch-action: pan-y;
}
.service .slider-inner {
  position: relative;
  width: 100%;
  height: 100%;
}
.service .slider-bg {
  position: absolute;
  inset: 0;
  background: var(--slide-color, #9685d3);
  transition: background 0.45s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 0;
}
.service .slide {
  position: absolute;
  inset: 0;
  display: flex;
  z-index: 1;
  pointer-events: none;
  color: #fff;
}
@media (max-width: 1079px) {
  .service .slide {
    flex-direction: column;
    padding: 15vw 5% 5vw;
    align-items: flex-end;
    justify-content: center;
  }
}
.service .slide__left,
.service .slide__right {
  width: 50%;
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition-delay: 0.4s;
  position: relative;
  z-index: 2;
}
@media (max-width: 1079px) {
  .service .slide__left,
  .service .slide__right {
    width: 100%;
  }
}
.service .slide.is-active {
  pointer-events: auto;
}
.service .slide.is-active .slide__left,
.service .slide.is-active .slide__right {
  opacity: 1;
  transform: translateY(0);
}
.service {
  /* 退場中（.is-leaving が付いたスライド）はすぐ非表示 */
}
.service .slide.is-leaving .slide__left,
.service .slide.is-leaving .slide__right {
  opacity: 0;
  transform: translateY(-16px);
  transition-delay: 0s; /* 退場は delay なし */
}
.service {
  /* ── レイアウト ── */
}
.service .slide__left {
  display: flex;
  align-items: center;
  padding-left: 10%;
}
@media (max-width: 1079px) {
  .service .slide__left {
    padding: 0;
    margin-bottom: 4rem;
  }
}
.service .slide__right {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 60px 40px;
  transition-delay: 0.42s;
}
@media (max-width: 1079px) {
  .service .slide__right {
    flex-direction: column;
    padding: 0;
    justify-content: flex-end;
  }
}
.service .slide.is-leaving .slide__right {
  transition-delay: 0s;
}
.service .slide__num {
  font-family: "Inter", "Noto Sans JP", "Noto Sans JP W3", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  font-size: 1.2vw;
  font-weight: 600;
  letter-spacing: 0.1em;
  margin-bottom: 4rem;
}
@media (max-width: 1079px) {
  .service .slide__num {
    font-size: 3vw;
    margin-bottom: 0.5rem;
  }
}
@media (min-width: 750px) and (max-width: 1079px) {
  .service .slide__num {
    font-size: 2vw;
    margin-bottom: 2rem;
  }
}
.service .slide__title {
  font-size: 4.6vw;
  font-weight: 900;
  line-height: 120%;
  letter-spacing: 5%;
  margin-bottom: 3rem;
  text-transform: uppercase;
}
@media (max-width: 1079px) {
  .service .slide__title {
    font-size: 7vw;
    margin-bottom: 1rem;
  }
}
@media (min-width: 750px) and (max-width: 1079px) {
  .service .slide__title {
    font-size: 5vw;
    margin-bottom: 2rem;
  }
}
.service .slide__desc {
  font-size: 1.3vw;
  font-weight: 500;
  line-height: 1.7;
  margin-bottom: 10rem;
}
@media (max-width: 1079px) {
  .service .slide__desc {
    font-size: 3.75vw;
    margin-bottom: 0;
    line-height: 180%;
  }
}
@media (min-width: 750px) and (max-width: 1079px) {
  .service .slide__desc {
    font-size: 2vw;
    margin-bottom: 1rem;
  }
}
.service .primary_btn {
  width: 100%;
  padding-right: 3em;
}
@media (max-width: 1079px) {
  .service .primary_btn {
    justify-content: flex-end;
    margin-top: 3rem;
  }
}
@media (min-width: 750px) and (max-width: 1079px) {
  .service .primary_btn {
    padding-right: 5em;
  }
}
@media (max-width: 1079px) {
  .service .primary_btn a {
    font-size: 8vw;
    letter-spacing: 2%;
  }
}
.service .primary_btn a::after {
  background-image: url('data:image/svg+xml;utf-8,<svg fill="%23ffffff" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50"><path class="st0" d="M24.4,14c.8-.7,2-.7,2.7,0l9.5,9.6c.7.7.7,2,0,2.7l-9.5,9.6c-.7.8-2,.8-2.7,0-.8-.7-.8-2,0-2.7l6.3-6.3H14.7c-1.1,0-1.9-.9-1.9-1.9s.9-1.9,1.9-1.9h16.1l-6.3-6.3c-.7-.8-.7-2,0-2.7Z"/><path class="st0" d="M46.2,25c0-11.7-9.5-21.2-21.2-21.2S3.8,13.3,3.8,25s9.5,21.2,21.2,21.2,21.2-9.5,21.2-21.2ZM50,25c0,13.8-11.2,25-25,25S0,38.8,0,25,11.2,0,25,0s25,11.2,25,25Z"/></svg>');
}
.service .slide__img-wrap {
  width: 100%;
  max-width: 35vw;
  aspect-ratio: 3/4;
  border-radius: 16px;
  overflow: hidden;
}
@media (max-width: 1079px) {
  .service .slide__img-wrap {
    border-radius: 10px;
    max-width: 60vw;
    margin-bottom: 2rem;
  }
}
@media (min-width: 750px) and (max-width: 1079px) {
  .service .slide__img-wrap {
    max-width: 50vw;
    margin-bottom: 4rem;
  }
}
.service .slide__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}
.service .slide__img-wrap:hover .slide__img {
  transform: scale(1.05);
}
.service .slider-pagination {
  position: absolute;
  right: -5vw;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  gap: 8px;
  z-index: 20;
}
@media (max-width: 1079px) {
  .service .slider-pagination {
    right: -10vw;
  }
}
.service .slider-pag-btn {
  background: #fff;
  font-family: "Inter", "Noto Sans JP", "Noto Sans JP W3", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  color: #9685d3;
  font-size: 2vw;
  font-weight: 800;
  width: 10vw;
  height: 10vw;
  letter-spacing: 0.05em;
  cursor: pointer;
  padding: 4px 8px;
  border-radius: 10vw;
  transition: color 0.3s;
  line-height: 1;
  display: none;
  padding-left: 2vw;
}
.service .slider-pag-btn:nth-of-type(2) {
  color: #e297d1;
}
.service .slider-pag-btn.is-active {
  display: block;
}
@media (max-width: 1079px) {
  .service .slider-pag-btn {
    width: 20vw;
    height: 20vw;
    font-size: 5vw;
  }
}
.service .slider-progress {
  position: absolute;
  left: 0;
  bottom: 0;
  height: 3px;
  width: 100%;
  background: rgba(255, 255, 255, 0.15);
  z-index: 20;
}
.service .slider-progress-bar {
  height: 100%;
  width: 0%;
  background: #fff;
  transition: width 0.1s linear;
}

.single {
  padding: 8rem 0 10rem;
  position: relative;
}
@media (max-width: 749px) {
  .single {
    padding: 4rem 0;
  }
}
.single .inner {
  max-width: 1280px;
}

.single__title {
  font-size: 2.1vw;
  font-weight: 700;
  letter-spacing: 5%;
  margin-bottom: 3rem;
  line-height: 130%;
}
@media (max-width: 749px) {
  .single__title {
    font-size: 2rem;
  }
}

.single_info {
  font-family: "Inter", "Noto Sans JP", "Noto Sans JP W3", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  font-size: 1vw;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 1rem;
  margin: 0 0 2rem;
}
@media (max-width: 749px) {
  .single_info {
    font-size: 1.2rem;
  }
}

.single__category {
  border: solid 1px #2e2e32;
  width: fit-content;
  padding: 0 0.6em;
}

.single__content {
  line-height: 180%;
  letter-spacing: 10%;
  margin-bottom: 10rem;
}
@media (max-width: 749px) {
  .single__content {
    margin-bottom: 6rem;
  }
}

.single_thumbnail {
  margin-bottom: 6rem;
  aspect-ratio: 4/2.3;
}
@media (max-width: 749px) {
  .single_thumbnail {
    margin-bottom: 3rem;
  }
}

.single__btn {
  margin: 0 auto;
  width: fit-content;
}
.single__btn a {
  width: 100%;
  font-size: 1.1vw;
  background: #2e2e32;
  color: #fff;
  text-align: center;
  padding: 1em 4em;
  transition: 0.3s;
  cursor: pointer;
}
@media (max-width: 749px) {
  .single__btn a {
    font-size: 1.2rem;
  }
}
.single__btn a:hover {
  opacity: 0.6;
}
@media (max-width: 749px) {
  .single__btn a:hover {
    opacity: 1;
  }
}

.custom .single__title {
  margin-bottom: 2rem;
}
@media (max-width: 749px) {
  .custom .single__title {
    margin-bottom: 1rem;
  }
}
.custom .single__info {
  font-family: "Inter", "Noto Sans JP", "Noto Sans JP W3", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  font-size: 1vw;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 3rem;
  margin-bottom: 2vw;
}
@media (max-width: 1079px) {
  .custom .single__info {
    font-size: 1.2rem;
    margin-bottom: 2rem;
  }
}
.custom .single__info label {
  border-right: solid 2px #bec0ca;
  padding-right: 0.5em;
  margin-right: 0.5em;
}
.custom .single_overview {
  display: flex;
  align-content: center;
  justify-content: center;
}
@media (max-width: 749px) {
  .custom .single_overview {
    flex-direction: column;
  }
}
.custom .single_overview .single_overview_label {
  font-family: "Inter", "Noto Sans JP", "Noto Sans JP W3", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  font-size: 2.1vw;
  padding: 0 5vw 2vw 2vw;
  margin-right: 5vw;
  display: flex;
  align-items: center;
  border-right: solid 1px #2e2e32;
  flex-shrink: 0;
}
@media (max-width: 749px) {
  .custom .single_overview .single_overview_label {
    font-size: 2rem;
    border: unset;
    padding: 0;
    margin-bottom: 1.5rem;
  }
}
.custom .single_overview h3 {
  display: inline-block;
  width: 100%;
  margin: 0 auto;
}
.custom .single_overview h3 span {
  display: block;
  font-size: 1.4rem;
  font-weight: 400;
  margin-top: 1rem;
}
@media (max-width: 749px) {
  .custom .single_overview h3 span {
    font-size: 1.2rem;
    display: inline-block;
    margin-left: 1rem;
  }
}
.custom .single_overview .single_overview_content {
  line-height: 180%;
  letter-spacing: 8%;
}

.archive_wrapper {
  display: grid;
  grid-template-columns: 20% 80%;
  padding: 8rem 5% 10rem;
  position: relative;
}
@media (max-width: 1079px) {
  .archive_wrapper {
    display: block;
    padding: 4rem 5%;
  }
}

@media (max-width: 1079px) {
  .archive_menu {
    margin-bottom: 2rem;
  }
}
.archive_menu .archive_menu_list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media (max-width: 1079px) {
  .archive_menu .archive_menu_list {
    flex-direction: row;
    justify-content: flex-end;
  }
}
.archive_menu .archive_menu_list li {
  font-size: 1.4vw;
  font-weight: 800;
  color: #bec0ca;
  letter-spacing: 5%;
}
@media (max-width: 1079px) {
  .archive_menu .archive_menu_list li {
    font-size: 1.2rem;
  }
}
.archive_menu .archive_menu_list li.active {
  color: #2e2e32;
}

.archive .pagination {
  display: flex;
  justify-content: center;
  margin: 60px 0;
}
.archive .pagination .nav-links {
  display: flex;
  align-items: center;
  gap: 4px;
}
.archive {
  /* 共通: 数字ボタン */
}
.archive .pagination .page-numbers {
  font-family: "Inter", "Noto Sans JP", "Noto Sans JP W3", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5rem;
  height: 5rem;
  background: #bec0ca;
  color: #fff;
  font-size: 1.4vw;
  font-weight: 700;
  text-decoration: none;
  transition: 0.3s;
}
.archive {
  /* 現在のページ */
}
.archive .pagination .page-numbers.current {
  background: #2e2e32;
  color: #fff;
}
.archive {
  /* ホバー */
}
.archive .pagination a.page-numbers:hover {
  opacity: 0.6;
}
@media (max-width: 1079px) {
  .archive .pagination a.page-numbers:hover {
    opacity: 1;
  }
}
.archive {
  /* 「...」ドット部分 */
}
.archive .pagination .page-numbers.dots {
  background: transparent;
  color: #2e2e32;
  font-size: 1.2rem;
  letter-spacing: 0.1em;
  width: auto;
  padding: 0 4px;
  pointer-events: none;
}

.archive__items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 5rem 2.5rem;
}
@media (min-width: 750px) and (max-width: 1079px) {
  .archive__items {
    gap: 4rem 2rem;
  }
}
@media (max-width: 749px) {
  .archive__items {
    grid-template-columns: repeat(1, 1fr);
    gap: 3rem;
  }
}
.archive__items .archive__item a {
  transition: 0.3s;
}
.archive__items .archive__item a:hover .archive__image {
  overflow: hidden;
}
.archive__items .archive__item a:hover .archive__image img {
  transition: 0.3s;
  transform: scale(1.1);
}

.archive__image {
  width: 100%;
  aspect-ratio: 4/2.6;
  margin-bottom: 1.6vw;
}

.archive__info {
  font-family: "Inter", "Noto Sans JP", "Noto Sans JP W3", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  font-size: 1vw;
  font-weight: 600;
  letter-spacing: 8%;
  display: flex;
  align-items: center;
  gap: 3rem;
  margin-bottom: 1vw;
}
@media (max-width: 1079px) {
  .archive__info {
    font-size: 1.2rem;
  }
}
.archive__info label {
  border-right: solid 2px #bec0ca;
  padding-right: 0.5em;
  margin-right: 0.5em;
}

.archive__title {
  font-size: 1.1vw;
  font-weight: 700;
  letter-spacing: 5%;
  line-height: 150%;
}
@media (max-width: 1079px) {
  .archive__title {
    font-size: 1.4rem;
  }
}

.archive_news {
  padding: 8rem 5% 10rem;
}
@media (max-width: 1079px) {
  .archive_news {
    padding: 4rem 5%;
  }
}
.archive_news .archive__items {
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 749px) {
  .archive_news .archive__items {
    grid-template-columns: repeat(1, 1fr);
    gap: 0;
  }
}

.page_partner {
  background: #2e2e32;
  padding: 3rem 0;
}

.page_wrapper {
  padding: 8rem 5% 10rem;
}
@media (max-width: 1079px) {
  .page_wrapper {
    padding: 4rem 5%;
  }
}

.strength {
  scroll-snap-align: start;
  width: 100%;
  background: #2e2e32;
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 8vw 0 5vw;
}
@media (max-width: 1079px) {
  .strength {
    align-items: stretch;
    padding: 6rem 5%;
  }
}

.strength_scroll_text {
  position: absolute;
  top: calc(50% + 0.5vw);
  left: 0;
  width: 100%;
  opacity: 0.4;
}
.strength_scroll_text .swiper-slide {
  width: fit-content;
}
@media (min-width: 750px) and (max-width: 1079px) {
  .strength_scroll_text {
    top: unset;
    bottom: 18%;
  }
}
@media (max-width: 749px) {
  .strength_scroll_text {
    top: unset;
    bottom: 15%;
  }
}

.page_title {
  text-align: center;
  position: relative;
  z-index: 2;
  margin-bottom: 4rem;
}
@media (max-width: 1079px) {
  .page_title {
    padding: 0 24px;
    margin-bottom: 28px;
  }
}
.page_title .page_title__en {
  font-family: "Inter", "Noto Sans JP", "Noto Sans JP W3", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  font-size: 3.2vw;
  font-weight: 800;
  letter-spacing: 8%;
  border-bottom: solid 1px #2e2e32;
  padding-bottom: 1rem;
  margin: 0 auto 1rem;
  width: fit-content;
}
@media (max-width: 749px) {
  .page_title .page_title__en {
    font-size: 3.5rem;
  }
}
.page_title .page_title__ja {
  font-size: 1.5vw;
  font-weight: 800;
  letter-spacing: 8%;
}
@media (max-width: 749px) {
  .page_title .page_title__ja {
    font-size: 1.8rem;
  }
}
.page_title.white {
  color: #fff;
}
.page_title.white .page_title__en {
  border-bottom: solid 1px #fff;
}

.strength__body {
  display: grid;
  grid-template-columns: 1fr 18vw 1fr;
  align-items: center;
  justify-items: center;
  gap: 0 clamp(16px, 2.5vw, 50px);
  width: 100%;
  max-width: 1360px;
  padding: 0 clamp(16px, 4vw, 60px);
  position: relative;
  z-index: 2;
}
@media (max-width: 1079px) {
  .strength__body {
    display: none;
  }
}

.strength__col {
  display: flex;
  flex-direction: column;
  gap: clamp(20rem, 4.5vh, 56px);
}

.strength__item {
  display: flex;
  align-items: center;
  gap: 14px;
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 0.55s ease, transform 0.55s ease;
}
.strength__item.visible {
  opacity: 1;
  transform: translateY(0);
}

.strength__badge {
  flex-shrink: 0;
  border-radius: 50%;
  border: 2px solid #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Inter", "Noto Sans JP", "Noto Sans JP W3", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  font-weight: 800;
  color: #fff;
  width: 8vw;
  height: 8vw;
  font-size: 2vw;
}
@media (max-width: 1079px) {
  .strength__badge {
    width: 56px;
    height: 56px;
    font-size: 16px;
  }
}

.strength__item-text {
  color: #fff;
}
.strength__item-text h3 {
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 5px;
  font-size: 1.8vw;
}
@media (max-width: 1079px) {
  .strength__item-text h3 {
    font-size: 17px;
    margin-bottom: 6px;
  }
}
.strength__item-text p {
  color: #fff;
  line-height: 1.75;
  font-size: clamp(10px, 1.1vw, 14px);
}
@media (max-width: 1079px) {
  .strength__item-text p {
    font-size: 13px;
  }
}

.strength__puzzle-wrap {
  width: clamp(40rem, 34vw, 490px);
  height: clamp(40rem, 34vw, 490px);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.strength__puzzle-svg {
  width: 100%;
  height: 100%;
  overflow: visible;
  display: block;
}

.strength__piece {
  opacity: 0;
  transition: transform 0.75s cubic-bezier(0.34, 1.4, 0.64, 1), opacity 0.4s ease;
}

.strength__sp-items {
  display: none;
}
@media (max-width: 1079px) {
  .strength__sp-items {
    display: flex;
    flex-direction: column;
    position: relative;
    z-index: 2;
    margin-bottom: 0;
  }
}

.strength__sp-item {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 20px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  opacity: 0;
  transform: translateX(-20px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}
.strength__sp-item:last-child {
  border-bottom: none;
}
.strength__sp-item.visible {
  opacity: 1;
  transform: translateX(0);
}

.strength__sp-puzzle-wrap {
  display: none;
}
@media (max-width: 1079px) {
  .strength__sp-puzzle-wrap {
    display: flex;
    justify-content: center;
    position: relative;
    z-index: 2;
    padding: 0 24px 8px;
  }
}
.strength__sp-puzzle-wrap .strength__puzzle-wrap {
  width: min(40rem, 85vw);
  height: min(40rem, 85vw);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: -2rem;
}
.strength__sp-puzzle-wrap .strength__puzzle-svg {
  width: 100%;
  height: 100%;
  overflow: visible;
  display: block;
}

.page_problem {
  background: #f1f1f1;
  padding: 5.5vw 0 7vw;
  position: relative;
}
@media (max-width: 749px) {
  .page_problem {
    padding: 6rem 0 10rem;
  }
}

.page_problem__lead {
  text-align: center;
  font-weight: 800;
  letter-spacing: 8%;
  margin-bottom: 3rem;
}
.page_problem__lead .sub {
  position: relative;
  font-size: 1.4vw;
  width: fit-content;
  margin: 0 auto 4vw;
}
@media (max-width: 749px) {
  .page_problem__lead .sub {
    font-size: 1.4rem;
    margin-bottom: 3rem;
  }
}
.page_problem__lead .sub::after {
  content: "";
  display: inline-block;
  width: 25vw;
  height: 3vw;
  background-image: url('data:image/svg+xml;utf-8,<svg fill="%232e2e32" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 380 45"><path d="M378.634 0.5C378.634 0.223929 378.858 0.000115423 379.134 0C379.41 0 379.634 0.223858 379.634 0.5C379.634 8.65964 375.254 16.0087 368.246 21.3008C361.238 26.5926 351.581 29.8505 340.938 29.8506H96.7104C96.4344 29.8506 96.2105 29.6266 96.2104 29.3506C96.2104 29.0744 96.4343 28.8506 96.7104 28.8506H340.938C351.384 28.8505 360.825 25.6518 367.643 20.5029C374.461 15.3541 378.634 8.27725 378.634 0.5Z"/><path d="M0 0.5C0 0.223858 0.223858 0 0.5 0C0.776142 0 1 0.223858 1 0.5C1 6.07487 3.15703 11.2867 6.89453 15.6787L7.20801 16.04C13.8745 23.5969 25.2731 28.6152 38.252 28.6152H73.1748L73.2471 28.6201C73.3177 28.6304 73.3859 28.6554 73.4463 28.6943L96.9814 43.8525C97.2135 44.0021 97.2803 44.3118 97.1309 44.5439C96.9813 44.776 96.6716 44.8429 96.4395 44.6934L73.0283 29.6152H38.252C24.8243 29.6152 12.9728 24.3432 6.13379 16.3271H6.13281C2.26372 11.7806 0 6.34482 0 0.5Z"/></svg>');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  bottom: -2.5vw;
  left: 50%;
  transform: translateX(-50%);
}
@media (max-width: 749px) {
  .page_problem__lead .sub::after {
    width: 90vw;
    height: 3rem;
    bottom: -2rem;
  }
}
.page_problem__lead .main {
  font-size: 2.8vw;
}
@media (max-width: 749px) {
  .page_problem__lead .main {
    font-size: 2.4rem;
  }
}
.page_problem__lead .main span {
  color: #e297d1;
}

.page_problem_list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  max-width: 60vw;
  margin: 0 auto;
}
@media (min-width: 750px) and (max-width: 1079px) {
  .page_problem_list {
    max-width: 80vw;
  }
}
@media (max-width: 749px) {
  .page_problem_list {
    grid-template-columns: repeat(1, 1fr);
    max-width: unset;
    gap: 0.5rem;
  }
}
.page_problem_list li {
  background: #fff;
  font-size: 1.24vw;
  font-weight: 700;
  letter-spacing: 8%;
  text-align: center;
  padding: 1em;
  border-radius: 0.6rem;
}
@media (min-width: 750px) and (max-width: 1079px) {
  .page_problem_list li {
    font-size: 1.6rem;
  }
}
@media (max-width: 749px) {
  .page_problem_list li {
    font-size: 1.4rem;
  }
}

.page_problem_image {
  position: absolute;
  bottom: 0;
  height: auto;
}
.page_problem_image.left {
  left: 8vw;
  width: 12vw;
}
@media (min-width: 750px) and (max-width: 1079px) {
  .page_problem_image.left {
    left: 3vw;
  }
}
@media (max-width: 749px) {
  .page_problem_image.left {
    left: 2vw;
    width: 23vw;
  }
}
.page_problem_image.left::before {
  content: "";
  display: inline-block;
  width: 5vw;
  height: 8vw;
  background-image: url('data:image/svg+xml;utf-8,<svg fill="%23ffffff" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 73 112"><path d="M61.9062 7.19648C54.8758 1.64468 45.5917 -0.0281294 36.8199 0.00035645C31.3975 0.00821462 25.9131 0.532747 20.7341 2.18198C12.036 4.83313 5.03509 11.3358 1.87918 19.8835C0.883823 22.6525 -0.149822 25.7074 0.0180352 28.6778C0.392032 33.8602 6.17279 34.0056 10.1807 34.6352C11.7356 34.8543 13.2925 35.0684 14.8503 35.2678C17.1237 35.5419 19.7201 35.9043 21.7845 34.8474C25.6825 32.8013 24.8982 27.113 28.8443 23.4992C34.1479 18.5427 44.0299 20.2617 44.8672 28.2387C45.736 38.3895 34.7045 44.4786 28.7304 51.106C25.0798 54.925 22.3175 59.635 21.1533 64.8126C20.7243 66.6445 20.4701 68.5157 20.3513 70.3929C20.2335 72.5106 20.1648 74.8023 20.849 76.6863C21.8394 79.5201 24.4702 80.3472 27.2589 80.4435C29.5628 80.5162 31.905 80.4199 34.2137 80.3521C36.6727 80.2333 39.111 80.1822 41.0546 78.6636C43.3585 76.7315 43.4115 73.6324 44.343 70.8889C44.6562 69.9292 45.0567 68.998 45.5465 68.115C47.2879 64.956 50.0816 62.6005 52.892 60.3766C59.7888 55.1578 66.5993 49.4646 69.8062 41.1664C74.4395 29.7141 71.8765 15.033 61.914 7.20532L61.9042 7.19746L61.9062 7.19648Z"/><path d="M43.6788 90.0001C42.9201 88.2782 41.0658 87.79 39.3185 87.7006C37.0127 87.5582 34.701 87.5267 32.3902 87.5306C30.0137 87.5424 27.6372 87.5876 25.2647 87.7143C23.8315 87.7988 22.1637 87.9206 21.082 88.9157C19.6527 90.2437 19.6999 92.4892 19.5506 94.3201C19.3435 97.9182 19.2974 101.529 19.4456 105.129C19.5556 106.838 19.5084 108.865 20.6736 110.216C21.7181 111.415 23.535 111.555 25.0624 111.628C28.613 111.787 32.1684 111.836 35.7199 111.776C36.6338 111.756 37.5477 111.728 38.4596 111.67C40.0429 111.564 41.8363 111.392 43.0477 110.3C44.7999 108.698 44.739 105.902 44.8489 103.685C44.9049 100.503 44.7262 97.3151 44.472 94.1423C44.3375 92.7662 44.2639 91.2613 43.6857 90.006L43.6808 89.9962L43.6788 90.0001Z"/></svg>');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  top: -12vw;
  left: 50%;
  transform: translateX(-50%) rotate(-15deg);
}
@media (min-width: 750px) and (max-width: 1079px) {
  .page_problem_image.left::before {
    display: none;
  }
}
@media (max-width: 749px) {
  .page_problem_image.left::before {
    top: 12.5vw;
    left: unset;
    right: -40%;
    transform: translateX(-50%) rotate(15deg);
  }
}
.page_problem_image.left::after {
  content: "";
  display: inline-block;
  width: 5vw;
  height: 6vw;
  background-image: url('data:image/svg+xml;utf-8,<svg fill="%23ffffff" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 73 112"><path d="M61.9062 7.19648C54.8758 1.64468 45.5917 -0.0281294 36.8199 0.00035645C31.3975 0.00821462 25.9131 0.532747 20.7341 2.18198C12.036 4.83313 5.03509 11.3358 1.87918 19.8835C0.883823 22.6525 -0.149822 25.7074 0.0180352 28.6778C0.392032 33.8602 6.17279 34.0056 10.1807 34.6352C11.7356 34.8543 13.2925 35.0684 14.8503 35.2678C17.1237 35.5419 19.7201 35.9043 21.7845 34.8474C25.6825 32.8013 24.8982 27.113 28.8443 23.4992C34.1479 18.5427 44.0299 20.2617 44.8672 28.2387C45.736 38.3895 34.7045 44.4786 28.7304 51.106C25.0798 54.925 22.3175 59.635 21.1533 64.8126C20.7243 66.6445 20.4701 68.5157 20.3513 70.3929C20.2335 72.5106 20.1648 74.8023 20.849 76.6863C21.8394 79.5201 24.4702 80.3472 27.2589 80.4435C29.5628 80.5162 31.905 80.4199 34.2137 80.3521C36.6727 80.2333 39.111 80.1822 41.0546 78.6636C43.3585 76.7315 43.4115 73.6324 44.343 70.8889C44.6562 69.9292 45.0567 68.998 45.5465 68.115C47.2879 64.956 50.0816 62.6005 52.892 60.3766C59.7888 55.1578 66.5993 49.4646 69.8062 41.1664C74.4395 29.7141 71.8765 15.033 61.914 7.20532L61.9042 7.19746L61.9062 7.19648Z"/><path d="M43.6788 90.0001C42.9201 88.2782 41.0658 87.79 39.3185 87.7006C37.0127 87.5582 34.701 87.5267 32.3902 87.5306C30.0137 87.5424 27.6372 87.5876 25.2647 87.7143C23.8315 87.7988 22.1637 87.9206 21.082 88.9157C19.6527 90.2437 19.6999 92.4892 19.5506 94.3201C19.3435 97.9182 19.2974 101.529 19.4456 105.129C19.5556 106.838 19.5084 108.865 20.6736 110.216C21.7181 111.415 23.535 111.555 25.0624 111.628C28.613 111.787 32.1684 111.836 35.7199 111.776C36.6338 111.756 37.5477 111.728 38.4596 111.67C40.0429 111.564 41.8363 111.392 43.0477 110.3C44.7999 108.698 44.739 105.902 44.8489 103.685C44.9049 100.503 44.7262 97.3151 44.472 94.1423C44.3375 92.7662 44.2639 91.2613 43.6857 90.006L43.6808 89.9962L43.6788 90.0001Z"/></svg>');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  top: -5vw;
  left: 10%;
  transform: translateX(-50%) rotate(-25deg);
}
@media (min-width: 750px) and (max-width: 1079px) {
  .page_problem_image.left::after {
    display: none;
  }
}
@media (max-width: 749px) {
  .page_problem_image.left::after {
    top: 7.5vw;
    left: unset;
    right: -80%;
    transform: translateX(-50%) rotate(5deg);
  }
}
.page_problem_image.right {
  right: 8vw;
  width: 12.2vw;
}
@media (min-width: 750px) and (max-width: 1079px) {
  .page_problem_image.right {
    right: 3vw;
  }
}
@media (max-width: 749px) {
  .page_problem_image.right {
    right: 2vw;
    width: 24vw;
  }
}
.page_problem_image.right::before {
  content: "";
  display: inline-block;
  width: 5vw;
  height: 8vw;
  background-image: url('data:image/svg+xml;utf-8,<svg fill="%23ffffff" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 73 112"><path d="M61.9062 7.19648C54.8758 1.64468 45.5917 -0.0281294 36.8199 0.00035645C31.3975 0.00821462 25.9131 0.532747 20.7341 2.18198C12.036 4.83313 5.03509 11.3358 1.87918 19.8835C0.883823 22.6525 -0.149822 25.7074 0.0180352 28.6778C0.392032 33.8602 6.17279 34.0056 10.1807 34.6352C11.7356 34.8543 13.2925 35.0684 14.8503 35.2678C17.1237 35.5419 19.7201 35.9043 21.7845 34.8474C25.6825 32.8013 24.8982 27.113 28.8443 23.4992C34.1479 18.5427 44.0299 20.2617 44.8672 28.2387C45.736 38.3895 34.7045 44.4786 28.7304 51.106C25.0798 54.925 22.3175 59.635 21.1533 64.8126C20.7243 66.6445 20.4701 68.5157 20.3513 70.3929C20.2335 72.5106 20.1648 74.8023 20.849 76.6863C21.8394 79.5201 24.4702 80.3472 27.2589 80.4435C29.5628 80.5162 31.905 80.4199 34.2137 80.3521C36.6727 80.2333 39.111 80.1822 41.0546 78.6636C43.3585 76.7315 43.4115 73.6324 44.343 70.8889C44.6562 69.9292 45.0567 68.998 45.5465 68.115C47.2879 64.956 50.0816 62.6005 52.892 60.3766C59.7888 55.1578 66.5993 49.4646 69.8062 41.1664C74.4395 29.7141 71.8765 15.033 61.914 7.20532L61.9042 7.19746L61.9062 7.19648Z"/><path d="M43.6788 90.0001C42.9201 88.2782 41.0658 87.79 39.3185 87.7006C37.0127 87.5582 34.701 87.5267 32.3902 87.5306C30.0137 87.5424 27.6372 87.5876 25.2647 87.7143C23.8315 87.7988 22.1637 87.9206 21.082 88.9157C19.6527 90.2437 19.6999 92.4892 19.5506 94.3201C19.3435 97.9182 19.2974 101.529 19.4456 105.129C19.5556 106.838 19.5084 108.865 20.6736 110.216C21.7181 111.415 23.535 111.555 25.0624 111.628C28.613 111.787 32.1684 111.836 35.7199 111.776C36.6338 111.756 37.5477 111.728 38.4596 111.67C40.0429 111.564 41.8363 111.392 43.0477 110.3C44.7999 108.698 44.739 105.902 44.8489 103.685C44.9049 100.503 44.7262 97.3151 44.472 94.1423C44.3375 92.7662 44.2639 91.2613 43.6857 90.006L43.6808 89.9962L43.6788 90.0001Z"/></svg>');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  top: -12vw;
  right: 8%;
  transform: translateX(-50%) rotate(15deg);
}
@media (min-width: 750px) and (max-width: 1079px) {
  .page_problem_image.right::before {
    display: none;
  }
}
@media (max-width: 749px) {
  .page_problem_image.right::before {
    top: 13.5vw;
    right: unset;
    left: -20%;
    transform: translateX(-50%) rotate(-15deg);
  }
}
.page_problem_image.right::after {
  content: "";
  display: inline-block;
  width: 5vw;
  height: 6vw;
  background-image: url('data:image/svg+xml;utf-8,<svg fill="%23ffffff" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 73 112"><path d="M61.9062 7.19648C54.8758 1.64468 45.5917 -0.0281294 36.8199 0.00035645C31.3975 0.00821462 25.9131 0.532747 20.7341 2.18198C12.036 4.83313 5.03509 11.3358 1.87918 19.8835C0.883823 22.6525 -0.149822 25.7074 0.0180352 28.6778C0.392032 33.8602 6.17279 34.0056 10.1807 34.6352C11.7356 34.8543 13.2925 35.0684 14.8503 35.2678C17.1237 35.5419 19.7201 35.9043 21.7845 34.8474C25.6825 32.8013 24.8982 27.113 28.8443 23.4992C34.1479 18.5427 44.0299 20.2617 44.8672 28.2387C45.736 38.3895 34.7045 44.4786 28.7304 51.106C25.0798 54.925 22.3175 59.635 21.1533 64.8126C20.7243 66.6445 20.4701 68.5157 20.3513 70.3929C20.2335 72.5106 20.1648 74.8023 20.849 76.6863C21.8394 79.5201 24.4702 80.3472 27.2589 80.4435C29.5628 80.5162 31.905 80.4199 34.2137 80.3521C36.6727 80.2333 39.111 80.1822 41.0546 78.6636C43.3585 76.7315 43.4115 73.6324 44.343 70.8889C44.6562 69.9292 45.0567 68.998 45.5465 68.115C47.2879 64.956 50.0816 62.6005 52.892 60.3766C59.7888 55.1578 66.5993 49.4646 69.8062 41.1664C74.4395 29.7141 71.8765 15.033 61.914 7.20532L61.9042 7.19746L61.9062 7.19648Z"/><path d="M43.6788 90.0001C42.9201 88.2782 41.0658 87.79 39.3185 87.7006C37.0127 87.5582 34.701 87.5267 32.3902 87.5306C30.0137 87.5424 27.6372 87.5876 25.2647 87.7143C23.8315 87.7988 22.1637 87.9206 21.082 88.9157C19.6527 90.2437 19.6999 92.4892 19.5506 94.3201C19.3435 97.9182 19.2974 101.529 19.4456 105.129C19.5556 106.838 19.5084 108.865 20.6736 110.216C21.7181 111.415 23.535 111.555 25.0624 111.628C28.613 111.787 32.1684 111.836 35.7199 111.776C36.6338 111.756 37.5477 111.728 38.4596 111.67C40.0429 111.564 41.8363 111.392 43.0477 110.3C44.7999 108.698 44.739 105.902 44.8489 103.685C44.9049 100.503 44.7262 97.3151 44.472 94.1423C44.3375 92.7662 44.2639 91.2613 43.6857 90.006L43.6808 89.9962L43.6788 90.0001Z"/></svg>');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  top: -5vw;
  right: -35%;
  transform: translateX(-50%) rotate(-25deg);
}
@media (min-width: 750px) and (max-width: 1079px) {
  .page_problem_image.right::after {
    display: none;
  }
}
@media (max-width: 749px) {
  .page_problem_image.right::after {
    top: 9vw;
    right: unset;
    left: -50%;
    transform: translateX(-50%) rotate(5deg);
  }
}

.page_message {
  padding: 8vw 0;
  position: relative;
  width: fit-content;
  margin: 0 auto;
}
@media (min-width: 750px) and (max-width: 1079px) {
  .page_message {
    padding: 4rem 0;
  }
}
@media (max-width: 749px) {
  .page_message {
    padding: 6rem 0;
  }
}
.page_message::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 4vw solid transparent;
  border-left: 4vw solid transparent;
  border-top: 2.5vw solid #f1f1f1;
  border-bottom: 0;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
@media (max-width: 749px) {
  .page_message::after {
    border-right: 10vw solid transparent;
    border-left: 10vw solid transparent;
    border-top: 5vw solid #f1f1f1;
    bottom: -5vw;
    z-index: 2;
  }
}
.page_message .page_message_wrapper {
  display: flex;
  justify-content: center;
  position: relative;
}
@media (max-width: 749px) {
  .page_message .page_message_wrapper {
    flex-direction: column;
    gap: 0.5em;
  }
}
.page_message .page_message_wrapper::before {
  content: "";
  display: inline-block;
  width: 2vw;
  height: 10vw;
  background-image: url('data:image/svg+xml;utf-8,<svg fill="%23e297d1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 21 92"><path d="M21 0V2H2V90H21V92H0V0H21Z"/></svg>');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  top: calc(50% + 0.8vw);
  left: -5vw;
  transform: translateY(-50%);
}
@media (max-width: 749px) {
  .page_message .page_message_wrapper::before {
    width: 7vw;
    height: 30vw;
    left: -7vw;
  }
}
.page_message .page_message_wrapper::after {
  content: "";
  display: inline-block;
  width: 2vw;
  height: 10vw;
  background-image: url('data:image/svg+xml;utf-8,<svg fill="%23e297d1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 21 92"><path d="M21 0V2H2V90H21V92H0V0H21Z"/></svg>');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  top: calc(50% + 0.8vw);
  right: -5vw;
  transform: translateY(-50%) rotate(180deg);
}
@media (max-width: 749px) {
  .page_message .page_message_wrapper::after {
    width: 7vw;
    height: 30vw;
    right: -7vw;
  }
}
.page_message .page_message_text {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  font-size: 2.75vw;
  font-weight: 800;
  text-align: center;
  letter-spacing: 8%;
  line-height: 100%;
  flex-shrink: 0;
}
@media (max-width: 749px) {
  .page_message .page_message_text {
    font-size: 8.1vw;
  }
}
.page_message .page_message_text:first-of-type {
  margin-bottom: -0.05em;
}
.page_message .page_message_text span {
  display: block;
}
.page_message .page_message_text .small {
  font-size: 2.1vw;
  margin-bottom: -0.1em;
}
@media (max-width: 749px) {
  .page_message .page_message_text .small {
    font-size: 5.5vw;
  }
}
.page_message .page_message_text .box {
  color: #e297d1;
  border: solid 1px #e297d1;
  width: 1.5em;
  height: 1.5em;
  padding-top: 0.2em;
  margin-bottom: -0.15em;
}

.page_support {
  position: relative;
  padding-bottom: 7vw;
}
@media (max-width: 749px) {
  .page_support {
    padding-bottom: 14vw;
  }
}
.page_support::after {
  content: "";
  width: 100%;
  height: 80%;
  background: #2e2e32;
  position: absolute;
  left: 0;
  bottom: 0;
}
@media (max-width: 749px) {
  .page_support::after {
    height: 90%;
  }
}
.page_support .support_scroll_text {
  position: absolute;
  bottom: 0;
  left: 0;
}
.page_support .support_scroll_text .swiper-slide {
  width: fit-content;
}

.page_support_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2rem;
  position: relative;
  z-index: 2;
}
@media (min-width: 750px) and (max-width: 1079px) {
  .page_support_list {
    gap: 1rem;
  }
}
@media (max-width: 749px) {
  .page_support_list {
    flex-direction: column;
  }
}
.page_support_list .page_support_list_item {
  width: 25vw;
  background: #fff;
  border-radius: 1rem;
}
@media (min-width: 750px) and (max-width: 1079px) {
  .page_support_list .page_support_list_item {
    width: 29vw;
  }
}
@media (max-width: 749px) {
  .page_support_list .page_support_list_item {
    width: 100%;
  }
}
.page_support_list .page_support_list_image {
  border-radius: 1rem 1rem 0 0;
}
.page_support_list .page_support_list_image img {
  border-radius: 1rem 1rem 0 0;
}
.page_support_list .page_support_list_content {
  padding: 3rem 2rem;
}
.page_support_list .page_support_list_lead {
  font-size: 1.23vw;
  font-weight: 800;
  margin-bottom: 2rem;
}
@media (min-width: 750px) and (max-width: 1079px) {
  .page_support_list .page_support_list_lead {
    font-size: 2.09vw;
    line-height: 130%;
  }
}
@media (max-width: 749px) {
  .page_support_list .page_support_list_lead {
    font-size: 4.8vw;
  }
}
@media (min-width: 750px) and (max-width: 1079px) {
  .page_support_list .page_support_list_text {
    font-size: 1.825vw;
  }
}

.privacy_policy {
  padding: 8rem 0 10rem;
  position: relative;
}
@media (max-width: 749px) {
  .privacy_policy {
    padding: 4rem 0;
  }
}
.privacy_policy h2 {
  font-size: 1.361vw;
  font-weight: 800;
  border-bottom: solid 1px #2e2e32;
  padding-bottom: 0.5em;
  margin: 2em 0 1em;
}
@media (max-width: 749px) {
  .privacy_policy h2 {
    font-size: 5.5vw;
  }
}
.privacy_policy h2:first-of-type {
  margin-top: 0;
}
.privacy_policy h3 {
  font-size: 1.23vw;
  font-weight: 600;
  margin-bottom: 1em;
  padding-left: 0.5em;
  border-left: solid 0.3rem #bec0ca;
}
@media (max-width: 749px) {
  .privacy_policy h3 {
    font-size: 4.8vw;
  }
}
.privacy_policy p {
  margin-bottom: 0.5em;
  line-height: 180%;
}