@charset "UTF-8";
/* ==================================================
[Style]
    1. setting
	2. foundation
	3. Layout
	4. object

================================================== */
/* --------------------------------------------------
	1. setting
-------------------------------------------------- */
/* --------------------------------------------------
	2. foundation
-------------------------------------------------- */
/* reset */
@import 'https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@500;600&family=Poppins:wght@500&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;
  min-width: 0;
  border-style: solid;
  border-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%;
     -moz-text-size-adjust: 100%;
          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 {
  margin: 0;
  font-size: inherit;
  font-weight: inherit;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  padding: 0;
  margin: 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 */
  margin: 0;
  overflow: visible; /* 2 */
  clear: both;
  color: inherit;
  border-top-width: 1px;
}

/**
 * 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; /* 1 */
  font-size: inherit; /* 2 */
}

address {
  font-style: inherit;
}

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

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  -webkit-text-decoration: underline dotted;
          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; /* 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 {
  position: relative;
  font-size: 75%;
  line-height: 0;
  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 {
  padding: 0;
  margin: 0;
  font: inherit;
  color: inherit;
  text-align: inherit;
  text-transform: inherit; /* 2 */
  vertical-align: middle;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: transparent;
  border-radius: 0;
}

/**
 * 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 {
  min-width: 0;
  padding: 0;
  margin: 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;
          appearance: none;
}

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

/**
 * Fix appearance for Firefox
 */
[type=number] {
  -webkit-appearance: textfield;
     -moz-appearance: textfield;
          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-collapse: collapse;
  border-color: inherit; /* 1 */
}

caption {
  text-align: left;
}

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

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

/* base */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  --color-text: #333;
  --color-border: #333;
  color: var(--color-text);
  background-color: var(--color-bg-page, transparent);
  transition: color 1s, background-color 0s;
}
html[data-fs=l] {
  font-size: 18px;
}
html[data-bg=white] {
  --color-bg-page: #fff;
}
html[data-bg=black] {
  --color-bg-page: #000;
  --color-text: #fff;
  --color-border: #d3d3d3;
}
html[data-bg=blue] {
  --color-bg-page: #0015ff;
  --color-text: #fff;
  --color-border: #d3d3d3;
}
html[data-bg=yellow] {
  --color-bg-page: #ff0;
}

html[data-bg=white].is-bgchange body {
  color: var(--body-color);
  background-color: var(--body-background-color);
}

body {
  overflow-x: hidden;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  line-height: 1.6;
  word-break: normal;
  word-wrap: normal;
  overflow-wrap: normal;
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
          text-size-adjust: 100%;
  transition: background-color 0.3s;
}
@media only screen and (max-width: 767px) {
  body.is-disable-scrolly-sp {
    overflow-y: hidden;
  }
}

a {
  color: inherit;
  text-decoration: none;
  word-break: break-all;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

ul,
ol {
  list-style: none;
}

img {
  max-width: 100%;
  height: auto;
  font-style: italic;
  vertical-align: middle;
}

iframe {
  max-width: 100%;
}

input,
button,
select,
textarea {
  font: inherit;
  font-size: 1rem;
  color: #333;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  outline: none;
}

textarea {
  resize: none;
}

input[type=checkbox],
input[type=radio] {
  display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
  cursor: pointer;
}

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

/* font */
@font-face {
  font-family: Mobo;
  font-style: normal;
  font-weight: bold;
  src: url("../fonts/MOBO-Bold.otf") format("opentype");
}
/* --------------------------------------------------
	3. Layout
-------------------------------------------------- */
/* header */
.l-header {
  position: sticky;
  top: 0;
  left: 0;
  z-index: 100;
  width: 100%;
  color: var(--color-text);
}
.l-header.is-show .l-header__inner {
  transform: translateY(0);
}
.l-header.is-show .l-header__setting {
  transform: translateY(0);
}
.l-header__inner {
  max-width: 112.5rem;
  padding: 1rem 1.25rem 1.5rem;
  margin: 0 auto;
  transition: transform 0.7s;
  transform: translateY(-6.25rem);
}
.l-header__container {
  position: relative;
  display: flex;
  align-items: center;
  height: 4rem;
}
.l-header__logo {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  display: flex;
  align-items: center;
  margin: auto;
}
.l-header__setting {
  position: absolute;
  top: 1rem;
  right: max((100% - 110rem) / 2, 1.25rem);
  max-width: 18.75rem;
  max-height: 12rem;
  overflow: hidden;
  background: var(--color-bg-page);
  border-radius: 2rem;
  box-shadow: 0 0 0.25rem 0 rgba(51, 51, 51, 0.2);
  transition: max-width 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), max-height 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.7s;
  transition-delay: 0s;
  transform: translateY(-6.25rem);
}
.l-header__setting.is-hum {
  max-width: 4rem;
  max-height: 4rem;
}
.l-header__setting.is-hum .l-header__setting-hum {
  padding: 0;
}
.l-header__setting.is-hum .l-header__setting-close {
  overflow: hidden;
  pointer-events: none;
  opacity: 0;
}
.l-header__setting.is-hum .l-header__setting-options {
  overflow: hidden;
  opacity: 0;
  transition-delay: 0s;
}
.l-header__setting-options {
  width: 20rem;
  max-width: 100%;
  padding: 0.5rem 1rem 1.5rem;
  opacity: 1;
  transition: opacity 0.4s ease;
  transition-delay: 0.2s;
}
.l-header__setting-option {
  display: flex;
  align-items: center;
  padding: 0 1rem;
}
.l-header__setting-option + .l-header__setting-option {
  padding-top: 1rem;
  margin-top: 1rem;
  border-top: 0.0625rem solid #d3d3d3;
}
.l-header__setting-label {
  flex-shrink: 0;
  width: 4.625rem;
  max-width: 100%;
  margin-right: 0.875rem;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.04em;
}
.l-header__setting-fonts {
  display: flex;
  align-items: center;
  width: 100%;
  background-color: #fff;
  border-radius: 2rem;
}
.l-header__setting-fonts li {
  width: calc(50% + 0.625rem);
}
.l-header__setting-fonts li:not(:last-child) {
  margin-right: -1.25rem;
}
.l-header__setting-fonts button {
  display: block;
  width: 100%;
  height: 2rem;
  overflow: hidden;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.6;
  text-align: center;
  letter-spacing: 0.04em;
  border: 0.0625rem solid #ececec;
  border-radius: 2rem;
}
.l-header__setting-fonts button.is-active {
  background-color: #ececec;
}
.l-header__setting-bg {
  display: flex;
  justify-content: space-between;
  width: 100%;
}
.l-header__setting-bg-button {
  align-content: center;
  width: 2rem;
  aspect-ratio: 1/1;
  padding-bottom: 0.125rem;
  font-size: 0.875rem;
  font-weight: 600;
  text-align: center;
  letter-spacing: 0.04em;
  border-radius: 2rem;
}
.l-header__setting-bg-button.--black, .l-header__setting-bg-button.--blue {
  color: #fff;
}
.l-header__setting-bg-button.--white {
  background-color: #fff;
  border: 0.0625rem solid #ececec;
}
.l-header__setting-bg-button.--black {
  background-color: #000;
}
.l-header__setting-bg-button.--blue {
  background-color: #0015ff;
}
.l-header__setting-bg-button.--yellow {
  background-color: #ff0;
}
.l-header__setting-hum {
  position: relative;
  padding: 0 1.5rem 0 0.4375rem;
  transition: opacity 0.4s ease;
}
.l-header__setting-open {
  display: inline-flex;
  place-content: center center;
  align-items: center;
  width: 4rem;
  aspect-ratio: 1/1;
  text-align: center;
}
.l-header__setting-open .com-icon {
  --icon-wrap-size: 2rem;
  --icon-color: #00a0d6;
}
.l-header__setting-close {
  position: absolute;
  top: 0;
  right: 1.5rem;
  bottom: 0;
  display: inline-flex;
  gap: 0.5rem;
  align-items: center;
  margin: auto;
  margin-left: auto;
  font-size: 0.875rem;
  font-weight: 600;
  color: #00a0d6;
  letter-spacing: 0.04em;
  transition: opacity 0.3s;
}
.l-header__setting-close .com-icon {
  --icon-color: #00a0d6;
  --icon-wrap-size: 1.5rem;
}
.l-header__menu {
  max-width: calc(100% - 25rem);
  height: 100%;
  margin-right: auto;
  margin-left: auto;
}
.l-header__nav-container {
  height: 100%;
}
.l-header__nav {
  height: 100%;
}
.l-header__nav-list {
  display: flex;
  gap: 3.90625vw;
  align-items: center;
  height: 100%;
}
.l-header__nav-item {
  height: 100%;
}
.l-header__nav-link {
  font-family: "Poppins", sans-serif;
  font-size: 1rem;
  letter-spacing: 0.04em;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  height: 100%;
}

html[data-bg=white] .l-header__setting-label {
  color: #333;
}
html[data-bg=white] .l-header:not(.is-menu-open).--reverse-color .l-hum, html[data-bg=yellow] .l-header:not(.is-menu-open).--reverse-color .l-hum {
  --color-border: #fff;
  --color-text: #fff;
}
html[data-bg=white].is-bgchange body:not(.index) .l-hum, html[data-bg=yellow].is-bgchange body:not(.index) .l-hum {
  --color-border: #fff;
  --color-text: #fff;
}
html[data-bg=white].is-bgchange .l-header.--reverse-color-bgchangeinter .l-hum, html[data-bg=yellow].is-bgchange .l-header.--reverse-color-bgchangeinter .l-hum {
  --color-border: #fff;
  --color-text: #fff;
}
html[data-bg=black] .l-header:not(.is-menu-open).--reverse-color .l-hum, html[data-bg=blue] .l-header:not(.is-menu-open).--reverse-color .l-hum {
  --color-border: #333;
  --color-text: #333;
}
html[data-bg=black] .l-header__logo, html[data-bg=blue] .l-header__logo {
  padding: 0 1.25rem;
  background-color: #fff;
}
html[data-bg=black] .l-header__setting, html[data-bg=blue] .l-header__setting {
  box-shadow: 0 0 0.25rem 0 white;
}
html[data-bg=black].is-bgchange body:not(.index) .l-hum, html[data-bg=blue].is-bgchange body:not(.index) .l-hum {
  --color-border: #333;
  --color-text: #333;
}
html[data-bg=black].is-bgchange .l-header.--reverse-color-bgchangeinter .l-hum, html[data-bg=blue].is-bgchange .l-header.--reverse-color-bgchangeinter .l-hum {
  --color-border: #333;
  --color-text: #333;
}

@media (hover: hover) {
  .l-header__nav-link {
    transition: all 0.3s;
  }
  .l-header__nav-link:hover {
    opacity: 0.7;
  }
}
.l-hum {
  position: absolute;
  top: 0.5rem;
  right: 0.625rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 3.5rem;
  height: 3.5rem;
  -webkit-backdrop-filter: blur(0.1875rem);
          backdrop-filter: blur(0.1875rem);
  border: 0.0625rem solid var(--color-border);
  border-radius: 1.75rem;
}
.l-hum__bar {
  position: relative;
  display: block;
  width: 100%;
  max-width: 1rem;
  height: 0.5rem;
  margin-top: 0.9375rem;
  margin-bottom: 0.4375rem;
}
.l-hum__bar span {
  position: absolute;
  left: 50%;
  display: block;
  width: 100%;
  height: 0.0625rem;
  background-color: var(--color-border);
  transition: 0.3s all;
  transform: translateX(-50%) translateY(-50%);
}
.l-hum__bar span:nth-child(1) {
  top: calc(50% - 0.1875rem);
}
.l-hum__bar span:nth-child(2) {
  top: calc(50% + 0.1875rem);
}
.l-hum__text {
  font-family: "Poppins", sans-serif;
  font-size: 0.6875rem;
  line-height: 1.2;
  color: var(--color-text);
  letter-spacing: 0.04em;
}
.l-hum.is-active .l-hum__bar span:nth-child(1) {
  top: 50%;
  transform: translateX(-50%) translateY(-50%) rotate(-24deg);
}
.l-hum.is-active .l-hum__bar span:nth-child(2) {
  top: 50%;
  transform: translateX(-50%) translateY(-50%) rotate(24deg);
}

@media all and (min-width: 768px), print {
  .l-header__nav-list {
    padding: 0 3.125rem;
    background: rgba(255, 255, 255, 0.2901960784);
    -webkit-backdrop-filter: blur(0.1875rem);
            backdrop-filter: blur(0.1875rem);
    border-radius: 3.125rem;
  }
  .l-header__menu {
    display: block !important;
  }
  .l-header.--light {
    color: #fff;
  }
  .l-hum {
    display: none;
  }
  html[data-bg=white] .l-header.--reverse-color, html[data-bg=yellow] .l-header.--reverse-color {
    color: #fff;
  }
  html[data-bg=black] .l-header.--reverse-color, html[data-bg=blue] .l-header.--reverse-color {
    color: #333;
  }
  html.is-bgchange[data-bg=white] .l-header.--reverse-color-bgchangeinter, html.is-bgchange[data-bg=yellow] .l-header.--reverse-color-bgchangeinter {
    color: #fff;
  }
  html.is-bgchange[data-bg=black] .l-header.--reverse-color-bgchangeinter, html.is-bgchange[data-bg=blue] .l-header.--reverse-color-bgchangeinter {
    color: #333;
  }
}
@media only screen and (max-width: 1280px) {
  .l-header__setting {
    transform: none;
  }
  html[data-bg=black] .l-header__logo, html[data-bg=blue] .l-header__logo {
    padding: 0 0.25rem;
    background-color: #fff;
  }
  html[data-bg=black] .l-hum, html[data-bg=blue] .l-hum {
    color: #fff;
    border-color: #d3d3d3;
  }
  html[data-bg=black] .l-hum__bar span, html[data-bg=blue] .l-hum__bar span {
    background-color: #fff;
  }
  html[data-bg=black] .l-hum__text, html[data-bg=blue] .l-hum__text {
    color: #fff;
  }
  html[data-bg=black] .l-header__menu {
    color: #fff;
    background-color: #000;
    border-color: #d3d3d3;
  }
  html[data-bg=blue] .l-header__menu {
    color: #fff;
    background-color: #0015ff;
    border-color: #d3d3d3;
  }
  html[data-bg=yellow] .l-header__menu {
    background-color: #ff0;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1280px) {
  .l-header__setting {
    position: fixed;
    top: unset;
    right: 1.25rem;
    bottom: 1rem;
    margin: 0;
  }
  .l-header__menu {
    max-width: calc(100% - 11.875rem);
    margin-right: 0;
    margin-left: auto;
  }
  .l-header__nav-list {
    gap: 1.5vw;
    padding: 0 1.25rem;
  }
  .l-header__nav-link {
    font-size: clamp(14px, 1.822vw, 15px);
  }
}
@media only screen and (max-width: 767px) {
  body.index .l-header__logo {
    visibility: hidden;
    opacity: 0;
    transition: all 0.3s;
  }
  body.index .l-header.is-menu-open .l-header__logo {
    visibility: visible;
    opacity: 1;
  }
  body.index .l-header.is-mv-passed .l-header__logo {
    visibility: visible;
    opacity: 1;
  }
  .l-header.is-menu-open .l-hum {
    --color-border: #333 !important;
    --color-text: #333 !important;
  }
  .l-header__inner {
    padding: 0.5rem 0.625rem 0;
  }
  .l-header__logo {
    left: 0.625rem;
    z-index: 1;
    width: 9.125rem;
  }
  .l-header__setting {
    position: fixed;
    top: unset;
    right: 0.625rem;
    bottom: 0.5rem;
    margin: unset;
  }
  .l-header__setting.is-hum {
    max-width: 3.5rem;
    max-height: 3.5rem;
  }
  .l-header__setting-open {
    width: 3.5rem;
  }
  .l-header__setting-open .com-icon {
    --icon-wrap-size: 1.5rem;
  }
  .l-header__container {
    position: static;
  }
  .l-header__menu {
    position: absolute;
    top: 0;
    left: 0;
    display: none;
    width: 100%;
    max-width: unset;
    height: 100vh;
    padding-top: 6.5rem;
    color: #333;
    background-color: #fff;
  }
  .l-header__nav-container {
    padding: 0 0.625rem 6.25rem;
    overflow-y: scroll;
  }
  .l-header__nav {
    height: auto;
  }
  .l-header__nav-list {
    flex-direction: column;
    gap: 0;
    border-top: 0.0625rem solid var(--color-border);
    margin-bottom: 3.75rem;
  }
  .l-header__nav-item {
    width: 100%;
    height: auto;
    border-bottom: 0.0625rem solid var(--color-border);
  }
  .l-header__nav-link {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    height: 3.4375rem;
    padding: 0.5rem 0.625rem;
    font-size: 0.9375rem;
  }
  .l-header__nav-link::after {
    position: absolute;
    top: 0;
    right: 0.625rem;
    bottom: 0;
    width: 1.5rem;
    aspect-ratio: 1/1;
    margin: auto;
    content: "";
    background-color: currentcolor;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.6666 6.66669C14.6666 6.66669 14.6666 12 19.9999 12C18.2221 12 14.6666 13.0667 14.6666 17.3334' stroke='%23333333' stroke-width='2'/%3E%3Cpath d='M4 12.0004H19.9997' stroke='%23333333' stroke-width='2'/%3E%3C/svg%3E%0A");
            mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.6666 6.66669C14.6666 6.66669 14.6666 12 19.9999 12C18.2221 12 14.6666 13.0667 14.6666 17.3334' stroke='%23333333' stroke-width='2'/%3E%3Cpath d='M4 12.0004H19.9997' stroke='%23333333' stroke-width='2'/%3E%3C/svg%3E%0A");
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: center;
            mask-position: center;
    -webkit-mask-size: contain;
            mask-size: contain;
  }
  .l-header__nav-link.--external::after {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18 14.0001C18 14.0001 14.0002 10.0003 17.9999 6.00053C16.6667 7.33377 13.2002 9.20029 10.0004 6.00043M6 17.9995L17.9982 6.00127' stroke='%23333333' stroke-width='2'/%3E%3C/svg%3E%0A");
            mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18 14.0001C18 14.0001 14.0002 10.0003 17.9999 6.00053C16.6667 7.33377 13.2002 9.20029 10.0004 6.00043M6 17.9995L17.9982 6.00127' stroke='%23333333' stroke-width='2'/%3E%3C/svg%3E%0A");
  }
}
/* footer */
.l-footer {
  padding-bottom: 2.5rem;
  margin-top: 20rem;
}
.l-footer__scroll {
  font-family: "Poppins", sans-serif;
  font-size: 0.875rem;
  line-height: 1.6;
  letter-spacing: 0.04em;
  display: flex;
  gap: 1.5rem;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 4rem;
  color: var(--color-text);
  border-top: 0.0625rem solid var(--color-border);
  border-bottom: 0.0625rem solid var(--color-border);
}
.l-footer__scroll .com-icon {
  --icon-wrap-size: 1.25rem;
  margin-right: 0.375rem;
}
.l-footer__container {
  display: flex;
  gap: 2.5rem;
  align-items: flex-end;
  justify-content: space-between;
  padding-top: 5rem;
}
.l-footer__about {
  flex-shrink: 0;
}
.l-footer__desc {
  margin-top: 2.75rem;
  font-size: 1.375rem;
  line-height: 1.8;
  letter-spacing: 0.04em;
}
.l-footer__info {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-top: 0.75rem;
}
.l-footer__address {
  font-size: 1rem;
  line-height: 1.8;
  letter-spacing: 0.04em;
}
.l-footer__tel {
  font-family: "Poppins", sans-serif;
  font-size: 1rem;
  letter-spacing: 0.04em;
}
.l-footer__mail {
  font-family: "Poppins", sans-serif;
  font-size: 1rem;
  letter-spacing: 0.04em;
}
.l-footer__nav-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0 min(4.1666666667vw, 5rem);
  align-items: center;
  justify-content: flex-end;
}
.l-footer__nav-link {
  font-family: "Poppins", sans-serif;
  font-size: 1rem;
  letter-spacing: 0.04em;
  display: inline-flex;
  align-items: center;
}
.l-footer__nav-link .com-icon {
  --icon-wrap-size: 1.5rem;
  margin-right: 0.25rem;
  margin-left: 0.25rem;
}
.l-footer__copyright {
  font-family: "Poppins", sans-serif;
  font-size: 0.875rem;
  line-height: 1.6;
  letter-spacing: 0.04em;
  margin-top: 2.5rem;
  color: #9b9b9b;
}

html[data-bg=black] .l-footer__logo, html[data-bg=blue] .l-footer__logo {
  padding: 0.625rem;
  background-color: #fff;
}

@media (hover: hover) {
  .l-footer__scroll.is-mouseenter .com-icon {
    animation: bounddownhover 0.5s linear both;
  }
  .l-footer__scroll.is-mouseenter:hover .com-icon {
    animation: bounduphover 0.5s linear both;
  }
  .l-footer__nav-link {
    transition: opacity 0.3s;
  }
  .l-footer__nav-link:hover {
    opacity: 0.7;
  }
  .l-footer__nav-link.is-mouseenter .com-icon {
    animation: boundlefthover 0.5s linear both;
  }
  .l-footer__nav-link.is-mouseenter:hover .com-icon {
    animation: boundrighthover 0.5s linear both;
  }
}
@media only screen and (max-width: 767px) {
  .l-footer {
    padding-bottom: 1.375rem;
    margin-top: 10rem;
  }
  .l-footer__scroll {
    min-height: 3.125rem;
    padding-left: 3.125rem;
    font-size: 0.8125rem;
  }
  .l-footer__container {
    gap: 0;
    padding: 2.1875rem 0.625rem 0;
  }
  .l-footer__logo img {
    width: 16.25rem;
  }
  .l-footer__desc {
    margin-top: 1.375rem;
    font-size: 1.25rem;
  }
  .l-footer__info {
    margin-top: 0.375rem;
  }
  .l-footer__address {
    font-size: 0.9375rem;
  }
  .l-footer__tel, .l-footer__mail {
    font-size: 0.9375rem;
  }
  .l-footer__nav {
    display: none !important;
  }
  .l-footer__copyright {
    font-size: 0.8125rem;
    padding: 0 0.625rem;
    margin-top: 2rem;
  }
}
/* main */
.l-inner {
  width: 77.5rem;
  max-width: 100%;
  height: inherit;
  padding: 0 1.25rem;
  margin: 0 auto;
}
.l-inner.--wide {
  width: 112.5rem;
}
.l-inner.--narrow {
  width: 65rem;
}

.l-section-first {
  margin-top: 7.5rem;
}

@media only screen and (max-width: 767px) {
  .l-inner.--padding-sp-sm {
    padding-right: 0.625rem;
    padding-left: 0.625rem;
  }
  .l-section-first {
    margin-top: 3.75rem;
  }
}
/* margin */
.l-margin p {
  margin-top: 1rem;
}
.l-margin p:first-child {
  margin-top: 0;
}
.l-margin ul,
.l-margin ol,
.l-margin dl {
  margin-top: 1.5rem;
}
.l-margin ul:first-child,
.l-margin ol:first-child,
.l-margin dl:first-child {
  margin-top: 0;
}
.l-margin .p-table-conteiner,
.l-margin table {
  margin-top: 2rem;
}
.l-margin .p-table-conteiner:first-child,
.l-margin table:first-child {
  margin-top: 0;
}
.l-margin img {
  margin-top: 1.5rem;
}
.l-margin img:first-child {
  margin-top: 0;
}
.l-margin blockquote {
  margin-top: 1.5rem;
}
.l-margin blockquote:first-child {
  margin-top: 0;
}
.l-margin .c-button,
.l-margin .e-button {
  margin-top: 1.5rem;
}
.l-margin .c-button:first-child,
.l-margin .e-button:first-child {
  margin-top: 0;
}
.l-margin .p-box,
.l-margin .e-box {
  margin-top: 1.5rem;
}
.l-margin .p-box:first-child,
.l-margin .e-box:first-child {
  margin-top: 0;
}
.l-margin .p-grid,
.l-margin .e-grid {
  margin-top: 5rem;
}
.l-margin .p-grid:first-child,
.l-margin .e-grid:first-child {
  margin-top: 0;
}
.l-margin .p-grid + .l-margin .p-grid,
.l-margin .p-grid + .l-margin .e-grid,
.l-margin .e-grid + .l-margin .p-grid,
.l-margin .e-grid + .l-margin .e-grid {
  margin-top: 2.5rem;
}
.l-margin .p-grid p,
.l-margin .e-grid p {
  margin-top: 0.5rem;
}
.l-margin h2:not(:first-child) {
  margin-top: 6rem;
}
.l-margin h2 + p {
  margin-top: 3rem;
}
.l-margin h2 + ul {
  margin-top: 3rem;
}
.l-margin h2 + ol {
  margin-top: 3rem;
}
.l-margin h2 + dl {
  margin-top: 3rem;
}
.l-margin h2 + img {
  margin-top: 3rem;
}
.l-margin h2 + table {
  margin-top: 3rem;
}
.l-margin h2 + blockquote {
  margin-top: 3rem;
}
.l-margin h2 + .c-button, .l-margin h2 + .e-button {
  margin-top: 3rem;
}
.l-margin h2 + .p-box, .l-margin h2 + .e-box {
  margin-top: 3rem;
}
.l-margin h2 + .p-grid, .l-margin h2 + .e-grid {
  margin-top: 3rem;
}
.l-margin h3:not(:first-child) {
  margin-top: 5rem;
}
.l-margin h3 + p {
  margin-top: 2rem;
}
.l-margin h3 + ul {
  margin-top: 2rem;
}
.l-margin h3 + ol {
  margin-top: 2rem;
}
.l-margin h3 + dl {
  margin-top: 2rem;
}
.l-margin h3 + img {
  margin-top: 2rem;
}
.l-margin h3 + table {
  margin-top: 2rem;
}
.l-margin h3 + blockquote {
  margin-top: 2rem;
}
.l-margin h3 + .c-button, .l-margin h3 + .e-button {
  margin-top: 2rem;
}
.l-margin h3 + .p-box, .l-margin h3 + .e-box {
  margin-top: 2rem;
}
.l-margin h3 + .p-grid, .l-margin h3 + .e-grid {
  margin-top: 2rem;
}
.l-margin h4:not(:first-child) {
  margin-top: 3.5rem;
}
.l-margin h4 + p {
  margin-top: 1.75rem;
}
.l-margin h4 + ul {
  margin-top: 1.75rem;
}
.l-margin h4 + ol {
  margin-top: 1.75rem;
}
.l-margin h4 + dl {
  margin-top: 1.75rem;
}
.l-margin h4 + img {
  margin-top: 1.75rem;
}
.l-margin h4 + table {
  margin-top: 1.75rem;
}
.l-margin h4 + blockquote {
  margin-top: 1.75rem;
}
.l-margin h4 + .c-button, .l-margin h4 + .e-button {
  margin-top: 1.75rem;
}
.l-margin h4 + .p-box, .l-margin h4 + .e-box {
  margin-top: 1.75rem;
}
.l-margin h4 + .p-grid, .l-margin h4 + .e-grid {
  margin-top: 1.75rem;
}
.l-margin h5:not(:first-child) {
  margin-top: 2.5rem;
}
.l-margin h5 + p {
  margin-top: 1.25rem;
}
.l-margin h5 + ul {
  margin-top: 1.25rem;
}
.l-margin h5 + ol {
  margin-top: 1.25rem;
}
.l-margin h5 + dl {
  margin-top: 1.25rem;
}
.l-margin h5 + img {
  margin-top: 1.25rem;
}
.l-margin h5 + table {
  margin-top: 1.25rem;
}
.l-margin h5 + blockquote {
  margin-top: 1.25rem;
}
.l-margin h5 + .c-button, .l-margin h5 + .e-button {
  margin-top: 1.25rem;
}
.l-margin h5 + .p-box, .l-margin h5 + .e-box {
  margin-top: 1.25rem;
}
.l-margin h5 + .p-grid, .l-margin h5 + .e-grid {
  margin-top: 1.25rem;
}
.l-margin h6:not(:first-child) {
  margin-top: 1.5rem;
}
.l-margin h6 + p {
  margin-top: 1.125rem;
}
.l-margin h6 + ul {
  margin-top: 1.125rem;
}
.l-margin h6 + ol {
  margin-top: 1.125rem;
}
.l-margin h6 + dl {
  margin-top: 1.125rem;
}
.l-margin h6 + img {
  margin-top: 1.125rem;
}
.l-margin h6 + table {
  margin-top: 1.125rem;
}
.l-margin h6 + blockquote {
  margin-top: 1.125rem;
}
.l-margin h6 + .c-button, .l-margin h6 + .e-button {
  margin-top: 1.125rem;
}
.l-margin h6 + .p-box, .l-margin h6 + .e-box {
  margin-top: 1.125rem;
}
.l-margin h6 + .p-grid, .l-margin h6 + .e-grid {
  margin-top: 1.125rem;
}

/* --------------------------------------------------
	4. object
-------------------------------------------------- */
/* component */
.anime-fadein {
  opacity: 0;
  animation-name: fadein;
  animation-duration: calc(var(--anime-duration, 0.7) * 1s);
  animation-play-state: paused;
  animation-timing-function: cubic-bezier(0.33, 1, 0.68, 1);
  animation-delay: calc(var(--delay, 0) * 1s);
  animation-fill-mode: forwards;
}

.anime-fadeup {
  opacity: 0;
  animation-name: fadeup;
  animation-duration: calc(var(--anime-duration, 0.7) * 1s);
  animation-play-state: paused;
  animation-timing-function: cubic-bezier(0.33, 1, 0.68, 1);
  animation-delay: calc(var(--delay, 0) * 1s);
  animation-fill-mode: forwards;
}

.anime-fadedown {
  opacity: 0;
  animation-name: fadedown;
  animation-duration: calc(var(--anime-duration, 0.7) * 1s);
  animation-play-state: paused;
  animation-timing-function: cubic-bezier(0.33, 1, 0.68, 1);
  animation-delay: calc(var(--delay, 0) * 1s);
  animation-fill-mode: forwards;
}

.anime-slidein {
  opacity: 0;
  animation-name: slidein;
  animation-duration: calc(var(--anime-duration, 1) * 1s);
  animation-play-state: paused;
  animation-timing-function: cubic-bezier(0.25, 1, 0.5, 1);
  animation-delay: calc(var(--delay, 0) * 1s);
  animation-fill-mode: forwards;
}

.anime-slidein-reverse {
  opacity: 0;
  animation-name: slideinreverse;
  animation-duration: calc(var(--anime-duration, 1) * 1s);
  animation-play-state: paused;
  animation-timing-function: cubic-bezier(0.25, 1, 0.5, 1);
  animation-delay: calc(var(--delay, 0) * 1s);
  animation-fill-mode: forwards;
}

.anime-child.is-active .anime-fadein {
  animation-play-state: running;
}
.anime-child.is-active .anime-fadeup {
  animation-play-state: running;
}
.anime-child.is-active .anime-fadedown {
  animation-play-state: running;
}
.anime-child.is-active .anime-slidein:not(.anime) {
  animation-play-state: running;
}
.anime-child.is-active .anime-slidein-reverse {
  animation-play-state: running;
}

.anime.is-active.anime-fadein {
  animation-play-state: running;
}
.anime.is-active.anime-fadeup {
  animation-play-state: running;
}
.anime.is-active.anime-fadedown {
  animation-play-state: running;
}
.anime.is-active.anime-slidein {
  animation-play-state: running;
}
.anime.is-active.anime-slidein-reverse {
  animation-play-state: running;
}

@keyframes fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeup {
  0% {
    max-height: unset;
    opacity: 0;
    transform: translateY(40px);
  }
  80% {
    opacity: 1;
  }
  100% {
    max-height: unset;
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadedown {
  0% {
    opacity: 0;
    transform: translateY(-40px);
  }
  80% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes slidein {
  0% {
    opacity: 0;
    transform: translateX(180px);
  }
  100% {
    transform: translateX(0);
  }
  40%, 100% {
    opacity: 1;
  }
}
@keyframes slideinreverse {
  0% {
    opacity: 0;
    transform: translateX(-180px);
  }
  100% {
    transform: translateX(0);
  }
  40%, 100% {
    opacity: 1;
  }
}
@keyframes boundrightbuttonhover {
  0% {
    transform: translateX(0);
  }
  33% {
    transform: translateX(0.625rem);
  }
  66% {
    transform: translateX(0.375rem);
  }
  100% {
    transform: translateX(0.5rem);
  }
}
@keyframes boundleftbuttonhover {
  0% {
    transform: translateX(8);
  }
  33% {
    transform: translateX(-0.125rem);
  }
  66% {
    transform: translateX(0.125rem);
  }
  100% {
    transform: translateX(0rem);
  }
}
@keyframes boundrighthover {
  0% {
    transform: translateX(0);
  }
  33% {
    transform: translateX(0.375rem);
  }
  66% {
    transform: translateX(0.125rem);
  }
  100% {
    transform: translateX(0.25rem);
  }
}
@keyframes boundlefthover {
  0% {
    transform: translateX(4);
  }
  33% {
    transform: translateX(-0.125rem);
  }
  66% {
    transform: translateX(0.125rem);
  }
  100% {
    transform: translateX(0rem);
  }
}
@keyframes boundrighthoverprev {
  0% {
    transform: translateX(-4);
  }
  33% {
    transform: translateX(0.125rem);
  }
  66% {
    transform: translateX(-0.125rem);
  }
  100% {
    transform: translateX(0rem);
  }
}
@keyframes boundlefthoverprev {
  0% {
    transform: translateX(0);
  }
  33% {
    transform: translateX(-0.375rem);
  }
  66% {
    transform: translateX(-0.125rem);
  }
  100% {
    transform: translateX(-0.25rem);
  }
}
@keyframes bounduphover {
  0% {
    transform: translateY(0);
  }
  33% {
    transform: translateY(-0.375rem);
  }
  66% {
    transform: translateY(-0.125rem);
  }
  100% {
    transform: translateY(-0.25rem);
  }
}
@keyframes bounddownhover {
  0% {
    transform: translateY(-4);
  }
  33% {
    transform: translateY(0.125rem);
  }
  66% {
    transform: translateY(-0.125rem);
  }
  100% {
    transform: translateY(0rem);
  }
}
@keyframes pathmove {
  0% {
    top: 0;
    height: 0;
    opacity: 0;
  }
  30% {
    height: 100%;
    opacity: 1;
  }
  100% {
    top: 60%;
    height: 0;
    opacity: 0;
  }
}
@keyframes slide-progress {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes slide {
  0% {
    transform: scaleX(0);
    transform-origin: left;
  }
  50% {
    transform: scaleX(1);
    transform-origin: left;
  }
  50.001% {
    transform-origin: right;
  }
  100% {
    transform: scaleX(0);
    transform-origin: right;
  }
}
@keyframes flowrighttoleft {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
.c-button-page {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  color: inherit;
  border: 0.0625rem solid var(--color);
  border-radius: 3rem;
  --color: currentcolor;
}
.c-button-page::before {
  width: 1.5rem;
  aspect-ratio: 1/1;
  content: "";
  background-color: var(--color);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.c-button-page::after {
  content: none;
}
.c-button-page.--prev {
  font-size: 0;
}
.c-button-page.--prev::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.33337 6.66663C9.33337 6.66663 9.33337 12 4.00013 12C5.77788 12 9.33337 13.0666 9.33337 17.3333' stroke='%23333333' stroke-width='2'/%3E%3Cpath d='M20.0002 12.0006H4.00169' stroke='%23333333' stroke-width='2'/%3E%3C/svg%3E%0A");
          mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.33337 6.66663C9.33337 6.66663 9.33337 12 4.00013 12C5.77788 12 9.33337 13.0666 9.33337 17.3333' stroke='%23333333' stroke-width='2'/%3E%3Cpath d='M20.0002 12.0006H4.00169' stroke='%23333333' stroke-width='2'/%3E%3C/svg%3E%0A");
}
.c-button-page.--next {
  font-size: 0;
}
.c-button-page.--next::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.6666 6.66669C14.6666 6.66669 14.6666 12 19.9999 12C18.2221 12 14.6666 13.0667 14.6666 17.3334' stroke='%23333333' stroke-width='2'/%3E%3Cpath d='M4 12.0004H19.9997' stroke='%23333333' stroke-width='2'/%3E%3C/svg%3E%0A");
          mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.6666 6.66669C14.6666 6.66669 14.6666 12 19.9999 12C18.2221 12 14.6666 13.0667 14.6666 17.3334' stroke='%23333333' stroke-width='2'/%3E%3Cpath d='M4 12.0004H19.9997' stroke='%23333333' stroke-width='2'/%3E%3C/svg%3E%0A");
}
.c-button-page.--white {
  --color: #fff;
}

@media (hover: hover) {
  .c-button-page.is-mouseenter.--prev::before {
    animation: boundrighthoverprev 0.5s linear both;
  }
  .c-button-page.is-mouseenter.--prev:hover::before {
    animation: boundlefthoverprev 0.5s linear both;
  }
  .c-button-page.is-mouseenter.--next::before {
    animation: boundlefthover 0.5s linear both;
  }
  .c-button-page.is-mouseenter.--next:hover::before {
    animation: boundrighthover 0.5s linear both;
  }
}
.com-icon {
  --icon-color: var(--color-text);
  --icon-wrap-size: 1rem;
  position: relative;
  display: inline-flex;
  width: var(--icon-wrap-w, var(--icon-wrap-size));
  height: var(--icon-wrap-h, var(--icon-wrap-size));
}
.com-icon::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: var(--icon-w, var(--icon-size, 100%));
  height: var(--icon-h, var(--icon-size, 100%));
  content: "";
  background-color: var(--icon-color);
  background-repeat: no-repeat;
  background-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  transform: translate(-50%, -50%);
}
.com-icon.--arrow-right::after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.6666 6.66669C14.6666 6.66669 14.6666 12 19.9999 12C18.2221 12 14.6666 13.0667 14.6666 17.3334' stroke='%23333333' stroke-width='2'/%3E%3Cpath d='M4 12.0004H19.9997' stroke='%23333333' stroke-width='2'/%3E%3C/svg%3E%0A");
          mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.6666 6.66669C14.6666 6.66669 14.6666 12 19.9999 12C18.2221 12 14.6666 13.0667 14.6666 17.3334' stroke='%23333333' stroke-width='2'/%3E%3Cpath d='M4 12.0004H19.9997' stroke='%23333333' stroke-width='2'/%3E%3C/svg%3E%0A");
}
.com-icon.--arrow-top::after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17.3333 9.33319C17.3333 9.33319 12 9.33319 12 4C12 5.77773 10.9333 9.33319 6.66665 9.33319' stroke='%23333333' stroke-width='2'/%3E%3Cpath d='M11.9993 20L11.9993 4.00164' stroke='%23333333' stroke-width='2'/%3E%3C/svg%3E%0A");
          mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17.3333 9.33319C17.3333 9.33319 12 9.33319 12 4C12 5.77773 10.9333 9.33319 6.66665 9.33319' stroke='%23333333' stroke-width='2'/%3E%3Cpath d='M11.9993 20L11.9993 4.00164' stroke='%23333333' stroke-width='2'/%3E%3C/svg%3E%0A");
}
.com-icon.--accordion-up::after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 7L3 16L5 16L12 9L19 16L21 16L12 7Z' fill='%23333333'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 7L3 16L5 16L12 9L19 16L21 16L12 7Z' fill='%23333333'/%3E%3C/svg%3E");
}
.com-icon.--accordion-down::after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 17L3 8L5 8L12 15L19 8L21 8L12 17Z' fill='%23333333'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 17L3 8L5 8L12 15L19 8L21 8L12 17Z' fill='%23333333'/%3E%3C/svg%3E");
}
.com-icon.--external::after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18 14.0001C18 14.0001 14.0002 10.0003 17.9999 6.00053C16.6667 7.33377 13.2002 9.20029 10.0004 6.00043M6 17.9995L17.9982 6.00127' stroke='%23333333' stroke-width='2'/%3E%3C/svg%3E%0A");
          mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18 14.0001C18 14.0001 14.0002 10.0003 17.9999 6.00053C16.6667 7.33377 13.2002 9.20029 10.0004 6.00043M6 17.9995L17.9982 6.00127' stroke='%23333333' stroke-width='2'/%3E%3C/svg%3E%0A");
}
.com-icon.--setting::after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='30' height='32' viewBox='0 0 30 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M8.14297 23.8444C8.49662 23.8444 8.85027 23.8892 9.1962 23.9819C10.2402 24.2629 11.1467 24.961 11.6841 25.8984C12.0331 26.4868 12.2262 27.174 12.2323 27.8751C12.2323 28.8789 13.0385 29.6835 14.0299 29.6835H15.9649C16.9518 29.6835 17.7579 28.8836 17.7625 27.8967C17.7564 26.8064 18.1826 25.7702 18.9625 24.9903C19.7316 24.2212 20.8064 23.7595 21.8813 23.7904C22.5855 23.8074 23.2634 23.9973 23.8611 24.3371C24.7213 24.8297 25.8193 24.5363 26.3166 23.6869L27.342 21.9773C27.5706 21.5835 27.637 21.0893 27.515 20.6338C27.3945 20.1782 27.0918 19.7828 26.6841 19.5496C25.7297 18.9999 25.0487 18.1134 24.7661 17.0509C24.4865 16.0085 24.6394 14.8703 25.1846 13.9329C25.5398 13.3152 26.0602 12.7948 26.6841 12.4365C27.5211 11.9469 27.8146 10.852 27.3281 9.99951C27.308 9.96554 27.2895 9.93002 27.274 9.89295L26.3691 8.32392C25.8764 7.46682 24.78 7.17185 23.9198 7.6614C22.9901 8.21118 21.8844 8.3687 20.8219 8.08918C19.7609 7.81429 18.8714 7.14251 18.317 6.19429C17.9618 5.60127 17.7687 4.91096 17.7625 4.20829C17.7764 3.68013 17.5911 3.20602 17.2545 2.85855C16.9193 2.51262 16.4483 2.31649 15.9649 2.31649H14.0299C13.5512 2.31649 13.1033 2.50335 12.7651 2.84002C12.4285 3.17822 12.2447 3.62762 12.2478 4.10636C12.2154 6.36417 10.3699 8.18184 8.13524 8.18184C7.41868 8.17412 6.72836 7.98108 6.12916 7.62279C5.28751 7.14405 4.18795 7.43902 3.69531 8.29612L2.6498 10.015C2.17106 10.8458 2.46448 11.9438 3.31695 12.4396C4.58175 13.1716 5.3709 14.5368 5.3709 16.0008C5.3709 17.4648 4.58175 18.8284 3.31386 19.562C2.46602 20.0531 2.1726 21.1449 2.6637 21.9943L3.63817 23.6745C3.87908 24.1085 4.27288 24.422 4.72846 24.5502C5.18249 24.6768 5.68285 24.6228 6.09982 24.3911C6.71292 24.0313 7.4264 23.8444 8.14297 23.8444ZM15.9649 32H14.0299C11.7613 32 9.91585 30.1561 9.91585 27.8875C9.91276 27.6079 9.83246 27.3176 9.68266 27.0659C9.4402 26.6427 9.04794 26.34 8.59545 26.2196C8.14605 26.0991 7.65341 26.1655 7.2488 26.4003C6.27896 26.9408 5.13771 27.0721 4.09374 26.7786C3.05132 26.4837 2.15098 25.7671 1.62282 24.8173L0.657616 23.1541C-0.471286 21.1959 0.200496 18.6864 2.15561 17.5559C2.71003 17.2362 3.05441 16.6401 3.05441 16.0008C3.05441 15.3614 2.71003 14.7638 2.15561 14.4441C0.198952 13.3075 -0.471286 10.7918 0.656072 8.83355L1.70313 7.11471C2.81658 5.17813 5.33384 4.49553 7.29667 5.62289C7.56384 5.78196 7.85418 5.86226 8.14914 5.86535C9.11126 5.86535 9.91585 5.07157 9.9313 4.09555C9.92512 3.01916 10.3498 1.986 11.1235 1.20612C11.9003 0.427779 12.9319 0 14.0299 0H15.9649C17.0707 0 18.1455 0.454032 18.9162 1.24318C19.6852 2.03697 20.1099 3.12572 20.0775 4.22991C20.0806 4.47855 20.1624 4.76579 20.3107 5.01752C20.5562 5.43448 20.9439 5.72791 21.4041 5.84836C21.8643 5.96264 22.3461 5.90087 22.7554 5.65841C24.7321 4.52951 27.2478 5.20592 28.3767 7.16722L29.3388 8.83355C29.3635 8.87833 29.3851 8.92157 29.4037 8.96636C30.426 10.8983 29.7434 13.3306 27.8439 14.441C27.5675 14.6001 27.3435 14.8225 27.1891 15.0912C26.9497 15.5066 26.8833 16.0008 27.0038 16.4548C27.1273 16.9181 27.4223 17.3026 27.8377 17.5405C28.7751 18.0794 29.4747 18.9875 29.7542 20.0361C30.0338 21.0832 29.8809 22.2198 29.3357 23.1572L28.3103 24.8652C27.1814 26.8049 24.6657 27.4767 22.709 26.3462C22.448 26.1964 22.1469 26.1146 21.8473 26.1069H21.838C21.3917 26.1069 20.933 26.2968 20.5995 26.6288C20.2613 26.967 20.0759 27.418 20.079 27.8967C20.0682 30.1653 18.2228 32 15.9649 32Z' fill='%2300A0D6'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M15.0039 13.0868C13.3978 13.0868 12.0914 14.3948 12.0914 16.0009C12.0914 17.607 13.3978 18.912 15.0039 18.912C16.61 18.912 17.9165 17.607 17.9165 16.0009C17.9165 14.3948 16.61 13.0868 15.0039 13.0868ZM15.0039 21.2285C12.1207 21.2285 9.7749 18.8842 9.7749 16.0009C9.7749 13.1177 12.1207 10.7703 15.0039 10.7703C17.8872 10.7703 20.233 13.1177 20.233 16.0009C20.233 18.8842 17.8872 21.2285 15.0039 21.2285Z' fill='%2300A0D6'/%3E%3C/svg%3E%0A");
          mask-image: url("data:image/svg+xml,%3Csvg width='30' height='32' viewBox='0 0 30 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M8.14297 23.8444C8.49662 23.8444 8.85027 23.8892 9.1962 23.9819C10.2402 24.2629 11.1467 24.961 11.6841 25.8984C12.0331 26.4868 12.2262 27.174 12.2323 27.8751C12.2323 28.8789 13.0385 29.6835 14.0299 29.6835H15.9649C16.9518 29.6835 17.7579 28.8836 17.7625 27.8967C17.7564 26.8064 18.1826 25.7702 18.9625 24.9903C19.7316 24.2212 20.8064 23.7595 21.8813 23.7904C22.5855 23.8074 23.2634 23.9973 23.8611 24.3371C24.7213 24.8297 25.8193 24.5363 26.3166 23.6869L27.342 21.9773C27.5706 21.5835 27.637 21.0893 27.515 20.6338C27.3945 20.1782 27.0918 19.7828 26.6841 19.5496C25.7297 18.9999 25.0487 18.1134 24.7661 17.0509C24.4865 16.0085 24.6394 14.8703 25.1846 13.9329C25.5398 13.3152 26.0602 12.7948 26.6841 12.4365C27.5211 11.9469 27.8146 10.852 27.3281 9.99951C27.308 9.96554 27.2895 9.93002 27.274 9.89295L26.3691 8.32392C25.8764 7.46682 24.78 7.17185 23.9198 7.6614C22.9901 8.21118 21.8844 8.3687 20.8219 8.08918C19.7609 7.81429 18.8714 7.14251 18.317 6.19429C17.9618 5.60127 17.7687 4.91096 17.7625 4.20829C17.7764 3.68013 17.5911 3.20602 17.2545 2.85855C16.9193 2.51262 16.4483 2.31649 15.9649 2.31649H14.0299C13.5512 2.31649 13.1033 2.50335 12.7651 2.84002C12.4285 3.17822 12.2447 3.62762 12.2478 4.10636C12.2154 6.36417 10.3699 8.18184 8.13524 8.18184C7.41868 8.17412 6.72836 7.98108 6.12916 7.62279C5.28751 7.14405 4.18795 7.43902 3.69531 8.29612L2.6498 10.015C2.17106 10.8458 2.46448 11.9438 3.31695 12.4396C4.58175 13.1716 5.3709 14.5368 5.3709 16.0008C5.3709 17.4648 4.58175 18.8284 3.31386 19.562C2.46602 20.0531 2.1726 21.1449 2.6637 21.9943L3.63817 23.6745C3.87908 24.1085 4.27288 24.422 4.72846 24.5502C5.18249 24.6768 5.68285 24.6228 6.09982 24.3911C6.71292 24.0313 7.4264 23.8444 8.14297 23.8444ZM15.9649 32H14.0299C11.7613 32 9.91585 30.1561 9.91585 27.8875C9.91276 27.6079 9.83246 27.3176 9.68266 27.0659C9.4402 26.6427 9.04794 26.34 8.59545 26.2196C8.14605 26.0991 7.65341 26.1655 7.2488 26.4003C6.27896 26.9408 5.13771 27.0721 4.09374 26.7786C3.05132 26.4837 2.15098 25.7671 1.62282 24.8173L0.657616 23.1541C-0.471286 21.1959 0.200496 18.6864 2.15561 17.5559C2.71003 17.2362 3.05441 16.6401 3.05441 16.0008C3.05441 15.3614 2.71003 14.7638 2.15561 14.4441C0.198952 13.3075 -0.471286 10.7918 0.656072 8.83355L1.70313 7.11471C2.81658 5.17813 5.33384 4.49553 7.29667 5.62289C7.56384 5.78196 7.85418 5.86226 8.14914 5.86535C9.11126 5.86535 9.91585 5.07157 9.9313 4.09555C9.92512 3.01916 10.3498 1.986 11.1235 1.20612C11.9003 0.427779 12.9319 0 14.0299 0H15.9649C17.0707 0 18.1455 0.454032 18.9162 1.24318C19.6852 2.03697 20.1099 3.12572 20.0775 4.22991C20.0806 4.47855 20.1624 4.76579 20.3107 5.01752C20.5562 5.43448 20.9439 5.72791 21.4041 5.84836C21.8643 5.96264 22.3461 5.90087 22.7554 5.65841C24.7321 4.52951 27.2478 5.20592 28.3767 7.16722L29.3388 8.83355C29.3635 8.87833 29.3851 8.92157 29.4037 8.96636C30.426 10.8983 29.7434 13.3306 27.8439 14.441C27.5675 14.6001 27.3435 14.8225 27.1891 15.0912C26.9497 15.5066 26.8833 16.0008 27.0038 16.4548C27.1273 16.9181 27.4223 17.3026 27.8377 17.5405C28.7751 18.0794 29.4747 18.9875 29.7542 20.0361C30.0338 21.0832 29.8809 22.2198 29.3357 23.1572L28.3103 24.8652C27.1814 26.8049 24.6657 27.4767 22.709 26.3462C22.448 26.1964 22.1469 26.1146 21.8473 26.1069H21.838C21.3917 26.1069 20.933 26.2968 20.5995 26.6288C20.2613 26.967 20.0759 27.418 20.079 27.8967C20.0682 30.1653 18.2228 32 15.9649 32Z' fill='%2300A0D6'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M15.0039 13.0868C13.3978 13.0868 12.0914 14.3948 12.0914 16.0009C12.0914 17.607 13.3978 18.912 15.0039 18.912C16.61 18.912 17.9165 17.607 17.9165 16.0009C17.9165 14.3948 16.61 13.0868 15.0039 13.0868ZM15.0039 21.2285C12.1207 21.2285 9.7749 18.8842 9.7749 16.0009C9.7749 13.1177 12.1207 10.7703 15.0039 10.7703C17.8872 10.7703 20.233 13.1177 20.233 16.0009C20.233 18.8842 17.8872 21.2285 15.0039 21.2285Z' fill='%2300A0D6'/%3E%3C/svg%3E%0A");
}
.com-icon.--close::after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 8L16 16' stroke='%2300A0D6' stroke-width='2'/%3E%3Cpath d='M16 8L8 16' stroke='%2300A0D6' stroke-width='2'/%3E%3C/svg%3E%0A");
          mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 8L16 16' stroke='%2300A0D6' stroke-width='2'/%3E%3Cpath d='M16 8L8 16' stroke='%2300A0D6' stroke-width='2'/%3E%3C/svg%3E%0A");
}
.com-icon.--stop::after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 4V20' stroke='%23333333' stroke-width='2'/%3E%3Cpath d='M17 4V20' stroke='%23333333' stroke-width='2'/%3E%3C/svg%3E%0A");
          mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 4V20' stroke='%23333333' stroke-width='2'/%3E%3Cpath d='M17 4V20' stroke='%23333333' stroke-width='2'/%3E%3C/svg%3E%0A");
}
.com-icon.--slash::after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16 4L8 20' stroke='%23333333' stroke-width='2'/%3E%3C/svg%3E ");
          mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16 4L8 20' stroke='%23333333' stroke-width='2'/%3E%3C/svg%3E ");
}
.com-icon.--logo::after {
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg width='24' height='25' viewBox='0 0 24 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20.5974 10.1019C20.5974 5.35313 16.7478 1.50439 11.9999 1.50439C7.252 1.50439 3.40234 5.35313 3.40234 10.1019C3.40234 12.9604 4.79845 15.4913 6.94462 17.0549H6.94093C6.94093 17.0549 6.95474 17.0641 6.98143 17.0816C7.06978 17.1451 7.15905 17.2076 7.25016 17.2684C8.12813 17.9025 10.5992 19.8968 10.8016 22.3881H10.8072C10.8513 23.0111 11.3649 23.5044 11.9999 23.5044C12.6349 23.5044 13.1484 23.0111 13.1926 22.3881H13.1981C13.4006 19.8968 15.8707 17.9034 16.7496 17.2684C16.8407 17.2076 16.9291 17.1451 17.0183 17.0816C17.0441 17.0641 17.0588 17.0549 17.0588 17.0549H17.0551C19.2013 15.4913 20.5974 12.9604 20.5974 10.1019Z' fill='%2300A3E9'/%3E%3Cpath d='M11.6424 4.87909C11.0304 8.668 10.042 9.65733 6.25213 10.2693C5.88861 10.3282 5.88861 10.8501 6.25213 10.909C10.042 11.52 11.0313 12.5094 11.6424 16.2992C11.7013 16.6627 12.2231 16.6627 12.282 16.2992C12.894 12.5094 13.8824 11.52 17.6723 10.909C18.0358 10.8501 18.0367 10.3282 17.6723 10.2693C13.8824 9.65733 12.8931 8.66892 12.282 4.87909C12.2231 4.51556 11.7013 4.51556 11.6424 4.87909Z' fill='white'/%3E%3C/svg%3E%0A");
}
.com-icon.--logogrey::after {
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg width='24' height='25' viewBox='0 0 24 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20.5974 10.1019C20.5974 5.35313 16.7478 1.50439 11.9999 1.50439C7.252 1.50439 3.40234 5.35313 3.40234 10.1019C3.40234 12.9604 4.79845 15.4913 6.94462 17.0549H6.94093C6.94093 17.0549 6.95474 17.0641 6.98143 17.0816C7.06978 17.1451 7.15905 17.2076 7.25016 17.2684C8.12813 17.9025 10.5992 19.8968 10.8016 22.3881H10.8072C10.8513 23.0111 11.3649 23.5044 11.9999 23.5044C12.6349 23.5044 13.1484 23.0111 13.1926 22.3881H13.1981C13.4006 19.8968 15.8707 17.9034 16.7496 17.2684C16.8407 17.2076 16.9291 17.1451 17.0183 17.0816C17.0441 17.0641 17.0588 17.0549 17.0588 17.0549H17.0551C19.2013 15.4913 20.5974 12.9604 20.5974 10.1019Z' fill='%23A6A6A6'/%3E%3Cpath d='M11.6424 4.87909C11.0304 8.668 10.042 9.65733 6.25213 10.2693C5.88861 10.3282 5.88861 10.8501 6.25213 10.909C10.042 11.52 11.0313 12.5094 11.6424 16.2992C11.7013 16.6627 12.2231 16.6627 12.282 16.2992C12.894 12.5094 13.8824 11.52 17.6723 10.909C18.0358 10.8501 18.0367 10.3282 17.6723 10.2693C13.8824 9.65733 12.8931 8.66892 12.282 4.87909C12.2231 4.51556 11.7013 4.51556 11.6424 4.87909Z' fill='white'/%3E%3C/svg%3E%0A");
}
.com-icon.--map::after {
  background-color: transparent;
  background-image: url("data:image/svg+xml,%3Csvg width='80' height='80' viewBox='0 0 80 80' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M40.0003 0C24.0245 0 11.0273 12.9972 11.0273 28.9728C11.0273 48.7991 36.9553 77.9053 38.0593 79.1346C39.0961 80.2895 40.9064 80.2874 41.9414 79.1346C43.0454 77.9053 68.9734 48.7991 68.9734 28.9728C68.973 12.9972 55.976 0 40.0003 0Z' fill='%2300A0D6'/%3E%3C/svg%3E%0A");
}
.com-icon.--point::after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='33' height='33' viewBox='0 0 33 33' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17.1893 4.81196C17.1893 4.43188 16.8815 4.12341 16.5007 4.12341C12.7041 4.12341 9.61523 7.21224 9.61523 11.0089C9.61523 11.389 9.92301 11.6974 10.3038 11.6974C10.6845 11.6974 10.9923 11.389 10.9923 11.0089C10.9923 7.9717 13.4635 5.50051 16.5007 5.50051C16.8815 5.50051 17.1893 5.19204 17.1893 4.81196Z' fill='%23333333' stroke='%23333333' stroke-width='0.2' stroke-linejoin='round'/%3E%3Cpath d='M15.2926 31.5H16.5003H17.708C18.8455 31.5 19.773 30.5739 19.7737 29.4344V28.6776C20.4843 28.3506 20.9821 27.6366 20.9821 26.8041V24.2427C21.1033 23.9797 21.1756 23.6905 21.1756 23.382C21.1756 22.6825 21.3312 22.0049 21.6376 21.3667C21.9412 20.7339 22.3853 20.1603 22.921 19.7079C25.5003 17.5287 26.852 14.2071 26.5359 10.8195C26.0539 5.74145 21.8448 1.73824 16.7138 1.50689L16.5003 1.5L16.2566 1.50757C11.1558 1.73824 6.94674 5.74145 6.46407 10.8209C6.14871 14.2064 7.50033 17.5287 10.0796 19.7073C10.6153 20.1603 11.0594 20.7339 11.3631 21.3667C11.6695 22.0049 11.8251 22.6825 11.8251 23.382C11.8251 23.6898 11.8974 23.9797 12.0186 24.2427V26.8048C12.0186 27.6373 12.5157 28.352 13.227 28.6783V29.4357C13.2277 30.5739 14.1551 31.5 15.2926 31.5ZM18.3966 29.4344C18.3966 29.8144 18.0874 30.1229 17.708 30.1229H16.5003H15.2926C14.9132 30.1229 14.6041 29.8137 14.6041 29.4344V28.8698H16.5003H18.3966V29.4344ZM19.605 26.8048C19.605 27.1842 19.2965 27.4933 18.9164 27.4933H16.5003H14.0842C13.7041 27.4933 13.3957 27.1842 13.3957 26.8048V25.3809C13.5554 25.4208 13.7193 25.4477 13.8907 25.4477H16.5003H19.1099C19.2814 25.4477 19.4452 25.4208 19.605 25.3809V26.8048ZM13.2022 23.382C13.2022 22.4745 13.0011 21.5953 12.6045 20.7704C12.2169 19.9641 11.6509 19.2328 10.9685 18.6558C8.73283 16.7678 7.56161 13.887 7.83497 10.9503C8.25291 6.55118 11.8995 3.08297 16.2869 2.88398L16.5003 2.87709L16.6828 2.88329C21.1012 3.08297 24.7478 6.55118 25.165 10.9489C25.4391 13.887 24.2678 16.7678 22.0321 18.6558C21.3498 19.2328 20.7838 19.9641 20.3961 20.7704C19.9995 21.5953 19.7985 22.4745 19.7985 23.382C19.7985 23.7614 19.49 24.0706 19.1099 24.0706H16.5003H13.8907C13.5107 24.0706 13.2022 23.7614 13.2022 23.382Z' fill='%23333333' stroke='%23333333' stroke-width='0.2' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
          mask-image: url("data:image/svg+xml,%3Csvg width='33' height='33' viewBox='0 0 33 33' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17.1893 4.81196C17.1893 4.43188 16.8815 4.12341 16.5007 4.12341C12.7041 4.12341 9.61523 7.21224 9.61523 11.0089C9.61523 11.389 9.92301 11.6974 10.3038 11.6974C10.6845 11.6974 10.9923 11.389 10.9923 11.0089C10.9923 7.9717 13.4635 5.50051 16.5007 5.50051C16.8815 5.50051 17.1893 5.19204 17.1893 4.81196Z' fill='%23333333' stroke='%23333333' stroke-width='0.2' stroke-linejoin='round'/%3E%3Cpath d='M15.2926 31.5H16.5003H17.708C18.8455 31.5 19.773 30.5739 19.7737 29.4344V28.6776C20.4843 28.3506 20.9821 27.6366 20.9821 26.8041V24.2427C21.1033 23.9797 21.1756 23.6905 21.1756 23.382C21.1756 22.6825 21.3312 22.0049 21.6376 21.3667C21.9412 20.7339 22.3853 20.1603 22.921 19.7079C25.5003 17.5287 26.852 14.2071 26.5359 10.8195C26.0539 5.74145 21.8448 1.73824 16.7138 1.50689L16.5003 1.5L16.2566 1.50757C11.1558 1.73824 6.94674 5.74145 6.46407 10.8209C6.14871 14.2064 7.50033 17.5287 10.0796 19.7073C10.6153 20.1603 11.0594 20.7339 11.3631 21.3667C11.6695 22.0049 11.8251 22.6825 11.8251 23.382C11.8251 23.6898 11.8974 23.9797 12.0186 24.2427V26.8048C12.0186 27.6373 12.5157 28.352 13.227 28.6783V29.4357C13.2277 30.5739 14.1551 31.5 15.2926 31.5ZM18.3966 29.4344C18.3966 29.8144 18.0874 30.1229 17.708 30.1229H16.5003H15.2926C14.9132 30.1229 14.6041 29.8137 14.6041 29.4344V28.8698H16.5003H18.3966V29.4344ZM19.605 26.8048C19.605 27.1842 19.2965 27.4933 18.9164 27.4933H16.5003H14.0842C13.7041 27.4933 13.3957 27.1842 13.3957 26.8048V25.3809C13.5554 25.4208 13.7193 25.4477 13.8907 25.4477H16.5003H19.1099C19.2814 25.4477 19.4452 25.4208 19.605 25.3809V26.8048ZM13.2022 23.382C13.2022 22.4745 13.0011 21.5953 12.6045 20.7704C12.2169 19.9641 11.6509 19.2328 10.9685 18.6558C8.73283 16.7678 7.56161 13.887 7.83497 10.9503C8.25291 6.55118 11.8995 3.08297 16.2869 2.88398L16.5003 2.87709L16.6828 2.88329C21.1012 3.08297 24.7478 6.55118 25.165 10.9489C25.4391 13.887 24.2678 16.7678 22.0321 18.6558C21.3498 19.2328 20.7838 19.9641 20.3961 20.7704C19.9995 21.5953 19.7985 22.4745 19.7985 23.382C19.7985 23.7614 19.49 24.0706 19.1099 24.0706H16.5003H13.8907C13.5107 24.0706 13.2022 23.7614 13.2022 23.382Z' fill='%23333333' stroke='%23333333' stroke-width='0.2' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
}
.com-icon.--write::after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='24' height='26' viewBox='0 0 24 26' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.3721 11.4064C20.6312 10.7847 19.5227 10.882 18.9022 11.6215L17.2344 13.595V7.87211C17.2344 7.39246 17.0349 6.92795 16.6872 6.59767L14.4614 4.48337C14.1333 4.17168 13.7034 4 13.2508 4H3.75781C2.78857 4 2 4.78857 2 5.75781V22.2422C2 23.2114 2.78857 24 3.75781 24H15.4766C16.4458 24 17.2344 23.2114 17.2344 22.2422V19.0405C17.3064 18.9552 21.5753 13.8987 21.5887 13.8828C22.2132 13.1386 22.1164 12.0309 21.3721 11.4064ZM13.7188 5.39417C16.0631 7.62109 15.8966 7.45832 15.9405 7.51566H13.7188V5.39417ZM16.0625 22.2422C16.0625 22.5653 15.7996 22.8281 15.4765 22.8281H3.75781C3.43472 22.8281 3.17186 22.5653 3.17186 22.2422V5.75781C3.17186 5.43472 3.43472 5.17186 3.75781 5.17186H12.5469V8.10153C12.5469 8.42513 12.8092 8.68748 13.1328 8.68748H16.0625V14.9817C15.8108 15.2795 13.7899 17.671 13.5714 17.9294C13.3969 18.1374 13.2713 18.3869 13.2083 18.6509L12.6637 20.9305C12.6122 21.1464 12.687 21.3729 12.857 21.5155C13.0272 21.6583 13.2633 21.6925 13.4667 21.6043L15.6171 20.6722C15.7786 20.6022 15.9292 20.5071 16.0625 20.3928V22.2422ZM14.6688 18.4465L15.5664 19.1996L15.3668 19.436C15.3087 19.5053 15.2341 19.561 15.1511 19.597L14.0759 20.063L14.3482 18.9233C14.3692 18.8352 14.411 18.7521 14.4679 18.6843L14.6688 18.4465ZM16.3223 18.3042L15.4252 17.5514C15.5162 17.4437 18.4603 13.9598 18.6639 13.7189L19.5592 14.4701L16.3223 18.3042ZM20.6922 13.1282L20.3152 13.5747L19.4204 12.8238L19.7986 12.3763C20.0052 12.1301 20.3732 12.0979 20.6188 12.304C20.8693 12.5142 20.8969 12.8842 20.6922 13.1282Z' fill='%2300A0D6'/%3E%3Cpath d='M10.7891 7.51562H4.9297C4.6061 7.51562 4.34375 7.77797 4.34375 8.10158C4.34375 8.42518 4.6061 8.68753 4.9297 8.68753H10.7891C11.1127 8.68753 11.375 8.42518 11.375 8.10158C11.375 7.77797 11.1127 7.51562 10.7891 7.51562Z' fill='%2300A0D6'/%3E%3Cpath d='M14.3047 11.0703H4.9297C4.6061 11.0703 4.34375 11.3327 4.34375 11.6563C4.34375 11.9799 4.6061 12.2422 4.9297 12.2422H14.3047C14.6283 12.2422 14.8907 11.9799 14.8907 11.6563C14.8907 11.3327 14.6283 11.0703 14.3047 11.0703Z' fill='%2300A0D6'/%3E%3Cpath d='M14.3047 14.5859H4.9297C4.6061 14.5859 4.34375 14.8483 4.34375 15.1719C4.34375 15.4955 4.6061 15.7578 4.9297 15.7578H14.3047C14.6283 15.7578 14.8907 15.4955 14.8907 15.1719C14.8907 14.8482 14.6283 14.5859 14.3047 14.5859Z' fill='%2300A0D6'/%3E%3Cpath d='M10.7891 18.1016H4.9297C4.6061 18.1016 4.34375 18.3639 4.34375 18.6875C4.34375 19.0111 4.6061 19.2735 4.9297 19.2735H10.7891C11.1127 19.2735 11.375 19.0111 11.375 18.6875C11.375 18.3639 11.1127 18.1016 10.7891 18.1016Z' fill='%2300A0D6'/%3E%3C/svg%3E%0A");
          mask-image: url("data:image/svg+xml,%3Csvg width='24' height='26' viewBox='0 0 24 26' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.3721 11.4064C20.6312 10.7847 19.5227 10.882 18.9022 11.6215L17.2344 13.595V7.87211C17.2344 7.39246 17.0349 6.92795 16.6872 6.59767L14.4614 4.48337C14.1333 4.17168 13.7034 4 13.2508 4H3.75781C2.78857 4 2 4.78857 2 5.75781V22.2422C2 23.2114 2.78857 24 3.75781 24H15.4766C16.4458 24 17.2344 23.2114 17.2344 22.2422V19.0405C17.3064 18.9552 21.5753 13.8987 21.5887 13.8828C22.2132 13.1386 22.1164 12.0309 21.3721 11.4064ZM13.7188 5.39417C16.0631 7.62109 15.8966 7.45832 15.9405 7.51566H13.7188V5.39417ZM16.0625 22.2422C16.0625 22.5653 15.7996 22.8281 15.4765 22.8281H3.75781C3.43472 22.8281 3.17186 22.5653 3.17186 22.2422V5.75781C3.17186 5.43472 3.43472 5.17186 3.75781 5.17186H12.5469V8.10153C12.5469 8.42513 12.8092 8.68748 13.1328 8.68748H16.0625V14.9817C15.8108 15.2795 13.7899 17.671 13.5714 17.9294C13.3969 18.1374 13.2713 18.3869 13.2083 18.6509L12.6637 20.9305C12.6122 21.1464 12.687 21.3729 12.857 21.5155C13.0272 21.6583 13.2633 21.6925 13.4667 21.6043L15.6171 20.6722C15.7786 20.6022 15.9292 20.5071 16.0625 20.3928V22.2422ZM14.6688 18.4465L15.5664 19.1996L15.3668 19.436C15.3087 19.5053 15.2341 19.561 15.1511 19.597L14.0759 20.063L14.3482 18.9233C14.3692 18.8352 14.411 18.7521 14.4679 18.6843L14.6688 18.4465ZM16.3223 18.3042L15.4252 17.5514C15.5162 17.4437 18.4603 13.9598 18.6639 13.7189L19.5592 14.4701L16.3223 18.3042ZM20.6922 13.1282L20.3152 13.5747L19.4204 12.8238L19.7986 12.3763C20.0052 12.1301 20.3732 12.0979 20.6188 12.304C20.8693 12.5142 20.8969 12.8842 20.6922 13.1282Z' fill='%2300A0D6'/%3E%3Cpath d='M10.7891 7.51562H4.9297C4.6061 7.51562 4.34375 7.77797 4.34375 8.10158C4.34375 8.42518 4.6061 8.68753 4.9297 8.68753H10.7891C11.1127 8.68753 11.375 8.42518 11.375 8.10158C11.375 7.77797 11.1127 7.51562 10.7891 7.51562Z' fill='%2300A0D6'/%3E%3Cpath d='M14.3047 11.0703H4.9297C4.6061 11.0703 4.34375 11.3327 4.34375 11.6563C4.34375 11.9799 4.6061 12.2422 4.9297 12.2422H14.3047C14.6283 12.2422 14.8907 11.9799 14.8907 11.6563C14.8907 11.3327 14.6283 11.0703 14.3047 11.0703Z' fill='%2300A0D6'/%3E%3Cpath d='M14.3047 14.5859H4.9297C4.6061 14.5859 4.34375 14.8483 4.34375 15.1719C4.34375 15.4955 4.6061 15.7578 4.9297 15.7578H14.3047C14.6283 15.7578 14.8907 15.4955 14.8907 15.1719C14.8907 14.8482 14.6283 14.5859 14.3047 14.5859Z' fill='%2300A0D6'/%3E%3Cpath d='M10.7891 18.1016H4.9297C4.6061 18.1016 4.34375 18.3639 4.34375 18.6875C4.34375 19.0111 4.6061 19.2735 4.9297 19.2735H10.7891C11.1127 19.2735 11.375 19.0111 11.375 18.6875C11.375 18.3639 11.1127 18.1016 10.7891 18.1016Z' fill='%2300A0D6'/%3E%3C/svg%3E%0A");
}

.c-button {
  display: inline-flex;
  align-items: stretch;
  min-height: 3rem;
  color: inherit;
}
.c-button__text {
  font-family: "Poppins", sans-serif;
  font-size: 1rem;
  letter-spacing: 0.04em;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 15rem;
  text-align: center;
  border-top: 0.0625rem solid currentcolor;
  border-bottom: 0.0625rem solid currentcolor;
  border-left: 0.0625rem solid currentcolor;
}
.c-button__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 3rem;
  border-top: 0.0625rem solid currentcolor;
  border-right: 0.0625rem solid currentcolor;
  border-bottom: 0.0625rem solid currentcolor;
}
.c-button__icon .com-icon {
  --icon-wrap-size: 1.5rem;
  --icon-color: currentcolor;
}
.c-button.--white {
  --color: #fff;
}
.c-button[disabled] {
  color: #e3e3e3;
  pointer-events: none;
}
@media only screen and (max-width: 767px) {
  .c-button {
    width: 20.9375rem;
    max-width: 100%;
  }
  .c-button__text {
    width: calc(100% - 3rem);
    min-width: unset;
    font-size: 0.9375rem;
  }
}

@media (hover: hover) {
  .c-button__text {
    transition: border-radius 0.3s;
  }
  .c-button__icon {
    transition: border-radius 0.3s;
  }
  .c-button.is-mouseenter .c-button__icon {
    animation: boundleftbuttonhover 0.6s linear both;
  }
  .c-button.is-mouseenter:hover .c-button__text {
    border-right: 0.0625rem solid currentcolor;
    border-radius: 3rem;
  }
  .c-button.is-mouseenter:hover .c-button__icon {
    border-left: 0.0625rem solid currentcolor;
    border-radius: 3rem;
    animation: boundrightbuttonhover 0.6s linear both;
  }
}
.c-heading {
  position: relative;
  display: inline-block;
  font-size: 2rem;
  color: #000;
}

@media only screen and (max-width: 767px) {
  .c-heading {
    font-size: 1.5rem;
  }
}
.c-heading-lv1.--white {
  color: #fff;
}
.c-heading-lv1__en {
  display: block;
  font-family: "Poppins", sans-serif;
  font-size: clamp(6.25rem, 12.7272727273vw, 14rem);
  line-height: 0.8;
  letter-spacing: 0.02em;
}
.c-heading-lv1__en.--lightest {
  color: #e3e3e3;
}
.c-heading-lv1__en.--white {
  color: #fff;
}
.c-heading-lv1__jp {
  display: block;
  margin-left: 0.5rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.25rem;
  font-weight: 600;
  letter-spacing: 0.04em;
}
@media only screen and (min-width: 768px) and (max-width: 1280px) {
  .c-heading-lv1__en {
    font-size: clamp(6.25rem, 13.0208333333vw, 14rem);
  }
}
@media only screen and (max-width: 767px) {
  .c-heading-lv1__en {
    font-size: clamp(60px, 4.75rem, 20.2666666667vw);
    letter-spacing: -0.04em;
  }
  .c-heading-lv1__jp {
    margin-top: -1rem;
    margin-left: 1.625rem;
  }
}

.c-heading-lv2 {
  font-size: 2rem;
  font-weight: 600;
  letter-spacing: 0.04em;
}
@media only screen and (max-width: 767px) {
  .c-heading-lv2 {
    font-size: 1.625rem;
  }
}

.c-heading-lv3 {
  font-size: 1.75rem;
  font-weight: 600;
  letter-spacing: 0.04em;
}
@media only screen and (max-width: 767px) {
  .c-heading-lv3 {
    font-size: 1.5rem;
  }
}

.c-heading-lv4 {
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: 0.04em;
}
@media only screen and (max-width: 767px) {
  .c-heading-lv4 {
    font-size: 1.25rem;
  }
}

.c-heading-lv5 {
  font-size: 1.25rem;
  font-weight: 600;
  letter-spacing: 0.04em;
}
@media only screen and (max-width: 767px) {
  .c-heading-lv5 {
    font-size: 1.125rem;
  }
}

.c-heading-lv6 {
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.04em;
}

.c-list-dot__item {
  position: relative;
  padding-left: 1.5em;
  font-size: 1rem;
  line-height: 1.8;
  letter-spacing: 0.04em;
}
.c-list-dot__item + li {
  margin-top: 0.4375rem;
}
.c-list-dot__item::before {
  position: absolute;
  top: 0.15em;
  left: 0;
  display: block;
  width: 1.5em;
  aspect-ratio: 1/1;
  content: "";
  background: currentcolor;
  border-radius: 50%;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='12' cy='12' r='3.5' stroke='%23333333'/%3E%3C/svg%3E%0A");
          mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='12' cy='12' r='3.5' stroke='%23333333'/%3E%3C/svg%3E%0A");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
@media only screen and (max-width: 767px) {
  .c-list-dot__item {
    font-size: 0.875rem;
    line-height: 1.8;
    letter-spacing: 0.04em;
  }
}

.c-list-ol {
  list-style: none;
  counter-reset: counter01;
}
.c-list-ol__item {
  font-size: 1rem;
  line-height: 1.8;
  letter-spacing: 0.04em;
  position: relative;
  padding-left: 3.25em;
  counter-increment: counter01;
}
.c-list-ol__item + li {
  margin-top: 1.5rem;
}
.c-list-ol__item::before {
  position: absolute;
  top: 0.0428571429em;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5714285714em;
  aspect-ratio: 36/28;
  padding: 0 0.5rem 0 0.125rem;
  text-align: center;
  content: counter(counter01, decimal-leading-zero);
  border-top: 0.0625rem solid var(--color-border);
  border-right: 0.0625rem solid var(--color-border);
  border-bottom: 0.0625rem solid var(--color-border);
  border-radius: 50%;
  border-radius: 0 2rem 2rem 0;
  font-size: 0.875rem;
  line-height: 1.8;
  letter-spacing: 0.04em;
}
@media only screen and (max-width: 767px) {
  .c-list-ol__item {
    font-size: 0.9375rem;
    padding-left: 2.6666666667em;
  }
  .c-list-ol__item::before {
    width: 2.4615384615em;
    font-size: 0.8125rem;
  }
}

.c-list-dl__dt {
  font-weight: bold;
}
.c-list-dl__dd {
  padding-left: 1em;
}

.c-text-link {
  position: relative;
  display: inline-block;
  font-size: 1rem;
  line-height: 1.8;
  color: var(--color-text);
  text-decoration: underline;
  text-underline-offset: 16%;
  letter-spacing: 0.04em;
}
.c-text-link.--blank::after {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  aspect-ratio: 1/1;
  margin-left: 0.25rem;
  vertical-align: middle;
  content: "";
  background-color: currentcolor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18 14.0001C18 14.0001 14.0002 10.0003 17.9999 6.00053C16.6667 7.33377 13.2002 9.20029 10.0004 6.00043M6 17.9995L17.9982 6.00127' stroke='%23333333' stroke-width='2'/%3E%3C/svg%3E%0A");
          mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18 14.0001C18 14.0001 14.0002 10.0003 17.9999 6.00053C16.6667 7.33377 13.2002 9.20029 10.0004 6.00043M6 17.9995L17.9982 6.00127' stroke='%23333333' stroke-width='2'/%3E%3C/svg%3E%0A");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.c-text-link.--back::before {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  aspect-ratio: 1/1;
  margin-right: 0.25rem;
  vertical-align: middle;
  content: "";
  background-color: currentcolor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.33337 6.66663C9.33337 6.66663 9.33337 12 4.00013 12C5.77788 12 9.33337 13.0666 9.33337 17.3333' stroke='%23333333' stroke-width='2'/%3E%3Cpath d='M20.0002 12.0006H4.00169' stroke='%23333333' stroke-width='2'/%3E%3C/svg%3E%0A");
          mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.33337 6.66663C9.33337 6.66663 9.33337 12 4.00013 12C5.77788 12 9.33337 13.0666 9.33337 17.3333' stroke='%23333333' stroke-width='2'/%3E%3Cpath d='M20.0002 12.0006H4.00169' stroke='%23333333' stroke-width='2'/%3E%3C/svg%3E%0A");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.c-text-link.--pdf::after {
  content: "";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.125rem;
  aspect-ratio: 1/1;
  margin-right: 0.25rem;
  vertical-align: middle;
  margin-left: 0.5rem;
  -webkit-mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg id='design' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13.91 13.91'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23fff;%7D.cls-2%7Bfill:none;stroke:%23fff;stroke-miterlimit:10;stroke-width:.91px;%7D%3C/style%3E%3C/defs%3E%3Cg id='g279'%3E%3Cg id='path281'%3E%3Cpath class='cls-1' d='M8.56,9.04h-3.22c-.1,0-.19-.05-.23-.14-.05-.08-.05-.19,0-.27l1.61-2.77c.1-.17.37-.17.47,0l1.61,2.77c.05.08.05.19,0,.27-.05.08-.14.14-.23.14ZM5.82,8.5h2.28l-1.14-1.96-1.14,1.96Z'/%3E%3C/g%3E%3C/g%3E%3Cg id='g283'%3E%3Cg id='path285'%3E%3Cpath class='cls-1' d='M6.95,6.27c-.1,0-.19-.05-.23-.13l-.74-1.28c-.2-.35-.2-.77,0-1.12.2-.35.57-.56.98-.56s.78.21.98.56c.2.35.2.77,0,1.12l-.74,1.28c-.05.08-.14.13-.23.13ZM6.95,3.71c-.21,0-.4.11-.51.29-.1.18-.1.4,0,.58l.51.88.51-.88c.11-.18.11-.4,0-.58-.11-.18-.3-.29-.51-.29Z'/%3E%3C/g%3E%3C/g%3E%3Cg id='g287'%3E%3Cg id='path289'%3E%3Cpath class='cls-1' d='M10.05,10.74c-.41,0-.77-.21-.98-.56l-.74-1.28c-.05-.08-.05-.19,0-.27.05-.08.14-.14.23-.14h1.49c.41,0,.78.21.98.56.2.35.2.77,0,1.12-.2.35-.57.56-.98.56ZM9.03,9.04l.51.87c.21.37.81.37,1.02,0,.11-.18.11-.4,0-.58-.11-.18-.3-.29-.51-.29h-1.02Z'/%3E%3C/g%3E%3C/g%3E%3Cg id='g291'%3E%3Cg id='path293'%3E%3Cpath class='cls-1' d='M3.86,10.74h0c-.41,0-.77-.21-.98-.56-.2-.35-.2-.77,0-1.12.2-.35.57-.56.98-.56h1.49c.1,0,.19.05.23.14.05.08.05.19,0,.27l-.74,1.28c-.2.35-.57.56-.98.56ZM3.86,9.04c-.21,0-.4.11-.51.29-.1.18-.1.4,0,.58.11.18.3.29.51.29h0c.21,0,.4-.11.51-.29l.51-.87h-1.02Z'/%3E%3C/g%3E%3C/g%3E%3Crect class='cls-2' x='.45' y='.45' width='13' height='13' rx='1.82' ry='1.82'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg id='design' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13.91 13.91'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23fff;%7D.cls-2%7Bfill:none;stroke:%23fff;stroke-miterlimit:10;stroke-width:.91px;%7D%3C/style%3E%3C/defs%3E%3Cg id='g279'%3E%3Cg id='path281'%3E%3Cpath class='cls-1' d='M8.56,9.04h-3.22c-.1,0-.19-.05-.23-.14-.05-.08-.05-.19,0-.27l1.61-2.77c.1-.17.37-.17.47,0l1.61,2.77c.05.08.05.19,0,.27-.05.08-.14.14-.23.14ZM5.82,8.5h2.28l-1.14-1.96-1.14,1.96Z'/%3E%3C/g%3E%3C/g%3E%3Cg id='g283'%3E%3Cg id='path285'%3E%3Cpath class='cls-1' d='M6.95,6.27c-.1,0-.19-.05-.23-.13l-.74-1.28c-.2-.35-.2-.77,0-1.12.2-.35.57-.56.98-.56s.78.21.98.56c.2.35.2.77,0,1.12l-.74,1.28c-.05.08-.14.13-.23.13ZM6.95,3.71c-.21,0-.4.11-.51.29-.1.18-.1.4,0,.58l.51.88.51-.88c.11-.18.11-.4,0-.58-.11-.18-.3-.29-.51-.29Z'/%3E%3C/g%3E%3C/g%3E%3Cg id='g287'%3E%3Cg id='path289'%3E%3Cpath class='cls-1' d='M10.05,10.74c-.41,0-.77-.21-.98-.56l-.74-1.28c-.05-.08-.05-.19,0-.27.05-.08.14-.14.23-.14h1.49c.41,0,.78.21.98.56.2.35.2.77,0,1.12-.2.35-.57.56-.98.56ZM9.03,9.04l.51.87c.21.37.81.37,1.02,0,.11-.18.11-.4,0-.58-.11-.18-.3-.29-.51-.29h-1.02Z'/%3E%3C/g%3E%3C/g%3E%3Cg id='g291'%3E%3Cg id='path293'%3E%3Cpath class='cls-1' d='M3.86,10.74h0c-.41,0-.77-.21-.98-.56-.2-.35-.2-.77,0-1.12.2-.35.57-.56.98-.56h1.49c.1,0,.19.05.23.14.05.08.05.19,0,.27l-.74,1.28c-.2.35-.57.56-.98.56ZM3.86,9.04c-.21,0-.4.11-.51.29-.1.18-.1.4,0,.58.11.18.3.29.51.29h0c.21,0,.4-.11.51-.29l.51-.87h-1.02Z'/%3E%3C/g%3E%3C/g%3E%3Crect class='cls-2' x='.45' y='.45' width='13' height='13' rx='1.82' ry='1.82'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  background-color: #ED2941;
}
@media (hover: hover) {
  .c-text-link {
    transition: 0.3s linear opacity;
  }
  .c-text-link:hover {
    opacity: 0.7;
  }
}
@media only screen and (max-width: 767px) {
  .c-text-link {
    font-size: 0.9375rem;
  }
}

@media (hover: hover) {
  .c-text-link::before {
    animation: boundrighthoverprev 0.5s linear both;
  }
  .c-text-link::after {
    animation: boundlefthover 0.5s linear both;
  }
  .c-text-link:hover::before {
    animation: boundlefthoverprev 0.5s linear both;
  }
  .c-text-link:hover::after {
    animation: boundrighthover 0.5s linear both;
  }
}
.c-text {
  font-size: 1rem;
  line-height: 1.8;
  letter-spacing: 0.04em;
}
.c-text.--lg {
  font-size: 1.125rem;
}
.c-text.--xlg {
  font-size: 1.25rem;
}
.c-text.--sm {
  font-size: 0.875rem;
}
@media only screen and (max-width: 767px) {
  .c-text.--sm {
    font-size: 0.8125rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-text {
    font-size: 0.9375rem;
  }
}

.c-input {
  font-size: 1rem;
  line-height: 1.8;
  letter-spacing: 0.04em;
}
.c-input.--narrow {
  max-width: 50rem;
}
.c-input.--x-narrow {
  max-width: 34.5rem;
}
.c-input + .c-input {
  margin-top: 2.5rem;
}
.c-input__label {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 0.625rem;
  cursor: default;
  font-size: 1rem;
  line-height: 1.8;
  letter-spacing: 0.04em;
}
.c-input__optional {
  font-size: 0.875rem;
  line-height: 1.8;
  letter-spacing: 0.04em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 1.5625rem;
  padding: 0rem 0.4375rem;
  margin-left: 0.5rem;
  line-height: 1.5;
  color: #9b9b9b;
  border: 0.0625rem solid #e3e3e3;
  border-radius: 2.5rem;
}
.c-input__optional.--required {
  color: #e20a0a;
  border-color: #e20a0a;
}
.c-input__error-text {
  margin-top: 0.25rem;
  font-size: 0.875rem;
  line-height: 1.8;
  letter-spacing: 0.04em;
  color: #e20a0a;
}
.c-input__error-text:empty {
  margin-top: 0rem;
}
.c-input__support-text {
  font-size: 0.875rem;
  line-height: 1.8;
  letter-spacing: 0.04em;
  margin-top: 0.25rem;
}
.c-input__text-label {
  position: relative;
  display: inline-flex;
  font-size: 1rem;
  line-height: 1.8;
  letter-spacing: 0.04em;
}
.c-input.error .c-input__error-text {
  display: block;
}
.c-input.error .c-input__container {
  background-color: #ffe9e9;
  border-color: #e20a0a;
}
.c-input__container {
  width: 100%;
  min-height: 3rem;
  padding: 0.5rem 1.5rem;
  font-size: 1rem;
  line-height: 1.8;
  letter-spacing: 0.04em;
  color: #333;
  background-color: #fff;
  border: 0.0625rem solid var(--color-border);
  outline: 0;
}
.c-input__container:is(textarea) {
  height: 10rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.c-input__container::-moz-placeholder {
  color: #9b9b9b;
}
.c-input__container::placeholder {
  color: #9b9b9b;
}
.c-input__container:focus {
  border-color: #fff;
  box-shadow: 0 0 0.25rem 0 rgba(51, 51, 51, 0.2);
}
.c-input__container.error {
  border-color: #e20a0a;
}
.c-input__check-wrap {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0 2.5rem;
}
.c-input__checkbox-container {
  position: relative;
  display: inline-block;
  width: 1.25rem;
  height: 1.25rem;
  margin-top: 0.0625rem;
  margin-top: 0.3125em;
  margin-right: 0.625rem;
  margin-left: 0.125rem;
  vertical-align: middle;
  border: 0.0625rem solid var(--color-border);
}
.c-input__checkbox-container::after {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 1rem;
  height: 0.8125rem;
  content: "";
  background-color: #fff;
  opacity: 0;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='16' height='13' viewBox='0 0 16 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 6.5L5.66667 11.5L15 1.5' stroke='white' stroke-width='2'/%3E%3C/svg%3E%0A");
          mask-image: url("data:image/svg+xml,%3Csvg width='16' height='13' viewBox='0 0 16 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 6.5L5.66667 11.5L15 1.5' stroke='white' stroke-width='2'/%3E%3C/svg%3E%0A");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  transform: translateX(-50%) translateY(-50%);
}
.c-input__checkbox {
  position: absolute;
  top: 0;
  left: 0;
  width: 1.25rem;
  height: 1.25rem;
  margin: 0;
  vertical-align: top;
  opacity: 0;
}
.c-input__checkbox:checked + .c-input__checkbox-container {
  background-color: #00a0d6;
  border-color: #00a0d6;
}
.c-input__checkbox:checked + .c-input__checkbox-container::after {
  opacity: 1;
}
.c-input__select {
  font-size: 1rem;
  line-height: 1.8;
  letter-spacing: 0.04em;
}
.c-input__select-wrap {
  position: relative;
  width: 100%;
}
.c-input__select-wrap::after {
  position: absolute;
  top: 50%;
  right: 2.125rem;
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  pointer-events: none;
  content: "";
  background-color: #333;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 17L3 8L5 8L12 15L19 8L21 8L12 17Z' fill='%23333333'/%3E%3C/svg%3E%0A");
          mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 17L3 8L5 8L12 15L19 8L21 8L12 17Z' fill='%23333333'/%3E%3C/svg%3E%0A");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  transform: translateY(-50%);
}
.c-input__select-wrap select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.c-input__select-wrap select::-ms-expand {
  display: none;
}

@media only screen and (max-width: 767px) {
  .c-input {
    font-size: 1rem;
  }
  .c-input + .c-input {
    margin-top: 1.5rem;
  }
  .c-input__label {
    font-size: 1rem;
    font-size: 0.9375rem;
  }
  .c-input__optional {
    font-size: 0.8125rem;
    min-height: 1.4375rem;
  }
  .c-input__error-text {
    font-size: 0.8125rem;
  }
  .c-input__support-text {
    font-size: 0.8125rem;
  }
  .c-input__container {
    font-size: 0.9375rem;
    padding-right: 1.25rem;
    padding-left: 1.25rem;
  }
  .c-input__text-label {
    font-size: 0.9375rem;
  }
  .c-input__select-wrap::after {
    right: 0.5rem;
  }
  .c-input__select {
    font-size: 1rem;
  }
}
.c-text-fill {
  position: relative;
  color: transparent;
  background: linear-gradient(to right, var(--color-text) 0%, var(--color-text) 100%);
  background-repeat: no-repeat;
  -webkit-background-clip: text !important;
          background-clip: text !important;
  background-size: 0% 100%;
  transition: background-size calc(var(--transition-duration, 0.8) * 1s) ease-out;
}
.c-text-fill__inner {
  position: absolute;
  left: 0;
  z-index: -1;
  color: var(--color-text);
  opacity: 0.1;
}
.c-text-fill__img {
  display: inline-block;
  -webkit-mask-image: linear-gradient(to right, var(--color-text) 0%, var(--color-text) 100%);
          mask-image: linear-gradient(to right, var(--color-text) 0%, var(--color-text) 100%);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 0% 100%;
          mask-size: 0% 100%;
  transition: -webkit-mask-size var(--transition-duration, 0.8s) ease-out;
  transition: mask-size var(--transition-duration, 0.8s) ease-out;
  transition: mask-size var(--transition-duration, 0.8s) ease-out, -webkit-mask-size var(--transition-duration, 0.8s) ease-out;
}
.c-text-fill.--img {
  display: inline-block;
  background: none !important;
}
.c-text-fill.--img picture {
  display: inline-block;
}
.c-text-fill.--img .c-text-fill {
  --transition-duration: 1.5s;
}
.c-text-fill.--img .c-text-fill__inner {
  top: 0;
  left: 0;
  width: 100%;
}

/* project */
.p-accordion__button {
  display: inline-flex;
  align-items: stretch;
  min-height: 3rem;
  color: inherit;
}
.p-accordion__button-text {
  font-family: "Poppins", sans-serif;
  font-size: 1rem;
  letter-spacing: 0.04em;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 15rem;
  text-align: center;
  border-top: 0.0625rem solid currentcolor;
  border-bottom: 0.0625rem solid currentcolor;
  border-left: 0.0625rem solid currentcolor;
}
.p-accordion__button-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 3rem;
  border-top: 0.0625rem solid currentcolor;
  border-right: 0.0625rem solid currentcolor;
  border-bottom: 0.0625rem solid currentcolor;
}
.p-accordion__button-icon .com-icon {
  --icon-wrap-size: 1.5rem;
  --icon-color: currentcolor;
}
.p-accordion__button.is-active .p-accordion__button-icon .com-icon {
  transform: rotate(180deg);
}
.p-accordion__button:hover {
  cursor: pointer;
}
.p-accordion__button:hover .p-accordion__button-text {
  transition: border-radius 0.3s;
}
.p-accordion__button:hover .p-accordion__button-icon {
  transition: border-radius 0.3s;
}
.p-accordion__button:hover.is-mouseenter .p-accordion__button .p-accordion__button-icon {
  animation: boundleftbuttonhover 0.6s linear both;
}
.p-accordion__button:hover.is-mouseenter:hover .p-accordion__button-text {
  border-right: 0.0625rem solid currentcolor;
  border-radius: 3rem;
}
.p-accordion__button:hover.is-mouseenter:hover .p-accordion__button-icon {
  border-left: 0.0625rem solid currentcolor;
  border-radius: 3rem;
  animation: boundrightbuttonhover 0.6s linear both;
}
.p-accordion__content {
  padding: 1.5rem 0rem;
  max-width: 18rem;
}
.p-accordion__content a {
  display: block;
}
.p-accordion__content a + a {
  margin-top: 0.5rem;
}

@media only screen and (max-width: 767px) {
  .p-accordion__button {
    width: 20.9375rem;
    max-width: 100%;
  }
  .p-accordion__button-text {
    width: calc(100% - 3rem);
    min-width: unset;
    font-size: 0.9375rem;
  }
  .p-accordion__content {
    max-width: 20.9375rem;
  }
}
.p-anchor-list {
  display: flex;
  gap: 1.25rem;
}
.p-anchor-list__link {
  display: block;
  padding: 0.5rem 1rem;
  color: #333;
  border: 0.0625rem solid #666;
  border-radius: 999rem;
}
.p-anchor-list__link.is-active {
  color: #fff;
  background-color: #333;
}
@media (hover: hover) {
  .p-anchor-list__link {
    transition: 0.3s linear background-color;
  }
  .p-anchor-list__link:hover {
    color: #fff;
    background-color: #333;
  }
}

.p-breadline__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.p-breadline__item {
  font-family: "Poppins", sans-serif;
  font-size: 0.875rem;
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: #9b9b9b;
  vertical-align: middle;
}
.p-breadline__item a {
  margin-right: 0.5rem;
  text-decoration: underline;
  text-underline-offset: 16%;
}
.p-breadline__item.--active {
  overflow: hidden;
  text-overflow: ellipsis;
}
.p-breadline__divider {
  display: inline-block;
  width: 1rem;
  aspect-ratio: 1/1;
  margin-right: 0.5rem;
  font-size: 0;
  vertical-align: middle;
  background-color: #9b9b9b;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.666 8L4.33203 13V10.501L8.49902 8L4.33203 5.5V3L12.666 8Z' fill='%239B9B9B'/%3E%3C/svg%3E%0A");
          mask-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.666 8L4.33203 13V10.501L8.49902 8L4.33203 5.5V3L12.666 8Z' fill='%239B9B9B'/%3E%3C/svg%3E%0A");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}

@media only screen and (max-width: 767px) {
  .p-breadline__item {
    font-size: 0.8125rem;
  }
  .p-breadline__item a {
    margin-right: 0.25rem;
  }
  .p-breadline__divider {
    margin-right: 0.25rem;
  }
}
.p-buttons {
  display: flex;
  gap: 2rem 5rem;
  align-items: center;
  justify-content: center;
}

@media only screen and (max-width: 767px) {
  .p-buttons {
    flex-direction: column-reverse;
  }
}
.p-card-01-wrap {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 4rem 2.25rem;
}
.p-card-01-wrap.--facilities {
  gap: 4rem 1.5rem;
}

.p-card-01 {
  position: relative;
}
.p-card-01__reservation {
  position: absolute;
  top: 0.5rem;
  left: 0.5rem;
  z-index: 1;
  display: flex;
  align-items: center;
  padding: 0.25rem 0.75rem;
  font-size: 0.875rem;
  line-height: 1.6;
  color: #333;
  text-align: center;
  letter-spacing: 0.04em;
  background-color: #fff;
  border-radius: 2rem;
}
.p-card-01__img {
  max-width: 100%;
  aspect-ratio: 376/251;
  overflow: hidden;
}
.p-card-01__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top;
     object-position: top;
}
.p-card-01__cont {
  padding: 0 0.25rem;
  margin-top: 0.625rem;
}
.p-card-01__label {
  font-size: 0.875rem;
  line-height: 1.8;
  letter-spacing: 0.04em;
  display: inline-flex;
  align-items: center;
  line-height: 1.6;
  color: #00a0d6;
}
.p-card-01__label::before {
  margin: 0 0.25rem 0 0;
  content: "#";
}
.p-card-01__title {
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.04em;
}
.p-card-01__text {
  font-size: 1rem;
  line-height: 1.8;
  letter-spacing: 0.04em;
  margin-top: 0.5rem;
}

@media (hover: hover) {
  .p-card-01__img img {
    transition-timing-function: ease-out;
    transition-duration: 0.5s;
    transition-property: transform;
  }
  .p-card-01:hover .p-card-01__img img {
    transform: scale(1.1);
  }
}
@media only screen and (max-width: 767px) {
  .p-card-01-wrap {
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 1.875rem;
  }
  .p-card-01__reservation {
    font-size: 0.8125rem;
  }
  .p-card-01__cont {
    margin-top: 0.75rem;
  }
  .p-card-01__lable {
    font-size: 0.8125rem;
  }
  .p-card-01__title {
    font-size: 1.125rem;
  }
  .p-card-01__text {
    font-size: 0.9375rem;
  }
}
.p-card-02-wrap {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2.25rem;
}

.p-card-02__img {
  overflow: hidden;
}
.p-card-02__img img {
  width: 100%;
}
.p-card-02__cont {
  padding: 0 0.25rem;
  margin-top: 0.75rem;
}
.p-card-02__heading {
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.04em;
  position: relative;
}
.p-card-02__heading::after {
  position: absolute;
  top: 0.25rem;
  right: 0;
  bottom: 0.25rem;
  width: 1.5rem;
  aspect-ratio: 1/1;
  margin: auto;
  content: "";
  background-color: currentcolor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.6666 6.66669C14.6666 6.66669 14.6666 12 19.9999 12C18.2221 12 14.6666 13.0667 14.6666 17.3334' stroke='%23333333' stroke-width='2'/%3E%3Cpath d='M4 12.0004H19.9997' stroke='%23333333' stroke-width='2'/%3E%3C/svg%3E%0A");
          mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.6666 6.66669C14.6666 6.66669 14.6666 12 19.9999 12C18.2221 12 14.6666 13.0667 14.6666 17.3334' stroke='%23333333' stroke-width='2'/%3E%3Cpath d='M4 12.0004H19.9997' stroke='%23333333' stroke-width='2'/%3E%3C/svg%3E%0A");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.p-card-02__txt {
  margin-top: 0.5rem;
  font-size: 1rem;
  line-height: 1.8;
  letter-spacing: 0.04em;
}

@media (hover: hover) {
  .p-card-02__img img {
    transition-timing-function: ease-out;
    transition-duration: 0.5s;
    transition-property: transform;
  }
  .p-card-02:hover .p-card-02__img img {
    transform: scale(1.1);
  }
  .p-card-02.is-mouseenter .p-card-02__heading::after {
    animation: boundlefthover 0.5s linear both;
  }
  .p-card-02.is-mouseenter:hover .p-card-02__heading::after {
    animation: boundrighthover 0.5s linear both;
  }
}
@media only screen and (max-width: 767px) {
  .p-card-02-wrap {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .p-card-02__heading {
    font-size: 1.125rem;
  }
  .p-card-02__txt {
    font-size: 0.875rem;
    line-height: 1.8;
    letter-spacing: 0.04em;
  }
}
.p-card-03 {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  align-items: flex-end;
  justify-content: space-between;
}
.p-card-03__left {
  max-width: calc(100% - 17.5rem);
  padding-left: 0.25rem;
}
.p-card-03__right {
  padding-right: 0.25rem;
}
.p-card-03__reservation {
  display: inline-block;
  padding: 0.125rem 0.75rem;
  margin-right: 0.25rem;
  line-height: 1.6;
  color: #333;
  vertical-align: middle;
  background-color: #ececec;
  border-radius: 2rem;
  font-size: 0.875rem;
  line-height: 1.8;
  letter-spacing: 0.04em;
}
.p-card-03__cat {
  display: inline-flex;
  gap: 0.25rem;
  align-items: center;
  line-height: 1.6;
  color: #00a0d6;
  vertical-align: middle;
  font-size: 0.875rem;
  line-height: 1.8;
  letter-spacing: 0.04em;
}
.p-card-03__cat::before {
  content: "#";
}
.p-card-03__title {
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.04em;
  margin-top: 0.5rem;
}
.p-card-03__right {
  display: flex;
  flex-shrink: 0;
  gap: 1rem;
  align-items: center;
  margin-bottom: 0.25rem;
}
.p-card-03__right .c-text-link {
  font-size: 0.875rem;
}
.p-card-03__sns {
  display: flex;
  gap: 0.75rem;
  align-items: center;
}
.p-card-03__sns li:first-child {
  margin-right: 0.25rem;
}
@media (hover: hover) {
  .p-card-03__sns a {
    transition: all 0.3s;
  }
  .p-card-03__sns a:hover {
    opacity: 0.7;
  }
}
.p-card-03__image {
  width: 100%;
  max-width: 100%;
  max-height: 61.875rem;
  aspect-ratio: 1760/990;
}
.p-card-03__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

@media only screen and (max-width: 767px) {
  .p-card-03 {
    flex-direction: column;
    gap: 0.5rem;
    align-items: stretch;
  }
  .p-card-03__left {
    max-width: 100%;
    padding: 0 0.625rem;
  }
  .p-card-03__right {
    justify-content: flex-end;
    order: 3;
    padding: 0 0.625rem;
  }
  .p-card-03__reservation {
    font-size: 0.8125rem;
    margin-right: 0.5rem;
  }
  .p-card-03__cat {
    font-size: 0.8125rem;
  }
  .p-card-03__title {
    font-size: 1.625rem;
    margin-top: 0;
  }
  .p-card-03__right {
    margin-bottom: 0;
  }
  .p-card-03__right .c-text-link {
    font-size: 0.8125rem;
  }
}
.p-card-detail01 {
  display: flex;
  gap: 2.7272727273%;
}
.p-card-detail01__cont {
  width: 29.5454545455%;
  margin-top: -0.125rem;
}
.p-card-detail01__tag {
  font-size: 0.875rem;
  line-height: 1.8;
  letter-spacing: 0.04em;
  line-height: 1.6;
  color: #00a0d6;
}
.p-card-detail01__tag::before {
  display: inline-block;
  margin-right: 0.25rem;
  content: "#";
}
.p-card-detail01__heading {
  margin-top: 0.5rem;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.04em;
}
.p-card-detail01__img {
  max-width: 74.5rem;
  aspect-ratio: 1192/671;
}
.p-card-detail01__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
}

@media only screen and (min-width: 768px) and (max-width: 1280px) {
  .p-card-detail01 {
    flex-direction: column;
    gap: 1.5rem;
  }
  .p-card-detail01__cont {
    width: 10;
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .p-card-detail01 {
    flex-direction: column;
    gap: 0.5rem;
    align-items: stretch;
  }
  .p-card-detail01__cont {
    width: 100%;
    margin-top: 0;
  }
  .p-card-detail01__tag {
    font-size: 0.8125rem;
    margin: 0 0.625rem;
  }
  .p-card-detail01__tag::before {
    margin-right: 0.25rem;
  }
  .p-card-detail01__heading {
    margin: 0 0.625rem;
    font-size: 1.625rem;
  }
}
.p-card-point {
  display: flex;
  gap: 7.6923076923%;
  align-items: center;
  padding: 3.9375rem 4.9375rem;
  border: 0.0625rem solid var(--color-border);
}
.p-card-point__head {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  gap: 1rem;
  align-items: center;
  text-align: center;
  font-family: "Poppins", sans-serif;
  font-size: 1.5rem;
  letter-spacing: 0.04em;
}
.p-card-point__head .com-icon {
  --icon-wrap-size: 2rem;
}

@media only screen and (max-width: 767px) {
  .p-card-point {
    flex-direction: column;
    gap: 1.5rem;
    align-items: stretch;
    padding: 2.5rem 1.25rem;
  }
  .p-card-point__head {
    flex-direction: row;
    justify-content: center;
    padding-right: 1rem;
  }
}
.p-column-01 {
  position: relative;
  display: flex;
  gap: 4%;
}
.p-column-01__picture {
  flex-grow: 1;
  max-width: 37.5rem;
  aspect-ratio: 600/400;
  overflow: hidden;
}
.p-column-01__picture img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top;
     object-position: top;
}
.p-column-01__content {
  flex-shrink: 0;
  align-self: center;
  width: 46%;
}
.p-column-01__label {
  display: flex;
  gap: 0.25rem;
  align-items: center;
  font-size: 0.875rem;
  line-height: 1.6;
  color: #00a0d6;
  letter-spacing: 0.04em;
}
.p-column-01__label::before {
  content: "#";
}
.p-column-01__title {
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.04em;
}
.p-column-01__text {
  font-size: 1rem;
  line-height: 1.8;
  letter-spacing: 0.04em;
  margin-top: 1rem;
}
.p-column-01__button {
  margin-top: 2.5rem;
}
.p-column-01__control {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 1;
  display: flex;
  gap: 1rem;
  align-items: center;
  justify-content: flex-start;
  width: 47%;
  max-width: 37.5rem;
  padding-bottom: 1.5rem;
}
.p-column-01__control .c-button-page {
  position: static;
  margin: 0;
}
.p-column-01__control .swiper-pagination {
  position: static;
  display: inline-flex;
  align-items: center;
  width: auto;
  font-size: 0.875rem;
  line-height: 1.8;
  letter-spacing: 0.04em;
}
.p-column-01__control .swiper-pagination > * {
  width: 1.25rem;
}
.p-column-01.--top {
  gap: 5.4054054054%;
}
@media all and (min-width: 768px), print {
  .p-column-01.--top .p-column-01__content {
    width: 47%;
    max-width: 37.5rem;
    padding-bottom: 6.25rem;
  }
}

@media (hover: hover) {
  .p-column-01__picture img {
    transition-timing-function: ease-out;
    transition-duration: 0.5s;
    transition-property: transform;
  }
  .p-column-01[href]:hover .p-column-01__picture img {
    transform: scale(1.05);
  }
}
@media only screen and (max-width: 767px) {
  .p-column-01 {
    display: flex;
    flex-direction: column;
  }
  .p-column-01.--top {
    flex-direction: column-reverse;
  }
  .p-column-01.--top .p-column-01__picture {
    margin-top: 0.5rem;
  }
  .p-column-01.--top .p-column-01__content {
    padding: 0;
    margin-top: 0;
    margin-left: 0.125rem;
  }
  .p-column-01.--top .p-column-01__text {
    display: -webkit-box;
    margin-top: 0.25rem;
    margin-right: 1rem;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }
  .p-column-01__picture {
    width: 100%;
  }
  .p-column-01__content {
    width: 100%;
    max-width: 100%;
    padding: 0 0.25rem;
    margin-top: 0.75rem;
  }
  .p-column-01__label {
    font-size: 0.8125rem;
  }
  .p-column-01__title {
    font-size: 1.25rem;
  }
  .p-column-01__text {
    font-size: 0.9375rem;
    margin-top: 0.5rem;
  }
  .p-column-01__control {
    position: static;
    justify-content: center;
    width: 100%;
    max-width: unset;
    padding-bottom: 0;
    margin-top: 1.5rem;
  }
  .p-column-01__control .swiper-pagination {
    font-size: 0.8125rem;
  }
  .p-column-01__button {
    margin: 1.5rem -0.25rem 0;
    text-align: center;
  }
}
.p-column-02 {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.p-column-02__img {
  flex-shrink: 0;
  width: 50%;
}
.p-column-02__img img {
  width: 100%;
}
.p-column-02__content {
  width: 46%;
}
.p-column-02__title {
  font-size: 1.75rem;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.04em;
}
.p-column-02__text {
  font-size: 1rem;
  line-height: 1.8;
  letter-spacing: 0.04em;
  margin-top: 1rem;
}
.p-column-02__button {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  align-items: flex-start;
  margin-top: 2.5rem;
}

@media only screen and (max-width: 767px) {
  .p-column-02 {
    display: block;
  }
  .p-column-02__img {
    width: 100%;
  }
  .p-column-02__content {
    width: 100%;
    margin-top: 0.75rem;
  }
  .p-column-02__title {
    font-size: 1.5rem;
  }
  .p-column-02__text {
    margin-top: 0.25rem;
    font-size: 0.9375rem;
  }
  .p-column-02__button {
    gap: 1rem;
    align-items: center;
    margin-top: 1.5rem;
  }
}
.p-column-03 {
  display: flex;
  gap: 1.5rem;
  align-items: center;
}
.p-column-03__img {
  flex-shrink: 0;
  width: 31.3333333333%;
}
.p-column-03__head {
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.04em;
}
.p-column-03__text {
  font-size: 1rem;
  line-height: 1.8;
  letter-spacing: 0.04em;
  margin-top: 1rem;
}

@media only screen and (max-width: 767px) {
  .p-column-03 {
    flex-direction: column;
    gap: 0.75rem;
  }
  .p-column-03__img {
    width: 100%;
    max-width: 18.4375rem;
  }
  .p-column-03__head {
    font-size: 1.25rem;
  }
  .p-column-03__text {
    font-size: 0.9375rem;
    margin-top: 0.25rem;
  }
}
.p-column-04 {
  display: flex;
  justify-content: space-between;
}
.p-column-04__content {
  width: 40.5405405405%;
}
.p-column-04__title {
  margin-top: 2.5rem;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.04em;
}
.p-column-04__text {
  margin-top: 3rem;
  font-size: 1rem;
  line-height: 1.8;
  letter-spacing: 0.04em;
}
.p-column-04__img {
  flex-shrink: 0;
  width: 54.0540540541%;
  max-width: 100%;
  aspect-ratio: 800/533;
  text-align: center;
}
.p-column-04__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: top;
     object-position: top;
}

@media only screen and (min-width: 768px) and (max-width: 1280px) {
  .p-column-04 {
    display: flex;
    flex-direction: column-reverse;
  }
  .p-column-04__content {
    width: 100%;
  }
  .p-column-04__img {
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .p-column-04 {
    flex-direction: column;
    gap: 1rem;
  }
  .p-column-04__content {
    width: 100%;
  }
  .p-column-04__title {
    margin-top: 0;
    font-size: 1.625rem;
  }
  .p-column-04__text {
    margin-top: 0.25rem;
    font-size: 0.9375rem;
  }
  .p-column-04__img {
    width: 100%;
  }
}
.p-flow.--detail .p-flow__cont {
  padding: 2.5rem 5rem 4rem;
}
.p-flow.--detail .p-flow__text {
  margin-top: 0;
}
.p-flow__index {
  display: flex;
  gap: 0.5rem;
  align-items: flex-end;
  margin-bottom: -0.125rem;
  font-family: "Poppins", sans-serif;
  font-size: 2rem;
  line-height: 0.8;
  letter-spacing: 0.02em;
}
.p-flow__index-num {
  margin-bottom: -0.125rem;
  font-size: 3rem;
}
.p-flow__cont {
  padding: 4rem 5rem;
  border: 0.0625rem solid var(--color-border);
}
.p-flow__cont h2 + p {
  margin-top: 1.5rem;
}
.p-flow__cont h2 + ul {
  margin-top: 1.5rem;
}
.p-flow__cont p + ul {
  margin-top: 1.5rem;
}
.p-flow__cont p + a {
  margin-top: 1.5rem;
}
.p-flow__cont ul + p {
  margin-top: 1.5rem;
}
.p-flow__cont ul + a {
  margin-top: 1.5rem;
}
.p-flow__title {
  display: flex;
  gap: 1.5rem;
  align-items: center;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.04em;
}
.p-flow__title-icon {
  --icon-wrap-size: 5rem;
  flex-shrink: 0;
}
.p-flow__title-icon::before {
  position: absolute;
  top: 0.875rem;
  right: 0;
  left: 0;
  z-index: 1;
  margin: 0 auto;
  font-size: 0.9375rem;
  font-style: normal;
  line-height: 1.2;
  color: #fff;
  text-align: center;
  letter-spacing: 0.04em;
  white-space: pre-line;
  content: "HERE\aNOW";
}
.p-flow__body {
  display: flex;
  gap: 4.6242774566%;
  align-items: center;
  margin-top: 1.5rem;
}
.p-flow__img {
  flex-shrink: 0;
  width: 36.2235067437%;
  max-width: 100%;
  aspect-ratio: 376/251;
}
.p-flow__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.p-flow__text {
  font-size: 1rem;
  line-height: 1.8;
  letter-spacing: 0.04em;
  margin-top: 1.5rem;
}
.p-flow__list {
  margin-top: 1.5rem;
}
.p-flow__link {
  margin-top: 1.5rem;
}

@media only screen and (max-width: 767px) {
  .p-flow.--detail .p-flow__cont {
    padding: 1.5rem 1.25rem 2.5rem;
  }
  .p-flow.--detail .p-flow__text {
    margin-top: 0.75rem;
  }
  .p-flow.--detail .p-flow__body {
    margin-top: 0.5rem;
  }
  .p-flow__index {
    font-size: 1.5rem;
  }
  .p-flow__index-num {
    font-size: 2.5rem;
  }
  .p-flow__cont {
    padding: 2.5rem 1.25rem;
  }
  .p-flow__title {
    font-size: 1.25rem;
    gap: 0.5rem;
  }
  .p-flow__title-icon {
    --icon-wrap-size: 3rem;
  }
  .p-flow__title-icon::before {
    top: 0.5rem;
    font-size: 0.5625rem;
  }
  .p-flow__body {
    display: block;
    margin-top: 0.75rem;
  }
  .p-flow__img {
    width: 100%;
    margin-bottom: -0.25rem;
  }
  .p-flow__text {
    font-size: 0.9375rem;
    margin-top: 1rem;
  }
  .p-flow__list {
    margin-top: 1rem;
  }
  .p-flow__link {
    margin-top: 1rem;
  }
}
.p-box {
  padding: 4rem 5rem;
  border: 0.0625rem solid var(--color-border);
}
.p-box__title {
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.04em;
}
.p-box__text {
  font-size: 1rem;
  line-height: 1.8;
  letter-spacing: 0.04em;
  margin-top: 0.5rem;
}

@media only screen and (max-width: 767px) {
  .p-box {
    padding: 2.5rem 1.25rem;
  }
  .p-box__title {
    font-size: 1.125rem;
  }
  .p-box__text {
    font-size: 0.9375rem;
  }
}
.p-grid {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 1rem;
}
.p-grid.--repeat-2 {
  grid-template-columns: repeat(2, 1fr);
}
.p-grid.--repeat-3 {
  grid-template-columns: repeat(3, 1fr);
}
.p-grid__texts {
  margin-top: 1rem;
}
.p-grid__col {
  /* CMSエディタ―のみで適応 */
  /* border: dashed pxtorem(1) #c2c2c2; */
}

.p-table {
  border-top: 0.0625rem solid #e3e3e3;
}
.p-table thead__th {
  position: relative;
  vertical-align: middle;
}
.p-table__th {
  font-size: 1rem;
  line-height: 1.8;
  letter-spacing: 0.04em;
  position: relative;
  border-bottom: 0.0625rem solid #e3e3e3;
  vertical-align: middle;
  min-height: 56px;
  padding: 1.5rem;
  text-align: center;
  border-left: none;
}
.p-table__td {
  font-size: 1rem;
  line-height: 1.8;
  letter-spacing: 0.04em;
  padding: 1.5rem;
  border-bottom: 0.0625rem solid #e3e3e3;
}

@media only screen and (max-width: 767px) {
  .p-table__th {
    font-size: 0.9375rem;
    padding: 0.75rem;
  }
  .p-table__th::before {
    margin: 0.5rem 0;
  }
  .p-table__td {
    font-size: 0.9375rem;
    padding: 0.75rem;
  }
  .p-table thead__th > span {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
  }
  .p-table thead__th > span::before {
    top: 0.75rem;
    bottom: 0.75rem;
  }
}
@keyframes slideactive {
  0% {
    right: 100%;
    left: 0;
    opacity: 1;
  }
  50% {
    right: 0;
    left: 0;
    opacity: 0.5;
  }
  100% {
    right: 0;
    left: 0%;
    filter: blur(0);
    opacity: 1;
  }
}
@keyframes slideoutimg {
  0% {
    filter: none;
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
  100% {
    opacity: 0;
  }
}
@keyframes slideoutbg {
  0% {
    right: 100%;
    left: 0;
    opacity: 1;
  }
  50% {
    right: 0;
    left: 0;
    opacity: 1;
  }
  100% {
    right: 0;
    left: 100%;
    opacity: 1;
  }
}
.p-mainvisual {
  position: relative;
}
.p-mainvisual .anime-fadein {
  --anime-duration: 1;
}
.p-mainvisual__scroll {
  position: absolute;
  bottom: 14.9253731343%;
  left: 1.6875rem;
  width: 0.0625rem;
  height: 10rem;
  font-size: 0;
  letter-spacing: 0.04em;
}
.p-mainvisual__scroll::before {
  position: absolute;
  bottom: 100%;
  left: 0;
  margin-bottom: 1rem;
  font-family: "Poppins", sans-serif;
  font-size: 0.75rem;
  letter-spacing: 0.04em;
  white-space: nowrap;
  content: "SCROLL DOWN";
  writing-mode: vertical-rl;
  transform: translateX(-50%);
}
.p-mainvisual__scroll::after {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background-color: #333;
  animation: pathmove 1.4s ease-in-out infinite;
}
.p-mainvisual__container {
  position: relative;
  width: 110rem;
  max-width: calc(100% - 3.75rem);
  margin: 0 auto;
}
.p-mainvisual__content {
  position: absolute;
  top: 0;
  bottom: 10.5%;
  left: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  pointer-events: none;
}
.p-mainvisual__logo {
  max-width: 18.1818181818%;
  margin-left: 1.5rem;
}
.p-mainvisual__copy {
  max-width: 40.0568181818%;
  margin-top: 4rem;
  margin-left: 0.55%;
  mix-blend-mode: multiply;
}
.p-mainvisual__swiper {
  z-index: unset;
  width: 73%;
  max-width: 74.5rem;
  margin-right: 0;
  margin-left: auto;
  overflow: hidden;
}
.p-mainvisual__swiper.is-ready .p-mainvisual__swiper-slide.swiper-slide-active .p-mainvisual__swiper-img {
  background-color: #fff;
}
.p-mainvisual__swiper.is-ready .p-mainvisual__swiper-slide.swiper-slide-active .p-mainvisual__swiper-img.--left img {
  animation: slideactive 0.9s ease-out forwards;
}
.p-mainvisual__swiper.is-ready .p-mainvisual__swiper-slide.swiper-slide-active .p-mainvisual__swiper-img.--right img {
  animation: slideactive 0.9s ease-out forwards;
}
.p-mainvisual__swiper-wrapper {
  z-index: unset;
}
.p-mainvisual__swiper-slide {
  display: flex;
  gap: 2.5rem;
}
.p-mainvisual__swiper-slide.slide-out {
  z-index: 100;
  opacity: 1 !important;
}
.p-mainvisual__swiper-slide.slide-out .p-mainvisual__swiper-img::before {
  animation: slideoutbg 0.9s ease-out forwards;
}
.p-mainvisual__swiper-slide.slide-out .p-mainvisual__swiper-img img {
  animation: slideoutimg 0.7s ease-out forwards;
}
.p-mainvisual__swiper-slide.slide-out .p-mainvisual__swiper-img.--right::before,
.p-mainvisual__swiper-slide.slide-out .p-mainvisual__swiper-img.--right img {
  animation-delay: 0.7s;
}
.p-mainvisual__swiper-img {
  position: relative;
  flex-basis: 0;
  flex-grow: 1;
  aspect-ratio: 576/976;
  overflow: hidden;
}
.p-mainvisual__swiper-img::before {
  position: absolute;
  inset: 0;
  z-index: 2;
  content: "";
  background: linear-gradient(to right, rgb(255, 255, 255) 0, rgba(255, 255, 255, 0.9) 50%, rgb(255, 255, 255) 100%);
  opacity: 0;
}
.p-mainvisual__swiper-img.--left {
  margin-top: 5rem;
}
.p-mainvisual__swiper-img.--right {
  margin-bottom: 5rem;
}
.p-mainvisual__swiper-img img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  filter: blur(0);
  transform-origin: right;
}
.p-mainvisual__swiper-control {
  position: absolute;
  top: 3.5rem;
  left: 0;
  z-index: 1;
  display: flex;
  gap: 0.5rem;
  align-items: center;
}
.p-mainvisual__swiper-control .swiper-pagination {
  position: static;
  display: flex;
  gap: 0.5rem;
  font-size: 0;
  --swiper-pagination-bullet-horizontal-gap: pxtorem(0);
}
.p-mainvisual__swiper-control .swiper-pagination-bullet {
  position: relative;
  width: 1.5rem;
  height: 1.25rem;
  overflow: hidden;
  background: transparent;
  border-radius: unset;
  opacity: 1;
  transition: width 0.3s ease-in-out;
}
.p-mainvisual__swiper-control .swiper-pagination-bullet::before {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 0.0625rem;
  margin: auto;
  content: "";
  background-color: #333;
  opacity: 0;
}
.p-mainvisual__swiper-control .swiper-pagination-bullet::after {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 0.0625rem;
  margin: auto;
  content: "";
  background-color: #d3d3d3;
}
.p-mainvisual__swiper-control .swiper-pagination-bullet.swiper-pagination-bullet-active {
  width: 3.5rem;
}
.p-mainvisual__swiper-control .swiper-pagination-bullet.swiper-pagination-bullet-active::before {
  opacity: 1;
  animation: slide-progress 3s cubic-bezier(0.3, 0, 0.3, 1) forwards;
}
.p-mainvisual__swiper-play {
  position: relative;
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 1rem;
  height: 1rem;
  font-size: 0;
  text-align: center;
  border: 0.0625rem solid var(--color-border);
  border-radius: 1.5rem;
}
.p-mainvisual__swiper-play .com-icon {
  --icon-wrap-size: 0.625rem;
}
.p-mainvisual__swiper-play.is-pause .com-icon {
  opacity: 0;
}
.p-mainvisual__swiper-play.is-pause::before {
  position: absolute;
  inset: 0;
  width: 0;
  height: 0;
  margin: auto;
  content: "";
  border-top: 0.25rem solid transparent;
  border-bottom: 0.25rem solid transparent;
  border-left: 0.375rem solid var(--color-border);
}

html[data-bg=black] .p-mainvisual__copy, html[data-bg=blue] .p-mainvisual__copy {
  mix-blend-mode: unset;
}
html[data-bg=black] .p-mainvisual__logo, html[data-bg=blue] .p-mainvisual__logo {
  padding: 0.625rem 1.25rem;
  background: #fff;
}

@media only screen and (min-width: 768px) and (max-width: 1280px) {
  .p-mainvisual__scroll {
    left: 0.9375rem;
  }
  .p-mainvisual__swiper-slide {
    gap: 1.25rem;
  }
}
@media only screen and (max-width: 767px) {
  .p-mainvisual {
    padding-top: 14.125rem;
    margin-right: 0.625rem;
    margin-left: 0.625rem;
  }
  .p-mainvisual__scroll {
    top: 6.75rem;
    right: 0.625rem;
    bottom: unset;
    left: unset;
    height: 6rem;
  }
  .p-mainvisual__scroll::before {
    font-size: 0.6875rem;
  }
  .p-mainvisual__content {
    top: -2rem;
    bottom: unset;
  }
  .p-mainvisual__container {
    position: static;
    max-width: 100%;
  }
  .p-mainvisual__logo {
    max-width: 12.6875rem;
    margin-left: 0.25rem;
  }
  .p-mainvisual__copy {
    max-width: 17.625rem;
    margin-top: 1.5625rem;
    margin-left: 0.25rem;
  }
  .p-mainvisual__swiper {
    width: 100%;
    height: auto;
  }
  .p-mainvisual__swiper-slide {
    gap: 0.625rem;
  }
  .p-mainvisual__swiper-img {
    aspect-ratio: 172/288;
  }
  .p-mainvisual__swiper-img.--left {
    margin-top: 2rem;
  }
  .p-mainvisual__swiper-img.--right {
    margin-bottom: 2rem;
  }
  .p-mainvisual__swiper-control {
    top: 0.5rem;
  }
}
html[data-bg=white] .p-news__new {
  background-color: #fbfbfb;
}

.p-news__item:not(:first-child) {
  margin-top: 1rem;
}
.p-news__link {
  position: relative;
  display: flex;
  flex-shrink: 0;
  gap: 1rem;
  gap: 6.9565217391%;
  align-items: center;
  min-height: 9rem;
  padding: 1.3125rem 3.5rem 1.3125rem 5rem;
  border-top: 0.0625rem solid var(--color-border);
  border-bottom: 0.0625rem solid var(--color-border);
  border-left: 0.0625rem solid var(--color-border);
  border-radius: 7.5rem 0 0 7.5rem;
}
.p-news__link::after {
  position: absolute;
  top: 0;
  right: 1rem;
  bottom: 0;
  width: 1.5rem;
  aspect-ratio: 1/1;
  margin: auto;
  content: "";
  background-color: currentcolor;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.6666 6.66669C14.6666 6.66669 14.6666 12 19.9999 12C18.2221 12 14.6666 13.0667 14.6666 17.3334' stroke='%23333333' stroke-width='2'/%3E%3Cpath d='M4 12.0004H19.9997' stroke='%23333333' stroke-width='2'/%3E%3C/svg%3E%0A");
          mask-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.6666 6.66669C14.6666 6.66669 14.6666 12 19.9999 12C18.2221 12 14.6666 13.0667 14.6666 17.3334' stroke='%23333333' stroke-width='2'/%3E%3Cpath d='M4 12.0004H19.9997' stroke='%23333333' stroke-width='2'/%3E%3C/svg%3E%0A");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
.p-news__new {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 1.875rem;
  padding-left: 0.25rem;
  background: var(--color-bg-page);
  font-family: "Poppins", sans-serif;
  font-size: 1rem;
  letter-spacing: 0.04em;
}
.p-news__cat {
  font-size: 1rem;
  line-height: 1.8;
  letter-spacing: 0.04em;
  flex-shrink: 0;
  min-width: 6.75rem;
}
.p-news__cat span {
  display: block;
}
.p-news__date {
  font-family: "Poppins", sans-serif;
  font-size: 1rem;
  letter-spacing: 0.04em;
  flex-shrink: 0;
}
@media all and (min-width: 768px), print {
  .p-news__date {
    margin-top: 0.375rem;
  }
}
.p-news__title {
  font-size: 1rem;
  line-height: 1.8;
  letter-spacing: 0.04em;
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.p-news__label {
  position: absolute;
  display: flex;
  gap: 0.25rem;
  align-items: center;
  color: #00a0d6;
  transform: translateY(-100%);
  font-size: 0.875rem;
  line-height: 1.8;
  letter-spacing: 0.04em;
}
.p-news__label::before {
  content: "#";
}

@media (hover: hover) {
  .p-news__date, .p-news__txt {
    transition: all 0.3s;
  }
  .p-news__link.is-mouseenter::after {
    animation: boundlefthover 0.5s linear both;
  }
  .p-news__link.is-mouseenter:hover::after {
    animation: boundrighthover 0.5s linear both;
  }
  .p-news__link:hover .p-news__date, .p-news__link:hover .p-news__txt {
    opacity: 0.7;
  }
}
@media only screen and (max-width: 767px) {
  .p-news__item:not(:first-child) {
    margin-top: 0.5rem;
  }
  .p-news__link {
    flex-direction: column;
    gap: 0;
    align-content: flex-start;
    align-items: flex-start;
    min-height: unset;
    padding: 1.0625rem 2.5rem 1rem 3rem;
    border-radius: 9rem 0 0 9rem;
  }
  .p-news__link::after {
    right: 0.5rem;
  }
  .p-news__new {
    font-size: 0.9375rem;
    width: 2.625rem;
  }
  .p-news__cat {
    font-size: 0.9375rem;
  }
  .p-news__cat span {
    display: inline-block;
  }
  .p-news__cat span + span {
    padding-left: 1rem;
    position: relative;
  }
  .p-news__cat span + span:before {
    position: absolute;
    left: 0.3125rem;
    content: "/";
  }
  .p-news__date {
    font-size: 0.9375rem;
    align-self: flex-start;
    margin-top: 0.5rem;
  }
  .p-news__txt {
    width: 100%;
  }
  .p-news__label {
    position: static;
    transform: none;
    font-size: 0.8125rem;
  }
  .p-news__title {
    font-size: 0.9375rem;
    margin-right: -0.25rem;
  }
}
.p-pagetitle {
  margin-top: 1.5rem;
}
.p-pagetitle__title {
  font-family: "Poppins", sans-serif;
  font-size: 1.5rem;
  letter-spacing: 0.04em;
  color: #9b9b9b;
}

@media only screen and (max-width: 767px) {
  .p-pagetitle__breadcrumb {
    margin-top: 0.125rem;
  }
}
.p-pagination {
  margin-top: 2.5rem;
  text-align: center;
}
.p-pagination__list {
  display: inline-flex;
  gap: 1rem;
  align-items: center;
}
.p-pagination__item:not(.--prev, .--next) span,
.p-pagination__item:not(.--prev, .--next) a {
  font-family: "Poppins", sans-serif;
  font-size: 0.875rem;
  line-height: 1.6;
  letter-spacing: 0.04em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border: 0.0625rem solid currentcolor;
  border-radius: 50%;
}
.p-pagination__item:not(.--prev, .--next) span {
  color: #fff;
  background-color: #00a0d6;
  border-color: #00a0d6;
}
.p-pagination__item.--prev {
  margin-right: 0.5rem;
}
.p-pagination__item.--next {
  margin-left: 0.5rem;
}
@media (hover: hover) {
  .p-pagination__item a {
    transition: 0.3s linear all;
  }
  .p-pagination__item a:hover {
    opacity: 0.7;
  }
}

@media only screen and (max-width: 767px) {
  .p-pagination__item:not(.--prev, .--next) span,
  .p-pagination__item:not(.--prev, .--next) a {
    font-size: 0.8125rem;
  }
}
.p-section-title-h1 {
  margin-bottom: 3.75rem;
  text-align: center;
}

.p-section-title-h2 {
  margin-bottom: 3.75rem;
  text-align: center;
}

.p-section-title-h3 {
  margin-bottom: 3.75rem;
  text-align: center;
}

.p-tab-01 {
  --radius: 2rem;
}
.p-tab-01__item {
  --color-solid: var(--color-border);
  position: relative;
  background: var(--color-bg-page);
  border-right: 0.0625rem solid var(--color-solid);
  border-bottom: 0.0625rem solid var(--color-solid);
  border-left: 0.0625rem solid var(--color-solid);
}
.p-tab-01__item:nth-child(1) {
  z-index: 4;
}
.p-tab-01__item:nth-child(2) {
  z-index: 3;
}
.p-tab-01__item:nth-child(3) {
  z-index: 2;
}
.p-tab-01__item:nth-child(4) {
  z-index: 1;
}
.p-tab-01__item:nth-child(5) {
  z-index: 0;
}
@media all and (min-width: 768px), print {
  .p-tab-01__item:not(:first-child) {
    padding-top: 2.5rem;
    margin-top: -2.5rem;
    border-radius: 0 0 0 var(--radius);
  }
  .p-tab-01__item:first-child {
    border-top: 0.0625rem solid var(--color-solid);
    border-radius: var(--radius) 0 0 var(--radius);
  }
}
.p-tab-01__item.is-active {
  --color-solid: #00a0d6;
  background: #00a0d6;
}
.p-tab-01__item.is-active .p-tab-01__button {
  color: #fff;
}
.p-tab-01__button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 8.3125rem;
  padding: 0 calc(50% - 0.5em);
  font-size: 0.875rem;
  line-height: 1.2;
  color: inherit;
  text-align: center;
  letter-spacing: 0.04em;
}

html[data-bg=black] .p-tab-01__item, html[data-bg=blue] .p-tab-01__item {
  background: var(--color-bg-page);
  border-color: var(--color-border-lightest);
}
html[data-bg=black] .p-tab-01__item.is-active, html[data-bg=blue] .p-tab-01__item.is-active {
  background: #fff;
}
html[data-bg=black] .p-tab-01__item.is-active .p-tab-01__button, html[data-bg=blue] .p-tab-01__item.is-active .p-tab-01__button {
  color: #000;
}
html[data-bg=black] .p-tab-01__button, html[data-bg=blue] .p-tab-01__button {
  color: var(--color-text);
}
html[data-bg=yellow] .p-tab-01__item {
  background: var(--color-bg-page);
  border-color: var(--color-border-lightest);
}
html[data-bg=yellow] .p-tab-01__item.is-active {
  background: #000;
}
html[data-bg=yellow] .p-tab-01__button {
  color: var(--color-text);
}

@media all and (min-width: 768px), print {
  .p-tab-01__button {
    writing-mode: vertical-rl;
    letter-spacing: 0.175em;
  }
}
@media only screen and (max-width: 767px) {
  .p-tab-01 {
    --radius: 1.5rem;
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    overflow: hidden;
    background-color: #fff;
    border-radius: var(--radius);
  }
  .p-tab-01::before {
    position: absolute;
    inset: 0;
    z-index: 2;
    overflow: hidden;
    pointer-events: none;
    content: "";
    border: 0.0625rem solid var(--color-border);
    border-radius: var(--radius);
  }
  .p-tab-01__item {
    flex-grow: 1;
    width: 50%;
    background-color: transparent;
    border-right: 0.0625rem solid var(--color-solid);
    border-bottom: 0.0625rem solid var(--color-solid);
    border-left: 0.0625rem solid var(--color-solid);
    border-radius: unset;
  }
  .p-tab-01__item:nth-child(1) {
    z-index: inherit;
  }
  .p-tab-01__item:nth-child(2) {
    z-index: inherit;
  }
  .p-tab-01__item:nth-child(3) {
    z-index: inherit;
  }
  .p-tab-01__item:nth-child(4) {
    z-index: inherit;
  }
  .p-tab-01__item:nth-child(5) {
    z-index: inherit;
  }
  .p-tab-01__item:first-child {
    width: 100%;
  }
  .p-tab-01__item:nth-child(2n) {
    border-right: none;
  }
  .p-tab-01__button {
    min-height: 2.875rem;
    padding: 0.5rem 1.5rem;
    font-size: 0.8125rem;
    color: #333;
  }
}
.p-table-dl {
  width: 100%;
}
.p-table-dl tr {
  border-bottom: 0.0625rem solid #e3e3e3;
}
.p-table-dl__th {
  width: 12.5rem;
  padding: 1.4375rem 0;
}
.p-table-dl__label {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 12.5rem;
  height: 3.5rem;
  padding: 1rem 2.5rem 1rem 1.5rem;
  border-top: 0.0625rem solid var(--color-border);
  border-right: 0.0625rem solid var(--color-border);
  border-bottom: 0.0625rem solid var(--color-border);
  border-radius: 0 15rem 15rem 0;
  font-size: 1rem;
  line-height: 1.8;
  letter-spacing: 0.04em;
}
.p-table-dl__td {
  padding: 2.4375rem 0 1.4375rem 1.5rem;
  font-size: 1rem;
  line-height: 1.8;
  letter-spacing: 0.04em;
}

@media only screen and (max-width: 767px) {
  .p-table-dl.--vertical-sp {
    display: block;
  }
  .p-table-dl.--vertical-sp tr {
    display: block;
    border: none;
  }
  .p-table-dl.--vertical-sp tr + tr {
    margin-top: 2.5rem;
  }
  .p-table-dl.--vertical-sp tbody {
    display: block;
  }
  .p-table-dl.--vertical-sp .p-table-dl__th, .p-table-dl.--vertical-sp .p-table-dl__td {
    display: block;
    width: 100%;
    padding: 0;
  }
  .p-table-dl.--vertical-sp .p-table-dl__label {
    max-width: 100%;
    height: 3rem;
    padding: 0.5rem 1.25rem;
    font-size: 0.9375rem;
  }
  .p-table-dl.--vertical-sp .p-table-dl__td {
    font-size: 0.9375rem;
    padding-right: 0.5rem;
    margin-top: 0.75rem;
  }
}
.p-table-container {
  overflow: auto;
}

/* pages */
body.about .l-container {
  overflow: hidden;
}
body.about .about-logocopy__layout {
  display: flex;
  gap: 2.5rem;
  align-items: center;
  justify-content: space-between;
}
body.about .about-logocopy__logo {
  padding: 0 2.5rem;
}
body.about .about-logocopy__logo-02 {
  margin-top: 3rem;
  text-align: right;
}
body.about .about-logocopy__content {
  margin-top: 1.25rem;
}
body.about .about-project {
  position: relative;
  padding: 12.5rem 0;
  margin-top: 7.5rem;
}
body.about .about-project__text {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  max-width: 111.25rem;
  margin: 0 auto;
  pointer-events: none;
  opacity: 0.1;
  writing-mode: vertical-lr;
}
body.about .about-project__head {
  font-family: "Poppins", sans-serif;
  font-size: 2.375rem;
  letter-spacing: 0.02em;
}
body.about .about-project__head .c-heading-lv2 {
  margin-left: 0.375rem;
}
body.about .about-project__txt {
  margin-top: 3rem;
}
body.about .about-project__list {
  margin-top: 3rem;
}
body.about .about-project__list .p-column-03:not(:first-child) {
  margin-top: 1.5rem;
}
body.about .about-area {
  margin-top: 12.5rem;
}
body.about .about-area__sum {
  margin-top: 3rem;
}
body.about .about-area__note {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  align-items: center;
  margin-top: 3rem;
}
body.about .about-area__note .com-icon {
  --icon-wrap-size: 1.5rem;
}
body.about .about-area__note-item {
  display: inline-flex;
  gap: 0.25rem;
  align-items: center;
}
body.about .about-area__iframe {
  aspect-ratio: 1200/675;
  margin-top: 1rem;
}
body.about .about-area__iframe iframe {
  width: 100%;
  height: 100%;
}
body.about .about-area__button {
  display: flex;
  gap: 3rem;
  align-items: center;
  justify-content: flex-end;
  margin-top: 5rem;
}
body.about .about-practice {
  padding: 7.5rem 0;
  margin-top: 12.5rem;
}
body.about .about-practice__sum {
  margin-top: 3rem;
}
body.about .about-practice__list {
  margin-top: 3rem;
}
body.about .about-migaki {
  margin-top: 12.5rem;
}
body.about .about-migaki__txt {
  margin-top: 3rem;
  font-size: 1rem;
  line-height: 1.8;
  letter-spacing: 0.04em;
}
body.about .about-migaki__img {
  display: block;
  margin-top: 3rem;
  text-align: center;
}
body.about .about-migaki__img img {
  width: 100%;
}

@media only screen and (max-width: 767px) {
  body.about .about-logocopy__layout {
    flex-direction: column;
  }
  body.about .about-logocopy__logo img {
    max-width: 5rem;
  }
  body.about .about-logocopy__content {
    margin-top: 0;
  }
  body.about .about-logocopy__copy img {
    max-width: 20.9375rem;
  }
  body.about .about-logocopy__logo-02 img {
    max-width: 5rem;
  }
  body.about .about-project {
    padding-top: 7.5rem;
    padding-bottom: 7.5rem;
  }
  body.about .about-project__text {
    position: static;
    padding: 0 1.25rem;
    writing-mode: horizontal-tb;
  }
  body.about .about-project__head {
    font-size: 1.875rem;
  }
  body.about .about-migaki {
    margin-top: 7.5rem;
  }
  body.about .about-area {
    margin-top: 7.5rem;
  }
  body.about .about-area__button {
    flex-direction: column;
    gap: 1rem;
    align-items: center;
  }
  body.about .about-area__iframe {
    width: 100%;
    max-width: 100%;
    min-height: 18.75rem;
  }
  body.about .about-practice {
    margin-top: 7.5rem;
  }
}
html.is-bgchange[data-bg=white] body.about .l-header {
  color: #fff;
}

html[data-bg=black] body.about .about-logocopy__logo,
html[data-bg=blue] body.about .about-logocopy__logo {
  background-color: #fff;
  padding: 2.5rem;
}
html[data-bg=black] body.about .about-project__text,
html[data-bg=blue] body.about .about-project__text {
  color: #fff;
  opacity: 1;
}

@media only screen and (max-width: 767px) {
  html[data-bg=black] body.about .about-logocopy__logo,
  html[data-bg=blue] body.about .about-logocopy__logo {
    background-color: #fff;
    padding: 0.625rem 2.5rem;
  }
}
@media all and (min-width: 768px), print {
  html.is-bgchange[data-bg=white] body.action .l-header {
    color: #fff;
  }
  body.action.is-fixed {
    position: fixed;
    top: calc(var(--top) * -1px);
    left: 0;
    width: 100%;
    padding-right: calc(var(--bar-width) * 1px);
  }
}
body.action .l-container {
  overflow: hidden;
}
body.action .l-section-first {
  margin-top: 12.5rem;
}
body.action .action-sum {
  position: relative;
  display: flex;
  gap: 4%;
  align-items: center;
  justify-content: center;
  min-height: 23.375rem;
}
body.action .action-sum.is-enable-showall .action-sum__content-inner {
  animation: fadeup;
  animation-duration: 0.7s;
  animation-delay: 0.2s;
  animation-fill-mode: forwards;
}
body.action .action-sum.is-enable-showall::after {
  min-width: 24.375rem;
  max-width: 45.8333333333%;
}
body.action .action-sum__logocopy {
  flex-basis: 0;
  flex-grow: 1;
  width: 50.1666666667%;
  max-width: calc(100% - 24.375rem - 4%);
  margin-top: -0.5rem;
  text-align: center;
}
body.action .action-sum__logocopy-copy {
  margin-top: 4.625rem;
}
body.action .action-sum__content {
  position: absolute;
  top: 50%;
  right: 0;
  flex-shrink: 0;
  width: 45.8333333333%;
  min-width: 24.375rem;
  transform: translateY(-50%);
}
body.action .action-sum__content-inner {
  opacity: 0;
}
body.action .action-sum::after {
  flex-shrink: 0;
  width: 45.8333333333%;
  max-width: 0;
  content: "";
  opacity: 0;
  transition: all 0.7s;
}
body.action .action-sum__content-head {
  font-family: "Mobo", sans-serif;
  font-size: 1.5rem;
  font-weight: bold;
  letter-spacing: 0.16em;
}
body.action .action-sum__content-head-en {
  font-family: "Poppins", sans-serif;
  font-size: 1.875rem;
  font-weight: 500;
  letter-spacing: 0.02em;
}
body.action .action-sum__content-text {
  margin-top: 2rem;
  line-height: 2;
  letter-spacing: 0.16em;
}
body.action .action-list {
  padding-top: 12.5rem;
  margin-top: 13rem;
}
body.action .action-list .p-column-02 + .p-column-02 {
  margin-top: 2.5rem;
}
body.action .action-list__btn {
  margin-top: 7.5rem;
  text-align: right;
}
body.action .action-list .c-button__text.--row2 {
  line-height: 1.4;
  flex-direction: column;
}
body.action .action-list .c-button__text.--row2 .c-text {
  line-height: 1;
  font-size: 0.75rem;
}

@media only screen and (max-width: 767px) {
  body.action .action-sum {
    flex-direction: column;
  }
  body.action .action-sum__logocopy {
    width: 100%;
    max-width: unset;
  }
  body.action .action-sum__logocopy-copy {
    margin-top: 1.875rem;
  }
  body.action .action-sum__logocopy-copy img {
    max-width: 15.75rem;
  }
  body.action .action-sum__logocopy-logo img {
    max-width: 6.25rem;
  }
  body.action .action-sum__content {
    position: static;
    width: 100%;
    min-width: unset;
    margin-top: 3.75rem;
    transform: none;
  }
  body.action .action-sum__content-head {
    font-size: 1.25rem;
    letter-spacing: 0.04em;
  }
  body.action .action-sum__content-head-en {
    font-size: 1.625rem;
  }
  body.action .action-sum__content-text {
    font-size: 0.9375rem;
    letter-spacing: 0.04em;
  }
  body.action .action-list {
    padding: 7.5rem 0;
    margin-top: 7.5rem;
  }
  body.action .action-list__btn {
    text-align: center;
  }
}
html[data-bg=black] body.action .action-sum__logocopy-logo,
html[data-bg=blue] body.action .action-sum__logocopy-logo {
  background-color: #fff;
  padding: 2.5rem;
}

@media only screen and (max-width: 767px) {
  html[data-bg=black] body.action .action-sum__logocopy-logo,
  html[data-bg=blue] body.action .action-sum__logocopy-logo {
    background-color: #fff;
    padding: 1.25rem 2.5rem;
  }
}
body.facilities-details .l-container {
  overflow: hidden;
}
body.facilities-details .facilities-card01 {
  margin-top: 5rem;
}
body.facilities-details .facilities-card01__title {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.04em;
}
body.facilities-details .facilities-card01__title .com-icon {
  margin-top: -0.3em;
  margin-right: 0.25rem;
  vertical-align: middle;
  --icon-color: #00a0d6;
  --icon-wrap-size: 1.625rem;
}
body.facilities-details .facilities-card01__text {
  font-size: 0.875rem;
  line-height: 1.8;
  letter-spacing: 0.04em;
  margin-top: 0.5rem;
}
body.facilities-details .facilities-features {
  display: flex;
  gap: 6.3636363636%;
  margin-top: 12.5rem;
}
body.facilities-details .facilities-features__text {
  flex-shrink: 0;
  margin-left: -0.75rem;
  writing-mode: vertical-rl;
}
body.facilities-details .facilities-features__inner {
  max-width: 75rem;
  margin-top: 5rem;
}
body.facilities-details .facilities-detail {
  margin-top: 12.5rem;
}
body.facilities-details .facilities-detail__table {
  margin-top: 1.5rem;
}
body.facilities-details .facilities-detail__img {
  margin-top: 2.5rem;
}
body.facilities-details .facilities-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 3.75rem;
}
body.facilities-details .facilities-gallery {
  margin-top: 12.5rem;
}
body.facilities-details .facilities-gallery__title {
  max-width: 75rem;
  margin: 0 auto;
}
body.facilities-details .facilities-gallery__cont {
  --gap: 24;
  --width: 848;
  margin-top: 3rem;
  margin-left: calc(var(--gap) * -1px);
  overflow: hidden;
}
body.facilities-details .facilities-gallery__swiper .swiper-slide {
  width: calc(var(--width) * 1px);
  height: auto;
  padding: 0 calc(var(--gap) * 1px);
  overflow: hidden;
  text-align: center;
}
body.facilities-details .facilities-gallery__swiper .swiper-slide img {
  width: 100%;
  aspect-ratio: 800/533;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
  background-color: #f1f1f1;
  transition: transform 0.3s;
  transform: scale(0.6);
  transform-origin: left bottom;
}
body.facilities-details .facilities-gallery__swiper .swiper-slide-active {
  background-color: var(--color-bg-page);
}
body.facilities-details .facilities-gallery__swiper .swiper-slide-active ~ .swiper-slide img {
  transform-origin: right bottom;
}
body.facilities-details .facilities-gallery__swiper .swiper-slide-active img,
body.facilities-details .facilities-gallery__swiper .swiper-slide-duplicate-active img {
  transform: scale(1);
  transform-origin: center bottom;
}
body.facilities-details .facilities-gallery__swiper-control {
  position: absolute;
  top: 19.512195122%;
  left: calc(var(--width) * 1px);
  display: flex;
  gap: 1rem;
  align-items: center;
  justify-content: flex-start;
  margin-top: -1.5rem;
}
body.facilities-details .facilities-gallery__swiper-control .swiper-pagination {
  position: static;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  font-size: 0.875rem;
  line-height: 1.8;
  letter-spacing: 0.04em;
}
body.facilities-details .facilities-gallery__swiper-control .swiper-pagination-current,
body.facilities-details .facilities-gallery__swiper-control .swiper-pagination-total,
body.facilities-details .facilities-gallery__swiper-control .swiper-pagination-total-custom,
body.facilities-details .facilities-gallery__swiper-control .swiper-pagination-current-custom {
  display: inline-block;
  width: 1.25rem;
  text-align: center;
}
body.facilities-details .facilities-gallery__swiper-control .c-button-page {
  position: static;
  margin: 0;
}
body.facilities-details .facilities-gallery__swiper-control .com-icon {
  --icon-color: currentcolor;
  --icon-wrap-size: 1.25rem;
}

@media only screen and (min-width: 768px) and (max-width: 1280px) {
  body.facilities-details .facilities-gallery__cont {
    --width: 548;
  }
}
@media only screen and (max-width: 767px) {
  body.facilities-details .facilities-card01__title {
    font-size: 0.9375rem;
  }
  body.facilities-details .facilities-card01__text {
    font-size: 0.8125rem;
  }
  body.facilities-details .facilities-features {
    flex-direction: column;
    gap: 1rem;
    margin-top: 7.5rem;
  }
  body.facilities-details .facilities-features__text {
    writing-mode: horizontal-tb;
  }
  body.facilities-details .facilities-gallery {
    margin-top: 7.5rem;
  }
  body.facilities-details .facilities-gallery__cont {
    margin-right: -1.25rem;
    margin-left: 0;
    overflow: hidden;
  }
  body.facilities-details .facilities-gallery__swiper {
    overflow: visible;
  }
  body.facilities-details .facilities-gallery__swiper .swiper-slide {
    width: 78.8732394366%;
    padding: 0;
    text-align: unset;
  }
  body.facilities-details .facilities-gallery__swiper .swiper-slide img {
    transform: scale(0.5357142857);
    transform-origin: left bottom !important;
  }
  body.facilities-details .facilities-gallery__swiper .swiper-slide-active,
  body.facilities-details .facilities-gallery__swiper .swiper-slide-duplicate-active {
    width: 78.8732394366%;
  }
  body.facilities-details .facilities-gallery__swiper .swiper-slide-active img,
  body.facilities-details .facilities-gallery__swiper .swiper-slide-duplicate-active img {
    transform: scale(1);
  }
  body.facilities-details .facilities-gallery__swiper-control {
    position: static;
    justify-content: center;
    width: 100%;
    max-width: unset;
    padding-right: 1.25rem;
    margin-top: 1.5rem;
    transform: none;
  }
  body.facilities-details .facilities-gallery__swiper-control .swiper-pagination {
    font-size: 0.8125rem;
  }
  body.facilities-details .facilities-detail {
    margin-top: 7.5rem;
  }
  body.facilities-details .facilities-nav {
    flex-direction: column-reverse;
    gap: 2rem;
    align-items: center;
    margin-top: 2.5rem;
  }
}
body.facilities .l-container {
  overflow: hidden;
}
body.facilities .facilities-layout {
  display: flex;
  gap: 2.5rem;
  margin-top: 5rem;
}
body.facilities .facilities-layout__tab {
  flex-shrink: 0;
  width: 6.5rem;
}
body.facilities .facilities-layout__contents {
  flex-grow: 1;
}

@media only screen and (min-width: 768px) and (max-width: 1280px) {
  body.facilities .facilities-layout__contents .p-card-01-wrap {
    grid-template-columns: repeat(2, minmax(17.5rem, 26.875rem));
  }
}
@media only screen and (max-width: 767px) {
  body.facilities .facilities-layout {
    display: block;
  }
  body.facilities .facilities-layout__tab {
    width: 100%;
  }
  body.facilities .facilities-layout__contents {
    margin-top: 2.5rem;
  }
}
html[data-bg=white].is-bgchange body.index .index-news {
  --color-text: #333;
  color: var(--color-text);
}
html[data-bg=black] body.index .index-fac .c-heading-lv1__en, html[data-bg=blue] body.index .index-fac .c-heading-lv1__en {
  opacity: 0.16;
}
@media only screen and (max-width: 1280px) {
  html[data-bg=black] body.index .index-fac .c-heading-lv1__en, html[data-bg=blue] body.index .index-fac .c-heading-lv1__en {
    opacity: 1;
  }
}

body.index .index-migaki {
  margin-top: 15rem;
}
body.index .index-migaki__text {
  font-size: 1.25rem;
  line-height: 2;
  letter-spacing: 0.16em;
}
body.index .index-migaki__text:not(:first-child) {
  margin-top: 2rem;
}
body.index .index-migaki__copy {
  display: flex;
  flex-direction: column;
  gap: 3.125rem;
  padding: 1.75rem 0;
  margin-top: 2rem;
  margin-left: 0.3125rem;
}
body.index .index-migaki .c-text-fill.--first.is-active {
  background-size: 100% 100%;
}
body.index .index-migaki .c-text-fill.--first.is-active .c-text-fill__img {
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
}
body.index .index-migaki .c-text-fill.is-active.is-ready {
  background-size: 100% 100%;
}
body.index .index-migaki .c-text-fill.is-active.is-ready .c-text-fill__img {
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
}
body.index .index-news {
  padding: 12.5rem 0;
  margin-top: 12.5rem;
  overflow: hidden;
}
body.index .index-news__inner {
  position: relative;
}
body.index .index-news__button {
  position: absolute;
  top: 8.5vw;
  right: 0;
}
body.index .index-news__container {
  display: flex;
  gap: 2.5rem;
  align-items: flex-start;
  margin-top: 2.5rem;
}
body.index .index-news__tabs {
  flex-shrink: 0;
  width: 6.5rem;
}
body.index .index-news__contents {
  flex-grow: 1;
}
body.index .index-fac {
  position: relative;
  padding-top: 12.5rem;
  padding-bottom: 18.75rem;
  overflow: hidden;
}
body.index .index-fac .c-heading-lv1__en {
  opacity: 0.1;
}
body.index .index-fac__cont {
  width: 31.8181818182%;
}
body.index .index-fac__title {
  position: relative;
  z-index: 1;
  margin-top: 3.625rem;
}
body.index .index-fac__text {
  margin-top: 3rem;
}
body.index .index-fac__button {
  margin-top: 2.5rem;
}
body.index .index-fac__slide {
  display: block;
}
body.index .index-fac__slide-sec {
  position: absolute;
  top: 18.125rem;
  right: 0;
  width: 60.4166666667%;
  max-width: 72.5rem;
  margin-left: auto;
}
body.index .index-fac__slide-sec.is-notInited .index-fac__slide-control {
  display: none;
}
body.index .index-fac__slide-sec.is-notInited .index-fac__slide-img {
  width: 100%;
}
body.index .index-fac__slide-sec.is-notInited .index-fac__slide-item {
  width: 100%;
}
@media only screen and (max-width: 1280px) {
  body.index .index-fac__slide-sec.is-notInited {
    margin-right: 0;
  }
}
body.index .index-fac__slide-wrapper {
  align-items: flex-end;
  min-height: calc(27.7604166667vw + 4.5rem);
}
body.index .index-fac__slide-item {
  width: 41.6666666667vw;
}
body.index .index-fac__slide-item.swiper-slide-active .index-fac__slide-img, body.index .index-fac__slide-item.swiper-slide-duplicate-active .index-fac__slide-img {
  width: 100%;
}
body.index .index-fac__slide-img {
  display: block;
  width: 60%;
  aspect-ratio: 800/533;
  margin-top: 0.5rem;
  overflow: hidden;
  transition: width 0.22s linear;
  transition-delay: 0s;
  transform: translateZ(0);
  will-change: width;
}
body.index .index-fac__slide-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
body.index .index-fac__slide-text {
  margin-left: 0.25rem;
}
body.index .index-fac__slide-label {
  display: flex;
  gap: 0.25rem;
  align-items: center;
}
body.index .index-fac__slide-label::before {
  content: "#";
}
body.index .index-fac__slide-control {
  position: absolute;
  top: 5.4375rem;
  left: calc(41.6666666667vw + 1.5rem);
  display: flex;
  gap: 1rem;
  align-items: center;
  justify-content: flex-start;
  width: 17.5vw;
  max-width: 21rem;
}
body.index .index-fac__slide-control .swiper-pagination {
  position: static;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  font-size: 0.875rem;
  line-height: 1.8;
  letter-spacing: 0.04em;
}
body.index .index-fac__slide-control .swiper-pagination-current,
body.index .index-fac__slide-control .swiper-pagination-total,
body.index .index-fac__slide-control .swiper-pagination-total-custom,
body.index .index-fac__slide-control .swiper-pagination-current-custom {
  display: inline-block;
  width: 1.25rem;
  text-align: center;
}
body.index .index-fac__slide-control .c-button-page {
  position: static;
  margin: 0;
}
body.index .index-fac__slide-control .com-icon {
  --icon-color: currentcolor;
  --icon-wrap-size: 1.25rem;
}
body.index .index-project {
  margin-top: 9.8125rem;
}
body.index .index-project__inner {
  max-width: 92.5rem;
}
body.index .index-project__frame-01 {
  display: flex;
  gap: 5.4054054054%;
  align-items: flex-end;
  margin-top: 2.5rem;
}
body.index .index-project__button {
  flex-shrink: 0;
}
body.index .index-project__column {
  margin-top: 3rem;
}
body.index .index-project .p-column-01__picture {
  max-width: 50rem;
}
body.index .index-nav {
  margin-top: 20rem;
}
body.index .index-nav__card {
  position: relative;
  display: block;
  height: 20rem;
  max-height: 30vw;
  overflow: hidden;
}
@media all and (min-width: 768px), print {
  body.index .index-nav__card:first-child .c-heading-lv1__jp {
    margin-top: -0.5em;
  }
}
body.index .index-nav__card + .index-nav__card {
  margin-top: 1.5rem;
}
body.index .index-nav__card::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  content: "";
  background-color: #2a3b47;
  opacity: 0.9;
}
body.index .index-nav__card-bg {
  position: absolute;
  inset: 0;
  z-index: -2;
}
body.index .index-nav__card-bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
body.index .index-nav__card-heading {
  position: absolute;
  top: -0.0535714286em;
  left: -0.0357142857em;
  font-size: 14rem;
}
@media only screen and (min-width: 768px) and (max-width: 1280px) {
  body.index .index-nav__card-heading {
    font-size: clamp(6.25rem, 13.0208333333vw, 14rem);
  }
}
body.index .index-nav__card-heading .c-heading-lv1__en {
  opacity: 0.2;
}
body.index .index-nav__card-heading .c-heading-lv1__jp {
  margin-left: 1.2em;
}

@media (hover: hover) {
  body.index .index-fac .index-fac__slide-img img {
    transition-timing-function: ease-out;
    transition-duration: 0.5s;
    transition-property: transform;
  }
  body.index .index-fac__slide:hover .index-fac__slide-img img {
    transform: scale(1.05);
  }
  body.index .index-nav__card-bg img {
    transition-timing-function: ease-out;
    transition-duration: 0.5s;
    transition-property: transform;
  }
  body.index .index-nav__card:hover .index-nav__card-bg img {
    transform: scale(1.05);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1280px) {
  body.index .index-news__button {
    top: 8.2vw;
  }
  body.index .index-fac__cont {
    width: 100%;
  }
  body.index .index-fac__container {
    position: relative;
    padding-bottom: 9.375rem;
  }
  body.index .index-fac__button {
    position: absolute;
    bottom: 0;
    width: 100%;
    text-align: center;
  }
  body.index .index-fac__slide-sec {
    position: static;
    width: unset;
    max-width: unset;
    margin-top: 2.5rem;
    margin-right: -1.25rem;
  }
  body.index .index-fac__slide-wrapper {
    min-height: calc(52.05078125vw + 5rem);
  }
  body.index .index-fac__slide-item {
    width: 78.125vw;
    max-width: unset;
  }
  body.index .index-fac__slide-img {
    width: 39.0625%;
  }
  body.index .index-fac__slide-control {
    position: static;
    justify-content: center;
    width: 100%;
    max-width: unset;
    margin-top: 2.5rem;
  }
  body.index .index-project__inner {
    position: relative;
    padding-bottom: 6.625rem;
  }
  body.index .index-project__button {
    position: absolute;
    bottom: 0;
    width: 100%;
    text-align: center;
  }
}
@media only screen and (max-width: 767px) {
  body.index .index-migaki {
    margin-top: 10rem;
  }
  body.index .index-migaki .u-hidden-sp {
    display: none;
  }
  body.index .index-migaki__text {
    font-size: 1rem;
  }
  body.index .index-migaki__text:not(:first-child) {
    margin-top: 1.5rem;
  }
  body.index .index-migaki__copy {
    gap: 1rem;
    padding: 0.5rem 0;
    margin-top: 1.5rem;
    margin-left: 0.1875rem;
  }
  body.index .index-migaki__copy + .index-migaki__copy {
    margin-top: 0.875rem;
  }
  body.index .index-migaki__button {
    margin-top: 3rem;
  }
  body.index .index-news {
    padding-top: 7.5rem;
    padding-bottom: 7.5rem;
    margin-top: 7.5rem;
  }
  body.index .index-news .c-heading-lv1 {
    margin-left: -1.625rem;
  }
  body.index .index-news__button {
    position: static;
    margin-top: 3rem;
    text-align: center;
  }
  body.index .index-news__container {
    display: block;
    margin-top: 1.5rem;
  }
  body.index .index-news__tabs {
    width: auto;
    margin-right: 1.25rem;
    margin-left: 1.25rem;
  }
  body.index .index-news__contents {
    margin-top: 1.5rem;
  }
  body.index .index-news__contents-item .p-news__item:nth-child(n+4) {
    display: none !important;
  }
  body.index .index-fac {
    padding-top: 7.5rem;
    padding-bottom: 0;
  }
  body.index .index-fac .c-heading-lv1 {
    margin-left: -1.625rem;
  }
  body.index .index-fac__container {
    position: relative;
    padding-bottom: 13.5rem;
  }
  body.index .index-fac__cont {
    width: 100%;
  }
  body.index .index-fac__title {
    margin-top: 1.625rem;
  }
  body.index .index-fac__title img,
  body.index .index-fac__title svg {
    width: 19.5rem;
    max-width: 100%;
    height: auto;
  }
  body.index .index-fac__slide-sec {
    position: static;
    width: auto;
    margin-top: 2.5rem;
    margin-right: -1.25rem;
  }
  body.index .index-fac__slide-wrapper {
    min-height: calc(49.7466666667vw + 3.9375rem);
  }
  body.index .index-fac__slide-item {
    width: 74.6666666667vw;
  }
  body.index .index-fac__slide-img {
    width: 53.3333333333%;
  }
  body.index .index-fac__slide-text {
    margin-left: 0.125rem;
  }
  body.index .index-fac__slide-control {
    position: static;
    justify-content: center;
    width: 100%;
    max-width: unset;
    padding-right: 1.25rem;
    margin-top: 1.5rem;
  }
  body.index .index-fac__slide-control .swiper-pagination {
    font-size: 0.8125rem;
  }
  body.index .index-fac__text {
    margin-top: 1.625rem;
  }
  body.index .index-fac__button {
    position: absolute;
    bottom: 7.5rem;
    width: 100%;
    text-align: center;
  }
  body.index .index-project {
    margin-top: 7.5rem;
  }
  body.index .index-project .c-heading-lv1 {
    margin-left: -1.625rem;
  }
  body.index .index-project__inner {
    position: relative;
    padding-bottom: 6rem;
  }
  body.index .index-project__frame-01 {
    display: block;
    margin-top: 1.5rem;
  }
  body.index .index-project__button {
    position: absolute;
    bottom: 0;
    width: 100%;
    text-align: center;
  }
  body.index .index-project__column {
    margin-top: 2.5rem;
  }
  body.index .index-nav {
    margin-top: 7.5rem;
  }
  body.index .index-nav__card {
    height: 12.5rem;
    max-height: unset;
  }
  body.index .index-nav__card + .index-nav__card {
    margin-top: 1rem;
  }
  body.index .index-nav__card-heading {
    top: -0.0375em;
    right: -0.25rem;
    left: -0.0375em;
    font-size: 5rem;
  }
  body.index .index-nav__card-heading .c-heading-lv1__en {
    font-size: 4.625rem;
  }
  body.index .index-nav__card-heading .c-heading-lv1__jp {
    margin-top: 0.5rem;
    margin-left: 0.36em;
  }
}
body.news-single .news-single-main .c-heading-lv2 {
  margin-bottom: 2.5rem;
}
body.news-single .news-single-main .p-news {
  position: relative;
  display: flex;
  flex-direction: column;
}
body.news-single .news-single-main .p-news__cat span {
  display: inline-block;
}
body.news-single .news-single-main .p-news__cat span + span {
  padding-left: 1rem;
  position: relative;
}
body.news-single .news-single-main .p-news__cat span + span:before {
  position: absolute;
  left: 0.3125rem;
  content: "/";
}
body.news-single .news-single-main .p-news__label {
  transform: inherit;
}
body.news-single .news-single-main .p-editor__content {
  margin-top: 5rem;
}
body.news-single .news-single-main__button {
  margin-top: 7.5rem;
  text-align: center;
}

body.news .news-content__container {
  display: flex;
  gap: 2.5rem;
  align-items: flex-start;
}
body.news .news-content__tabs {
  flex-shrink: 0;
  width: 6.5rem;
}
body.news .news-content__contents {
  flex-grow: 1;
}

@media only screen and (max-width: 767px) {
  body.news .news-content__container {
    display: block;
    margin-top: 1.5rem;
  }
  body.news .news-content__tabs {
    width: auto;
    margin-right: 1.25rem;
    margin-left: 1.25rem;
  }
  body.news .news-content__contents {
    margin-top: 1.5rem;
  }
  body.news .p-news {
    position: relative;
    display: flex;
    flex-direction: column;
  }
  body.news .p-news__cat span {
    display: inline-block;
  }
  body.news .p-news__cat span + span {
    padding-left: 1rem;
    position: relative;
  }
  body.news .p-news__cat span + span:before {
    position: absolute;
    left: 0.3125rem;
    content: "/";
  }
  body.news .p-news__label {
    transform: inherit;
  }
}
body.projects-details .l-container {
  overflow: hidden;
}
body.projects-details .projects-vision {
  margin-top: 12.5rem;
}
body.projects-details .projects-vision__cont {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto;
}
body.projects-details .projects-vision__sub {
  margin-top: 2.5rem;
  font-family: "Mobo", sans-serif;
  font-size: 3rem;
  font-weight: bold;
  letter-spacing: 0.04em;
}
body.projects-details .projects-vision__text {
  margin-top: 2.5rem;
}
body.projects-details .projects-process {
  padding-top: 10rem;
  margin-top: 12.5rem;
}
body.projects-details .projects-process .p-flow + .p-flow {
  margin-top: 3rem;
}
body.projects-details .projects-text {
  margin-top: 4.875rem;
}
body.projects-details .projects-text__wrap {
  width: -moz-max-content;
  width: max-content;
  font-family: "Poppins", sans-serif;
  font-size: clamp(7.5rem, 10vw, 12rem);
  line-height: 0.8;
  color: #fbfbfb;
  letter-spacing: 0.02em;
  white-space: nowrap;
  animation-name: flowrighttoleft;
  animation-duration: 20s;
  animation-play-state: paused;
  animation-timing-function: linear;
  animation-delay: 0.7s;
  animation-iteration-count: infinite;
  -webkit-text-stroke-width: 0.11625rem;
  -webkit-text-stroke-color: var(--font-text-off, #e3e3e3);
}
body.projects-details .projects-text.is-active .projects-text__wrap {
  animation-play-state: running;
}
body.projects-details .projects-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 12.375rem;
}

@media only screen and (max-width: 767px) {
  body.projects-details .projects-vision {
    margin-top: 7.5rem;
  }
  body.projects-details .projects-vision__sub {
    margin-top: 1rem;
    font-size: 1.5rem;
  }
  body.projects-details .projects-vision__text {
    margin-top: 1rem;
  }
  body.projects-details .projects-process {
    padding-top: 5rem;
    margin-top: 7.5rem;
  }
  body.projects-details .projects-nav {
    flex-direction: column-reverse;
    gap: 2rem;
    align-items: center;
    margin-top: 7.5rem;
  }
  body.projects-details .projects-text__wrap {
    font-size: 5rem;
    -webkit-text-stroke-width: 0.0625rem;
    animation-duration: 10s;
  }
}
body.projects .l-container {
  overflow: hidden;
}
body.projects .projects-highlights {
  padding-top: 7.5rem;
  padding-bottom: 7.5rem;
  margin-top: 2.5rem;
}
body.projects .projects-highlights__list {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  margin-top: 3rem;
}
body.projects .projects-all {
  margin-top: 12.5rem;
}
body.projects .projects-all__list {
  margin-top: 3rem;
}
body.projects .projects-all__list .p-card-01:nth-child(n+7) {
  opacity: 0;
  transition: opacity 0.6s cubic-bezier(0.33, 1, 0.68, 1) calc(var(--delay) * 1s);
}
body.projects .projects-all__list .p-card-01:nth-child(n+7).is-show {
  opacity: 1;
}
body.projects .projects-all__link {
  margin-top: 5rem;
  text-align: center;
}

@media only screen and (max-width: 767px) {
  body.projects .projects-all {
    margin-top: 7.5rem;
  }
}
/* utility */
.u-asterisk {
  padding-left: 1em;
  text-indent: -1em;
}

html[data-bg=white] .u-bg-lightest {
  background-color: #fbfbfb;
}

.u-color-white {
  color: #fff;
}

@media all and (min-width: 768px), print {
  .u-hidden-pc {
    display: none;
  }
}
@media only screen and (max-width: 767px) {
  .u-hidden-sp {
    display: none;
  }
}
.u-hide {
  display: none !important;
}

.u-font-en-01 {
  font-family: "Poppins", sans-serif;
}

.u-mt-section {
  margin-top: 5rem;
}

.u-mt-1 {
  margin-top: 0.5rem;
}

.u-mt-2 {
  margin-top: 1rem;
}

.u-mt-3 {
  margin-top: 1.5rem;
}

.u-mt-4 {
  margin-top: 2rem;
}

.u-mt-5 {
  margin-top: 2.5rem;
}

.u-mt-6 {
  margin-top: 3rem;
}

.u-mt-7 {
  margin-top: 3.5rem;
}

.u-mt-8 {
  margin-top: 4rem;
}

.u-mt-9 {
  margin-top: 4.5rem;
}

.u-mt-10 {
  margin-top: 5rem;
}

.u-mt-11 {
  margin-top: 5.5rem;
}

.u-mt-12 {
  margin-top: 6rem;
}

.u-mt-13 {
  margin-top: 6.5rem;
}

.u-mt-14 {
  margin-top: 7rem;
}

.u-mt-15 {
  margin-top: 7.5rem;
}

.u-mt-16 {
  margin-top: 8rem;
}

.u-mt-17 {
  margin-top: 8.5rem;
}

.u-mt-18 {
  margin-top: 9rem;
}

.u-mt-19 {
  margin-top: 9.5rem;
}

.u-mt-20 {
  margin-top: 10rem;
}

.u-mt-21 {
  margin-top: 10.5rem;
}

.u-mt-22 {
  margin-top: 11rem;
}

.u-mt-23 {
  margin-top: 11.5rem;
}

.u-mt-24 {
  margin-top: 12rem;
}

.u-mt-25 {
  margin-top: 12.5rem;
}

@media only screen and (max-width: 767px) {
  .u-mt-section {
    margin-top: 2.5rem;
  }
  .u-mt-1-sp {
    margin-top: 0.5rem;
  }
  .u-mt-2-sp {
    margin-top: 1rem;
  }
  .u-mt-3-sp {
    margin-top: 1.5rem;
  }
  .u-mt-4-sp {
    margin-top: 2rem;
  }
  .u-mt-5-sp {
    margin-top: 2.5rem;
  }
  .u-mt-6-sp {
    margin-top: 3rem;
  }
  .u-mt-7-sp {
    margin-top: 3.5rem;
  }
  .u-mt-8-sp {
    margin-top: 4rem;
  }
  .u-mt-9-sp {
    margin-top: 4.5rem;
  }
  .u-mt-10-sp {
    margin-top: 5rem;
  }
  .u-mt-11-sp {
    margin-top: 5.5rem;
  }
  .u-mt-12-sp {
    margin-top: 6rem;
  }
  .u-mt-13-sp {
    margin-top: 6.5rem;
  }
  .u-mt-14-sp {
    margin-top: 7rem;
  }
  .u-mt-15-sp {
    margin-top: 7.5rem;
  }
  .u-mt-16-sp {
    margin-top: 8rem;
  }
  .u-mt-17-sp {
    margin-top: 8.5rem;
  }
  .u-mt-18-sp {
    margin-top: 9rem;
  }
  .u-mt-19-sp {
    margin-top: 9.5rem;
  }
  .u-mt-20-sp {
    margin-top: 10rem;
  }
  .u-mt-21-sp {
    margin-top: 10.5rem;
  }
  .u-mt-22-sp {
    margin-top: 11rem;
  }
  .u-mt-23-sp {
    margin-top: 11.5rem;
  }
  .u-mt-24-sp {
    margin-top: 12rem;
  }
  .u-mt-25-sp {
    margin-top: 12.5rem;
  }
}
.u-tel {
  text-decoration-line: underline;
  text-decoration-thickness: 0.0625rem;
  text-decoration-style: solid;
  text-underline-offset: 16%;
}

@media (hover: hover) {
  .u-tel {
    text-decoration: none;
    pointer-events: none;
  }
}
@media (hover: hover) {
  .u-tel-status {
    pointer-events: none;
  }
}
.u-text-center {
  text-align: center;
}

.u-text-left {
  text-align: left;
}

.u-text-right {
  text-align: right;
}

@media all and (min-width: 768px), print {
  .u-text-center-pc {
    text-align: center;
  }
  .u-text-left-pc {
    text-align: left;
  }
  .u-text-right-pc {
    text-align: right;
  }
}
@media only screen and (max-width: 767px) {
  .u-text-center-sp {
    text-align: center;
  }
  .u-text-left-sp {
    text-align: left;
  }
  .u-text-right-sp {
    text-align: right;
  }
}
@media only screen and (max-width: 767px) {
  .u-underline-sp {
    text-decoration-line: underline;
    text-decoration-thickness: 0.0625rem;
    text-decoration-style: solid;
    text-underline-offset: 16%;
    -webkit-text-decoration-skip: ink;
            text-decoration-skip-ink: auto;
  }
}
.u-wbr {
  text-wrap: pretty;
  word-break: break-word;
  overflow-wrap: anywhere;
}