@charset "UTF-8";
/* breakpoints */
/* ============================================ */
/* hover */
/* ============================================ */
/* clamp-rem
mixin.clamp-rem(88, 10, 1080)
88rem, 変動幅(％), ブレークポイント */
/* ============================================ */
/* px-to-percent
mixin.px-to-percent(16); // font-size: 100%
/* ============================================ */
/* px-to-rem
mixin.px-to-rem(18); // 18pxをremに変換
/* ============================================ */
/* px-to-vw
mixin.px-to-vw(32); // 32pxをvwに変換
/* ============================================ */
/*! destyle.css v4.0.1 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

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

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

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

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

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

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

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

dd {
  margin-left: 0;
}

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

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

address {
  font-style: inherit;
}

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

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

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

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

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

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

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

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

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

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

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

select:disabled {
  opacity: inherit;
}

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

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

legend {
  padding: 0;
}

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

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

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

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

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

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

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

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

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

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

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

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

caption {
  text-align: left;
}

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

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

/* Colors */
:root {
  --primary-300: #acd9ef;
  --primary-600: #3ea5d9;
  --green-100: #eeffed;
  --green-200: #d4ffd1;
  --green-400: #b3ffad;
  --green-600: #94fc8c;
  --green-800: #7ff876;
  --pink-100: #fff9fe;
  --pink-200: #ffecfc;
  --pink-400: #ffdef9;
  --pink-600: #fdc7f3;
  --pink-800: #feb9f1;
  --gray-10: #f9f9f9;
  --gray-50: #f3f3f3;
  --gray-100: #f0f0f0;
  --gray-200: #dddddd;
  --gray-300: #cccccc;
  --gray-400: #aaaaaa;
  --gray-500: #999999;
  --gray-600: #777777;
  --gray-700: #555555;
  --gray-800: #333333;
  --gray-900: #111111;
  --default-black: #000000;
  --default-white: #ffffff;
  --semantic-attention: #d74f4f;
  --semantic-link: #1292b5;
}

/* Typography */
:root {
  --font-family-jp: "Zen Kaku Gothic New", sans-serif;
  --font-family-en: "Inter", sans-serif;
  --font-family-sys: sans-serif;
}

/* common */
:root {
  /* font-weight */
  --font-weight-thin: 100;
  --font-weight-extra-light: 200;
  --font-weight-light: 300;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semi-bold: 600;
  --font-weight-bold: 700;
  --font-weight-bolder: 800;
  --font-weight-black: 900;
  --line-height-xxs: 1.1;
  --line-height-xs: 1.2;
  --line-height-sm: 1.4;
  --line-height-md: 1.6;
  --line-height-lg: 1.8;
  --line-height-xl: 2;
  --easing-cubic: cubic-bezier(0.21, 0.6, 0.35, 1);
  --transition-lv1: 0.15s var(--easing-cubic);
  --transition-lv2: 0.3s var(--easing-cubic);
  --transition-lv3: 0.6s var(--easing-cubic);
  --transition-lv4: 0.9s var(--easing-cubic);
  --transition-lv5: 1.2s var(--easing-cubic);
  --transition-lv6: 1.5s var(--easing-cubic);
  --transition-lv7: 1.8s var(--easing-cubic);
  --e-cubic: cubic-bezier(0.21, 0.6, 0.35, 1);
  --e-cubic2: cubic-bezier(0.42, 0.3, 0.45, 1);
  --hover-opacity: 0.75;
  --z-pagetop: 100;
  --z-header: 200;
}

/* base */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: var(--font-weight-bold);
}

@media screen and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: 0.001dpcm) {
  _:lang(x)::-internal-media-controls-overlay-cast-button,
  img {
    image-rendering: -webkit-optimize-contrast;
  }
}
img,
svg,
video {
  max-width: 100%;
  height: auto;
}

*:focus {
  outline: none;
}

html,
body {
  overflow-x: clip;
}

html {
  text-size-adjust: 100%;
  overscroll-behavior: none;
}

body {
  position: relative;
  font-family: var(--font-family-jp);
  font-size: 3.7333333333vw;
  font-weight: var(--font-weight-medium);
  font-feature-settings: "palt";
  letter-spacing: 0.03em;
  color: var(--gray-800);
  line-height: 1;
  background: var(--default-white);
  backface-visibility: hidden;
  -webkit-font-smoothing: antialiased;
}
@media (min-width: 768px) {
  body {
    font-size: 1rem;
  }
}
body.noScroll {
  /* when modal active */
  touch-action: none;
  -webkit-overflow-scrolling: none;
  overflow: hidden;
  /* Other browsers */
  overscroll-behavior: none;
}

@media (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
    color: inherit;
    text-decoration: none;
  }
}

/* header */
/* ============================================ */
.l-header {
  position: fixed;
  top: 10px;
  left: 10px;
  right: 10px;
  display: grid;
  align-items: center;
  grid-template-columns: auto 1fr;
  height: 60px;
  border-radius: 10px;
  padding: 0 5vw;
  z-index: var(--z-header);
  transition: all var(--transition-lv3);
  background: white;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}
@media (min-width: 768px) {
  .l-header {
    top: 20px;
    left: 20px;
    right: 20px;
    height: 70px;
    padding: 10px 20px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  }
}
.l-header.is-fixed {
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.l-header-logo {
  z-index: calc(var(--z-header) + 1);
}
.l-header-logo img {
  width: 100px;
  height: auto;
}
@media (min-width: 768px) {
  .l-header-logo img {
    width: 120px;
  }
}
.l-header-burger {
  position: absolute;
  top: 50%;
  left: calc(100% - 45px - 5vw);
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 8px;
  width: 45px;
  height: 45px;
  margin-left: auto;
  z-index: calc(var(--z-header) + 1);
  transition: background-color var(--transition-lv2);
}
@media (min-width: 768px) {
  .l-header-burger {
    left: calc(100% - 45px - 30px);
  }
}
@media (min-width: 1100px) {
  .l-header-burger {
    display: none;
  }
}
.l-header-burger span {
  background: var(--gray-800);
  display: block;
  height: 1px;
  transition: transform var(--transition-lv2), opacity var(--transition-lv2);
  width: 33px;
}
.is-active .l-header-burger span:nth-child(1) {
  transform: translateY(9px) rotate(45deg);
}
.is-active .l-header-burger span:nth-child(2) {
  opacity: 0;
}
.is-active .l-header-burger span:nth-child(3) {
  transform: translateY(-9px) rotate(-45deg);
}
@media (max-width: 1099px) {
  .l-header-nav {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    overflow: auto;
    padding: 26.6666666667vw 10vw 10vw;
    background-color: var(--default-white);
    display: none;
  }
}
@media (max-width: 1099px) and (min-width: 768px) {
  .l-header-nav {
    padding: 6.25rem 10vw 10vw;
  }
}
@media (max-width: 1099px) {
  .l-header-nav.is-visible {
    display: block;
    animation: navIn var(--transition-lv3) forwards;
  }
  .l-header-nav .gnav > li > a,
  .l-header-nav .gnav > li > button {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 2.1333333333vw;
    border-bottom: 1px solid var(--gray-300);
    font-size: 4.2666666667vw;
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height-sm);
    padding: 4.2666666667vw 0;
  }
}
@media (max-width: 1099px) and (min-width: 768px) {
  .l-header-nav .gnav > li > a,
  .l-header-nav .gnav > li > button {
    font-size: 1rem;
    padding: 1rem 0;
  }
}
@media (max-width: 1099px) {
  .l-header-nav .gnav > li > a::before,
  .l-header-nav .gnav > li > button::before {
    content: "";
    flex-shrink: 0;
    width: 5px;
    height: 5px;
    border-radius: 5px;
    background: var(--primary-600);
    margin-top: 0.1em;
  }
  .l-header-nav .gnav .gnav-trigger {
    display: flex;
    align-items: center;
  }
  .l-header-nav .gnav .gnav-trigger::after {
    display: block;
    content: "";
    width: 18px;
    height: 18px;
    border-radius: 18px;
    background: var(--gray-200) url("data:image/svg+xml,%3csvg%20width='12'%20height='8'%20viewBox='0%200%2012%208'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M0.711914%202.39927L6.00047%207.68787L11.2887%202.39927L9.54272%200.653322L6.00047%204.19524L2.45821%200.653322L0.711914%202.39927Z'%20fill='%23333333'/%3e%3c/svg%3e") no-repeat 50% 55%/10px;
    transition: all var(--transition-lv2);
  }
  .l-header-nav .gnav .gnav-trigger[aria-expanded=true]::after {
    transform: rotate(-180deg);
  }
  .l-header-nav .gnav .has-sub .gnav-sub[data-dropdown-menu] {
    height: var(--dd-h, 0px);
    overflow: hidden;
    opacity: 1;
    visibility: visible;
    transform: none;
    pointer-events: auto;
    padding: 0;
    transition: height var(--transition-lv2);
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding-left: 15px;
  }
  .l-header-nav .gnav .has-sub .gnav-sub[data-dropdown-menu] li:first-child {
    margin-top: 15px;
  }
  .l-header-nav .gnav .has-sub .gnav-sub[data-dropdown-menu] a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    font-size: 0.9375rem;
    font-weight: var(--font-weight-bolder);
    background-color: var(--gray-100);
    color: var(--gray-800);
    padding: 15px;
    border-radius: 5px;
  }
  .l-header-nav .gnav .has-sub .gnav-sub[data-dropdown-menu] a::after {
    display: block;
    content: "";
    width: 10px;
    height: 10px;
    mask: url("data:image/svg+xml,%3csvg%20width='8'%20height='11'%20viewBox='0%200%208%2011'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M2.05808%20-0.000366442L7.34668%205.28819L2.05808%2010.5764L0.312136%208.83044L3.85405%205.28819L0.312136%201.74593L2.05808%20-0.000366442Z'%20fill='%23333333'/%3e%3c/svg%3e") no-repeat 50%/contain;
    background-color: var(--gray-800);
  }
  .l-header-nav .gnav .has-sub .gnav-sub[data-dropdown-menu] a.reconnect {
    background-color: var(--green-600);
  }
  .l-header-nav .gnav .has-sub .gnav-sub[data-dropdown-menu] a.iftabi {
    background-color: var(--pink-600);
  }
}
@media (max-width: 1099px) and (hover: hover) and (pointer: fine) {
  .l-header-nav .gnav .has-sub .gnav-sub[data-dropdown-menu] a {
    transition: all var(--transition-lv2);
  }
  .l-header-nav .gnav .has-sub .gnav-sub[data-dropdown-menu] a:hover {
    background-color: var(--primary-300);
  }
}
@media (max-width: 1099px) and (hover: none) and (pointer: none) {
  .l-header-nav .gnav .has-sub .gnav-sub[data-dropdown-menu] a:active {
    background-color: var(--primary-300);
  }
}
@media (max-width: 1099px) {
  .l-header-nav .contact {
    grid-area: contact;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 15px;
  }
  .l-header-nav .contact .c-btn {
    min-width: 142px;
    padding: 0 15px;
    font-size: 0.875rem;
  }
}
@media (min-width: 1100px) {
  .l-header-nav {
    display: grid;
    grid-template-areas: "gnav contact";
    grid-template-columns: 1fr auto;
    align-items: center;
    column-gap: 30px;
  }
  .l-header-nav .gnav {
    grid-area: gnav;
    display: flex;
    justify-content: flex-end;
    column-gap: 30px;
  }
  .l-header-nav .gnav > li {
    position: relative;
  }
  .l-header-nav .gnav > li > a,
  .l-header-nav .gnav > li > button {
    height: 100%;
    display: flex;
    align-items: flex-start;
    position: relative;
    font-size: 1rem;
    font-weight: var(--font-weight-bolder);
  }
}
@media (min-width: 1100px) and (hover: hover) and (pointer: fine) {
  .l-header-nav .gnav > li > a,
  .l-header-nav .gnav > li > button {
    transition: all var(--transition-lv2);
  }
  .l-header-nav .gnav > li > a:hover,
  .l-header-nav .gnav > li > button:hover {
    opacity: var(--hover-opacity);
  }
}
@media (min-width: 1100px) and (hover: none) and (pointer: none) {
  .l-header-nav .gnav > li > a:active,
  .l-header-nav .gnav > li > button:active {
    opacity: var(--hover-opacity);
  }
}
@media (min-width: 1100px) {
  .l-header-nav .gnav > li > a.is-current::before,
  .l-header-nav .gnav > li > button.is-current::before {
    content: "";
    position: absolute;
    bottom: -6px;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: var(--primary-600);
  }
  .l-header-nav .gnav .gnav-trigger {
    display: flex;
    align-items: center;
    gap: 10px;
  }
  .l-header-nav .gnav .gnav-trigger::after {
    display: block;
    content: "";
    width: 18px;
    height: 18px;
    border-radius: 18px;
    background: var(--gray-200) url("data:image/svg+xml,%3csvg%20width='12'%20height='8'%20viewBox='0%200%2012%208'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M0.711914%202.39927L6.00047%207.68787L11.2887%202.39927L9.54272%200.653322L6.00047%204.19524L2.45821%200.653322L0.711914%202.39927Z'%20fill='%23333333'/%3e%3c/svg%3e") no-repeat 50% 55%/10px;
    transition: all var(--transition-lv2);
  }
  .l-header-nav .gnav .gnav-trigger[aria-expanded=true]::after {
    transform: rotate(-180deg);
  }
  .l-header-nav .gnav .has-sub {
    position: relative;
  }
  .l-header-nav .gnav .has-sub .gnav-sub[data-dropdown-menu] {
    position: absolute;
    top: calc(100% + 10px);
    left: 50%;
    transform: translate(-50%, -10px);
    z-index: 1000;
    min-width: 200px;
    padding: 10px;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: all var(--transition-lv2);
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  .l-header-nav .gnav .has-sub .gnav-sub[data-dropdown-menu] a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    font-size: 0.9375rem;
    font-weight: var(--font-weight-bolder);
    background-color: var(--gray-100);
    color: var(--gray-800);
    padding: 15px;
    border-radius: 5px;
  }
  .l-header-nav .gnav .has-sub .gnav-sub[data-dropdown-menu] a::after {
    display: block;
    content: "";
    width: 10px;
    height: 10px;
    mask: url("data:image/svg+xml,%3csvg%20width='8'%20height='11'%20viewBox='0%200%208%2011'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M2.05808%20-0.000366442L7.34668%205.28819L2.05808%2010.5764L0.312136%208.83044L3.85405%205.28819L0.312136%201.74593L2.05808%20-0.000366442Z'%20fill='%23333333'/%3e%3c/svg%3e") no-repeat 50%/contain;
    background-color: var(--gray-800);
  }
  .l-header-nav .gnav .has-sub .gnav-sub[data-dropdown-menu] a.reconnect {
    background-color: var(--green-600);
  }
  .l-header-nav .gnav .has-sub .gnav-sub[data-dropdown-menu] a.iftabi {
    background-color: var(--pink-600);
  }
}
@media (min-width: 1100px) and (hover: hover) and (pointer: fine) {
  .l-header-nav .gnav .has-sub .gnav-sub[data-dropdown-menu] a {
    transition: all var(--transition-lv2);
  }
  .l-header-nav .gnav .has-sub .gnav-sub[data-dropdown-menu] a:hover {
    opacity: var(--hover-opacity);
  }
}
@media (min-width: 1100px) and (hover: none) and (pointer: none) {
  .l-header-nav .gnav .has-sub .gnav-sub[data-dropdown-menu] a:active {
    opacity: var(--hover-opacity);
  }
}
@media (min-width: 1100px) {
  .l-header-nav .gnav .has-sub.is-open .gnav-sub[data-dropdown-menu] {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 5px);
    pointer-events: auto;
  }
  .l-header-nav .contact {
    grid-area: contact;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
  .l-header-nav .contact .c-btn {
    min-width: 142px;
    height: 45px;
    padding: 0 15px;
    font-size: 0.875rem;
  }
}

/* footer */
/* ============================================ */
.l-footer {
  position: relative;
  padding: 45px 20px;
  background-color: var(--gray-50);
}
@media (min-width: 768px) {
  .l-footer {
    padding: 50px 30px;
  }
}
@media (min-width: 1100px) {
  .l-footer {
    padding: 60px 40px;
  }
}
.l-footer-pagetop {
  position: fixed;
  bottom: 20px;
  right: 40px;
  transition: opacity var(--transition-lv2);
  opacity: 0;
  visibility: hidden;
  z-index: var(--z-pagetop);
}
@media (max-width: 767px) {
  .l-footer-pagetop {
    display: none;
  }
}
.l-footer-pagetop.is-stop {
  position: absolute;
  bottom: auto;
  top: -25px;
}
.l-footer-pagetop.is-active {
  opacity: 1;
  visibility: visible;
}
.l-footer-pagetop.is-fixed {
  position: absolute;
  top: -90px;
}
.l-footer-pagetop a {
  position: relative;
  display: grid;
  place-content: center;
  margin-inline: auto;
  width: 50px;
  height: 50px;
  border-radius: 50px;
  background-color: var(--gray-900);
}
.l-footer-pagetop a::after {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  mask: url("data:image/svg+xml,%3csvg%20width='12'%20height='8'%20viewBox='0%200%2012%208'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M0.711914%205.94192L6.00047%200.65332L11.2887%205.94192L9.54272%207.68786L6.00047%204.14595L2.45821%207.68786L0.711914%205.94192Z'%20fill='%23333333'/%3e%3c/svg%3e") no-repeat center/12px auto;
  background-color: var(--default-white);
}
@media (hover: hover) and (pointer: fine) {
  .l-footer-pagetop a {
    transition: all var(--transition-lv2);
  }
  .l-footer-pagetop a:hover {
    opacity: var(--hover-opacity);
  }
}
@media (hover: none) and (pointer: none) {
  .l-footer-pagetop a:active {
    opacity: var(--hover-opacity);
  }
}
.l-footer-inner {
  display: grid;
  grid-template-areas: "brand" "nav" "copyright";
  row-gap: 25px;
}
@media (min-width: 1100px) {
  .l-footer-inner {
    grid-template-columns: auto 1fr;
    grid-template-rows: 1fr auto;
    grid-template-areas: "brand nav" "brand copyright";
    row-gap: 25px;
    column-gap: 40px;
    align-items: flex-start;
  }
}
.l-footer-brand {
  grid-area: brand;
  display: grid;
  justify-content: center;
  text-align: center;
  row-gap: 20px;
}
@media (min-width: 1100px) {
  .l-footer-brand {
    text-align: left;
  }
}
@media (max-width: 767px) {
  .l-footer-logo {
    display: grid;
    place-content: center;
  }
}
.l-footer-logo img {
  width: 162px;
  height: auto;
}
.l-footer-address {
  display: flex;
  flex-direction: column;
  row-gap: 10px;
  line-height: var(--line-height-lg);
}
.l-footer-address h2 {
  font-size: 4.2666666667vw;
}
@media (min-width: 768px) {
  .l-footer-address h2 {
    font-size: 1.0625rem;
  }
}
.l-footer-nav {
  grid-area: nav;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  row-gap: 25px;
}
@media (min-width: 768px) {
  .l-footer-nav {
    align-items: flex-end;
    justify-content: center;
    text-align: right;
  }
}
.l-footer-nav .fnav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
}
@media (min-width: 1100px) {
  .l-footer-nav .fnav {
    flex-direction: row;
    align-items: center;
    gap: 30px;
  }
}
@media (max-width: 767px) {
  .l-footer-nav .fnav li:first-child {
    width: 100%;
  }
}
@media (hover: hover) and (pointer: fine) {
  .l-footer-nav .fnav li a {
    transition: all var(--transition-lv2);
  }
  .l-footer-nav .fnav li a:hover {
    color: var(--gray-600);
  }
}
@media (hover: none) and (pointer: none) {
  .l-footer-nav .fnav li a:active {
    color: var(--gray-600);
  }
}
.l-footer-nav .contact {
  display: flex;
  flex-direction: column;
  gap: 15px;
  margin-top: 10px;
}
@media (min-width: 768px) {
  .l-footer-nav .contact {
    flex-direction: row;
    gap: 10px;
    margin-top: 0;
  }
}
.l-footer-copyright {
  grid-area: copyright;
  font-family: var(--font-family-en);
  font-size: 3.2vw;
  font-weight: var(--font-weight-medium);
  line-height: var(--line-height-sm);
  text-align: center;
  padding-top: 10px;
}
@media (min-width: 768px) {
  .l-footer-copyright {
    font-size: 0.75rem;
  }
}
@media (min-width: 1100px) {
  .l-footer-copyright {
    text-align: right;
  }
}

/* case */
/* ============================================ */
.p-case {
  padding-top: 70px;
  padding-bottom: 100px;
  background-color: var(--gray-10);
}
@media (min-width: 768px) {
  .p-case {
    padding-top: 90px;
    padding-bottom: 120px;
  }
}
.p-case-main {
  padding-top: 30px;
}
@media (min-width: 768px) {
  .p-case-main {
    padding-top: 50px;
  }
}
.p-case-desc {
  display: flex;
  flex-direction: column;
  row-gap: 20px;
  margin-bottom: 40px;
}
.p-case-desc p {
  font-size: 4.2666666667vw;
  line-height: var(--line-height-lg);
}
@media (min-width: 768px) {
  .p-case-desc p {
    font-size: 1.125rem;
  }
}
.p-case-container {
  max-width: 1080px;
  background-color: var(--default-white);
  border-radius: 20px;
  padding: 30px;
}
@media (min-width: 768px) {
  .p-case-container {
    padding: 60px;
  }
}
.p-case-nav-list {
  display: flex;
  justify-content: center;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 40px;
}
@media (min-width: 768px) {
  .p-case-nav-list {
    flex-direction: row;
    margin-bottom: 60px;
  }
}
.p-case-nav-list-item {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (min-width: 768px) {
  .p-case-nav-list-item {
    min-width: 280px;
  }
}
.p-case-nav-list-item a {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 15px;
  width: 100%;
  height: 48px;
  border-radius: 4px;
  background-color: var(--gray-800);
  color: var(--default-white);
  opacity: 0.4;
}
.p-case-nav-list-item a::after {
  content: "";
  width: 16px;
  height: 16px;
  mask: url("data:image/svg+xml,%3csvg%20width='22'%20height='22'%20viewBox='0%200%2022%2022'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M-4.80822e-07%2011C-7.46376e-07%2017.0752%204.92484%2021.9999%2011%2022C17.0753%2022%2022%2017.0753%2022%2011C21.9999%204.92484%2017.0752%207.4638e-07%2011%204.80825e-07C4.92492%200.000128551%200.000128117%204.92492%20-4.80822e-07%2011ZM6.23242%209.6416C5.88741%209.21034%205.95741%208.58036%206.38867%208.23535C6.81981%207.89086%207.449%207.96079%207.79394%208.3916L11.0215%2012.4248L14.2471%208.3916C14.5921%207.96059%2015.2222%207.89042%2015.6533%208.23535C16.0844%208.5803%2016.1543%209.21037%2015.8096%209.6416L11.8018%2014.6504C11.612%2014.8875%2011.3242%2015.0263%2011.0205%2015.0264C10.7169%2015.0263%2010.4299%2014.8875%2010.2402%2014.6504L6.23242%209.6416Z'%20fill='white'/%3e%3c/svg%3e") no-repeat center/contain;
  background-color: var(--default-white);
}
@media (min-width: 768px) {
  .p-case-nav-list-item a::after {
    width: 20px;
    height: 20px;
  }
}
@media (min-width: 1100px) {
  .p-case-nav-list-item a::after {
    width: 22px;
    height: 22px;
  }
}
.p-case-nav-list-item a.reconnect {
  background-color: var(--green-600);
  color: var(--gray-800);
}
.p-case-nav-list-item a.iftabi {
  background-color: var(--pink-600);
  color: var(--gray-800);
}
.p-case-nav-list-item a.current {
  opacity: 1;
}
@media (hover: hover) and (pointer: fine) {
  .p-case-nav-list-item a {
    transition: all var(--transition-lv2);
  }
  .p-case-nav-list-item a:hover {
    opacity: var(--hover-opacity);
  }
}
@media (hover: none) and (pointer: none) {
  .p-case-nav-list-item a:active {
    opacity: var(--hover-opacity);
  }
}
.p-case-list {
  display: grid;
}
@media (max-width: 767px) {
  .p-case-list {
    row-gap: 40px;
  }
}
@media (min-width: 768px) {
  .p-case-list {
    grid-template-columns: repeat(3, 1fr);
    gap: 40px 20px;
  }
}
.p-case-article .c-inner {
  max-width: 980px;
  background-color: var(--default-white);
  border-radius: 20px;
  padding: 30px;
}
@media (min-width: 768px) {
  .p-case-article .c-inner {
    padding: 60px;
  }
}
.p-case-article-header {
  display: flex;
  flex-direction: column;
  row-gap: 15px;
  margin-bottom: 30px;
}
@media (min-width: 768px) {
  .p-case-article-header {
    margin-bottom: 50px;
  }
}
.p-case-article-header .data {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px;
}
.p-case-article-header .data span {
  padding: 4px 8px;
  border-radius: 3px;
  font-size: 3.4666666667vw;
}
@media (min-width: 768px) {
  .p-case-article-header .data span {
    padding: 8px 12px;
    font-size: 0.875rem;
  }
}
.p-case-article-header .data span.area {
  background-color: var(--gray-800);
  color: var(--default-white);
}
.p-case-article-header .data span.category {
  background-color: var(--primary-600);
}
.p-case-article-header .data span.iftabi {
  background-color: var(--green-600);
}
.p-case-article-header .data span.reconnect {
  background-color: var(--pink-600);
}
.p-case-article-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.p-case-article-date {
  grid-area: date;
  font-size: 3.2vw;
  margin-top: 0.3em;
}
@media (min-width: 768px) {
  .p-case-article-date {
    font-size: 1rem;
    margin-top: 0.35em;
  }
}
.p-case-article-category {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.p-case-article-category-item {
  grid-area: category;
  font-size: 2.6666666667vw;
  background-color: var(--gray-100);
  padding: 6px 10px;
  border-radius: 5px;
  min-width: 90px;
  text-align: center;
}
@media (min-width: 768px) {
  .p-case-article-category-item {
    padding: 8px 10px;
    font-size: 0.875rem;
    min-width: 110px;
  }
}
.p-case-article-name {
  font-size: 4.2666666667vw;
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-sm);
}
@media (min-width: 768px) {
  .p-case-article-name {
    font-size: 1.25rem;
  }
}
.p-case-article-title {
  font-size: 6.4vw;
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-sm);
}
@media (min-width: 768px) {
  .p-case-article-title {
    font-size: 2rem;
  }
}
.p-case-article-eyecatch {
  margin-top: 20px;
}
@media (min-width: 768px) {
  .p-case-article-eyecatch {
    margin-top: 30px;
  }
}
.p-case-article-eyecatch img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 3.3/2;
}
.p-case-article-body {
  display: flex;
  flex-direction: column;
  row-gap: 20px;
}
.p-case-article-body *:first-child {
  margin-top: 0;
}
.p-case-article-body h2 {
  font-size: 4.5333333333vw;
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-md);
  color: var(--primary-600);
  margin-top: 30px;
}
@media (min-width: 768px) {
  .p-case-article-body h2 {
    font-size: 1.25rem;
    margin-top: 40px;
  }
}
.p-case-article-body h2::after {
  content: "";
  display: block;
  width: 100px;
  height: 1px;
  background-color: var(--gray-300);
  margin-top: 15px;
}
@media (min-width: 768px) {
  .p-case-article-body h2::after {
    margin-top: 20px;
  }
}
.p-case-article-body h3 {
  display: flex;
  gap: 10px;
  font-size: 4.2666666667vw;
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-md);
  margin-top: 30px;
}
@media (min-width: 768px) {
  .p-case-article-body h3 {
    font-size: 1.125rem;
    margin-top: 40px;
  }
}
.p-case-article-body h3::before {
  content: "";
  flex-shrink: 0;
  display: block;
  width: 15px;
  height: 15px;
  background-color: var(--primary-600);
  margin-top: 0.33em;
}
@media (min-width: 768px) {
  .p-case-article-body h3::before {
    width: 17px;
    height: 17px;
  }
}
.p-case-article-body p {
  font-size: 4.2666666667vw;
  line-height: var(--line-height-lg);
}
@media (min-width: 768px) {
  .p-case-article-body p {
    font-size: 0.9375rem;
  }
}
.p-case-article-body p:has(> img) {
  text-align: center;
  margin-top: 30px;
}
@media (min-width: 768px) {
  .p-case-article-body p:has(> img) {
    margin-top: 40px;
  }
}
.p-case-article-body p:has(> img) img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-case-article-body .gallery {
  margin-top: 30px;
}
@media (min-width: 768px) {
  .p-case-article-body .gallery {
    margin-top: 40px;
  }
}
.p-case-article-body .wp-block-gallery {
  margin-top: 30px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px !important;
}
.p-case-article-body .wp-block-gallery figure {
  width: 100% !important;
}
@media (min-width: 768px) {
  .p-case-article-body .wp-block-gallery {
    margin-top: 40px;
    gap: 20px !important;
  }
}
.p-case-article-body ul,
.p-case-article-body ol {
  display: flex;
  flex-direction: column;
  row-gap: 8px;
  line-height: var(--line-height-md);
}
.p-case-article-body ul {
  list-style: disc;
  padding-left: 1.2em;
}
.p-case-article-body ol {
  list-style: decimal;
  padding-left: 1.2em;
}
.p-case-article-nav {
  display: grid;
  grid-template-areas: "prev next" "back back";
  grid-template-columns: 1fr 1fr;
  row-gap: 20px;
  column-gap: 10px;
  margin-top: 40px;
  padding-top: 40px;
  border-top: 1px solid var(--gray-300);
}
@media (min-width: 768px) {
  .p-case-article-nav {
    grid-template-areas: "prev back next";
    grid-template-columns: 168px 1fr 168px;
    justify-content: space-between;
    margin-top: 60px;
    padding-top: 60px;
  }
}
.p-case-article-nav-item a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  border-radius: 48px;
  column-gap: 16px;
  padding: 15px 20px;
  background-color: var(--primary-600);
  color: var(--default-white);
  font-size: 4vw;
  font-weight: var(--font-weight-bold);
  text-align: center;
}
@media (min-width: 768px) {
  .p-case-article-nav-item a {
    width: 168px;
    column-gap: 12px;
    font-size: 0.9375rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-case-article-nav-item a {
    transition: all var(--transition-lv2);
  }
  .p-case-article-nav-item a:hover {
    opacity: var(--hover-opacity);
  }
}
@media (hover: none) and (pointer: none) {
  .p-case-article-nav-item a:active {
    opacity: var(--hover-opacity);
  }
}
.p-case-article-nav-item.back {
  grid-area: back;
  display: flex;
  justify-content: center;
}
.p-case-article-nav-item.back a {
  background-color: var(--gray-800);
  color: var(--default-white);
}
@media (max-width: 767px) {
  .p-case-article-nav-item.back a {
    width: 168px;
    margin-inline: auto;
  }
}
.p-case-article-nav-item.next {
  grid-area: next;
}
.p-case-article-nav-item.next a::after {
  content: "";
  width: 16px;
  height: 16px;
  mask: url("data:image/svg+xml,%3csvg%20width='22'%20height='22'%20viewBox='0%200%2022%2022'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M11%200C17.0752%200%2021.9999%204.92484%2022%2011C22%2017.0753%2017.0753%2022%2011%2022C4.92484%2021.9999%200%2017.0752%200%2011C0.000128335%204.92492%204.92492%200.000128332%2011%200ZM9.64258%206.23242C9.21132%205.88741%208.58134%205.95741%208.23633%206.38867C7.89169%206.81981%207.96172%207.44896%208.39258%207.79395L12.4258%2011.0215L8.39258%2014.2471C7.96141%2014.5921%207.89135%2015.2221%208.23633%2015.6533C8.58133%2016.0844%209.21136%2016.1545%209.64258%2015.8096L14.6514%2011.8018C14.8885%2011.612%2015.0273%2011.3242%2015.0273%2011.0205C15.0272%2010.7169%2014.8884%2010.4299%2014.6514%2010.2402L9.64258%206.23242Z'%20fill='white'/%3e%3c/svg%3e") no-repeat center/contain;
  background-color: var(--default-white);
}
@media (min-width: 768px) {
  .p-case-article-nav-item.next a::after {
    right: 22px;
    width: 22px;
    height: 22px;
  }
}
.p-case-article-nav-item.prev {
  grid-area: prev;
}
.p-case-article-nav-item.prev a::before {
  content: "";
  width: 16px;
  height: 16px;
  mask: url("data:image/svg+xml,%3csvg%20width='22'%20height='22'%20viewBox='0%200%2022%2022'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M11%200C4.92481%200%200.000128342%204.92484%200%2011C0%2017.0753%204.92473%2022%2011%2022C17.0752%2021.9999%2022%2017.0752%2022%2011C21.9999%204.92492%2017.0751%200.000128332%2011%200ZM12.3574%206.23242C12.7887%205.88741%2013.4187%205.95741%2013.7637%206.38867C14.1083%206.81981%2014.0383%207.44896%2013.6074%207.79395L9.57422%2011.0215L13.6074%2014.2471C14.0386%2014.5921%2014.1087%2015.2221%2013.7637%2015.6533C13.4187%2016.0844%2012.7886%2016.1545%2012.3574%2015.8096L7.34863%2011.8018C7.11147%2011.612%206.97272%2011.3242%206.97266%2011.0205C6.97276%2010.7169%207.11157%2010.4299%207.34863%2010.2402L12.3574%206.23242Z'%20fill='white'/%3e%3c/svg%3e") no-repeat center/contain;
  background-color: var(--default-white);
  margin-top: 0.1em;
}
@media (min-width: 768px) {
  .p-case-article-nav-item.prev a::before {
    left: 22px;
    width: 22px;
    height: 22px;
  }
}

/* concept */
/* ============================================ */
.p-concept {
  padding-top: 70px;
  background-color: var(--gray-10);
}
@media (min-width: 768px) {
  .p-concept {
    padding-top: 90px;
  }
}
.p-concept-main {
  padding-top: 30px;
}
@media (min-width: 768px) {
  .p-concept-main {
    padding-top: 50px;
  }
}
@media (min-width: 768px) {
  .p-concept-mvv .c-inner {
    max-width: 1200px;
  }
}
.p-concept-mvv-video {
  margin-inline: auto;
  margin-bottom: 40px;
}
@media (min-width: 768px) {
  .p-concept-mvv-video {
    max-width: 1000px;
    margin-bottom: 60px;
  }
}
.p-concept-mvv-video iframe {
  width: 100%;
  height: 100%;
  aspect-ratio: 16/9;
}
.p-concept-mvv-desc {
  display: flex;
  flex-direction: column;
  row-gap: 20px;
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .p-concept-mvv-desc {
    margin-bottom: 40px;
    padding-left: 40px;
  }
}
.p-concept-mvv-desc p {
  font-size: 4.2666666667vw;
  line-height: var(--line-height-lg);
}
@media (min-width: 768px) {
  .p-concept-mvv-desc p {
    font-size: 1.125rem;
  }
}
.p-concept-mvv-desc p strong {
  color: var(--primary-600);
}
.p-concept-mvv-list {
  display: grid;
  gap: 40px;
  background-color: var(--default-white);
  padding: 30px;
  border-radius: 10px;
}
@media (min-width: 768px) {
  .p-concept-mvv-list {
    gap: 60px;
    padding: 80px;
    border-radius: 20px;
  }
}
.p-concept-mvv-list-item {
  display: grid;
  grid-template-areas: "content" "image";
  align-items: center;
  gap: 30px;
  background-color: var(--default-white);
}
@media (min-width: 768px) {
  .p-concept-mvv-list-item {
    grid-template-areas: "content image";
    grid-template-columns: 1fr 480px;
    gap: 60px;
  }
  .p-concept-mvv-list-item:nth-child(even) {
    grid-template-areas: "image content";
    grid-template-columns: 480px 1fr;
  }
}
.p-concept-mvv-list-item .image {
  grid-area: image;
  border-radius: 10px;
  overflow: hidden;
}
.p-concept-mvv-list-item .content {
  grid-area: content;
  display: flex;
  flex-direction: column;
  row-gap: 20px;
}
.p-concept-mvv-list-item .content .label {
  font-size: 4.8vw;
  color: var(--primary-600);
}
@media (min-width: 768px) {
  .p-concept-mvv-list-item .content .label {
    font-size: 1.4375rem;
  }
}
.p-concept-mvv-list-item .content h2 {
  font-size: 6.4vw;
  line-height: var(--line-height-md);
}
@media (min-width: 768px) {
  .p-concept-mvv-list-item .content h2 {
    font-size: 2rem;
  }
}
.p-concept-mvv-list-item .content h2 .marker {
  background: linear-gradient(transparent 6%, #3ea5d9 0);
  color: var(--default-white);
}
.p-concept-mvv-list-item .content ol {
  counter-reset: ol_li;
  font-size: 4.2666666667vw;
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-lg);
}
@media (min-width: 768px) {
  .p-concept-mvv-list-item .content ol {
    font-size: 1.5rem;
  }
}
.p-concept-mvv-list-item .content ol li:before {
  margin-right: 0.25em;
  counter-increment: ol_li; /* ol_li カウンタの値に1加える */
  content: counter(ol_li) "."; /* before擬似要素のcontentで出力 */
  color: var(--primary-600); /* 色を変更 */
}
.p-concept-member {
  padding-block: 50px;
}
@media (min-width: 768px) {
  .p-concept-member {
    padding-block: 80px;
  }
}
@media (min-width: 768px) {
  .p-concept-member .c-inner {
    max-width: 1120px;
  }
}
.p-concept-member-header {
  margin-bottom: 30px;
}
@media (min-width: 768px) {
  .p-concept-member-header {
    margin-bottom: 40px;
  }
}
.p-concept-member-list {
  display: grid;
  gap: 60px;
}
@media (min-width: 768px) {
  .p-concept-member-list {
    grid-template-columns: repeat(2, 1fr);
  }
}
.p-concept-member-list-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}
@media (min-width: 768px) {
  .p-concept-member-list-item {
    gap: 30px;
  }
}
.p-concept-member-list-item .image {
  width: 240px;
  height: 240px;
  overflow: hidden;
}
@media (min-width: 768px) {
  .p-concept-member-list-item .image {
    width: 360px;
    height: 360px;
  }
}
.p-concept-member-list-item .content {
  display: flex;
  flex-direction: column;
  row-gap: 12px;
}
@media (min-width: 768px) {
  .p-concept-member-list-item .content {
    row-gap: 20px;
  }
}
.p-concept-member-list-item .content .title {
  display: flex;
  flex-direction: column;
  row-gap: 0.5em;
  text-align: center;
}
.p-concept-member-list-item .content .title .position {
  font-size: 3.7333333333vw;
  font-weight: var(--font-weight-bold);
}
@media (min-width: 768px) {
  .p-concept-member-list-item .content .title .position {
    font-size: 1rem;
  }
}
.p-concept-member-list-item .content .title .name {
  font-size: 4.8vw;
  font-weight: var(--font-weight-bold);
}
@media (min-width: 768px) {
  .p-concept-member-list-item .content .title .name {
    font-size: 1.4375rem;
  }
}
.p-concept-member-list-item .content .profile {
  display: flex;
  flex-direction: column;
  row-gap: 1em;
  font-size: 3.7333333333vw;
  line-height: var(--line-height-lg);
}
@media (min-width: 768px) {
  .p-concept-member-list-item .content .profile {
    font-size: 1rem;
  }
}
.p-concept-company {
  background-color: var(--gray-100);
  padding-block: 50px;
}
@media (min-width: 768px) {
  .p-concept-company {
    padding-block: 80px;
  }
}
@media (min-width: 768px) {
  .p-concept-company .c-inner {
    max-width: 860px;
  }
}
.p-concept-company-header {
  margin-bottom: 30px;
}
@media (min-width: 768px) {
  .p-concept-company-header {
    margin-bottom: 40px;
  }
}
.p-concept-company-dl {
  position: relative;
  display: grid;
  font-size: 4.2666666667vw;
  line-height: var(--line-height-lg);
  border-top: 1px solid var(--gray-300);
}
@media (min-width: 768px) {
  .p-concept-company-dl {
    grid-template-columns: 170px 1fr;
    font-size: 1rem;
  }
}
.p-concept-company-dl::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  width: 100px;
  height: 2px;
  background-color: var(--primary-600);
}
@media (min-width: 768px) {
  .p-concept-company-dl::before {
    width: 170px;
  }
}
.p-concept-company-dl dt {
  position: relative;
  font-weight: var(--font-weight-bold);
  padding-top: 20px;
  padding-bottom: 4px;
}
@media (min-width: 768px) {
  .p-concept-company-dl dt {
    padding: 25px 0;
    border-bottom: 1px solid var(--gray-300);
  }
  .p-concept-company-dl dt::before {
    content: "";
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 100px;
    height: 2px;
    background-color: var(--primary-600);
  }
}
@media (min-width: 768px) and (min-width: 768px) {
  .p-concept-company-dl dt::before {
    width: 170px;
  }
}
.p-concept-company-dl dd {
  position: relative;
  border-bottom: 1px solid var(--gray-300);
  padding-bottom: 20px;
}
@media (min-width: 768px) {
  .p-concept-company-dl dd {
    padding: 25px;
  }
}
@media (max-width: 767px) {
  .p-concept-company-dl dd::before {
    content: "";
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 100px;
    height: 2px;
    background-color: var(--primary-600);
  }
}

/* contact */
/* ============================================ */
.p-contact {
  padding-top: 70px;
  padding-bottom: 100px;
  background-color: var(--gray-10);
}
@media (min-width: 768px) {
  .p-contact {
    padding-top: 90px;
    padding-bottom: 120px;
  }
}
.p-contact-main {
  padding-top: 40px;
}
@media (min-width: 768px) {
  .p-contact-main {
    padding-top: 80px;
  }
}
.p-contact-main .c-inner {
  max-width: 960px;
}
.p-contact-desc {
  line-height: var(--line-height-lg);
  margin-bottom: 8vw;
}
@media (min-width: 768px) {
  .p-contact-desc {
    text-align: center;
    margin-bottom: 40px;
  }
}

/* legal */
/* ============================================ */
.p-legal {
  padding-top: 70px;
  padding-bottom: 100px;
  background-color: var(--gray-10);
}
@media (min-width: 768px) {
  .p-legal {
    padding-top: 90px;
    padding-bottom: 120px;
  }
}
.p-legal-main {
  padding-top: 40px;
}
@media (min-width: 768px) {
  .p-legal-main {
    padding-top: 80px;
  }
}
.p-legal-main .c-inner {
  max-width: 800px;
  display: grid;
  row-gap: 4rem;
}
@media (min-width: 1100px) {
  .p-legal-main .c-inner {
    row-gap: 6rem;
  }
}
.p-legal-section {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
@media (min-width: 1200px) {
  .p-legal-section {
    gap: 3rem;
  }
}
.p-legal-section h2 {
  font-size: 6.4vw;
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-sm);
}
@media (min-width: 768px) {
  .p-legal-section h2 {
    font-size: 1.875rem;
  }
}
.p-legal-section h3 {
  font-size: 4.8vw;
  font-weight: var(--font-weight-bold);
  border-bottom: 1px solid var(--gray-200);
  padding-bottom: 1rem;
}
@media (min-width: 768px) {
  .p-legal-section h3 {
    font-size: 1.375rem;
  }
}
.p-legal-section p,
.p-legal-section ul,
.p-legal-section ol {
  line-height: var(--line-height-lg);
}
.p-legal-section p a,
.p-legal-section ul a,
.p-legal-section ol a {
  color: var(--semantic-link);
  text-decoration: underline;
}
.p-legal-item {
  display: flex;
  flex-direction: column;
  gap: 1em;
}
.p-legal-notice {
  line-height: var(--line-height-lg);
  text-align: right;
}

/* news */
/* ============================================ */
.p-news {
  padding-top: 70px;
  padding-bottom: 100px;
  background-color: var(--gray-10);
}
@media (min-width: 768px) {
  .p-news {
    padding-top: 90px;
    padding-bottom: 120px;
  }
}
.p-news-main {
  padding-top: 40px;
}
@media (min-width: 768px) {
  .p-news-main {
    padding-top: 80px;
  }
}
.p-news-main .c-inner {
  max-width: 1080px;
  background-color: var(--default-white);
  border-radius: 20px;
  padding: 30px;
}
@media (min-width: 768px) {
  .p-news-main .c-inner {
    padding: 60px;
  }
}
.p-news-list {
  display: flex;
  flex-direction: column;
  border-top: 1px solid var(--gray-200);
}
.p-news-article .c-inner {
  max-width: 980px;
}
.p-news-article-header {
  display: flex;
  flex-direction: column;
  row-gap: 15px;
  margin-bottom: 30px;
}
@media (min-width: 768px) {
  .p-news-article-header {
    margin-bottom: 50px;
  }
}
.p-news-article-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.p-news-article-date {
  grid-area: date;
  font-size: 3.2vw;
  margin-top: 0.3em;
}
@media (min-width: 768px) {
  .p-news-article-date {
    font-size: 1rem;
    margin-top: 0.35em;
  }
}
.p-news-article-category {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.p-news-article-category-item {
  grid-area: category;
  font-size: 2.6666666667vw;
  background-color: var(--gray-100);
  padding: 6px 10px;
  border-radius: 5px;
  min-width: 90px;
  text-align: center;
}
@media (min-width: 768px) {
  .p-news-article-category-item {
    padding: 8px 10px;
    font-size: 0.875rem;
    min-width: 110px;
  }
}
.p-news-article-title {
  font-size: 6.4vw;
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-sm);
}
@media (min-width: 768px) {
  .p-news-article-title {
    font-size: 2rem;
  }
}
.p-news-article-eyecatch {
  margin-top: 20px;
}
@media (min-width: 768px) {
  .p-news-article-eyecatch {
    margin-top: 30px;
  }
}
.p-news-article-eyecatch img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 3.3/2;
}
.p-news-article-body {
  display: flex;
  flex-direction: column;
  row-gap: 20px;
}
.p-news-article-body *:first-child {
  margin-top: 0;
}
.p-news-article-body h2 {
  font-size: 4.5333333333vw;
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-md);
  color: var(--primary-600);
  margin-top: 30px;
}
@media (min-width: 768px) {
  .p-news-article-body h2 {
    font-size: 1.25rem;
    margin-top: 40px;
  }
}
.p-news-article-body h2::after {
  content: "";
  display: block;
  width: 100px;
  height: 1px;
  background-color: var(--gray-300);
  margin-top: 15px;
}
@media (min-width: 768px) {
  .p-news-article-body h2::after {
    margin-top: 20px;
  }
}
.p-news-article-body h3 {
  display: flex;
  gap: 10px;
  font-size: 4.2666666667vw;
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-md);
  margin-top: 30px;
}
@media (min-width: 768px) {
  .p-news-article-body h3 {
    font-size: 1.125rem;
    margin-top: 40px;
  }
}
.p-news-article-body h3::before {
  content: "";
  flex-shrink: 0;
  display: block;
  width: 15px;
  height: 15px;
  background-color: var(--primary-600);
  margin-top: 0.33em;
}
@media (min-width: 768px) {
  .p-news-article-body h3::before {
    width: 17px;
    height: 17px;
  }
}
.p-news-article-body p {
  font-size: 4.2666666667vw;
  line-height: var(--line-height-lg);
}
@media (min-width: 768px) {
  .p-news-article-body p {
    font-size: 0.9375rem;
  }
}
.p-news-article-body p:has(> img) {
  text-align: center;
  margin-top: 30px;
}
@media (min-width: 768px) {
  .p-news-article-body p:has(> img) {
    margin-top: 40px;
  }
}
.p-news-article-body p:has(> img) img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-news-article-body .gallery {
  margin-top: 30px;
}
@media (min-width: 768px) {
  .p-news-article-body .gallery {
    margin-top: 40px;
  }
}
.p-news-article-body .wp-block-gallery {
  margin-top: 30px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px !important;
}
.p-news-article-body .wp-block-gallery figure {
  width: 100% !important;
}
@media (min-width: 768px) {
  .p-news-article-body .wp-block-gallery {
    margin-top: 40px;
    gap: 20px !important;
  }
}
.p-news-article-body ul,
.p-news-article-body ol {
  display: flex;
  flex-direction: column;
  row-gap: 8px;
  line-height: var(--line-height-md);
}
.p-news-article-body ul {
  list-style: disc;
  padding-left: 1.2em;
}
.p-news-article-body ol {
  list-style: decimal;
  padding-left: 1.2em;
}
.p-news-article-nav {
  display: grid;
  grid-template-areas: "prev next" "back back";
  grid-template-columns: 1fr 1fr;
  row-gap: 20px;
  column-gap: 10px;
  margin-top: 40px;
  padding-top: 40px;
  border-top: 1px solid var(--gray-300);
}
@media (min-width: 768px) {
  .p-news-article-nav {
    grid-template-areas: "prev back next";
    grid-template-columns: 168px 1fr 168px;
    justify-content: space-between;
    margin-top: 60px;
    padding-top: 60px;
  }
}
.p-news-article-nav-item a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  border-radius: 48px;
  column-gap: 16px;
  padding: 15px 20px;
  background-color: var(--primary-600);
  color: var(--default-white);
  font-size: 4vw;
  font-weight: var(--font-weight-bold);
  text-align: center;
}
@media (min-width: 768px) {
  .p-news-article-nav-item a {
    width: 168px;
    column-gap: 12px;
    font-size: 0.9375rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-news-article-nav-item a {
    transition: all var(--transition-lv2);
  }
  .p-news-article-nav-item a:hover {
    opacity: var(--hover-opacity);
  }
}
@media (hover: none) and (pointer: none) {
  .p-news-article-nav-item a:active {
    opacity: var(--hover-opacity);
  }
}
.p-news-article-nav-item.back {
  grid-area: back;
  display: flex;
  justify-content: center;
}
.p-news-article-nav-item.back a {
  background-color: var(--gray-800);
  color: var(--default-white);
}
@media (max-width: 767px) {
  .p-news-article-nav-item.back a {
    width: 168px;
    margin-inline: auto;
  }
}
.p-news-article-nav-item.next {
  grid-area: next;
}
.p-news-article-nav-item.next a::after {
  content: "";
  width: 16px;
  height: 16px;
  mask: url("data:image/svg+xml,%3csvg%20width='22'%20height='22'%20viewBox='0%200%2022%2022'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M11%200C17.0752%200%2021.9999%204.92484%2022%2011C22%2017.0753%2017.0753%2022%2011%2022C4.92484%2021.9999%200%2017.0752%200%2011C0.000128335%204.92492%204.92492%200.000128332%2011%200ZM9.64258%206.23242C9.21132%205.88741%208.58134%205.95741%208.23633%206.38867C7.89169%206.81981%207.96172%207.44896%208.39258%207.79395L12.4258%2011.0215L8.39258%2014.2471C7.96141%2014.5921%207.89135%2015.2221%208.23633%2015.6533C8.58133%2016.0844%209.21136%2016.1545%209.64258%2015.8096L14.6514%2011.8018C14.8885%2011.612%2015.0273%2011.3242%2015.0273%2011.0205C15.0272%2010.7169%2014.8884%2010.4299%2014.6514%2010.2402L9.64258%206.23242Z'%20fill='white'/%3e%3c/svg%3e") no-repeat center/contain;
  background-color: var(--default-white);
}
@media (min-width: 768px) {
  .p-news-article-nav-item.next a::after {
    right: 22px;
    width: 22px;
    height: 22px;
  }
}
.p-news-article-nav-item.prev {
  grid-area: prev;
}
.p-news-article-nav-item.prev a::before {
  content: "";
  width: 16px;
  height: 16px;
  mask: url("data:image/svg+xml,%3csvg%20width='22'%20height='22'%20viewBox='0%200%2022%2022'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M11%200C4.92481%200%200.000128342%204.92484%200%2011C0%2017.0753%204.92473%2022%2011%2022C17.0752%2021.9999%2022%2017.0752%2022%2011C21.9999%204.92492%2017.0751%200.000128332%2011%200ZM12.3574%206.23242C12.7887%205.88741%2013.4187%205.95741%2013.7637%206.38867C14.1083%206.81981%2014.0383%207.44896%2013.6074%207.79395L9.57422%2011.0215L13.6074%2014.2471C14.0386%2014.5921%2014.1087%2015.2221%2013.7637%2015.6533C13.4187%2016.0844%2012.7886%2016.1545%2012.3574%2015.8096L7.34863%2011.8018C7.11147%2011.612%206.97272%2011.3242%206.97266%2011.0205C6.97276%2010.7169%207.11157%2010.4299%207.34863%2010.2402L12.3574%206.23242Z'%20fill='white'/%3e%3c/svg%3e") no-repeat center/contain;
  background-color: var(--default-white);
  margin-top: 0.1em;
}
@media (min-width: 768px) {
  .p-news-article-nav-item.prev a::before {
    left: 22px;
    width: 22px;
    height: 22px;
  }
}

/* notfound */
/* ============================================ */
.p-notfound {
  padding-top: 60px;
  padding-bottom: 100px;
  background-color: var(--gray-10);
}
@media (min-width: 768px) {
  .p-notfound {
    padding-top: 90px;
    padding-bottom: 110px;
  }
}
@media (min-width: 1100px) {
  .p-notfound {
    padding-top: 100px;
    padding-bottom: 120px;
  }
}
.p-notfound-main {
  padding-top: 20px;
}
@media (min-width: 768px) {
  .p-notfound-main {
    padding-top: 30px;
  }
}
@media (min-width: 1100px) {
  .p-notfound-main {
    padding-top: 40px;
  }
}
.p-notfound-main .c-inner {
  max-width: 800px;
  display: grid;
  row-gap: 40px;
}
@media (min-width: 1100px) {
  .p-notfound-main .c-inner {
    row-gap: 60px;
  }
}
.p-notfound-main .c-inner p {
  line-height: var(--line-height-xl);
}
.p-notfound-main .c-inner .btn {
  text-align: center;
}

/* service */
/* ============================================ */
.p-service {
  padding-top: 70px;
  background-color: var(--gray-10);
}
@media (min-width: 768px) {
  .p-service {
    padding-top: 90px;
  }
}
.p-service-header .c-inner {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  border-bottom: 1px solid var(--gray-300);
  padding-block: 60px 40px;
}
@media (min-width: 768px) {
  .p-service-header .c-inner {
    max-width: 1240px;
    padding-block: 110px 70px;
  }
}
.p-service-header-title .en {
  position: absolute;
  top: 30px;
  left: 50%;
  transform: translateX(-50%);
  letter-spacing: -0.02em;
  font-size: 25.6vw;
  font-weight: var(--font-weight-medium);
  white-space: nowrap;
  color: var(--gray-50);
  z-index: -1;
}
@media (min-width: 768px) {
  .p-service-header-title .en {
    top: 30px;
    font-size: 9.25rem;
  }
}
@media (min-width: 1100px) {
  .p-service-header-title .en {
    font-size: 10.5rem;
  }
}
.p-service-header-title .title {
  position: relative;
  display: inline-block;
  font-size: 8.5333333333vw;
  line-height: var(--line-height-sm);
}
@media (min-width: 768px) {
  .p-service-header-title .title {
    font-size: 3.5rem;
  }
}
.p-service-header-title .title .icon {
  content: "";
  position: absolute;
  top: -30px;
  left: -60px;
  width: 60px;
  height: 60px;
  display: grid;
  place-content: center;
  background: url("data:image/svg+xml,%3csvg%20width='60'%20height='61'%20viewBox='0%200%2060%2061'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3ccircle%20cx='29.5'%20cy='29.5'%20r='29.5'%20fill='%23EBEBEB'/%3e%3cpath%20d='M44.408%2053.5728L52.9353%2045.5047L55.6588%2056.9236L44.408%2053.5728Z'%20fill='%23EBEBEB'/%3e%3c/svg%3e") no-repeat center/contain;
}
.p-service-header-title .title .icon img {
  width: 32px;
  height: 32px;
}
.p-reconnect .p-service-header-title .title .marker {
  background: linear-gradient(transparent 70%, #94fc8c 0);
}
.p-iftabi .p-service-header-title .title .marker {
  background: linear-gradient(transparent 70%, #fdc7f3 0);
}
.p-service-header-title .sub {
  font-size: 4.2666666667vw;
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-sm);
  margin-block: 1.5em 2em;
}
@media (min-width: 768px) {
  .p-service-header-title .sub {
    font-size: 1.25rem;
  }
}
.p-service-header-title .desc {
  font-size: 3.7333333333vw;
  line-height: var(--line-height-lg);
}
@media (min-width: 768px) {
  .p-service-header-title .desc {
    font-size: 1.125rem;
  }
}
.p-service-main {
  padding-top: 40px;
}
@media (min-width: 768px) {
  .p-service-main {
    padding-top: 80px;
  }
}
.p-service-title {
  font-size: 6.4vw;
  line-height: var(--line-height-sm);
  text-align: center;
}
@media (min-width: 768px) {
  .p-service-title {
    font-size: 1.875rem;
  }
}
.p-service-title::after {
  content: "";
  display: block;
  width: 50px;
  height: 4px;
  background-color: var(--primary-600);
  margin: 12px auto 0;
}
@media (min-width: 768px) {
  .p-service-title::after {
    margin-top: 16px;
  }
}
.p-reconnect .p-service-title::after {
  background-color: var(--green-600);
}
.p-iftabi .p-service-title::after {
  background-color: var(--pink-600);
}
.p-service-strengths {
  padding-bottom: 50px;
}
@media (min-width: 768px) {
  .p-service-strengths {
    padding-bottom: 80px;
  }
}
@media (min-width: 768px) {
  .p-service-strengths .c-inner {
    max-width: 1080px;
  }
}
.p-service-strengths .p-service-title {
  margin-bottom: 30px;
}
@media (min-width: 768px) {
  .p-service-strengths .p-service-title {
    margin-bottom: 40px;
  }
}
.p-service-strengths-list {
  display: grid;
  gap: 20px;
}
@media (min-width: 768px) {
  .p-service-strengths-list {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}
.p-service-strengths-list-item {
  background-color: var(--default-white);
  padding: 20px;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}
@media (min-width: 768px) {
  .p-service-strengths-list-item {
    padding: 25px 35px 30px;
    border-radius: 20px;
    gap: 16px;
  }
}
.p-service-strengths-list-item .no {
  font-size: 6.4vw;
  font-weight: var(--font-weight-bold);
}
@media (min-width: 768px) {
  .p-service-strengths-list-item .no {
    font-size: 2rem;
  }
}
.p-reconnect .p-service-strengths-list-item .no {
  color: var(--green-600);
}
.p-iftabi .p-service-strengths-list-item .no {
  color: var(--pink-600);
}
.p-service-strengths-list-item .title {
  font-size: 4.5333333333vw;
  line-height: var(--line-height-sm);
  text-align: center;
}
@media (min-width: 768px) {
  .p-service-strengths-list-item .title {
    font-size: 1.1875rem;
  }
}
.p-service-strengths-list-item .title::after {
  content: "";
  display: block;
  width: 50px;
  height: 2px;
  background-color: var(--primary-600);
  margin: 16px auto 0;
}
.p-reconnect .p-service-strengths-list-item .title::after {
  background-color: var(--green-600);
}
.p-iftabi .p-service-strengths-list-item .title::after {
  background-color: var(--pink-600);
}
.p-service-strengths-list-item .desc {
  font-size: 3.7333333333vw;
  line-height: var(--line-height-md);
}
@media (min-width: 768px) {
  .p-service-strengths-list-item .desc {
    font-size: 1rem;
  }
}
.p-service-strengths-list-item .desc strong {
  display: block;
  font-weight: var(--font-weight-medium);
}
.p-service-results {
  padding-bottom: 50px;
}
@media (min-width: 768px) {
  .p-service-results {
    padding-bottom: 80px;
  }
}
@media (min-width: 768px) {
  .p-service-results .c-inner {
    max-width: 980px;
  }
}
.p-service-results .p-service-title {
  margin-bottom: 30px;
}
@media (min-width: 768px) {
  .p-service-results .p-service-title {
    margin-bottom: 40px;
  }
}
.p-service-results-list {
  display: flex;
  flex-direction: column;
  gap: 15px;
  padding: 20px;
  border-radius: 10px;
}
@media (min-width: 768px) {
  .p-service-results-list {
    gap: 20px;
    padding: 40px 50px;
    border-radius: 20px;
  }
}
.p-reconnect .p-service-results-list {
  background-color: rgba(148, 252, 140, 0.6);
}
.p-iftabi .p-service-results-list {
  background-color: rgba(253, 199, 243, 0.6);
}
.p-service-results-list-item {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 4.2666666667vw;
  line-height: var(--line-height-sm);
}
@media (min-width: 768px) {
  .p-service-results-list-item {
    font-size: 1.125rem;
  }
}
.p-service-results-list-item::before {
  flex-shrink: 0;
  content: "";
  width: 30px;
  height: 20px;
  display: inline-block;
  margin-right: 8px;
  color: var(--primary-600);
}
@media (min-width: 768px) {
  .p-service-results-list-item::before {
    width: 40px;
    height: 30px;
  }
}
.p-reconnect .p-service-results-list-item::before {
  background: url("data:image/svg+xml,%3csvg%20width='39'%20height='34'%20viewBox='0%200%2039%2034'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20x='0.5'%20y='0.5'%20width='33'%20height='33'%20fill='%23F9F9F9'%20stroke='%2394FC8C'/%3e%3cpath%20d='M13%2019L19.5%2025.5L37%208'%20stroke='%2344DD38'%20stroke-width='4'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e") no-repeat center/contain;
}
.p-iftabi .p-service-results-list-item::before {
  background: url("data:image/svg+xml,%3csvg%20width='39'%20height='34'%20viewBox='0%200%2039%2034'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20x='0.5'%20y='0.5'%20width='33'%20height='33'%20fill='%23F9F9F9'%20stroke='%23FDC7F3'/%3e%3cpath%20d='M13%2019L19.5%2025.5L37%208'%20stroke='%23FA8BE5'%20stroke-width='4'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e") no-repeat center/contain;
}
.p-service-details {
  padding-bottom: 50px;
}
@media (min-width: 768px) {
  .p-service-details {
    padding-bottom: 80px;
  }
}
@media (min-width: 768px) {
  .p-service-details .c-inner {
    max-width: 1120px;
  }
}
.p-service-details .p-service-title {
  margin-bottom: 30px;
}
@media (min-width: 768px) {
  .p-service-details .p-service-title {
    margin-bottom: 40px;
  }
}
.p-service-details-list {
  display: grid;
  gap: 40px;
}
@media (min-width: 768px) {
  .p-service-details-list {
    gap: 60px;
  }
}
.p-service-details-list-item {
  display: grid;
  align-items: center;
  grid-template-areas: "content" "image";
  gap: 20px;
}
@media (min-width: 768px) {
  .p-service-details-list-item {
    grid-template-areas: "content image";
    grid-template-columns: 1fr 500px;
    column-gap: 60px;
  }
  .p-service-details-list-item:nth-child(even) {
    grid-template-areas: "image content";
  }
}
.p-service-details-list-item .content {
  grid-area: content;
}
.p-service-details-list-item .content h3 {
  font-size: 5.3333333333vw;
  line-height: var(--line-height-sm);
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .p-service-details-list-item .content h3 {
    font-size: 1.75rem;
    margin-bottom: 25px;
  }
}
.p-service-details-list-item .content h3::after {
  content: "";
  display: block;
  width: 50px;
  height: 4px;
  background-color: var(--primary-600);
  margin-top: 12px;
}
@media (min-width: 768px) {
  .p-service-details-list-item .content h3::after {
    margin-top: 16px;
  }
}
.p-reconnect .p-service-details-list-item .content h3::after {
  background-color: var(--green-600);
}
.p-iftabi .p-service-details-list-item .content h3::after {
  background-color: var(--pink-600);
}
.p-service-details-list-item .content h4 {
  font-size: 4.2666666667vw;
  line-height: var(--line-height-sm);
  margin-bottom: 0.5em;
}
@media (min-width: 768px) {
  .p-service-details-list-item .content h4 {
    font-size: 1.25rem;
  }
}
.p-service-details-list-item .content p {
  line-height: var(--line-height-lg);
  margin-bottom: 0.5em;
}
.p-service-details-list-item .content ul {
  list-style-type: disc;
  padding-left: 1.5em;
  line-height: var(--line-height-lg);
  margin-bottom: 0.5em;
}
.p-service-details-list-item .content *:last-child {
  margin-bottom: 0;
}
.p-service-details-list-item .image {
  grid-area: image;
}
.p-service-flow {
  background-color: var(--gray-100);
  padding-block: 50px;
}
@media (min-width: 768px) {
  .p-service-flow {
    padding-block: 80px;
  }
}
@media (min-width: 768px) {
  .p-service-flow .c-inner {
    max-width: 860px;
  }
}
.p-service-flow .p-service-title {
  margin-bottom: 5px;
}
@media (min-width: 768px) {
  .p-service-flow .p-service-title {
    margin-bottom: 10px;
  }
}
.p-service-flow-list-item {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 20px;
}
@media (min-width: 768px) {
  .p-service-flow-list-item {
    align-items: center;
    column-gap: 30px;
  }
}
.p-service-flow-list-item .icon {
  position: relative;
  display: grid;
  place-content: center;
  text-align: center;
  row-gap: 5px;
  width: 60px;
  height: 60px;
  border-radius: 60px;
  background-color: var(--gray-300);
}
@media (max-width: 767px) {
  .p-service-flow-list-item .icon {
    margin-top: 10px;
  }
}
@media (min-width: 768px) {
  .p-service-flow-list-item .icon {
    width: 110px;
    height: 110px;
  }
}
.p-service-flow-list-item .icon::after {
  content: "";
  position: absolute;
  bottom: -30px;
  left: 50%;
  transform: translateX(-50%);
  width: 18px;
  height: 18px;
  background: url("data:image/svg+xml,%3csvg%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M12.0954%2018.2947C12.3173%2018.5684%2012.6827%2018.5684%2012.9046%2018.2947L22.3378%206.65816C22.6878%206.22646%2022.434%205.5%2021.9332%205.5L3.06676%205.5C2.566%205.5%202.31222%206.22646%202.66218%206.65816L12.0954%2018.2947Z'%20fill='black'/%3e%3c/svg%3e") no-repeat center/contain;
}
@media (min-width: 768px) {
  .p-service-flow-list-item .icon::after {
    bottom: -40px;
    width: 22px;
    height: 22px;
  }
}
.p-service-flow-list-item .icon .label {
  font-size: 3.2vw;
}
@media (min-width: 768px) {
  .p-service-flow-list-item .icon .label {
    font-size: 1rem;
  }
}
.p-service-flow-list-item .icon .no {
  font-size: 6.4vw;
}
@media (min-width: 768px) {
  .p-service-flow-list-item .icon .no {
    font-size: 2.25rem;
  }
}
.p-service-flow-list-item .content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  row-gap: 10px;
  padding-block: 20px;
  border-bottom: 1px solid var(--gray-300);
}
@media (min-width: 768px) {
  .p-service-flow-list-item .content {
    padding-block: 30px;
    min-height: 170px;
  }
}
.p-service-flow-list-item .content h3 {
  font-size: 4.8vw;
  line-height: var(--line-height-sm);
}
@media (min-width: 768px) {
  .p-service-flow-list-item .content h3 {
    font-size: 1.5rem;
  }
}
.p-reconnect .p-service-flow-list-item .content h3 .marker {
  background: linear-gradient(transparent 70%, #94fc8c 0);
}
.p-iftabi .p-service-flow-list-item .content h3 .marker {
  background: linear-gradient(transparent 70%, #fdc7f3 0);
}
.p-service-flow-list-item .content p {
  font-size: 3.7333333333vw;
  line-height: var(--line-height-lg);
}
@media (min-width: 768px) {
  .p-service-flow-list-item .content p {
    font-size: 1.0625rem;
  }
}
.p-service-flow-list-item:first-child .icon {
  background-color: var(--default-white);
}
.p-reconnect .p-service-flow-list-item:nth-child(2) .icon {
  background-color: var(--green-200);
}
.p-iftabi .p-service-flow-list-item:nth-child(2) .icon {
  background-color: var(--pink-200);
}
.p-reconnect .p-service-flow-list-item:nth-child(3) .icon {
  background-color: var(--green-400);
}
.p-iftabi .p-service-flow-list-item:nth-child(3) .icon {
  background-color: var(--pink-400);
}
.p-reconnect .p-service-flow-list-item:nth-child(4) .icon {
  background-color: var(--green-600);
}
.p-iftabi .p-service-flow-list-item:nth-child(4) .icon {
  background-color: var(--pink-600);
}
.p-reconnect .p-service-flow-list-item:nth-child(5) .icon {
  background-color: var(--green-800);
}
.p-iftabi .p-service-flow-list-item:nth-child(5) .icon {
  background-color: var(--pink-800);
}
.p-service-flow-list-item:last-child .icon::after {
  display: none;
}

/* hero */
/* ============================================ */
.p-top-hero {
  position: relative;
}
@media (max-width: 767px) {
  .p-top-hero {
    margin-bottom: 36px;
  }
}
@media (min-width: 768px) {
  .p-top-hero {
    max-height: 100vh;
  }
}
.p-top-hero-splide {
  position: relative;
  z-index: -1;
}
.p-top-hero-splide::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.5));
  z-index: 1;
}
.p-top-hero-splide .splide__slide {
  height: 160vw;
}
@media (min-width: 768px) {
  .p-top-hero-splide .splide__slide {
    height: 100vh;
  }
}
.p-top-hero-splide .splide__slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-top-hero-content {
  position: absolute;
  top: 120px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
@media (max-width: 767px) {
  .p-top-hero-content {
    text-align: center;
  }
}
@media (min-width: 768px) {
  .p-top-hero-content {
    top: 50%;
    transform: translateY(-50%);
    gap: 25px;
  }
}
@media (min-width: 1100px) {
  .p-top-hero-content {
    left: 80px;
  }
}
.p-top-hero-content .title {
  font-size: 9.0666666667vw;
  line-height: var(--line-height-xs);
}
@media (min-width: 768px) {
  .p-top-hero-content .title {
    font-size: 3.5rem;
  }
}
@media (min-width: 1100px) {
  .p-top-hero-content .title {
    font-size: 4.125rem;
  }
}
.p-top-hero-content .title .mask-item1 {
  color: rgba(0, 0, 0, 0.5);
}
.p-top-hero-content .title .mask-item2 {
  color: var(--default-white);
}
.p-top-hero-content .catch {
  font-size: 6.1333333333vw;
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-md);
  color: var(--default-white);
}
@media (min-width: 768px) {
  .p-top-hero-content .catch {
    font-size: 2rem;
  }
}
@media (min-width: 1100px) {
  .p-top-hero-content .catch {
    font-size: 2.5rem;
  }
}
.p-top-hero-content .catch .marker {
  background: linear-gradient(transparent 6%, #3ea5d9 0);
}
.p-top-hero-content .desc {
  font-size: 4.2666666667vw;
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-sm);
  color: var(--default-white);
}
@media (min-width: 768px) {
  .p-top-hero-content .desc {
    font-size: 1.375rem;
  }
}
@media (min-width: 1100px) {
  .p-top-hero-content .desc {
    font-size: 1.75rem;
  }
}
.p-top-hero-btns {
  position: absolute;
}
@media (max-width: 767px) {
  .p-top-hero-btns {
    bottom: -36px;
    right: 5vw;
    left: 5vw;
  }
}
@media (min-width: 768px) {
  .p-top-hero-btns {
    bottom: 40px;
    right: 40px;
  }
}
.p-top-hero-btns .ballon {
  position: absolute;
  top: -23px;
  left: 50%;
  transform: translateX(-50%);
  width: 230px;
  height: 33px;
  background-color: var(--default-white);
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border-radius: 15px;
  padding: 10px 15px;
  font-size: 3.7333333333vw;
  font-weight: var(--font-weight-bold);
  text-align: center;
  line-height: var(--line-height-sm);
  z-index: 2;
}
@media (min-width: 768px) {
  .p-top-hero-btns .ballon {
    font-size: 1rem;
    padding: 15px 20px;
  }
}
.p-top-hero-btns .ballon::after {
  content: "";
  position: absolute;
  bottom: -8px;
  left: 50%;
  transform: translateX(-50%);
  width: 10px;
  height: 8px;
  clip-path: polygon(100% 0, 0 0, 50% 100%);
  background-color: var(--default-white);
}
.p-top-hero-btns .btn a {
  width: 100%;
  height: 72px;
  font-size: 4.2666666667vw;
}
@media (min-width: 768px) {
  .p-top-hero-btns .btn a {
    width: 360px;
    height: 72px;
    font-size: 1.125rem;
  }
}
.p-top-hero-icons {
  position: absolute;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
@media (max-width: 767px) {
  .p-top-hero-icons {
    bottom: 90px;
    left: 50%;
    width: 80%;
    transform: translateX(-50%);
  }
}
@media (min-width: 768px) {
  .p-top-hero-icons {
    top: 120px;
    right: 40px;
    width: 300px;
  }
}
@media (min-width: 1100px) {
  .p-top-hero-icons {
    top: 160px;
    right: 40px;
    width: 400px;
  }
}
.p-top-icons {
  padding-block: 20px;
}
.p-top-icons .splide__slide img {
  height: 120px;
}
@media (min-width: 768px) {
  .p-top-icons .splide__slide img {
    height: 120px;
    margin-inline: 15px;
  }
}
.p-top-concept {
  position: relative;
  padding-block: 60px;
  background-color: var(--gray-10);
}
@media (min-width: 768px) {
  .p-top-concept {
    padding-block: 80px;
  }
}
@media (min-width: 1100px) {
  .p-top-concept {
    padding-block: 110px;
  }
}
.p-top-concept-bg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  width: 100%;
}
.p-top-concept-bg .loop_text {
  display: flex;
  width: 100%;
}
.p-top-concept-bg .loop_text span {
  flex: 0 0 auto;
  white-space: nowrap;
  font-family: var(--font-family-en);
  font-weight: var(--font-weight-bold);
  font-size: 26.6666666667vw;
  letter-spacing: 0.04em;
  color: var(--gray-100);
}
@media (min-width: 768px) {
  .p-top-concept-bg .loop_text span {
    font-size: 120px;
  }
}
@media (min-width: 1100px) {
  .p-top-concept-bg .loop_text span {
    font-size: 180px;
  }
}
.p-top-concept-bg .loop_text span:nth-child(odd) {
  animation: loop 120s -60s linear infinite;
}
.p-top-concept-bg .loop_text span:nth-child(even) {
  animation: loop2 120s linear infinite;
}
.p-top-concept .c-inner {
  display: grid;
  gap: 40px;
}
@media (min-width: 1100px) {
  .p-top-concept .c-inner {
    grid-template-columns: 360px 1fr;
    gap: 40px;
  }
}
.p-top-concept-content {
  display: flex;
  flex-direction: column;
  gap: 25px;
}
.p-top-concept-content h3 {
  font-size: 8vw;
  line-height: var(--line-height-sm);
}
@media (min-width: 768px) {
  .p-top-concept-content h3 {
    font-size: 2.375rem;
  }
}
.p-top-concept-content p {
  line-height: var(--line-height-lg);
}
.p-top-concept-image {
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.p-top-concept-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-top-service {
  padding-bottom: 0;
  background-color: var(--gray-10);
}
@media (min-width: 768px) {
  .p-top-service {
    padding-bottom: 80px;
  }
}
@media (min-width: 1100px) {
  .p-top-service {
    padding-bottom: 90px;
  }
}
.p-top-service .c-inner {
  background-color: var(--default-white);
  padding: 60px 5vw;
  display: grid;
  row-gap: 30px;
}
@media (max-width: 767px) {
  .p-top-service .c-inner {
    width: 100vw;
  }
}
@media (min-width: 768px) {
  .p-top-service .c-inner {
    max-width: 90%;
    padding: 60px;
    border-radius: 20px;
  }
}
@media (min-width: 1100px) {
  .p-top-service .c-inner {
    max-width: 1180px;
    padding: 80px;
    row-gap: 40px;
  }
}
.p-top-service-desc {
  display: flex;
  flex-direction: column;
  gap: 1em;
  line-height: var(--line-height-lg);
  margin-bottom: 40px;
}
@media (min-width: 768px) {
  .p-top-service-desc {
    text-align: center;
  }
}
.p-top-service-title {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  line-height: var(--line-height-md);
  gap: 15px;
  font-size: 5.3333333333vw;
  margin-bottom: 30px;
}
@media (min-width: 768px) {
  .p-top-service-title {
    font-size: 1.5rem;
  }
}
.p-top-service-title::before, .p-top-service-title::after {
  content: "";
  width: 60px;
  height: 60px;
  background: no-repeat center/contain;
}
@media (min-width: 768px) {
  .p-top-service-title::before, .p-top-service-title::after {
    width: 72px;
    height: 72px;
  }
}
.p-top-service-title::before {
  background-image: url(../images/servive_title_icon1.svg);
}
.p-top-service-title::after {
  background-image: url(../images/servive_title_icon2.svg);
}
.p-top-service-title .marker {
  background: linear-gradient(transparent 70%, #9ed2ec 0);
}
.p-top-service-container {
  display: grid;
  gap: 60px;
}
@media (min-width: 768px) {
  .p-top-service-container {
    max-width: 490px;
    margin-inline: auto;
  }
}
@media (min-width: 1100px) {
  .p-top-service-container {
    max-width: 100%;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
  }
}
.p-top-service-item-ballons {
  position: relative;
}
.p-top-service-item-ballons .ballon {
  position: absolute;
  display: inline-flex;
  border-radius: 15px;
  padding: 10px 15px;
  font-size: 3.7333333333vw;
  font-weight: var(--font-weight-bold);
  text-align: center;
  line-height: var(--line-height-sm);
}
@media (min-width: 768px) {
  .p-top-service-item-ballons .ballon {
    font-size: 1rem;
    padding: 15px 20px;
  }
}
.p-top-service-item-ballons .ballon::after {
  content: "";
  position: absolute;
  bottom: -16px;
  left: 50%;
  transform: translateX(-50%);
  width: 20px;
  height: 16px;
  clip-path: polygon(100% 0, 0 0, 50% 100%);
}
.p-top-service-item-circle {
  position: relative;
  width: 90vw;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 15px 20px 50px;
  gap: 10px;
}
@media (min-width: 768px) {
  .p-top-service-item-circle {
    width: 100%;
    border-radius: 20px;
    padding: 20px 45px 60px;
  }
}
.p-top-service-item-circle .icon {
  width: 70px;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .p-top-service-item-circle .icon {
    width: 90px;
  }
}
.p-top-service-item-circle .title {
  font-size: 8vw;
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-sm);
}
@media (min-width: 768px) {
  .p-top-service-item-circle .title {
    font-size: 2.25rem;
  }
}
.p-top-service-item-circle .catch {
  font-size: 4.8vw;
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-sm);
  margin-bottom: 10px;
}
@media (min-width: 768px) {
  .p-top-service-item-circle .catch {
    font-size: 1.25rem;
  }
}
.p-top-service-item-circle .desc {
  display: flex;
  flex-direction: column;
  gap: 1em;
  line-height: var(--line-height-lg);
}
.p-top-service-item-circle .btn {
  position: absolute;
  bottom: -23px;
  left: 50%;
  transform: translateX(-50%);
}
@media (min-width: 768px) {
  .p-top-service-item-circle .btn {
    bottom: -25px;
  }
}
.p-top-service-item.iftabi .ballon {
  border: 3px solid var(--pink-600);
  background-color: var(--pink-100);
}
.p-top-service-item.iftabi .ballon::after {
  content: "";
  background-color: var(--pink-600);
}
.p-top-service-item.iftabi .ballon.ballon1 {
  top: -10px;
  left: 20px;
}
@media (min-width: 768px) {
  .p-top-service-item.iftabi .ballon.ballon1 {
    top: -25px;
    left: 70px;
  }
}
.p-top-service-item.iftabi .ballon.ballon2 {
  top: 100px;
  left: -10px;
}
@media (min-width: 768px) {
  .p-top-service-item.iftabi .ballon.ballon2 {
    top: 75px;
    left: 10px;
  }
}
.p-top-service-item.iftabi .ballon.ballon3 {
  top: 40px;
  right: 0;
  z-index: -1;
}
@media (min-width: 768px) {
  .p-top-service-item.iftabi .ballon.ballon3 {
    top: 10px;
    right: -15px;
  }
}
.p-top-service-item.iftabi .ballon.ballon4 {
  top: 155px;
  right: 0;
  z-index: -1;
}
@media (min-width: 768px) {
  .p-top-service-item.iftabi .ballon.ballon4 {
    top: 115px;
    right: 50px;
  }
}
.p-top-service-item.iftabi .circle {
  background-color: var(--pink-600);
  margin-top: 245px;
}
@media (min-width: 768px) {
  .p-top-service-item.iftabi .circle {
    margin-top: 220px;
  }
}
.p-top-service-item.reconnect .ballon {
  border: 3px solid var(--green-600);
  background-color: var(--green-100);
}
.p-top-service-item.reconnect .ballon::after {
  content: "";
  background-color: var(--green-600);
}
.p-top-service-item.reconnect .ballon.ballon1 {
  top: -10px;
  left: 0;
}
@media (min-width: 768px) {
  .p-top-service-item.reconnect .ballon.ballon1 {
    top: -5px;
    left: 20px;
  }
}
.p-top-service-item.reconnect .ballon.ballon2 {
  top: 85px;
  left: 85px;
}
@media (min-width: 768px) {
  .p-top-service-item.reconnect .ballon.ballon2 {
    top: 95px;
  }
}
.p-top-service-item.reconnect .ballon.ballon3 {
  right: 0;
  top: 5px;
  z-index: -1;
}
@media (min-width: 768px) {
  .p-top-service-item.reconnect .ballon.ballon3 {
    top: 0;
    right: 25px;
  }
}
.p-top-service-item.reconnect .circle {
  background-color: var(--green-600);
  margin-top: 175px;
}
@media (min-width: 768px) {
  .p-top-service-item.reconnect .circle {
    margin-top: 200px;
  }
}
.p-top-case {
  padding-block: 50px;
  background-color: var(--gray-50);
}
@media (min-width: 768px) {
  .p-top-case {
    padding-block: 80px;
  }
}
.p-top-case-header {
  margin-bottom: 30px;
  display: grid;
  gap: 20px;
}
@media (min-width: 768px) {
  .p-top-case-header {
    margin-bottom: 50px;
    grid-template-columns: 140px 1fr;
    align-items: center;
    gap: 40px;
  }
}
.p-top-case-header-desc {
  line-height: var(--line-height-md);
}
.p-top-case-body {
  display: grid;
  row-gap: 30px;
}
@media (min-width: 768px) {
  .p-top-case-body {
    row-gap: 40px;
  }
}
.p-top-case-list {
  display: grid;
}
@media (max-width: 767px) {
  .p-top-case-list {
    row-gap: 40px;
  }
}
@media (min-width: 768px) {
  .p-top-case-list {
    grid-template-columns: repeat(3, 1fr);
    column-gap: 20px;
  }
}
.p-top-case-btn {
  text-align: center;
}
.p-top-news {
  padding-block: 50px;
}
@media (min-width: 768px) {
  .p-top-news {
    padding-block: 80px;
  }
}
.p-top-news-container {
  display: grid;
  gap: 30px;
}
@media (min-width: 768px) {
  .p-top-news-container {
    grid-template-columns: 160px 1fr;
  }
}
@media (min-width: 1100px) {
  .p-top-news-container {
    grid-template-columns: 200px 1fr;
  }
}
.p-top-news-list {
  display: flex;
  flex-direction: column;
  border-top: 1px solid var(--gray-200);
}
.p-top-news-btn {
  text-align: center;
  margin-top: 30px;
}
@media (min-width: 768px) {
  .p-top-news-btn {
    margin-top: 40px;
  }
}
.p-top-recruit {
  padding-block: 60px 0;
  background-color: var(--primary-200);
}
@media (min-width: 768px) {
  .p-top-recruit {
    padding-block: 110px;
  }
}
.p-top-recruit .c-inner {
  position: relative;
  max-width: 1200px;
}
.p-top-recruit-body {
  display: flex;
  flex-direction: column;
  gap: 25px;
}
.p-top-recruit-body .c-section-title {
  text-align: left;
  margin-bottom: 5px;
}
.p-top-recruit-body h3 {
  font-size: 7.7333333333vw;
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-sm);
  color: var(--primary-600);
}
@media (min-width: 768px) {
  .p-top-recruit-body h3 {
    font-size: 2.25rem;
  }
}
.p-top-recruit-body p {
  font-size: 4vw;
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-lg);
}
@media (min-width: 768px) {
  .p-top-recruit-body p {
    font-size: 1rem;
  }
}
@media (max-width: 767px) {
  .p-top-recruit-image {
    margin-inline: -5vw;
    margin-top: 40px;
  }
}
@media (min-width: 768px) {
  .p-top-recruit-image {
    position: absolute;
    top: 0;
    left: 480px;
    width: 100%;
    height: 100%;
    max-width: 900px;
  }
}
.p-top-recruit-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* loop */
/* ============================================ */
@keyframes loop {
  0% {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
}
@keyframes loop2 {
  0% {
    transform: translateX(0);
  }
  to {
    transform: translateX(-200%);
  }
}
/* navIn */
/* ============================================ */
@keyframes navIn {
  0% {
    display: none;
    opacity: 0;
    transform: translateY(10px);
  }
  1% {
    display: block;
    opacity: 0;
    transform: translateY(10px);
  }
  100% {
    display: block;
    opacity: 1;
    transform: translateY(0px);
  }
}
/* GSAP */
/* ============================================ */
[data-anim] {
  will-change: transform, opacity;
  transition: opacity var(--transition-lv4), transform var(--transition-lv4);
}

/* =============================
fade
============================= */
[data-anim~=fade-in] {
  opacity: 0;
}

[data-anim~=fade-in].is-active {
  opacity: 1;
}

/* =============================
move
============================= */
[data-anim~=move-up] {
  transform: translate3d(0, 12px, 0);
}
@media (min-width: 768px) {
  [data-anim~=move-up] {
    transform: translate3d(0, 18px, 0);
  }
}

[data-anim~=move-down] {
  transform: translate3d(0, -12px, 0);
}
@media (min-width: 768px) {
  [data-anim~=move-down] {
    transform: translate3d(0, -18px, 0);
  }
}

[data-anim~=move-left] {
  transform: translate3d(-12px, 0, 0);
}
@media (min-width: 768px) {
  [data-anim~=move-left] {
    transform: translate3d(-18px, 0, 0);
  }
}

[data-anim~=move-right] {
  transform: translate3d(12px, 0, 0);
}
@media (min-width: 768px) {
  [data-anim~=move-right] {
    transform: translate3d(18px, 0, 0);
  }
}

[data-anim~=move-up].is-active,
[data-anim~=move-down].is-active,
[data-anim~=move-left].is-active,
[data-anim~=move-right].is-active {
  transform: translate3d(0, 0, 0);
}

/* =============================
transition
============================= */
[data-anim~=transition-v4] {
  transition: opacity var(--transition-lv4), transform var(--transition-lv4);
}

[data-anim~=transition-v5] {
  transition: opacity var(--transition-lv5), transform var(--transition-lv5);
}

[data-anim~=transition-v6] {
  transition: opacity var(--transition-lv6), transform var(--transition-lv6);
}

[data-anim~=transition-v7] {
  transition: opacity var(--transition-lv7), transform var(--transition-lv7);
}

/* =============================
scale
============================= */
/* scale-up（拡大して表示） */
[data-anim~=scale-up] {
  --scale-from: 1;
  --scale-to: 1.1;
  transform: scale(var(--scale-from));
}

[data-anim~=scale-up].is-active {
  transform: scale(var(--scale-to));
}

/* scale-down（縮小から表示） */
[data-anim~=scale-down] {
  --scale-from: 1.1;
  --scale-to: 1;
  transform: scale(var(--scale-from));
}

[data-anim~=scale-down].is-active {
  transform: scale(var(--scale-to));
}

/* -----------------------------
Maskアニメ
----------------------------- */
[data-anim=mask] {
  position: relative;
}

[data-anim=mask] .mask-item1 {
  width: 100%;
  opacity: 0;
  transform: translate3d(0, 15px, 0);
  transition: opacity 0.6s var(--e-cubic), transform 0.9s var(--e-cubic);
}

[data-anim=mask] .mask-item2 {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  clip-path: polygon(0 0, 0 0, 0 0);
  transition: clip-path 0.9s var(--e-cubic) 0.6s;
}

[data-anim=mask].is-active .mask-item1 {
  opacity: 1;
  transform: translateZ(0);
}

[data-anim=mask].is-active .mask-item2 {
  clip-path: polygon(0 0, 200% 0, 0 200%);
}

/* -----------------------------
パララックス
----------------------------- */
[data-parallax] {
  will-change: transform;
}

/* breadcrumbs */
/* ============================================ */
.c-breadcrumbs {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  overflow: hidden;
}
.c-breadcrumbs-inner {
  overflow-x: auto;
  padding: 15px 0;
}
@media (min-width: 768px) {
  .c-breadcrumbs-inner {
    padding: 30px 0;
  }
}
.c-breadcrumbs-inner::-webkit-scrollbar {
  display: none;
}
.c-breadcrumbs ul {
  display: inline-flex;
  justify-content: flex-end;
  white-space: nowrap;
  min-width: 100%;
}
.c-breadcrumbs ul li {
  min-width: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 3.4666666667vw;
  color: var(--gray-800);
}
@media (min-width: 768px) {
  .c-breadcrumbs ul li {
    font-size: 0.875rem;
  }
}
.c-breadcrumbs ul li::after {
  content: "";
  flex-shrink: 0;
  width: 1px;
  height: 16px;
  margin: 0 1rem;
  background-color: var(--gray-800);
  transform: rotate(25deg);
}
@media (min-width: 768px) {
  .c-breadcrumbs ul li::after {
    margin-top: 0.15em;
  }
}
.c-breadcrumbs ul li:last-of-type::after {
  display: none;
  margin: 0;
}
.c-breadcrumbs ul li a {
  display: flex;
  align-items: center;
  color: var(--gray-400);
}
@media (hover: hover) and (pointer: fine) {
  .c-breadcrumbs ul li a {
    transition: all var(--transition-lv2);
  }
  .c-breadcrumbs ul li a:hover {
    opacity: var(--hover-opacity);
  }
}
@media (hover: none) and (pointer: none) {
  .c-breadcrumbs ul li a:active {
    opacity: var(--hover-opacity);
  }
}

/* btn */
/* ============================================ */
.c-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  column-gap: 10px;
  min-width: 64vw;
  height: 48px;
  border-radius: 48px;
  padding: 0 20px;
  font-size: 3.7333333333vw;
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-sm);
  background-color: var(--gray-800);
  color: var(--default-white);
  padding-bottom: 0.1em;
}
@media (min-width: 768px) {
  .c-btn {
    column-gap: 11px;
    font-size: 0.9375rem;
    min-width: 230px;
    height: 53px;
    padding: 0 25px;
  }
}
@media (min-width: 1100px) {
  .c-btn {
    column-gap: 12px;
    font-size: 1rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .c-btn {
    transition: all var(--transition-lv2);
  }
  .c-btn:hover {
    opacity: var(--hover-opacity);
  }
}
@media (hover: none) and (pointer: none) {
  .c-btn:active {
    opacity: var(--hover-opacity);
  }
}
.c-btn--primary {
  background-color: var(--primary-600);
}
.c-btn--back::before {
  content: "";
  width: 16px;
  height: 16px;
  mask: url("data:image/svg+xml,%3csvg%20width='22'%20height='22'%20viewBox='0%200%2022%2022'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M11%200C4.92481%200%200.000128342%204.92484%200%2011C0%2017.0753%204.92473%2022%2011%2022C17.0752%2021.9999%2022%2017.0752%2022%2011C21.9999%204.92492%2017.0751%200.000128332%2011%200ZM12.3574%206.23242C12.7887%205.88741%2013.4187%205.95741%2013.7637%206.38867C14.1083%206.81981%2014.0383%207.44896%2013.6074%207.79395L9.57422%2011.0215L13.6074%2014.2471C14.0386%2014.5921%2014.1087%2015.2221%2013.7637%2015.6533C13.4187%2016.0844%2012.7886%2016.1545%2012.3574%2015.8096L7.34863%2011.8018C7.11147%2011.612%206.97272%2011.3242%206.97266%2011.0205C6.97276%2010.7169%207.11157%2010.4299%207.34863%2010.2402L12.3574%206.23242Z'%20fill='white'/%3e%3c/svg%3e") no-repeat center/contain;
  background-color: var(--default-white);
}
@media (min-width: 768px) {
  .c-btn--back::before {
    width: 20px;
    height: 20px;
  }
}
@media (min-width: 1100px) {
  .c-btn--back::before {
    width: 22px;
    height: 22px;
  }
}
.c-btn--next::after {
  content: "";
  width: 16px;
  height: 16px;
  mask: url("data:image/svg+xml,%3csvg%20width='22'%20height='22'%20viewBox='0%200%2022%2022'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M11%200C17.0752%200%2021.9999%204.92484%2022%2011C22%2017.0753%2017.0753%2022%2011%2022C4.92484%2021.9999%200%2017.0752%200%2011C0.000128335%204.92492%204.92492%200.000128332%2011%200ZM9.64258%206.23242C9.21132%205.88741%208.58134%205.95741%208.23633%206.38867C7.89169%206.81981%207.96172%207.44896%208.39258%207.79395L12.4258%2011.0215L8.39258%2014.2471C7.96141%2014.5921%207.89135%2015.2221%208.23633%2015.6533C8.58133%2016.0844%209.21136%2016.1545%209.64258%2015.8096L14.6514%2011.8018C14.8885%2011.612%2015.0273%2011.3242%2015.0273%2011.0205C15.0272%2010.7169%2014.8884%2010.4299%2014.6514%2010.2402L9.64258%206.23242Z'%20fill='white'/%3e%3c/svg%3e") no-repeat center/contain;
  background-color: var(--default-white);
}
@media (min-width: 768px) {
  .c-btn--next::after {
    width: 20px;
    height: 20px;
  }
}
@media (min-width: 1100px) {
  .c-btn--next::after {
    width: 22px;
    height: 22px;
  }
}
.c-btn--line {
  position: relative;
}
.c-btn--line::before {
  content: "";
  border: 1px solid var(--default-white);
  position: absolute;
  top: 4px;
  left: 4px;
  right: 4px;
  bottom: 4px;
  border-radius: 80px;
}

/* c-news-card */
/* ============================================ */
.c-news-card {
  border-bottom: 1px solid var(--gray-200);
}
.c-news-card a {
  display: grid;
  grid-template-areas: "date category ." "title title title";
  grid-template-columns: auto auto 1fr;
  align-items: flex-start;
  gap: 10px;
  padding-block: 16px;
}
@media (min-width: 768px) {
  .c-news-card a {
    grid-template-areas: "date category title";
    grid-template-columns: auto auto 1fr;
    gap: 20px;
    padding-block: 28px;
  }
}
@media (hover: hover) and (pointer: fine) {
  .c-news-card a {
    transition: all var(--transition-lv2);
  }
  .c-news-card a:hover {
    opacity: var(--hover-opacity);
  }
}
@media (hover: none) and (pointer: none) {
  .c-news-card a:active {
    opacity: var(--hover-opacity);
  }
}
.c-news-card .date {
  grid-area: date;
  font-size: 3.2vw;
  margin-top: 0.3em;
}
@media (min-width: 768px) {
  .c-news-card .date {
    font-size: 1rem;
    margin-top: 0.35em;
  }
}
.c-news-card .category {
  grid-area: category;
  font-size: 2.6666666667vw;
  background-color: var(--gray-100);
  padding: 6px 10px;
  border-radius: 5px;
}
@media (min-width: 768px) {
  .c-news-card .category {
    padding: 8px 10px;
    font-size: 0.875rem;
  }
}
.c-news-card .title {
  grid-area: title;
  font-size: 4vw;
  line-height: var(--line-height-sm);
}
@media (min-width: 768px) {
  .c-news-card .title {
    font-size: 1.0625rem;
    margin-top: 0.2em;
  }
}

/* c-case-card */
/* ============================================ */
.c-case-card a {
  display: grid;
  row-gap: 10px;
}
@media (hover: hover) and (pointer: fine) {
  .c-case-card a {
    transition: all var(--transition-lv2);
  }
  .c-case-card a:hover {
    opacity: var(--hover-opacity);
  }
}
@media (hover: none) and (pointer: none) {
  .c-case-card a:active {
    opacity: var(--hover-opacity);
  }
}
.c-case-card .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 16/9;
}
.c-case-card .data {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px;
}
.c-case-card .data span {
  padding: 4px 8px;
  border-radius: 3px;
  font-size: 3.4666666667vw;
}
@media (min-width: 768px) {
  .c-case-card .data span {
    padding: 8px 12px;
    font-size: 0.875rem;
  }
}
.c-case-card .data span.area {
  background-color: var(--gray-800);
  color: var(--default-white);
}
.c-case-card .data span.category {
  background-color: var(--primary-600);
}
.c-case-card .data span.iftabi {
  background-color: var(--pink-600);
}
.c-case-card .data span.reconnect {
  background-color: var(--green-600);
}
.c-case-card .title {
  font-size: 4.2666666667vw;
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-sm);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
}
@media (min-width: 768px) {
  .c-case-card .title {
    font-size: 1.125rem;
  }
}
.c-case-card .desc {
  font-size: 3.7333333333vw;
  line-height: var(--line-height-md);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  line-clamp: 4;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
}
@media (min-width: 768px) {
  .c-case-card .desc {
    font-size: 1rem;
  }
}

/* contact */
/* ============================================ */
.c-contact {
  padding-block: 50px;
  background-color: var(--gray-800);
}
@media (min-width: 768px) {
  .c-contact {
    padding-block: 70px;
  }
}
.c-contact-header {
  margin-bottom: 25px;
}
@media (min-width: 768px) {
  .c-contact-header {
    margin-bottom: 35px;
  }
}
.c-contact-body {
  display: grid;
}
@media (min-width: 768px) {
  .c-contact-body {
    grid-template-columns: 1fr 1fr;
  }
}
.c-contact-btn {
  background-color: var(--default-white);
}
.c-contact-btn a {
  position: relative;
  width: 100%;
  height: 180px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  background-color: var(--default-white);
}
@media (min-width: 768px) {
  .c-contact-btn a {
    height: 215px;
  }
}
@media (hover: hover) and (pointer: fine) {
  .c-contact-btn a {
    transition: all var(--transition-lv2);
  }
  .c-contact-btn a:hover {
    opacity: var(--hover-opacity);
  }
}
@media (hover: none) and (pointer: none) {
  .c-contact-btn a:active {
    opacity: var(--hover-opacity);
  }
}
.c-contact-btn a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 30px;
  transform: translateY(-50%);
  mask: url("data:image/svg+xml,%3csvg%20width='22'%20height='22'%20viewBox='0%200%2022%2022'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M11%200C17.0752%200%2021.9999%204.92484%2022%2011C22%2017.0753%2017.0753%2022%2011%2022C4.92484%2021.9999%200%2017.0752%200%2011C0.000128335%204.92492%204.92492%200.000128332%2011%200ZM9.64258%206.23242C9.21132%205.88741%208.58134%205.95741%208.23633%206.38867C7.89169%206.81981%207.96172%207.44896%208.39258%207.79395L12.4258%2011.0215L8.39258%2014.2471C7.96141%2014.5921%207.89135%2015.2221%208.23633%2015.6533C8.58133%2016.0844%209.21136%2016.1545%209.64258%2015.8096L14.6514%2011.8018C14.8885%2011.612%2015.0273%2011.3242%2015.0273%2011.0205C15.0272%2010.7169%2014.8884%2010.4299%2014.6514%2010.2402L9.64258%206.23242Z'%20fill='white'/%3e%3c/svg%3e") center/contain;
  background-color: var(--gray-800);
  width: 30px;
  height: 30px;
}
.c-contact-btn.request a {
  background-color: var(--primary-600);
  color: var(--default-white);
}
.c-contact-btn.request a::after {
  background-color: var(--default-white);
}
.c-contact-btn-icon {
  position: absolute;
  top: 15px;
  left: 20px;
  width: 60px;
}
@media (min-width: 1100px) {
  .c-contact-btn-icon {
    top: 20px;
    left: 80px;
    width: 74px;
  }
}
.c-contact-btn-title {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.c-contact-btn-title .en {
  font-size: 8.5333333333vw;
}
@media (min-width: 768px) {
  .c-contact-btn-title .en {
    font-size: 2.25rem;
  }
}
.c-contact-btn-title .ja {
  font-size: 4.2666666667vw;
  font-weight: var(--font-weight-medium);
}
@media (min-width: 768px) {
  .c-contact-btn-title .ja {
    font-size: 1rem;
  }
}
.c-contact-btn-title .desc {
  font-size: 4.2666666667vw;
  font-weight: var(--font-weight-medium);
  margin-top: 10px;
}
@media (min-width: 768px) {
  .c-contact-btn-title .desc {
    font-size: 1rem;
  }
}

.mw_wp_form .horizontal-item + .horizontal-item {
  margin-left: 0 !important;
}

/* form */
/* ============================================ */
.c-form input::-webkit-input-placeholder,
.c-form textarea::-webkit-input-placeholder,
.c-form input:-moz-placeholder,
.c-form textarea:-moz-placeholder,
.c-form textarea,
.c-form input[type=text],
.c-form input[type=date],
.c-form input[type=tel],
.c-form input[type=email],
.c-form input[type=url],
.c-form input[type=number],
.c-form select {
  font-size: 4.2666666667vw;
  font-family: var(--font-family-jp);
}
@media (min-width: 768px) {
  .c-form input::-webkit-input-placeholder,
  .c-form textarea::-webkit-input-placeholder,
  .c-form input:-moz-placeholder,
  .c-form textarea:-moz-placeholder,
  .c-form textarea,
  .c-form input[type=text],
  .c-form input[type=date],
  .c-form input[type=tel],
  .c-form input[type=email],
  .c-form input[type=url],
  .c-form input[type=number],
  .c-form select {
    font-size: 1rem;
  }
}
.c-form textarea,
.c-form input[type=text],
.c-form input[type=date],
.c-form input[type=tel],
.c-form input[type=email],
.c-form input[type=url],
.c-form input[type=number],
.c-form input[type=zip],
.c-form select {
  width: 100%;
  border: 1px solid var(--gray-300);
  border-radius: 8px;
  padding: 16px;
  background-color: var(--default-white);
}
@media (min-width: 768px) {
  .c-form textarea,
  .c-form input[type=text],
  .c-form input[type=date],
  .c-form input[type=tel],
  .c-form input[type=email],
  .c-form input[type=url],
  .c-form input[type=number],
  .c-form input[type=zip],
  .c-form select {
    padding: 22px;
  }
}
.c-form label {
  cursor: pointer;
}
.mw_wp_form_input .c-form .required:after {
  content: "必須";
  display: inline-block;
  vertical-align: middle;
  padding: 0.1em 0.6em 0.2em;
  border-radius: 4px;
  margin-left: 0.8em;
  margin-top: -0.3em;
  font-size: 2.9333333333vw;
  letter-spacing: 0.1em;
  background-color: var(--semantic-attention);
  color: var(--default-white);
}
@media (min-width: 768px) {
  .mw_wp_form_input .c-form .required:after {
    font-size: 0.6875rem;
  }
}
.c-form input[type=radio] {
  display: none;
}
.c-form input[type=radio] + span {
  position: relative;
  display: inline-flex;
  line-height: var(--line-height-sm);
}
.c-form input[type=radio] + span:before {
  flex-shrink: 0;
  content: "";
  display: block;
  width: 18px;
  height: 18px;
  margin-right: 8px;
  border: 1px solid var(--gray-300);
  background: var(--default-white);
  border-radius: 50%;
  margin-top: 2px;
}
@media (min-width: 768px) {
  .c-form input[type=radio] + span:before {
    width: 22px;
    height: 22px;
  }
}
.c-form input[type=radio]:checked + span:after {
  content: "";
  display: block;
  position: absolute;
  left: 4px;
  width: 10px;
  height: 10px;
  background: var(--gray-800);
  border-radius: 50%;
  margin-top: 8px;
}
@media (min-width: 768px) {
  .c-form input[type=radio]:checked + span:after {
    left: 5px;
    width: 12px;
    height: 12px;
    margin-top: 7px;
  }
}
.c-form input[type=checkbox] {
  display: none;
}
.c-form input[type=checkbox] + span {
  position: relative;
  display: inline-flex;
  line-height: var(--line-height-sm);
}
.c-form input[type=checkbox] + span:before {
  flex-shrink: 0;
  content: "";
  display: block;
  width: 18px;
  height: 18px;
  margin-right: 6px;
  border: 1px solid var(--gray-300);
  background: var(--default-white);
  border-radius: 3px;
  margin-top: 2px;
}
@media (min-width: 768px) {
  .c-form input[type=checkbox] + span:before {
    width: 22px;
    height: 22px;
  }
}
.c-form input[type=checkbox]:checked + span:after {
  content: "";
  display: block;
  position: absolute;
  left: 4px;
  width: 10px;
  height: 10px;
  background: var(--gray-800);
  border-radius: 3px;
  margin-top: 6px;
}
@media (min-width: 768px) {
  .c-form input[type=checkbox]:checked + span:after {
    left: 5px;
    width: 12px;
    height: 12px;
    margin-top: 7px;
  }
}
.c-form-select {
  position: relative;
}
.c-form-select::before {
  z-index: 1;
  content: "";
  position: absolute;
  top: 50%;
  right: 16px;
  width: 18px;
  height: 18px;
  transform: translate(0, -50%);
  background: url("data:image/svg+xml,%3csvg%20width='14'%20height='24'%20viewBox='0%200%2014%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M7%2024L1.15433%2013.875L12.8457%2013.875L7%2024Z'%20fill='%23D0D0D0'/%3e%3cpath%20d='M7%20-1.18021e-06L12.8457%2010.125L1.15433%2010.125L7%20-1.18021e-06Z'%20fill='%23D0D0D0'/%3e%3c/svg%3e") 50%/contain no-repeat;
  pointer-events: none;
}
@media (min-width: 768px) {
  .c-form-select::before {
    right: 20px;
    width: 24px;
    height: 24px;
  }
}
.c-form-select select {
  outline: none;
  text-overflow: "";
  vertical-align: middle;
  font-size: inherit;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 16px;
  border: 1px solid var(--gray-300);
  width: 100%;
}
@media (min-width: 768px) {
  .c-form-select select {
    padding: 24px;
  }
}
.c-form-select select:-ms-expand {
  display: none;
}
.c-form-select select:-moz-focus-inner {
  border: 0;
}
.c-form-select select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 var(--gray-300);
}
.c-form-btn .submit {
  position: relative;
}
.c-form-btn .submit::after {
  content: "";
  display: block;
  width: 22px;
  aspect-ratio: 1/1;
  background-color: var(--default-white);
  mask: url("data:image/svg+xml,%3csvg%20width='22'%20height='22'%20viewBox='0%200%2022%2022'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M11%200C17.0752%200%2021.9999%204.92484%2022%2011C22%2017.0753%2017.0753%2022%2011%2022C4.92484%2021.9999%200%2017.0752%200%2011C0.000128335%204.92492%204.92492%200.000128332%2011%200ZM9.64258%206.23242C9.21132%205.88741%208.58134%205.95741%208.23633%206.38867C7.89169%206.81981%207.96172%207.44896%208.39258%207.79395L12.4258%2011.0215L8.39258%2014.2471C7.96141%2014.5921%207.89135%2015.2221%208.23633%2015.6533C8.58133%2016.0844%209.21136%2016.1545%209.64258%2015.8096L14.6514%2011.8018C14.8885%2011.612%2015.0273%2011.3242%2015.0273%2011.0205C15.0272%2010.7169%2014.8884%2010.4299%2014.6514%2010.2402L9.64258%206.23242Z'%20fill='white'/%3e%3c/svg%3e") 50%/contain no-repeat;
  position: absolute;
  top: 50%;
  right: 22px;
  transform: translateY(-50%);
}
@media (hover: hover) and (pointer: fine) {
  .c-form-btn .submit {
    transition: all var(--transition-lv2);
  }
  .c-form-btn .submit:hover {
    opacity: var(--hover-opacity);
  }
}
@media (hover: none) and (pointer: none) {
  .c-form-btn .submit:active {
    opacity: var(--hover-opacity);
  }
}
.c-form-btn .submit input[type=submit],
.c-form-btn .submit button {
  display: grid;
  place-items: center;
  text-align: center;
  width: 64vw;
  height: 12.8vw;
  border-radius: 48px;
  background-color: var(--primary-600);
  font-size: 3.7333333333vw;
  color: var(--default-white);
  cursor: pointer;
}
@media (min-width: 768px) {
  .c-form-btn .submit input[type=submit],
  .c-form-btn .submit button {
    width: 300px;
    height: 62px;
    font-size: 1.0625rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .c-form-btn .back {
    transition: all var(--transition-lv2);
  }
  .c-form-btn .back:hover {
    opacity: var(--hover-opacity);
  }
}
@media (hover: none) and (pointer: none) {
  .c-form-btn .back:active {
    opacity: var(--hover-opacity);
  }
}
.c-form-btn .back input,
.c-form-btn .back input[type=submit],
.c-form-btn .back button {
  display: grid;
  place-items: center;
  text-align: center;
  width: 48vw;
  height: 9.6vw;
  border-radius: 36px;
  border: 1px solid var(--gray-300);
  font-size: 3.4666666667vw;
  cursor: pointer;
}
@media (min-width: 768px) {
  .c-form-btn .back input,
  .c-form-btn .back input[type=submit],
  .c-form-btn .back button {
    width: 200px;
    height: 48px;
    font-size: 0.9375rem;
  }
}

/* form_layout */
/* ============================================ */
.c-form-message {
  font-size: 4.2666666667vw;
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-sm);
  text-align: center;
  border: 4px solid var(--gray-800);
  border-radius: 5px;
  padding: 15px;
  margin-bottom: 30px;
}
@media (min-width: 768px) {
  .c-form-message {
    font-size: 1.125rem;
    margin-bottom: 40px;
  }
}
.c-form-message-error {
  border-color: var(--semantic-attention);
  color: var(--semantic-attention);
}
.c-form-request {
  margin-bottom: 20px;
  margin-inline: auto;
  display: grid;
  align-items: center;
  gap: 30px;
}
@media (min-width: 768px) {
  .c-form-request {
    max-width: 720px;
    grid-template-columns: 1fr 400px;
  }
}
.c-form-request-text {
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.c-form-request h2 {
  font-size: 5.3333333333vw;
  color: var(--primary-600);
}
@media (min-width: 768px) {
  .c-form-request h2 {
    font-size: 1.75rem;
  }
}
.c-form-request p {
  line-height: var(--line-height-lg);
}
.c-form-desc {
  margin-bottom: 30px;
}
@media (min-width: 768px) {
  .c-form-desc {
    margin-bottom: 40px;
  }
}
.c-form-desc p {
  line-height: var(--line-height-lg);
  text-align: left;
}
@media (min-width: 768px) {
  .c-form-desc p {
    text-align: center;
  }
}
.c-form-body {
  display: grid;
  row-gap: 25px;
}
.c-form-item {
  display: grid;
}
@media (max-width: 767px) {
  .c-form-item {
    grid-template-rows: auto 1fr;
    gap: 15px;
  }
}
@media (min-width: 768px) {
  .c-form-item {
    grid-template-columns: 200px 1fr;
    gap: 40px;
    align-items: center;
  }
}
.c-form-label {
  font-size: 4.2666666667vw;
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-sm);
}
@media (min-width: 768px) {
  .c-form-label {
    font-size: 1rem;
  }
}
.c-form-content {
  flex: 1;
  line-height: var(--line-height-md);
}
.c-form-content .title {
  font-size: 4vw;
  line-height: var(--line-height-sm);
}
@media (min-width: 768px) {
  .c-form-content .title {
    font-size: 0.9375rem;
  }
}
.c-form-content .note {
  margin-top: 5px;
  font-size: 4vw;
  line-height: var(--line-height-sm);
}
@media (min-width: 768px) {
  .c-form-content .note {
    font-size: 0.9375rem;
  }
}
.c-form-content:has(> .error) textarea,
.c-form-content:has(> .error) input[type=text],
.c-form-content:has(> .error) input[type=date],
.c-form-content:has(> .error) input[type=tel],
.c-form-content:has(> .error) input[type=email],
.c-form-content:has(> .error) input[type=url],
.c-form-content:has(> .error) input[type=number],
.c-form-content:has(> .error) select {
  background-color: #fff3f3;
}
.c-form-content:has(> .error) input[type=radio] + span:before {
  background-color: #fff3f3;
}
.c-form-content:has(> .error) input[type=checkbox] + span:before {
  background-color: #fff3f3;
}
.c-form-list-horizontal {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  column-gap: 15px;
  row-gap: 10px;
}
@media (min-width: 768px) {
  .c-form-list-horizontal {
    column-gap: 20px;
  }
  .c-form-list-horizontal.w2 .horizontal-item {
    width: calc(50% - 10px);
  }
}
.c-form-list-vertical {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.c-form-list-vertical-large {
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.c-form-list-item {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.c-form-list-item .label {
  font-size: 4.2666666667vw;
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-sm);
}
@media (min-width: 768px) {
  .c-form-list-item .label {
    font-size: 1rem;
  }
}
.c-form-list-item .note {
  margin-top: 0;
}
.c-form-list-item .title {
  margin-top: 10px;
}
.c-form-list-item .error {
  margin-top: 0;
}
.c-form-list-item:has(> .error) textarea,
.c-form-list-item:has(> .error) input[type=text],
.c-form-list-item:has(> .error) input[type=date],
.c-form-list-item:has(> .error) input[type=tel],
.c-form-list-item:has(> .error) input[type=email],
.c-form-list-item:has(> .error) input[type=url],
.c-form-list-item:has(> .error) input[type=number],
.c-form-list-item:has(> .error) select {
  background-color: #fff3f3;
}
.c-form-list-item:has(> .error) input[type=radio] + span:before {
  background-color: #fff3f3;
}
.c-form-list-item:has(> .error) input[type=checkbox] + span:before {
  background-color: #fff3f3;
}
.c-form-zip .mwform-zip-field {
  display: flex;
  gap: 15px;
  align-items: center;
}
.c-form-zip .mwform-zip-field input[type=text] {
  width: 34.6666666667vw;
}
@media (min-width: 768px) {
  .c-form-zip .mwform-zip-field input[type=text] {
    width: 140px;
  }
}
.c-form-zip .mwform-zip-field button {
  display: grid;
  place-content: center;
  width: 110px;
  height: 41px;
  background-color: var(--gray-800);
  color: var(--default-white);
  font-size: 3.4666666667vw;
}
@media (min-width: 768px) {
  .c-form-zip .mwform-zip-field button {
    width: 130px;
    height: 45px;
    font-size: 0.9375rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .c-form-zip .mwform-zip-field button {
    transition: all var(--transition-lv2);
  }
  .c-form-zip .mwform-zip-field button:hover {
    opacity: var(--hover-opacity);
  }
}
@media (hover: none) and (pointer: none) {
  .c-form-zip .mwform-zip-field button:active {
    opacity: var(--hover-opacity);
  }
}
.c-form-agree p {
  font-size: 3.2vw;
  line-height: var(--line-height-lg);
}
@media (min-width: 768px) {
  .c-form-agree p {
    font-size: 14px;
    text-align: center;
  }
}
.c-form-agree p a {
  text-decoration: underline;
}
.c-form-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}

/* confirm */
/* ============================================ */
.mw_wp_form_confirm .c-form-item {
  padding-bottom: 25px;
  border-bottom: 1px solid var(--gray-300);
}
.mw_wp_form_confirm .c-form-item .c-form-label {
  padding-top: 0;
}
.mw_wp_form_confirm .c-form-item .label,
.mw_wp_form_confirm .c-form-item .title {
  font-size: 2.9333333333vw;
  font-weight: var(--font-weight-medium);
}
@media (min-width: 768px) {
  .mw_wp_form_confirm .c-form-item .label,
  .mw_wp_form_confirm .c-form-item .title {
    font-size: 0.6875rem;
  }
}
.mw_wp_form_confirm .required::after {
  content: "";
  display: inline-flex;
  width: auto;
  height: auto;
  background: none;
  vertical-align: baseline;
  margin-left: 0;
}
.mw_wp_form_confirm .c-form-select {
  width: auto !important;
}
.mw_wp_form_confirm .c-form-select::before {
  display: none !important;
}
.mw_wp_form_confirm .c-form-list--horizontal,
.mw_wp_form_confirm .c-form-list--vertical,
.mw_wp_form_confirm .c-form-label {
  margin: 0;
}
.mw_wp_form_confirm #auto-address,
.mw_wp_form_confirm .note {
  display: none;
}

/* error */
/* ============================================ */
.error {
  display: flex;
  align-items: center;
  margin-top: 10px;
  font-size: 3.2vw;
  font-weight: 600;
  color: var(--semantic-attention);
}
@media (min-width: 768px) {
  .error {
    font-size: 0.875rem;
  }
}
.error:before {
  content: "！";
  margin: 0 5px 0 0;
}

/* complete */
/* ============================================ */
.c-form-complete {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 30px;
}
@media (min-width: 768px) {
  .c-form-complete {
    gap: 40px;
  }
}
.c-form-complete .title {
  font-size: 4.8vw;
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-sm);
}
@media (min-width: 768px) {
  .c-form-complete .title {
    font-size: 1.5rem;
  }
}
.c-form-complete .text {
  line-height: var(--line-height-md);
}
@media (max-width: 767px) {
  .c-form-complete .text {
    text-align: left;
  }
}

/* only */
/* ============================================ */
.input-only,
.error-only,
.confirm-only,
.complete-only {
  display: none;
}

.is-input .input-only {
  display: block;
}

.is-input span.input-only {
  display: inline;
}

.is-error .error-only {
  display: block;
}

.is-confirm .confirm-only {
  display: block;
}

.is-complete .complete-only {
  display: block;
}

.wpcf7-not-valid-tip {
  margin-top: 10px;
}

.wpcf7-spinner {
  display: none;
}

/* gallery */
/* ============================================ */
.gallery {
  width: 100%;
  overflow: hidden;
  display: grid;
  gap: 10px;
}
@media (min-width: 768px) {
  .gallery {
    gap: 20px;
  }
}
.gallery-columns-1 {
  grid-template-columns: 1fr;
}
.gallery-columns-2 {
  grid-template-columns: repeat(2, 1fr);
}
.gallery-columns-3 {
  grid-template-columns: repeat(2, 1fr);
}
@media (min-width: 768px) {
  .gallery-columns-3 {
    grid-template-columns: repeat(3, 1fr);
  }
}
.gallery-columns-4 {
  grid-template-columns: repeat(2, 1fr);
}
@media (min-width: 768px) {
  .gallery-columns-4 {
    grid-template-columns: repeat(4, 1fr);
  }
}
.gallery-columns-5 {
  grid-template-columns: repeat(2, 1fr);
}
@media (min-width: 768px) {
  .gallery-columns-5 {
    grid-template-columns: repeat(5, 1fr);
  }
}
.gallery br {
  display: none;
}
.gallery-item {
  margin-bottom: 0 !important;
}
.gallery-icon {
  text-align: center;
}
.gallery-icon img {
  width: 100%;
  height: auto;
}
.gallery-caption {
  font-size: 12px;
  line-height: var(--line-height-sm);
  margin-top: 6px;
  text-align: center;
}
@media (min-width: 768px) {
  .gallery-caption {
    font-size: 14px;
  }
}

/* inner */
/* ============================================ */
.c-inner {
  width: 90vw;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .c-inner {
    width: 100%;
    max-width: 1080px;
    padding: 0 40px;
  }
}

/* lower */
/* ============================================ */
.c-lower-header {
  height: 58.6666666667vw;
}
@media (min-width: 768px) {
  .c-lower-header {
    height: 360px;
  }
}
.c-lower-header .c-inner {
  position: relative;
  height: 100%;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  text-align: left;
  border-bottom: 1px solid var(--gray-300);
}
@media (min-width: 768px) {
  .c-lower-header .c-inner {
    max-width: 1240px;
  }
}
.c-lower-header-bg {
  position: absolute;
  bottom: -0.05em;
  right: -5vw;
  letter-spacing: -0.02em;
  font-size: 26.6666666667vw;
  font-weight: var(--font-weight-medium);
  white-space: nowrap;
  color: var(--gray-50);
}
@media (min-width: 768px) {
  .c-lower-header-bg {
    right: -0.4em;
    font-size: 15rem;
  }
}
.c-lower-header-title {
  padding-bottom: 60px;
}
@media (min-width: 768px) {
  .c-lower-header-title {
    padding-bottom: 80px;
  }
}
.c-lower-header-title .en {
  font-size: 14.9333333333vw;
  font-weight: var(--font-weight-medium);
  letter-spacing: 0.02em;
  color: var(--primary-600);
}
@media (min-width: 768px) {
  .c-lower-header-title .en {
    font-size: 6rem;
  }
}
.c-lower-header-title .title {
  display: flex;
  gap: 20px;
  font-size: 4.2666666667vw;
  line-height: var(--line-height-sm);
  margin-top: 15px;
}
@media (min-width: 768px) {
  .c-lower-header-title .title {
    font-size: 1.375rem;
    margin-top: 30px;
    margin-left: -40px;
  }
}
.c-lower-header-title .title::before {
  content: "";
  width: 30px;
  height: 2px;
  background-color: var(--primary-600);
  margin-top: calc(0.7em - 1px);
}
@media (min-width: 768px) {
  .c-lower-header-title .title::before {
    width: 60px;
  }
}

/* section-title */
/* ============================================ */
.c-section-title {
  display: flex;
  flex-direction: column;
  gap: 6px;
  text-align: center;
}
@media (min-width: 768px) {
  .c-section-title {
    gap: 10px;
  }
}
.c-section-title .en {
  font-size: 8.5333333333vw;
  font-weight: var(--font-weight-medium);
  line-height: var(--line-height-sm);
  letter-spacing: 0.06em;
  color: var(--primary-900);
}
@media (min-width: 768px) {
  .c-section-title .en {
    font-size: 2rem;
  }
}
@media (min-width: 1100px) {
  .c-section-title .en {
    font-size: 2.25rem;
  }
}
.c-section-title .title {
  display: flex;
  align-items: center;
  font-size: 4.2666666667vw;
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-sm);
}
@media (min-width: 768px) {
  .c-section-title .title {
    font-size: 1rem;
  }
}
@media (min-width: 1100px) {
  .c-section-title .title {
    font-size: 1.125rem;
  }
}
.c-section-title--horizontal {
  align-items: flex-start;
  gap: 6px;
}
.c-section-title--horizontal .title {
  gap: 16px;
}
.c-section-title--horizontal .title::before {
  content: "";
  width: 40px;
  height: 2px;
  background-color: var(--primary-600);
}
.c-section-title--vertical {
  align-items: center;
  gap: 6px;
}
.c-section-title--vertical .title {
  flex-direction: column;
  gap: 16px;
  text-align: center;
}
.c-section-title--vertical .title::after {
  content: "";
  width: 40px;
  height: 2px;
  background-color: var(--primary-600);
}
.c-section-title--white .en {
  color: var(--default-white);
}
.c-section-title--white .title {
  color: var(--default-white);
}

html.lenis,
html.lenis body {
  height: auto;
}

.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}

.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}

.lenis.lenis-stopped {
  overflow: hidden;
}

.lenis.lenis-smooth iframe {
  pointer-events: none;
}

/* ------------------------------------------------------------------
pagenavi
------------------------------------------------------------------ */
.wp-pagenavi {
  display: flex;
  justify-content: center;
  margin: 40px 0 0;
  gap: 10px;
}
@media (min-width: 768px) {
  .wp-pagenavi {
    margin: 60px 0 0;
    gap: 15px;
  }
}
.wp-pagenavi a,
.wp-pagenavi .current {
  display: grid;
  place-content: center;
  font-size: 4vw;
  font-weight: 600;
  width: 40px;
  height: 40px;
  border-radius: 40px;
}
@media (min-width: 768px) {
  .wp-pagenavi a,
  .wp-pagenavi .current {
    font-size: 1.125rem;
    width: 50px;
    height: 50px;
  }
}
.wp-pagenavi a {
  background: var(--gray-100);
  color: var(--gray-600);
}
@media (hover: hover) and (pointer: fine) {
  .wp-pagenavi a {
    transition: all var(--transition-lv2);
  }
  .wp-pagenavi a:hover {
    opacity: var(--hover-opacity);
  }
}
@media (hover: none) and (pointer: none) {
  .wp-pagenavi a:active {
    opacity: var(--hover-opacity);
  }
}
.wp-pagenavi .current {
  background: var(--primary-600);
  color: var(--default-white);
  border: 1px solid var(--primary-600);
}
.wp-pagenavi span.pages,
.wp-pagenavi span.extend,
.wp-pagenavi .first,
.wp-pagenavi .last {
  display: none;
}
.wp-pagenavi a.previouspostslink,
.wp-pagenavi a.nextpostslink {
  border: none;
  background: none;
}
.wp-pagenavi a.previouspostslink::before,
.wp-pagenavi a.nextpostslink::before {
  content: "";
  width: 15px;
  height: 15px;
  mask: no-repeat 50% 50%/contain;
  transition: all var(--transition-lv2);
}
@media (min-width: 768px) {
  .wp-pagenavi a.previouspostslink::before,
  .wp-pagenavi a.nextpostslink::before {
    width: 20px;
    height: 20px;
  }
}
.wp-pagenavi a.previouspostslink::before {
  mask-image: url("data:image/svg+xml,%3csvg%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M6.2053%2012.4046C5.93157%2012.1827%205.93157%2011.8173%206.2053%2011.5954L17.8418%202.16218C18.2735%201.81222%2019%202.066%2019%202.56676V21.4332C19%2021.934%2018.2735%2022.1878%2017.8418%2021.8378L6.2053%2012.4046Z'%20fill='black'/%3e%3c/svg%3e");
  background-color: var(--gray-800);
}
.wp-pagenavi a.nextpostslink::before {
  mask-image: url("data:image/svg+xml,%3csvg%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M18.7947%2012.4046C19.0684%2012.1827%2019.0684%2011.8173%2018.7947%2011.5954L7.15816%202.16218C6.72646%201.81222%206%202.066%206%202.56676V21.4332C6%2021.934%206.72646%2022.1878%207.15816%2021.8378L18.7947%2012.4046Z'%20fill='black'/%3e%3c/svg%3e");
  background-color: var(--gray-800);
}

.splide {
  position: relative;
  visibility: hidden;
}
.splide.is-initialized, .splide.is-rendered {
  visibility: visible;
}
.splide__container {
  position: relative;
}
.splide__list {
  backface-visibility: hidden;
  display: flex;
  height: 100%;
}
.splide.is-initialized:not(.is-active) .splide__list {
  display: block;
}
.splide__slide {
  backface-visibility: hidden;
  box-sizing: border-box;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  list-style-type: none !important;
  margin: 0;
  position: relative;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.splide__slide:focus {
  outline: 0;
}
.splide__slide img {
  vertical-align: bottom;
}
.splide__spinner {
  animation: splide-loading 1s linear infinite;
  border: 2px solid #999;
  border-left-color: transparent;
  border-radius: 50%;
  bottom: 0;
  contain: strict;
  display: inline-block;
  height: 20px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 20px;
}
.splide__sr {
  clip: rect(0 0 0 0);
  border: 0;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}
.splide__toggle.is-active .splide__toggle__play, .splide__toggle__pause {
  display: none;
}
.splide__toggle.is-active .splide__toggle__pause {
  display: inline;
}
.splide__track {
  position: relative;
  z-index: 0;
}
.splide__track--draggable {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.splide__track--fade > .splide__list > .splide__slide {
  margin: 0 !important;
  opacity: 0;
  z-index: 0;
}
.splide__track--fade > .splide__list > .splide__slide.is-active {
  opacity: 1;
  z-index: 1;
}
.splide__track--nav > .splide__list > .splide__slide {
  border: 3px solid transparent;
  cursor: pointer;
}
.splide__track--nav > .splide__list > .splide__slide.is-active {
  border: 3px solid #000;
}
.splide--rtl {
  direction: rtl;
}
.splide__track--ttb > .splide__list {
  display: block;
}
.splide__arrow img {
  height: 30px;
  width: 30px;
}
@media (min-width: 768px) {
  .splide__arrow img {
    height: 40px;
    width: 40px;
  }
}
@media (hover: hover) and (pointer: fine) {
  .splide__arrow {
    transition: all var(--transition-lv2);
  }
  .splide__arrow:hover {
    opacity: var(--hover-opacity);
  }
}
@media (hover: none) and (pointer: none) {
  .splide__arrow:active {
    opacity: var(--hover-opacity);
  }
}
.splide__arrow:disabled {
  opacity: 0;
}
.splide__arrow:focus-visible {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}
.is-focus-in .splide__arrow:focus {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}
.splide__controller {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
@media (min-width: 768px) {
  .splide__controller {
    gap: 20px;
  }
}
.splide__pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 8px;
  pointer-events: none;
  counter-reset: pagination-num;
  z-index: 2;
}
.splide__pagination li {
  pointer-events: auto;
}
.splide__pagination__page {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background: var(--orange-700);
  width: 24px;
  height: 4px;
  border-radius: 5px;
  transition: var(--transition-lv2);
  cursor: pointer;
}
@media (min-width: 768px) {
  .splide__pagination__page {
    width: 30px;
  }
}
.splide__pagination__page.is-active {
  background: var(--default-white);
  color: var(--default-white);
}
.splide__pagination__page:hover {
  opacity: 0.9;
}
.splide__pagination__page:focus-visible {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}
.is-focus-in .splide__pagination__page:focus {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}
.splide__pagination--ttb {
  bottom: 0;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  left: auto;
  padding: 1em 0;
  right: 0.5em;
  top: 0;
}
.splide:not(.is-overflow) .splide__pagination {
  display: none;
}
.splide__progress__bar {
  width: 0;
  background: #ccc;
  height: 3px;
}
.splide__toggle {
  cursor: pointer;
}
.splide__toggle:focus-visible {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}
.is-focus-in .splide__toggle:focus {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}
.splide__arrows {
  display: flex;
  gap: 4px;
}
@media (min-width: 768px) {
  .splide__arrows {
    gap: 6px;
  }
}
.splide__arrows--rtl .splide__arrow--prev {
  left: auto;
  right: 1em;
}
.splide__arrows--rtl .splide__arrow--prev img {
  transform: scaleX(1);
}
.splide__arrows--rtl .splide__arrow--next {
  left: 1em;
  right: auto;
}
.splide__arrows--rtl .splide__arrow--next img {
  transform: scaleX(-1);
}
.splide__arrows--ttb .splide__arrow {
  left: 50%;
  transform: translateX(-50%);
}
.splide__arrows--ttb .splide__arrow--prev {
  top: 1em;
}
.splide__arrows--ttb .splide__arrow--prev img {
  transform: rotate(-90deg);
}
.splide__arrows--ttb .splide__arrow --next {
  bottom: 1em;
  top: auto;
}
.splide__arrows--ttb .splide__arrow --next img {
  transform: rotate(90deg);
}

@keyframes splide-loading {
  0% {
    transform: rotate(0);
  }
  to {
    transform: rotate(1turn);
  }
}
@supports (outline-offset: -3px) {
  .splide__slide:focus-visible {
    outline: 3px solid #0bf;
    outline-offset: -3px;
  }
}
@media screen and (-ms-high-contrast: none) {
  .splide__slide:focus-visible {
    border: 3px solid #0bf;
  }
}
@supports (outline-offset: -3px) {
  .splide.is-focus-in .splide__slide:focus {
    outline: 3px solid #0bf;
    outline-offset: -3px;
  }
}
@media screen and (-ms-high-contrast: none) {
  .splide.is-focus-in .splide__slide:focus {
    border: 3px solid #0bf;
  }
  .splide.is-focus-in .splide__track > .splide__list > .splide__slide:focus {
    border-color: #0bf;
  }
}
/* font */
/* ============================================ */
.u-font-ja {
  font-family: var(--font-family-ja);
  font-weight: var(--font-weight-medium);
}

.u-font-en {
  font-family: var(--font-family-en);
  font-weight: var(--font-weight-medium);
}

.u-font-sys {
  font-family: var(--font-family-sys);
  font-weight: var(--font-weight-medium);
}

/* color */
/* ============================================ */
.u-color-semantic-attention {
  color: var(--semantic-attention);
}

.u-color-semantic-link {
  color: var(--semantic-link);
}

/* display */
/* ============================================ */
.u-for-sp,
.u-for-tab,
.u-for-pc {
  display: none !important;
}

@media (max-width: 767px) {
  .u-for-sp {
    display: block !important;
  }
}
@media (min-width: 768px) and (max-width: 1099px) {
  .u-for-tab {
    display: block !important;
  }
}
@media (min-width: 1100px) {
  .u-for-pc {
    display: block !important;
  }
}
/* align */
/* ============================================ */
.u-align-left {
  text-align: left !important;
}

.u-align-center {
  text-align: center !important;
}

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

/* list */
/* ============================================ */
.u-list-disc {
  list-style: disc;
  padding-left: 1.2em;
}

.u-list-decimal {
  list-style: decimal;
  padding-left: 1.2em;
}

.u-list-circle {
  list-style: circle;
  padding-left: 1.2em;
}

.u-list-note {
  padding-left: 1.6em;
}
.u-list-note > li {
  position: relative;
  list-style: none;
  font-size: 0.9em;
  color: #555;
}
.u-list-note > li::before {
  position: absolute;
  left: -1.2em;
  content: "※";
}

.u-list-kakko {
  padding-left: 2em;
}
.u-list-kakko > li {
  position: relative;
  list-style-type: none;
}
.u-list-kakko > li::before {
  position: absolute;
  right: 100%;
  content: "（" counter(list-item) "）";
}