@charset "UTF-8";
/* -----------------------------------------------
  Variables
--------------------------------------------------*/
:root {
  --color-text: #000;
  --color-bg: #fff;
  --color-base: #1789c9;
  --color-link: #1789c9;
  --color-hover: #1789c9;
  --color-visited: #1789c9;
  --color-error: #dd0000;
  --swiper-theme-color: #1789c9;
}

/* -----------------------------------------------
  Mixins
--------------------------------------------------*/
/**************************************************
  base
***************************************************/
*,
*::before,
*::after {
  box-sizing: border-box;
  overflow-wrap: anywhere;
}

:root {
  text-spacing-trim: trim-start;
  text-autospace: normal;
  overflow-wrap: anywhere;
}

html {
  font-size: 62.5%;
  background: var(--color-bg);
}

body,
button,
input,
textarea,
select {
  color: var(--color-text);
  line-height: 1.8;
  font-size: 1.5rem;
  font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
  text-autospace: no-autospace;
}

::selection {
  background: rgb(17.7633928571, 105.8080357143, 155.2366071429);
  color: #fff;
}

:where(button, a, input, textarea, select, [tabindex]) {
  outline: none;
}
:where(button, a, input, textarea, select, [tabindex]):focus {
  outline: none;
}
:where(button, a, input, textarea, select, [tabindex]):focus-visible {
  outline: 2px solid var(--color-base);
}

/* -----------------------------------------------
  Elements
-------------------------------------------------- */
/* ---------- base ---------- */
h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1.3;
}

h2 + h3,
h3 + h4,
h4 + h5,
h5 + h6 {
  margin-top: 2rem !important;
}

ol,
ul,
menu {
  list-style-type: "";
  margin: 0;
  padding: 0;
}

li {
  position: relative;
  line-height: 1.5;
  list-style: none;
}

dl,
dt,
dd {
  margin: 0;
  padding: 0;
}

/* ---------- text ---------- */
p {
  margin: 2rem 0;
  line-height: 2;
}

strong {
  font-weight: bold;
}

u {
  border-bottom: 1px solid var(--color-text);
}

address {
  font-style: normal;
}

pre {
  text-spacing-trim: space-all;
  text-autospace: no-autospace;
}

time {
  text-autospace: no-autospace;
}

a {
  transition: 0.3s;
  color: #1789c9;
}
a:visited {
  color: var(--color-visited);
}
@media all and (min-width: 769px) {
  a:hover {
    color: var(--color-hover);
  }
}
@media all and (min-width: 769px) {
  a[href^="tel:"] {
    color: var(--color-text);
    pointer-events: none;
    text-decoration: none;
  }
}

/* ---------- image ---------- */
img,
svg,
video {
  border: 0;
  vertical-align: middle;
}

img {
  max-width: 100%;
  height: auto;
}

figure {
  margin: 0;
}

.caption,
figcaption {
  display: block;
  margin-top: 1rem;
  font-size: 0.88em;
}

._nocss {
  margin: 0;
  position: relative;
  background: transparent;
}
._nocss::before, ._nocss::after {
  display: none;
}

/* ---------- form ---------- */
input[type=text],
input[type=tel],
input[type=url],
input[type=email],
textarea,
select.formSelect {
  background: none;
  border: none;
  border-radius: 0;
  appearance: none;
  padding: 0.75em 1em;
  width: 100%;
  border: 1px solid #cbcbcb;
  background: #fafafa;
  font-size: 1.6rem;
  line-height: normal;
}

input[type=submit],
label,
button {
  background: none;
  border: none;
  border-radius: 0;
  appearance: none;
  cursor: pointer;
}

fieldset {
  padding: 0;
  border: none;
}

/* ---------- Element ---------- */
iframe {
  border: 0;
}

.body {
  position: relative;
  overflow-x: clip;
}

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

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

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

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 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 */
}

/**
 * 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: 1em;
  /* 2 */
}

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

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

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

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 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;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}

/**
 * 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;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * 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;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/**
 * 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. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/* 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;
}

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

/**************************************************
  utilities
***************************************************/
/* ---------- clear ---------- */
.u-clearfix {
  zoom: 1;
}
.u-clearfix:after {
  content: "";
  display: block;
  clear: both;
}

@media all and (min-width: 769px) {
  .u-float-left {
    float: left;
  }
  .u-float-right {
    float: right;
  }
}
.u-clear {
  clear: both;
}

.u-hidden {
  display: none;
}

/* ---------- text ---------- */
.u-text-bold {
  font-weight: bold;
}

.u-text-underline {
  text-decoration: underline;
}

.u-text-sm {
  font-size: 88%;
}

.u-text-xs {
  font-size: 75%;
}

.u-text-lg {
  font-size: 113%;
}

.u-text-x-lg {
  font-size: 140%;
}

.u-valign-top {
  vertical-align: top;
}

.u-valign-middle {
  vertical-align: middle;
}

.u-valign-bottom {
  vertical-align: bottom;
}

.u-text-center,
.u-text-center th,
.u-text-center td {
  text-align: center;
}

.u-text-right,
.u-text-right th,
.u-text-right td {
  text-align: right;
}

.u-text-left,
.u-text-left th,
.u-text-left td {
  text-align: left;
}

.u-image-text {
  overflow: hidden;
}

.u-text-top {
  vertical-align: top;
}

.u-text-middle {
  vertical-align: middle;
}

.u-text-bottom {
  vertical-align: bottom;
}

.u-word-break {
  word-break: break-all;
}

.u-nowrap {
  white-space: nowrap;
}

/* ---------- margin ---------- */
.u-margin-first {
  margin-top: 0;
}

.u-margin-zero {
  margin-bottom: 0;
}

.u-margin-half {
  margin-bottom: calc(2rem / 2);
}

.u-margin-default {
  margin-bottom: 2rem;
}

.u-margin-double {
  margin-bottom: calc(2rem * 2);
}

/* ---------- devices ---------- */
@media all and (min-width: 769px) {
  .u-sp {
    display: none !important;
  }
}
@media all and (max-width: 768px) {
  .u-pc {
    display: none !important;
  }
}
/* ---------- spacing ---------- */
.u-mt0 {
  margin-top: 0px !important;
}

.u-mb0 {
  margin-bottom: 0px !important;
}

.u-pt0 {
  padding-top: 0px !important;
}

.u-pb0 {
  padding-bottom: 0px !important;
}

.u-mt10 {
  margin-top: 10px !important;
}

.u-mb10 {
  margin-bottom: 10px !important;
}

.u-pt10 {
  padding-top: 10px !important;
}

.u-pb10 {
  padding-bottom: 10px !important;
}

.u-mt20 {
  margin-top: 20px !important;
}

.u-mb20 {
  margin-bottom: 20px !important;
}

.u-pt20 {
  padding-top: 20px !important;
}

.u-pb20 {
  padding-bottom: 20px !important;
}

.u-mt30 {
  margin-top: 30px !important;
}

.u-mb30 {
  margin-bottom: 30px !important;
}

.u-pt30 {
  padding-top: 30px !important;
}

.u-pb30 {
  padding-bottom: 30px !important;
}

.u-mt40 {
  margin-top: 40px !important;
}

.u-mb40 {
  margin-bottom: 40px !important;
}

.u-pt40 {
  padding-top: 40px !important;
}

.u-pb40 {
  padding-bottom: 40px !important;
}

.u-mt50 {
  margin-top: 50px !important;
}

.u-mb50 {
  margin-bottom: 50px !important;
}

.u-pt50 {
  padding-top: 50px !important;
}

.u-pb50 {
  padding-bottom: 50px !important;
}

.u-mt60 {
  margin-top: 60px !important;
}

.u-mb60 {
  margin-bottom: 60px !important;
}

.u-pt60 {
  padding-top: 60px !important;
}

.u-pb60 {
  padding-bottom: 60px !important;
}

.u-mt70 {
  margin-top: 70px !important;
}

.u-mb70 {
  margin-bottom: 70px !important;
}

.u-pt70 {
  padding-top: 70px !important;
}

.u-pb70 {
  padding-bottom: 70px !important;
}

.u-mt80 {
  margin-top: 80px !important;
}

.u-mb80 {
  margin-bottom: 80px !important;
}

.u-pt80 {
  padding-top: 80px !important;
}

.u-pb80 {
  padding-bottom: 80px !important;
}

.u-mt90 {
  margin-top: 90px !important;
}

.u-mb90 {
  margin-bottom: 90px !important;
}

.u-pt90 {
  padding-top: 90px !important;
}

.u-pb90 {
  padding-bottom: 90px !important;
}

.u-mt100 {
  margin-top: 100px !important;
}

.u-mb100 {
  margin-bottom: 100px !important;
}

.u-pt100 {
  padding-top: 100px !important;
}

.u-pb100 {
  padding-bottom: 100px !important;
}

/* -----------------------------------------------
  Accessibility
-------------------------------------------------- */
.screen-reader-text {
  position: absolute;
  top: -1000em;
  transition: 0.3s;
}
.screen-reader-text:focus {
  left: 6px;
  top: 6px;
  height: auto;
  width: auto;
  display: block;
  font-size: 14px;
  font-weight: 600;
  padding: 15px 23px 14px;
  background: #f0f0f1;
  color: #2271b1;
  z-index: 100000;
  line-height: normal;
  text-decoration: none;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
}

.is-current {
  pointer-events: none;
  text-decoration: none;
}

/* -----------------------------------------------
  admin box
-------------------------------------------------- */
html {
  margin-top: 0 !important;
}

#adminBox {
  transition: 0.3s;
  opacity: 0.2;
}
#adminBox:hover {
  opacity: 1;
}
@media all and (max-width: 768px) {
  #adminBox {
    display: none;
  }
}

/* -----------------------------------------------
  アニメーション
-------------------------------------------------- */
.animate.visible {
  animation: fadeInUp 1s ease 1 both;
  animation-delay: 1s;
}

.fadeIn {
  animation: fadeIn 0.6s ease 0s 1 both;
  opacity: 0;
}

.fadeInUp {
  animation: fadeInUp 0.6s ease 0s 1 both;
}

.fadeInDown {
  animation: fadeInDown 0.6s ease 0s 1 both;
}

.fadeInLeft {
  animation: fadeInLeft 0.6s ease 0s 1 both;
}

.fadeInRight {
  animation: fadeInRight 0.6s ease 0s 1 both;
}

.delay-0_5s {
  animation-delay: 0.5s;
}

.delay-0_6s {
  animation-delay: 0.6s;
}

.delay-0_7s {
  animation-delay: 0.7s;
}

.delay-0_8s {
  animation-delay: 0.8s;
}

.delay-0_9s {
  animation-delay: 0.9s;
}

.delay-1s {
  animation-delay: 1s;
}

.delay-1_1s {
  animation-delay: 1.1s;
}

.delay-1_2s {
  animation-delay: 1.2s;
}

.delay-1_3s {
  animation-delay: 1.3s;
}

.delay-1_4s {
  animation-delay: 1.4s;
}

.delay-1_5s {
  animation-delay: 1.5s;
}

.delay-1_6s {
  animation-delay: 1.6s;
}

.delay-1_7s {
  animation-delay: 1.7s;
}

.delay-1_8s {
  animation-delay: 1.8s;
}

.delay-1_9s {
  animation-delay: 1.9s;
}

.delay-2s {
  animation-delay: 2s;
}

.delay-2_1s {
  animation-delay: 2.1s;
}

.delay-2_2s {
  animation-delay: 2.2s;
}

.delay-2_3s {
  animation-delay: 2.3s;
}

.delay-2_4s {
  animation-delay: 2.4s;
}

.delay-2_5s {
  animation-delay: 2.5s;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(50px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadeInDown {
  0% {
    opacity: 0;
    transform: translateY(-50px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadeInLeft {
  0% {
    opacity: 0;
    transform: translateX(-50%);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes fadeInRight {
  0% {
    opacity: 0;
    transform: translateX(50%);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
/**************************************************
  Button
***************************************************/
.c-button {
  width: fit-content;
}
.c-button__link {
  display: flex;
  align-items: center;
  gap: 1em;
}
.c-button__link:any-link {
  color: var(--color-text);
  font-size: min(1.6rem, 1.2307692308vw);
  font-weight: bold;
}
@media all and (max-width: 768px) {
  .c-button__link:any-link {
    font-size: 3.8647342995vw;
  }
}
@media all and (min-width: 769px) {
  .c-button__link:hover {
    color: var(--color-hover);
    text-decoration: none;
  }
  .c-button__link:hover .c-button__circle::before {
    --progress: 100%;
  }
}
.c-button__circle {
  position: relative;
  background: #000;
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(5.7rem, 4.3846153846vw);
  height: min(5.7rem, 4.3846153846vw);
  border-radius: min(5.7rem, 4.3846153846vw);
  flex-shrink: 0;
  -webkit-mask-image: -webkit-radial-gradient(#000, #fff);
}
@media all and (max-width: 768px) {
  .c-button__circle {
    width: 9.6618357488vw;
    height: 9.6618357488vw;
    border-radius: 9.6618357488vw;
  }
}
.c-button__circle::before {
  --tilt: 1.2rem;
  background: var(--color-hover);
  clip-path: polygon(0 0, calc(100% - var(--tilt)) 0, 100% 50%, calc(100% - var(--tilt)) 100%, 0 100%);
  content: "";
  display: block;
  height: min(5.9rem, 4.5384615385vw);
  left: calc(-100% - var(--tilt));
  position: absolute;
  top: calc(min(0.1rem, 0.0769230769vw) * -1);
  transform: translateX(var(--progress, 0));
  transition: 0.3s;
  width: calc(100% + var(--tilt));
}
.c-button__circle .c-icon {
  fill: #fff;
  mix-blend-mode: lighten;
}
.c-button.is-style-outline .c-button__link {
  border-color: var(--color-base);
  color: var(--color-base);
}
.c-button.is-style-outline .c-button__link:hover, .c-button.is-style-outline .c-button__link:focus {
  background: var(--color-base);
  color: var(--color-bg);
}

/**************************************************
  Icon
***************************************************/
.c-icon {
  width: 1em;
  height: 1em;
  margin-right: 0.3rem;
  margin-left: 0.3rem;
}
.c-icon-blank {
  max-height: 1em;
  max-width: 1em;
  fill: currentColor;
}
.c-icon-file {
  height: 1em;
}

/**************************************************
  List
***************************************************/
.c-list {
  margin-block: 2rem;
}

/* 非順序リスト */
.c-list--bullet li {
  margin-left: 2rem;
}
.c-list--bullet li::before {
  content: "";
  position: absolute;
  top: 0.5em;
  left: -1.5rem;
  width: 6px;
  height: 6px;
  background: var(--color-base);
  border-radius: 100%;
}
.c-list--bullet li:has(a)::before {
  border-style: solid;
  border-width: 0 2px 2px 0;
  border-color: var(--color-base);
  content: "";
  display: inline-block;
  position: absolute;
  height: 6px;
  width: 6px;
  rotate: -45deg;
  border-radius: 0;
  background: transparent;
}
.c-list--bullet ol,
.c-list--bullet ul {
  margin-top: 0;
  margin-bottom: 0;
}

/* 順序リスト */
.c-list--number {
  counter-reset: num;
}
.c-list--number li {
  padding-left: 2rem;
}
.c-list--number li::before {
  position: absolute;
  counter-increment: num;
  content: counter(num) ".";
  display: inline-block;
  top: 0;
  left: 0.5rem;
}
.c-list--number ol,
.c-list--number ul {
  margin-top: 0;
  margin-bottom: 0;
}

/* ※付きリスト */
.c-list--rice li {
  margin: 0 0 0 1em;
  text-indent: -1em;
}
.c-list--rice li::before {
  display: none;
}

/* テーブルの中のリスト */
table ul,
table ol {
  margin: 0;
}

/**************************************************
  Table
***************************************************/
/* -----------------------------------------------
  Default
-------------------------------------------------- */
.c-table {
  margin-block: 2rem;
  width: 100%;
  border-collapse: collapse;
  border-top: 2px solid #000;
}
.c-table th, .c-table td {
  padding-block: min(2.6rem, 2vw);
  border-bottom: 2px solid #000;
}
@media all and (max-width: 768px) {
  .c-table th, .c-table td {
    padding-block: 3.1400966184vw;
  }
}
.c-table th {
  padding-right: 3em;
  text-align: left;
}
@media all and (max-width: 768px) {
  .c-table.is-stacked-on-mobile th, .c-table.is-stacked-on-mobile td {
    display: block;
    width: 100%;
  }
  .c-table.is-stacked-on-mobile th {
    padding-right: 0;
    padding-bottom: 0;
    border-bottom: none;
  }
  .c-table.is-stacked-on-mobile td {
    padding-bottom: 6.2801932367vw;
  }
}

/* -----------------------------------------------
  SPのみスクロール
-------------------------------------------------- */
@media all and (max-width: 768px) {
  .c-table.is-scroll-on-mobile {
    cursor: grab;
  }
}
@media all and (max-width: 768px) {
  .c-table.is-scroll-on-mobile:active {
    cursor: grabbing;
  }
}
.c-table.is-scroll-on-mobile::before {
  content: "※この表は横にスクロールできます";
  position: sticky;
  top: 0;
  left: 0;
  font-size: 90%;
}
@media all and (min-width: 769px) {
  .c-table.is-scroll-on-mobile::before {
    content: none;
  }
}
.c-table.is-scroll-on-mobile table {
  min-width: 800px;
}

/**************************************************
  Typography
***************************************************/
/* -----------------------------------------------
  Heading
-------------------------------------------------- */
.c-heading--lv2 {
  position: relative;
  display: flex;
  flex-flow: wrap column;
  align-items: center;
  justify-content: center;
  color: var(--color-base);
  margin-block: 0 min(3.5rem, 2.6923076923vw);
}
@media all and (max-width: 768px) {
  .c-heading--lv2 {
    margin-block: 0 7.2463768116vw;
  }
}
.c-heading__text {
  font-size: min(3rem, 2.3076923077vw);
  text-align: center;
  margin-top: min(2rem, 1.5384615385vw);
}
@media all and (max-width: 768px) {
  .c-heading__text {
    font-size: 7.2463768116vw;
    margin-top: 4.8309178744vw;
  }
}
.c-heading__image {
  animation: rotation 25s linear infinite;
}

/* -----------------------------------------------
  Variation
-------------------------------------------------- */
.c-en {
  font-family: "Montserrat", sans-serif;
}

.c-attention {
  color: var(--color-error);
}

.c-lead {
  font-size: 2rem;
}

/**************************************************
  content
***************************************************/
.l-content__has-column {
  display: flex;
}
@media all and (max-width: 768px) {
  .l-content__has-column {
    flex-direction: column;
  }
}

.l-content__main {
  flex: 1;
  min-width: 0;
}

.l-content__sidebar {
  flex: 0 0 300px;
}
@media all and (max-width: 768px) {
  .l-content__sidebar {
    flex: 1;
  }
}
@media all and (min-width: 769px) {
  .l-content__sidebar--sticky {
    position: sticky;
    top: 0;
    max-height: 100vh;
    overflow-y: auto;
  }
}
.l-content__sidebar--sticky::-webkit-scrollbar {
  width: 8px;
  background-color: transparent;
}
.l-content__sidebar--sticky::-webkit-scrollbar-thumb {
  background: rgba(var(--color-text), 0.05);
  width: 6px;
  border-radius: 9999px;
}

/**************************************************
  breadcrumb
***************************************************/
@media all and (min-width: 769px) {
  .m-breadcrumb {
    width: 100%;
    max-width: min(112rem, 86.1538461538vw);
    margin-inline: auto;
  }
}
@media all and (max-width: 768px) {
  .m-breadcrumb {
    max-width: 80.6763285024vw;
    margin-inline: auto;
  }
}
.m-breadcrumb ol {
  display: flex;
  font-size: 1.2rem;
  padding-block: 2rem;
  border-top: 1px solid #ebe8e4;
  white-space: nowrap;
  overflow-x: auto;
}
@media all and (max-width: 768px) {
  .m-breadcrumb ol {
    padding-inline: 9.6618357488vw;
  }
}
.m-breadcrumb li:not(:last-child) {
  margin-right: 0.75em;
}
.m-breadcrumb li:not(:last-child)::after {
  content: ">";
  margin-left: 0.75em;
}
.m-breadcrumb a {
  text-decoration: none;
}
.m-breadcrumb a:any-link {
  color: var(--color-text);
}
.m-breadcrumb a:hover {
  text-decoration: underline;
}
.m-breadcrumb::-webkit-scrollbar-track {
  background-color: transparent;
}
.m-breadcrumb::-webkit-scrollbar-thumb {
  background-color: rgba(var(--color-text), 0.05);
  border-radius: 8px;
}

@media all and (min-width: 769px) {
  .m-faq {
    width: min(109rem, 83.8461538462vw);
    margin-inline: auto;
    margin-block: min(5rem, 3.8461538462vw) min(10rem, 7.6923076923vw);
  }
}
@media all and (max-width: 768px) {
  .m-faq {
    margin-inline: 4.8309178744vw;
    margin-block: 7.2463768116vw 14.4927536232vw;
  }
}

/**************************************************
  faq
***************************************************/
.m-faq__item {
  position: relative;
  background: #eee;
  margin-bottom: 1rem;
  overflow: hidden;
  border: 2px solid #eee;
}
.m-faq__item[open] {
  background: none;
  border-color: #000;
}
.m-faq__item[open] .m-faq__btn::before {
  rotate: 180deg;
}

.m-faq__question {
  position: relative;
  display: block;
  cursor: pointer;
  font-weight: bold;
  font-size: min(1.8rem, 1.3846153846vw);
  padding-block: min(3.5rem, 2.6923076923vw);
  padding-inline: min(8.5rem, 6.5384615385vw) min(3rem, 2.3076923077vw);
  /* マーカーを非表示に */
}
@media all and (max-width: 768px) {
  .m-faq__question {
    font-size: 3.8647342995vw;
    font-feature-settings: "palt";
    padding-block: 6.038647343vw;
    padding-inline: 14.4927536232vw 4.8309178744vw;
  }
}
.m-faq__question::-webkit-details-marker {
  display: none;
}

.m-faq__btn {
  position: absolute;
  inset-block: 0;
  left: min(3rem, 2.3076923077vw);
  margin: auto;
  background: #000;
  width: 3.7rem;
  height: 3.7rem;
  border-radius: 3.7rem;
  /* デフォルトアイコン: + */
}
@media all and (max-width: 768px) {
  .m-faq__btn {
    left: 4.8309178744vw;
    width: 7.729468599vw;
    height: 7.729468599vw;
  }
}
.m-faq__btn::before, .m-faq__btn::after {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  margin: auto;
  translate: 0 -50%;
  width: 17px;
  height: 2px;
  background: #fff;
  transition: 0.3s;
}
@media all and (max-width: 768px) {
  .m-faq__btn::before, .m-faq__btn::after {
    width: 3.6231884058vw;
  }
}
.m-faq__btn::before {
  rotate: 90deg;
}

.m-faq__answer {
  overflow: hidden;
}

.m-faq__answer-content {
  padding-block: 0 min(7rem, 5.3846153846vw);
  padding-inline: min(3rem, 2.3076923077vw);
}
@media all and (max-width: 768px) {
  .m-faq__answer-content {
    padding-block: 4.8309178744vw 9.6618357488vw;
    padding-inline: 4.8309178744vw;
  }
}

/**************************************************
  Footer
***************************************************/
.m-footer {
  margin-top: min(4rem, 3.0769230769vw);
  margin-bottom: min(6rem, 4.6153846154vw);
}
@media all and (max-width: 768px) {
  .m-footer {
    margin-top: 6.038647343vw;
    margin-bottom: 12.077294686vw;
  }
}
.m-footer__inner {
  position: relative;
  width: 100%;
  display: flex;
  align-items: flex-start;
}
@media all and (min-width: 769px) {
  .m-footer__inner {
    max-width: min(110rem, 84.6153846154vw);
    margin-inline: auto;
  }
}
@media all and (max-width: 768px) {
  .m-footer__inner {
    flex-wrap: wrap;
    justify-content: center;
  }
  .m-footer__inner > * {
    flex: 0 0 100%;
  }
}
@media all and (min-width: 769px) {
  .m-footer__logo {
    max-width: min(33rem, 25.3846153846vw);
    margin-right: min(4rem, 3.0769230769vw);
  }
}
@media all and (max-width: 768px) {
  .m-footer__logo {
    max-width: 64.2512077295vw;
  }
}
.m-footer__contact {
  font-size: min(1.4rem, 1.0769230769vw);
}
@media all and (min-width: 769px) {
  .m-footer__contact {
    margin-top: min(3rem, 2.3076923077vw);
  }
}
@media all and (max-width: 768px) {
  .m-footer__contact {
    font-size: 3.3816425121vw;
    text-align: center;
    margin-top: 6.038647343vw;
  }
}
.m-footer__contact a:any-link {
  color: var(--color-text);
}
.m-footer__nav {
  display: flex;
  column-gap: 1.5em;
}
@media all and (min-width: 769px) {
  .m-footer__nav {
    margin-top: min(3rem, 2.3076923077vw);
    margin-left: auto;
  }
}
@media all and (max-width: 768px) {
  .m-footer__nav {
    justify-content: center;
    margin-top: 8.4541062802vw;
  }
}
.m-footer__link {
  font-size: min(1.5rem, 1.1538461538vw);
  font-weight: bold;
}
.m-footer__link:any-link {
  color: var(--color-text);
}
.m-footer__link:hover {
  color: var(--color-hover);
  text-decoration: none;
}
@media all and (max-width: 768px) {
  .m-footer__link {
    font-size: 3.3816425121vw;
  }
}
.m-footer__copyright {
  font-size: 1rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
@media all and (min-width: 769px) {
  .m-footer__copyright {
    position: absolute;
    bottom: 0;
    right: 0;
  }
}
@media all and (max-width: 768px) {
  .m-footer__copyright {
    text-align: center;
    margin-top: 13.2850241546vw;
  }
}

/**************************************************
  Header
***************************************************/
/* -----------------------------------------------
  PC
-------------------------------------------------- */
.m-header {
  position: sticky;
  top: 0;
  z-index: 10;
  transition: background-color 0.3s;
}
.m-header.is-scrolled {
  background: rgba(255, 255, 255, 0.9);
}
@media all and (min-width: 769px) {
  .m-header__inner {
    width: 100%;
    height: min(10rem, 7.6923076923vw);
    max-width: min(120rem, 92.3076923077vw);
    margin-inline: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
}
@media all and (max-width: 768px) {
  .m-header__inner {
    width: 100%;
    height: 18.5990338164vw;
  }
}
@media all and (max-width: 768px) {
  .m-header__nav {
    display: none;
  }
}
.m-header__nav-wrap {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  column-gap: min(3rem, 2.3076923077vw);
}
.m-header__nav-item {
  font-size: min(1.5rem, 1.1538461538vw);
  font-weight: bold;
}
.m-header__nav-item:not(:has(.m-header__nav-link)) {
  padding-block: min(0.5rem, 0.3846153846vw);
}
.m-header__nav-item:not(:has(.m-header__nav-link))::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: var(--color-text);
  transition: 0.3s;
}
.m-header__nav-link {
  text-decoration: none;
  padding-block: min(0.5rem, 0.3846153846vw);
}
.m-header__nav-link:any-link {
  color: var(--color-text);
}
.m-header__nav-link:not(.btn-entry)::after {
  content: "";
  position: absolute;
  bottom: calc(min(0.5rem, 0.3846153846vw) * -1);
  left: 0;
  width: 100%;
  height: 2px;
  background: var(--color-text);
  opacity: 0;
  transition: 0.3s;
}
.m-header__nav-link:hover::after {
  opacity: 1;
}
.m-header__nav-link.btn-entry {
  width: min(13.7rem, 10.5384615385vw);
  height: min(4.3rem, 3.3076923077vw);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  background: #000;
  color: #fff;
  font-weight: 900;
  letter-spacing: 0.2em;
}
.m-header__nav-link.btn-entry:hover {
  background: #5df600;
  color: #000;
}
.m-header__logo {
  line-height: 1;
  margin-block: 0;
}
@media all and (min-width: 769px) {
  .m-header__logo {
    max-width: min(33rem, 25.3846153846vw);
  }
}
@media all and (max-width: 768px) {
  .m-header__logo {
    max-width: 61.1111111111vw;
  }
}

/* -----------------------------------------------
  SP
-------------------------------------------------- */
.m-hamburger__logo {
  width: 61.1111111111vw;
}
.m-hamburger__toggle {
  position: fixed;
  top: 5.5555555556vw;
  right: 4.8309178744vw;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 10.6280193237vw;
  height: 10.6280193237vw;
  background: #000;
  cursor: pointer;
  z-index: 1001;
}
@media all and (min-width: 769px) {
  .m-hamburger__toggle {
    display: none;
  }
}
.m-hamburger__toggle-bars {
  display: inline-block;
  width: 15px;
  height: 2px;
  background: var(--color-bg);
  position: relative;
  transition: all 0.3s ease-in-out;
}
.m-hamburger__toggle-bars::before, .m-hamburger__toggle-bars::after {
  content: "";
  display: block;
  width: 15px;
  height: 2px;
  background: var(--color-bg);
  position: absolute;
  left: 0;
  transition: all 0.3s ease-in-out;
}
.m-hamburger__toggle-bars::before {
  top: -6px;
}
.m-hamburger__toggle-bars::after {
  top: 6px;
}
.is-drawer-open .m-hamburger__toggle-bars {
  background: transparent;
}
.is-drawer-open .m-hamburger__toggle-bars::before {
  translate: 0 6px;
  rotate: 45deg;
}
.is-drawer-open .m-hamburger__toggle-bars::after {
  translate: 0 -6px;
  rotate: -45deg;
}
.m-hamburger__drawer {
  position: fixed;
  top: 0;
  right: -100%;
  width: 100%;
  height: 100%;
  background-color: var(--color-bg);
  transition: right 0.3s ease-in-out;
  z-index: 1000;
  overflow-y: auto;
}
@media all and (min-width: 769px) {
  .m-hamburger__drawer {
    display: none;
  }
}
.m-hamburger__drawer[aria-hidden=true] {
  display: none;
}
.m-hamburger__drawer[aria-hidden=false] {
  right: 0;
}
.m-hamburger__nav {
  padding: 9.6618357488vw;
}
.m-hamburger__item:not(:last-child) {
  border-bottom: 2px solid #000;
}
.m-hamburger__link {
  padding-block: 4.8309178744vw;
  font-weight: bold;
  text-decoration: none;
  display: flex;
  align-items: center;
}
.m-hamburger__link:any-link {
  color: var(--color-text);
}
.m-hamburger__link .c-icon {
  width: 9.6618357488vw;
  height: 9.6618357488vw;
  margin-inline: 0 4.8309178744vw;
}
.m-hamburger__link .c-ja {
  font-size: 3.8647342995vw;
}
.m-hamburger__link .c-en {
  font-size: 2.6570048309vw;
  letter-spacing: 0.1em;
  margin-left: auto;
  opacity: 0.3;
}
.m-hamburger-buttons {
  display: flex;
  justify-content: space-between;
  margin-top: 2.4154589372vw;
}
.m-hamburger-button__link {
  width: 45.4106280193vw;
  height: 14.4927536232vw;
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 1.9323671498vw;
  color: var(--color-text) !important;
  background: #5df600;
  font-weight: bold;
  text-decoration: none;
  border-radius: 7.2463768116vw;
}
.m-hamburger-button__link.--bosyu {
  width: 33.3333333333vw;
  color: #fff !important;
  background: #1789c9;
}
.m-hamburger-button__link.--bosyu .c-icon {
  fill: #fff;
}
.m-hamburger-other-links {
  text-align: center;
}
.m-hamburger-other-links li {
  font-weight: bold;
  margin-bottom: 0.75em;
}
.m-hamburger-other-links li a:any-link {
  color: var(--color-text);
}

body.is-drawer-open {
  overflow: hidden;
}

.m-header__skip-link {
  display: block;
  margin-top: 50px;
}

/**************************************************
  page title
***************************************************/
.m-page-title {
  position: relative;
  margin-top: calc(min(10rem, 7.6923076923vw) * -1);
  background: #f0fcff;
  width: 100%;
  height: min(26.5rem, 20.3846153846vw);
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
@media all and (max-width: 768px) {
  .m-page-title {
    margin-top: calc(18.5990338164vw * -1);
    height: 45.8937198068vw;
  }
}
.m-page-title__heading {
  position: relative;
  text-align: center;
  margin-top: 0;
  margin-bottom: calc(min(0.7rem, 0.5384615385vw) * -1);
}
@media all and (max-width: 768px) {
  .m-page-title__heading {
    margin-bottom: calc(1.690821256vw * -1);
  }
}
.m-page-title__heading .c-en {
  color: #f0fcff;
  font-size: min(19.2rem, 14.7692307692vw);
  font-weight: 600;
  text-transform: uppercase;
  line-height: 0;
  white-space: nowrap;
  -webkit-text-stroke: 0.4rem #000;
  text-stroke: 0.4rem #000;
  paint-order: stroke;
}
@media all and (max-width: 768px) {
  .m-page-title__heading .c-en {
    font-size: 31.4009661836vw;
  }
}
.m-page-title__heading .c-ja {
  color: #fff;
  background: #000;
  padding: 0.3em 1em;
  font-size: min(2.3rem, 1.7692307692vw);
  position: absolute;
  inset-inline: 0;
  bottom: min(4.4rem, 3.3846153846vw);
  margin: auto;
  width: fit-content;
}
@media all and (max-width: 768px) {
  .m-page-title__heading .c-ja {
    font-size: 3.8647342995vw;
    bottom: 7.729468599vw;
  }
}

.m-page-title + .top-ticker .top-ticker__image {
  display: none;
}

/**************************************************
  slider
***************************************************/
.m-slider {
  --swiper-theme-color: var(--color-base);
  overflow: hidden;
  position: relative;
}
.m-slider .swiper-slide img {
  width: 100%;
}
.m-slider .swiper-button-prev,
.m-slider .swiper-button-next {
  color: var(--swiper-theme-color);
  top: 50%;
  transform: translateY(-50%);
}
.m-slider .swiper-pagination-bullet {
  width: 1rem;
  height: 1rem;
  background: none;
  border: 2px solid #000;
  margin: 0 0.5rem;
  opacity: 1;
}
.m-slider .swiper-pagination-bullet-active {
  background-color: #000;
}
/**************************************************
  About
***************************************************/
/* -----------------------------------------------
  about-greeting
-------------------------------------------------- */
.about-greeting {
  padding-block: min(6rem, 4.6153846154vw);
}
@media all and (max-width: 768px) {
  .about-greeting {
    padding-block: 12.077294686vw;
  }
}
.about-greeting h2 {
  margin-bottom: min(5.5rem, 4.2307692308vw);
}
@media all and (max-width: 768px) {
  .about-greeting h2 {
    margin-bottom: 7.2463768116vw;
  }
}
.about-greeting p:first-child {
  margin-top: 0;
}
.about-greeting p:last-child {
  margin-bottom: 0;
}
.about-greeting .signature {
  text-align: right;
}
@media all and (min-width: 769px) {
  .about-greeting__inner {
    width: min(120rem, 92.3076923077vw);
    margin-inline: auto;
  }
}
@media all and (max-width: 768px) {
  .about-greeting__inner {
    margin-inline: 4.8309178744vw;
  }
}
.about-greeting__wrapper {
  display: flex;
  align-items: flex-start;
  column-gap: min(8rem, 6.1538461538vw);
}
@media all and (max-width: 768px) {
  .about-greeting__wrapper {
    flex-wrap: wrap;
    row-gap: 9.6618357488vw;
  }
}
.about-greeting__image {
  background: #eee;
  flex: 0 0 50vw;
  width: 100%;
  height: min(65rem, 50vw);
  margin-left: calc(-50vw + 50%);
}
@media all and (min-width: 769px) {
  .about-greeting__image {
    position: sticky;
    top: min(10rem, 7.6923076923vw);
  }
}
@media all and (max-width: 768px) {
  .about-greeting__image {
    flex: 1;
    height: 72.4637681159vw;
    margin-right: calc(-50vw + 50%);
  }
}
.about-greeting__image img {
  height: 100%;
  object-fit: cover;
  object-position: 80%;
}
.about-greeting__title {
  position: relative;
  font-size: 1.8rem;
  padding-left: 4rem;
  margin-block: 5.5rem 2.5rem;
}
.about-greeting__title::before {
  content: "";
  position: absolute;
  inset-block: 0;
  left: 0;
  margin-block: auto;
  width: 2rem;
  height: 0.2rem;
  background: #000;
}

/* -----------------------------------------------
  about-outline
-------------------------------------------------- */
.about-outline {
  padding-block: min(2rem, 1.5384615385vw) min(10rem, 7.6923076923vw);
}
@media all and (max-width: 768px) {
  .about-outline {
    padding-block: min(1rem, 0.7692307692vw) 12.077294686vw;
  }
}
.about-outline h2 {
  margin-bottom: min(5.5rem, 4.2307692308vw);
}
@media all and (max-width: 768px) {
  .about-outline h2 {
    margin-bottom: 7.2463768116vw;
  }
}
@media all and (min-width: 769px) {
  .about-outline__inner {
    width: min(109rem, 83.8461538462vw);
    margin-inline: auto;
  }
}
@media all and (max-width: 768px) {
  .about-outline__inner {
    margin-inline: 4.8309178744vw;
  }
}

/**************************************************
  Bosyu
***************************************************/
.bosyu-youkou {
  display: flex;
  align-items: baseline;
  column-gap: min(2rem, 1.5384615385vw);
}
@media all and (min-width: 769px) {
  .bosyu-youkou {
    margin-inline: min(6rem, 4.6153846154vw) min(1rem, 0.7692307692vw);
  }
  .bosyu-youkou:not(:last-child) {
    margin-bottom: min(6rem, 4.6153846154vw);
  }
}
@media all and (max-width: 768px) {
  .bosyu-youkou {
    flex-wrap: wrap;
    row-gap: 4.8309178744vw;
  }
  .bosyu-youkou:not(:last-child) {
    margin-bottom: 9.6618357488vw;
  }
}
.bosyu-youkou .dt {
  flex-shrink: 0;
  width: fit-content;
  min-width: min(16.5rem, 12.6923076923vw);
  font-weight: bold;
  line-height: 1;
  text-align: center;
  padding: 0.3em 0.8em;
  border: 1px solid #000;
  border-radius: 1.5rem;
}
.bosyu-youkou .dd {
  flex: 1;
}
@media all and (max-width: 768px) {
  .bosyu-youkou .dd {
    flex: 0 0 100%;
  }
}
.bosyu-youkou p:first-child {
  margin-top: 0;
}
.bosyu-youkou p:last-child {
  margin-bottom: 0;
}
.bosyu-youkou ul:not(:first-child) {
  margin-top: 2rem;
}
.bosyu-youkou ul:not(:last-child) {
  margin-bottom: 2rem;
}
.bosyu-youkou ul li {
  position: relative;
  line-height: inherit;
  padding-left: 1.3em;
}
.bosyu-youkou ul li::before {
  content: "◇";
  position: absolute;
  top: 0;
  left: 0;
}
.bosyu-youkou ul li li {
  padding-left: 1em;
}
.bosyu-youkou .check {
  font-weight: bold;
  display: flex;
  flex-wrap: wrap;
  column-gap: 1.5em;
}
.bosyu-youkou .check span {
  position: relative;
  padding-left: 1.2em;
}
.bosyu-youkou .check span::before {
  content: "";
  position: absolute;
  top: 0.8em;
  left: 0.3rem;
  width: 1rem;
  height: 0.5rem;
  border-left: 2px solid var(--color-base);
  border-bottom: 2px solid var(--color-base);
  transform: rotate(-45deg);
}
.bosyu-youkou .check span::after {
  content: "";
  position: absolute;
  top: 0.5em;
  left: 0;
  width: 1.6rem;
  height: 1.6rem;
  border: 1px solid var(--color-base);
  border-radius: 1.6rem;
}

/**************************************************
  Carrer
***************************************************/
/* -----------------------------------------------
  carrer-plan
-------------------------------------------------- */
.carrer-plan {
  background: #fff;
  padding-block: min(6rem, 4.6153846154vw) min(12rem, 9.2307692308vw);
  border-radius: 0 0 5rem 5rem;
  position: relative;
  z-index: 1;
}
@media all and (max-width: 768px) {
  .carrer-plan {
    padding-block: 12.077294686vw 24.154589372vw;
  }
}
@media all and (min-width: 769px) {
  .carrer-plan__inner {
    width: min(120rem, 92.3076923077vw);
    margin-inline: auto;
  }
}
@media all and (max-width: 768px) {
  .carrer-plan__inner {
    margin-inline: 4.8309178744vw;
  }
}
@media all and (min-width: 769px) {
  .carrer-plan__text {
    text-align: center;
  }
}

.carrer-life {
  margin-top: min(10rem, 7.6923076923vw);
}
@media all and (max-width: 768px) {
  .carrer-life {
    margin-top: 12.077294686vw;
  }
}
.carrer-life__wrapper {
  background: url("images/carrer/bg_line.png") center repeat-y;
  background-size: 7.9rem;
}
.carrer-life__box {
  position: relative;
  background: #fff;
  padding: 5rem;
  border: 0.2rem solid #000;
  border-radius: 5rem;
}
@media all and (max-width: 768px) {
  .carrer-life__box {
    padding: 5rem 2rem;
  }
}
.carrer-life__box:not(:last-child) {
  margin-bottom: 5rem;
}
.carrer-life__box-label {
  color: #fff;
  background: var(--color-base);
  font-size: 2rem;
  font-weight: bold;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16.4rem;
  height: 4rem;
  border-radius: 2rem;
  position: absolute;
  top: -2rem;
  inset-inline: 0;
  margin-inline: auto;
}
.carrer-life__box dl {
  display: flex;
  align-items: baseline;
  column-gap: 5rem;
}
@media all and (max-width: 768px) {
  .carrer-life__box dl {
    flex-wrap: wrap;
    justify-content: center;
    row-gap: 2.5rem;
  }
}
.carrer-life__box dt {
  color: #fff;
  background: var(--color-base);
  font-size: 2rem;
  font-weight: bold;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16.4rem;
  height: 4rem;
  border-radius: 2rem;
}
.carrer-life__box ul li {
  padding-left: 2.5rem;
  line-height: 1.6;
}
.carrer-life__box ul li:not(:last-child) {
  margin-bottom: 0.5em;
}
.carrer-life__box ul li::before {
  content: "■";
  position: absolute;
  top: 0.25em;
  left: 0;
  font-size: 1.6rem;
  line-height: 1;
}
.carrer-life__box ol {
  counter-reset: num;
}
.carrer-life__box ol li {
  padding-left: 2.5rem;
  line-height: 1.6;
}
.carrer-life__box ol li:not(:last-child) {
  margin-bottom: 1em;
}
.carrer-life__box ol li::before {
  position: absolute;
  counter-increment: num;
  content: counter(num);
  display: inline-block;
  top: 0.4em;
  left: 0;
  width: 1.6rem;
  height: 1.6rem;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.6rem;
  text-align: center;
  color: #fff;
  background: #000;
  border-radius: 50%;
}
.carrer-life__box .box-bottom {
  margin-top: 4rem;
  border-top: 1px solid #ccc;
}
.carrer-life__box h3 {
  position: relative;
  font-size: 2rem;
  display: flex;
  align-items: baseline;
  column-gap: 1rem;
  margin-block: 3.5rem 2.5rem;
  padding-left: 1.5rem;
}
.carrer-life__box h3::before {
  content: "";
  position: absolute;
  inset-block: 0;
  left: 0;
  width: 0.4rem;
  height: 100%;
  background: var(--color-base);
  margin-right: 1rem;
}
.carrer-life__box h3 span {
  color: #fff;
  background: #000;
  padding-block: 0.15em;
  font-size: 1.4rem;
  text-align: center;
  flex: 0 0 9.5rem;
}
.carrer-life__box.--supplement {
  background: #f1efee;
  border: none;
  padding: 2.25rem;
}
.carrer-life__box.--supplement p {
  margin: 0;
  text-align: center;
}
@media all and (max-width: 768px) {
  .carrer-life__box.--supplement p {
    font-size: 1.3rem;
  }
}
.carrer-life__box.--important {
  background: #f6d300;
  border: none;
  padding: 1.8rem;
}
.carrer-life__box.--important p {
  margin: 0;
  font-size: 2.4rem;
  font-weight: bold;
  text-align: center;
}
@media all and (max-width: 768px) {
  .carrer-life__box.--important p {
    font-size: 1.8rem;
  }
}
.carrer-life__box.--other {
  background: #f1efee;
  border: none;
}
.carrer-life__box.--other dt {
  background: #000;
}
.carrer-life__list {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
}
@media all and (max-width: 768px) {
  .carrer-life__list {
    flex-wrap: wrap;
    row-gap: 2em;
  }
}
@media all and (min-width: 769px) {
  .carrer-life__item {
    flex: 0 1 min(26rem, 20vw);
  }
}
.carrer-life__item figcaption {
  font-size: 1.6rem;
  text-align: center;
  margin-top: 0.5em;
}
@media all and (max-width: 768px) {
  .carrer-life__item figcaption {
    font-size: 1.4rem;
  }
}
.carrer-life__item figcaption span {
  display: block;
  font-size: 1.2rem;
}
.carrer-life__wrap {
  display: flex;
  flex-wrap: nowrap;
  gap: 2em;
}
@media all and (max-width: 768px) {
  .carrer-life__wrap {
    flex-wrap: wrap;
    gap: 1em;
  }
}
@media all and (min-width: 769px) {
  .carrer-life__image {
    flex: 0 0 min(26rem, 20vw);
  }
}
.carrer-life__text {
  font-size: 1.6rem;
}
.carrer-life__text p {
  margin-top: 0;
}

/* -----------------------------------------------
  carrer-shikaku
-------------------------------------------------- */
.carrer-shikaku {
  padding-block: min(12rem, 9.2307692308vw) min(20rem, 15.3846153846vw);
  background: #fbf4eb;
  margin-top: calc(min(15.6rem, 12vw) * -1);
  margin-bottom: calc(min(10rem, 7.6923076923vw) * -1);
}
@media all and (max-width: 768px) {
  .carrer-shikaku {
    padding-block: 28.9855072464vw 24.154589372vw;
    margin-top: calc(37.6811594203vw * -1);
    margin-bottom: calc(12.077294686vw * -1);
  }
}
@media all and (min-width: 769px) {
  .carrer-shikaku__inner {
    width: min(120rem, 92.3076923077vw);
    margin-inline: auto;
  }
}
@media all and (max-width: 768px) {
  .carrer-shikaku__inner {
    margin-inline: 4.8309178744vw;
  }
}
.carrer-shikaku__wrapper {
  display: grid;
  gap: 4rem;
}
@media all and (min-width: 769px) {
  .carrer-shikaku__wrapper {
    grid-template-columns: repeat(2, 1fr);
  }
  .carrer-shikaku__wrapper.--col3 {
    grid-template-columns: repeat(3, 1fr);
  }
}
.carrer-shikaku__div {
  background: rgb(255, 255, 255);
  padding: 5.5rem 5rem;
  border-radius: 5rem;
}
@media all and (max-width: 768px) {
  .carrer-shikaku__div {
    padding: 3.5rem 3rem;
  }
}
.carrer-shikaku h2 {
  z-index: 1;
}
.carrer-shikaku h3 {
  font-size: 3rem;
  text-align: center;
  margin-block: 6.5rem 3.5rem !important;
}
@media all and (max-width: 768px) {
  .carrer-shikaku h3 {
    font-size: 6.2801932367vw;
    margin-block: 12.077294686vw 7.2463768116vw !important;
  }
}
.carrer-shikaku h4 {
  font-size: 2.4rem;
  margin-block: 0 2rem;
  text-align: center;
}
.carrer-shikaku h4.carrer-shikaku__title {
  width: fit-content;
  margin-inline: auto;
  padding: 0.25em 0.5em;
}
.carrer-shikaku h4.--yellow {
  background-color: #fedc5e;
}
.carrer-shikaku h4.--red {
  background-color: #e98d92;
}
.carrer-shikaku h4.--blue {
  background: #4cd3d6;
}
.carrer-shikaku h4.--green {
  background: #2ed282;
}
.carrer-shikaku h4.--orange {
  background: #f5915b;
}
.carrer-shikaku h4.--dot {
  position: relative;
  padding-left: 2.5rem;
  margin-block: 0 2.5rem;
}
.carrer-shikaku h4.--dot::before {
  content: "";
  position: absolute;
  top: 0.4em;
  left: 0;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 1.5rem;
  background: var(--color-base);
}
.carrer-shikaku p {
  margin-block: 0;
}

/* -----------------------------------------------
  carrer-welfare
-------------------------------------------------- */
.carrer-welfare {
  background: #fff;
  padding-block: min(10rem, 7.6923076923vw);
  border-radius: 5rem 5rem 0 0;
}
@media all and (max-width: 768px) {
  .carrer-welfare {
    padding-block: 12.077294686vw;
  }
}
@media all and (min-width: 769px) {
  .carrer-welfare__inner {
    width: min(120rem, 92.3076923077vw);
    margin-inline: auto;
  }
}
@media all and (max-width: 768px) {
  .carrer-welfare__inner {
    margin-inline: 4.8309178744vw;
  }
}
.carrer-welfare__list {
  display: grid;
  gap: 1rem;
}
@media all and (min-width: 769px) {
  .carrer-welfare__list.--upper {
    margin-top: min(6rem, 4.6153846154vw);
    display: flex;
    flex-wrap: wrap;
  }
  .carrer-welfare__list.--upper .carrer-welfare__item {
    width: calc((100% - 2rem) / 3);
  }
  .carrer-welfare__list.--upper .carrer-welfare__item:nth-child(4) {
    margin-left: 16.6666666667%;
  }
}
@media all and (max-width: 768px) {
  .carrer-welfare__list.--upper {
    margin-top: 9.6618357488vw;
  }
}
@media all and (min-width: 769px) {
  .carrer-welfare__list.--under {
    grid-template-columns: repeat(5, 1fr);
  }
}
@media all and (max-width: 768px) {
  .carrer-welfare__list.--under {
    grid-template-columns: repeat(2, 1fr);
  }
}
.carrer-welfare__item {
  background: #e7f3f9;
  display: flex;
  align-items: center;
  gap: 1.2rem;
}
.carrer-welfare__item span {
  font-size: 1.5rem;
  font-weight: bold;
}
.carrer-welfare__list.--upper {
  margin-bottom: 1rem;
}
.carrer-welfare__list.--upper .carrer-welfare__item {
  padding: min(3rem, 2.3076923077vw) min(4rem, 3.0769230769vw);
  border-radius: min(3rem, 2.3076923077vw);
}
@media all and (max-width: 768px) {
  .carrer-welfare__list.--upper .carrer-welfare__item {
    padding: 7.2463768116vw;
    border-radius: 7.2463768116vw;
  }
}
.carrer-welfare__list.--upper .welfare-icon {
  height: min(10rem, 7.6923076923vw);
}
@media all and (max-width: 768px) {
  .carrer-welfare__list.--upper .welfare-icon {
    height: 21.7391304348vw;
  }
}
.carrer-welfare__list.--under .carrer-welfare__item {
  padding: min(2rem, 1.5384615385vw) min(3rem, 2.3076923077vw);
  border-radius: min(2rem, 1.5384615385vw);
}
@media all and (max-width: 768px) {
  .carrer-welfare__list.--under .carrer-welfare__item {
    padding: 4.8309178744vw;
    border-radius: 4.8309178744vw;
  }
}
.carrer-welfare__list.--under .carrer-welfare__item span {
  line-height: 1.3;
}
.carrer-welfare__list.--under .welfare-icon {
  height: min(6rem, 4.6153846154vw);
}
@media all and (max-width: 768px) {
  .carrer-welfare__list.--under .welfare-icon {
    height: 12.077294686vw;
  }
}

/**************************************************
  Contact
***************************************************/
@media all and (min-width: 769px) {
  .entry {
    width: min(80rem, 61.5384615385vw);
    margin-inline: auto;
    margin-block: min(6rem, 4.6153846154vw);
  }
}
@media all and (max-width: 768px) {
  .entry {
    margin-inline: 4.8309178744vw;
    margin-block: 7.2463768116vw;
  }
}
@media all and (min-width: 769px) {
  .entry__text {
    text-align: center;
  }
}

/* -----------------------------------------------
  flow
-------------------------------------------------- */
.m-flow {
  position: relative;
  margin-block: 4rem;
  margin-inline: auto;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: 32rem;
}
.m-flow li {
  position: relative;
  list-style-type: none;
  text-align: center;
  text-transform: uppercase;
  width: 33.3333333333%;
  color: #999999;
  font-weight: bold;
  counter-increment: steps;
  font-size: 1.4rem;
  padding-left: 0;
}
.m-flow li:before {
  position: static;
  display: block;
  width: 26px;
  height: 26px;
  margin: 7px auto 10px auto;
  content: "";
  line-height: 26px;
  font-size: 12px;
  text-align: center;
  border-radius: 50%;
  background-color: rgb(237.15, 237.15, 237.15);
  content: counter(steps);
}
.m-flow li:after {
  position: absolute;
  z-index: -1;
  top: 18px;
  left: -50%;
  width: 100%;
  height: 2px;
  content: "";
  background-color: rgb(237.15, 237.15, 237.15);
}
.m-flow li:first-child:after {
  content: none;
}
.m-flow li[aria-current=page], .m-flow li.complete {
  color: var(--color-base);
}
.m-flow li[aria-current=page]:before, .m-flow li.complete:before {
  background-color: var(--color-base);
  color: var(--color-bg);
}
.m-flow li[aria-current=page]:after, .m-flow li.complete:after {
  background-color: var(--color-base);
}

/* -----------------------------------------------
  content
-------------------------------------------------- */
.contactform {
  width: 100%;
}
.contactform th {
  text-align: left;
  vertical-align: top;
  width: 25%;
}
.contactform th label {
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.contactform th label span {
  background-color: rgb(229.5, 229.5, 229.5);
  font-size: 1rem;
  line-height: 1;
  padding: 0.5rem;
  margin-left: auto;
  border-radius: 2px;
}
.contactform th label .required {
  background-color: var(--color-base);
  color: #fff;
}
.contactform td input.width-limit {
  width: auto;
}
.contactform td input.width-limit#year, .contactform td input.width-limit#month, .contactform td input.width-limit#day {
  width: 8.5rem;
}
.contactform .input__list {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 2rem;
}
.contactform .input__list li input[type=checkbox],
.contactform .input__list li input[type=radio] {
  margin-right: 0.5rem;
}
.contactform dl:not(:first-child) {
  margin-top: 1.3rem;
}
.contactform .flex-div {
  display: flex;
  align-items: baseline;
  justify-content: flex-start;
}
.contactform .flex-div dt {
  margin-right: 1rem;
}
.contactform .flex-div.--flex dt {
  flex: 0 0 12rem;
}
.contactform .example {
  display: block;
  margin-block: 1.3rem;
}
@media all and (max-width: 768px) {
  .contactform input[type=text],
  .contactform input[type=tel],
  .contactform input[type=url],
  .contactform input[type=email] {
    width: 100%;
  }
}

.acceptance {
  margin-top: 4rem;
}
@media all and (min-width: 769px) {
  .acceptance p {
    text-align: center;
  }
}
.acceptance label {
  background: #fafafa;
  padding: 1.5rem 3rem;
  display: block;
  text-align: center;
}
.acceptance label input[type=checkbox] {
  margin-right: 1rem;
}

.m-btngroup {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  margin-block: 4rem;
}
@media all and (max-width: 768px) {
  .m-btngroup {
    flex-direction: column;
  }
}
.m-btngroup [type=button],
.m-btngroup [type=submit],
.m-btngroup button {
  cursor: pointer;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(20rem, 15.3846153846vw);
  height: min(6rem, 4.6153846154vw);
}
@media all and (max-width: 768px) {
  .m-btngroup [type=button],
  .m-btngroup [type=submit],
  .m-btngroup button {
    width: 48.309178744vw;
    height: 14.4927536232vw;
  }
}
.m-btngroup [type=button]:disabled,
.m-btngroup [type=submit]:disabled,
.m-btngroup button:disabled {
  cursor: not-allowed;
}
.m-btngroup__submit button {
  background-color: var(--color-base);
  color: #fff;
}
.m-btngroup__submit button:hover, .m-btngroup__submit button:focus {
  background-color: rgb(20.3816964286, 121.4040178571, 178.1183035714);
}
.m-btngroup__submit button:disabled {
  background-color: rgb(234.6, 234.6, 234.6);
  color: rgb(127.5, 127.5, 127.5);
}
.m-btngroup__previous button {
  background-color: rgb(234.6, 234.6, 234.6);
}
.m-btngroup__previous button:hover, .m-btngroup__previous button:focus {
  background-color: rgb(224.4, 224.4, 224.4);
}

#contact-form .u-text-error {
  margin-block: 0 0.5em;
  color: var(--color-error);
}

/* -----------------------------------------------
  zipadrr-jp
-------------------------------------------------- */
#autozip {
  display: none !important;
}

/**************************************************
  Interview
***************************************************/
@media all and (min-width: 769px) {
  .top-interview.page-interview {
    width: min(126rem, 96.9230769231vw);
    margin-inline: auto;
    padding-block: min(6rem, 4.6153846154vw) min(10rem, 7.6923076923vw);
  }
}
@media all and (max-width: 768px) {
  .top-interview.page-interview {
    margin-inline: 4.8309178744vw;
    padding-block: 9.6618357488vw 19.3236714976vw;
  }
}
.top-interview.page-interview .m-slider {
  margin: 0;
}
.top-interview.page-interview .swiper-wrapper {
  display: grid;
  justify-content: center;
  column-gap: min(6rem, 4.6153846154vw);
  row-gap: min(9rem, 6.9230769231vw);
}
@media all and (min-width: 769px) {
  .top-interview.page-interview .swiper-wrapper {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media all and (max-width: 768px) {
  .top-interview.page-interview .swiper-wrapper {
    row-gap: 14.4927536232vw;
  }
}
@media all and (min-width: 769px) {
  .top-interview.page-interview .swiper-slide {
    width: auto;
  }
}
@media all and (min-width: 769px) {
  .top-interview.page-interview .top-interview__div::after {
    width: min(28.4rem, 21.8461538462vw);
    height: min(35.4rem, 27.2307692308vw);
    left: min(4.8rem, 3.6923076923vw);
  }
}
.top-interview.page-interview .c-button {
  display: none;
}

/* -----------------------------------------------
  cover
-------------------------------------------------- */
.cover {
  position: relative;
  background: #f0fcff;
  margin-top: calc(min(10rem, 7.6923076923vw) * -1);
  margin-bottom: min(4rem, 3.0769230769vw);
  width: 100%;
}
@media all and (max-width: 768px) {
  .cover {
    margin-top: calc(18.5990338164vw * -1);
    margin-bottom: 22.7053140097vw;
  }
}
.cover__wrapper {
  position: relative;
}
@media all and (min-width: 769px) {
  .cover__wrapper {
    width: min(120rem, 92.3076923077vw);
    height: min(66.5rem, 51.1538461538vw);
    margin-inline: auto;
  }
}
@media all and (max-width: 768px) {
  .cover__wrapper {
    height: 138.1642512077vw;
    padding-inline: 4.8309178744vw;
  }
}
.cover__bg {
  position: absolute;
  pointer-events: none;
}
@media all and (min-width: 769px) {
  .cover__bg.--kds {
    width: min(111.6rem, 85.8461538462vw);
    bottom: -1rem;
    inset-inline: 0;
    margin: auto;
  }
}
@media all and (max-width: 768px) {
  .cover__bg.--kds {
    max-width: none;
    width: 141.0628019324vw;
    bottom: 12.077294686vw;
    inset-inline: 0;
    margin-left: calc(50% - 141.0628019324vw / 2);
  }
}
@media all and (min-width: 769px) {
  .cover__bg.--line-speed {
    width: min(58.3rem, 44.8461538462vw);
    top: min(11rem, 8.4615384615vw);
    left: calc(50% - min(28rem, 21.5384615385vw));
  }
}
@media all and (max-width: 768px) {
  .cover__bg.--line-speed {
    width: 90.3381642512vw;
    top: 35.2657004831vw;
    left: 6.7632850242vw;
  }
}
.cover__bg.--line-speed.--yellow {
  z-index: 2;
}
@media all and (min-width: 769px) {
  .cover__bg.--interview {
    width: 100%;
    bottom: min(-0.5rem, -0.3846153846vw);
    inset-inline: 0;
    margin: auto;
  }
}
@media all and (max-width: 768px) {
  .cover__bg.--interview {
    max-width: none;
    width: 102.6570048309vw;
    top: 30.193236715vw;
    inset-inline: 0;
    margin-left: calc(50% - 102.6570048309vw / 2);
  }
}
.cover__image {
  position: absolute;
  width: min(60rem, 46.1538461538vw);
  bottom: -4rem;
  inset-inline: 0;
  margin: auto;
  z-index: 1;
}
@media all and (max-width: 768px) {
  .cover__image {
    width: 109.4202898551vw;
  }
}
@media all and (max-width: 768px) {
  .cover__image.--margin-right {
    margin-right: 7.2463768116vw;
  }
}
.cover__copy {
  position: absolute;
  top: min(20.3rem, 15.6153846154vw);
  left: 0;
  z-index: 1;
}
@media all and (max-width: 768px) {
  .cover__copy {
    top: auto;
    left: auto;
    bottom: 16.9082125604vw;
  }
}
.cover__copy span {
  display: block;
  width: fit-content;
  color: #fff;
  background: #000;
  padding: 0 0.3em;
  margin-block: 1rem;
  font-size: min(3.6rem, 2.7692307692vw);
  font-weight: bold;
  line-height: 1.6;
}
@media all and (max-width: 768px) {
  .cover__copy span {
    font-size: 7.2463768116vw;
  }
}
.cover__title {
  position: absolute;
  bottom: min(18rem, 13.8461538462vw);
  right: 0;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: min(0.8rem, 0.6153846154vw);
  font-size: min(1.8rem, 1.3846153846vw);
  font-weight: bold;
}
@media all and (max-width: 768px) {
  .cover__title {
    flex-direction: column;
    gap: 0.9661835749vw;
    bottom: auto;
    right: 4.8309178744vw;
    top: 53.3816425121vw;
    font-size: 3.3816425121vw;
  }
}
.cover__title .c-label {
  color: #fff;
  background: #000;
  padding: 0 0.3em;
  font-size: min(1.6rem, 1.2307692308vw);
  line-height: 1.6;
}
@media all and (max-width: 768px) {
  .cover__title .c-label {
    font-size: 3.3816425121vw;
    width: 100%;
    min-width: 21.7391304348vw;
    text-align: center;
  }
}
.cover__title .c-label-vertical {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.cover__title .c-en {
  font-size: min(3.6rem, 2.7692307692vw);
  font-weight: 900;
  line-height: 1;
}
@media all and (max-width: 768px) {
  .cover__title .c-en {
    font-size: 9.6618357488vw;
  }
}
.cover__title .c-text {
  flex: 100%;
  text-align: right;
  line-height: 1;
}
.cover .keyvisual__button {
  bottom: calc(min(4rem, 3.0769230769vw) * -1);
}
@media all and (max-width: 768px) {
  .cover .keyvisual__button {
    bottom: calc(22.7053140097vw * -1);
  }
}

/* -----------------------------------------------
  episode
-------------------------------------------------- */
.episode {
  position: relative;
  background: #fff;
  padding-top: min(5rem, 3.8461538462vw);
  padding-bottom: min(12rem, 9.2307692308vw);
  border-radius: min(5rem, 3.8461538462vw);
  z-index: 1;
}
@media all and (max-width: 768px) {
  .episode {
    padding-top: 4.347826087vw;
    padding-bottom: 28.9855072464vw;
    border-radius: 12.077294686vw;
  }
}
@media all and (min-width: 769px) {
  .episode__inner {
    width: min(120rem, 92.3076923077vw);
    margin-inline: auto;
  }
}
@media all and (max-width: 768px) {
  .episode__inner {
    margin-inline: 4.8309178744vw;
  }
}
@media all and (min-width: 769px) {
  .episode .section__title {
    text-align: center;
    margin-bottom: min(4rem, 3.0769230769vw);
  }
}
@media all and (max-width: 768px) {
  .episode .section__title {
    margin-bottom: 12.077294686vw;
  }
}
@media all and (min-width: 769px) {
  .episode .section__title .c-ja {
    display: block;
    margin-top: min(1.5rem, 1.1538461538vw);
  }
}
.episode__list {
  display: flex;
  flex-wrap: wrap;
  align-items: normal;
  justify-content: space-between;
  row-gap: min(7rem, 5.3846153846vw);
}
@media all and (max-width: 768px) {
  .episode__list {
    row-gap: 9.6618357488vw;
  }
}
.episode__div {
  flex: 0 0 min(57rem, 43.8461538462vw);
  position: relative;
  background: #cfecfd;
  padding: min(3.5rem, 2.6923076923vw) min(3rem, 2.3076923077vw) min(3rem, 2.3076923077vw);
  border-radius: 3rem;
}
@media all and (max-width: 768px) {
  .episode__div {
    flex: 100%;
    padding: 10.8695652174vw 7.2463768116vw 7.2463768116vw;
  }
}
.episode__div.--feeling {
  background: #ccefe0;
}
@media all and (min-width: 769px) {
  .episode__div.--feeling {
    top: min(5rem, 3.8461538462vw);
  }
}
.episode__div.--challenging {
  background: #ccf4f4;
}
.episode__div.--hardship {
  background: #fee5d8;
}
@media all and (min-width: 769px) {
  .episode__div.--hardship {
    top: min(6rem, 4.6153846154vw);
  }
}
.episode__bg {
  position: absolute;
  top: calc(min(5.3rem, 4.0769230769vw) * -1);
  left: calc(min(0.5rem, 0.3846153846vw) * -1);
  width: min(19rem, 14.6153846154vw);
}
@media all and (max-width: 768px) {
  .episode__bg {
    top: calc(9.6618357488vw * -1);
    left: calc(6.038647343vw * -1);
    width: 42.5120772947vw;
  }
}
.episode__title {
  position: relative;
  z-index: 1;
  font-size: min(2.4rem, 1.8461538462vw);
  margin-block: 0 min(3rem, 2.3076923077vw);
  margin-left: min(11rem, 8.4615384615vw);
}
@media all and (max-width: 768px) {
  .episode__title {
    font-size: 5.3140096618vw;
    margin-block: 0 4.8309178744vw;
    margin-left: 0;
    text-align: center;
  }
}
.episode__text {
  position: relative;
  z-index: 1;
}
.episode__photo {
  position: relative;
  width: 100%;
}
@media all and (min-width: 769px) {
  .episode__photo {
    height: min(64.5rem, 49.6153846154vw);
    max-width: min(130rem, 100vw);
    margin-top: min(13.6rem, 10.4615384615vw);
    margin-inline: auto;
  }
}
@media all and (max-width: 768px) {
  .episode__photo {
    height: 111.5942028986vw;
    margin-top: 16.9082125604vw;
  }
}
.episode__image {
  position: absolute;
}
@media all and (min-width: 769px) {
  .episode__image.--left {
    top: min(2rem, 1.5384615385vw);
    left: 0;
    width: min(79rem, 60.7692307692vw);
  }
}
@media all and (max-width: 768px) {
  .episode__image.--left {
    top: 7.2463768116vw;
    left: 0;
    width: 90.5797101449vw;
  }
}
@media all and (min-width: 769px) {
  .episode__image.--right {
    bottom: 0;
    right: 0;
    width: min(44rem, 33.8461538462vw);
  }
}
@media all and (max-width: 768px) {
  .episode__image.--right {
    bottom: 9.6618357488vw;
    right: 0;
    width: 62.3188405797vw;
  }
}
@media all and (min-width: 769px) {
  .episode__image.--bg {
    top: 0;
    left: calc(min(0.8rem, 0.6153846154vw) * -1);
    width: min(125.3rem, 96.3846153846vw);
  }
}
@media all and (max-width: 768px) {
  .episode__image.--bg {
    inset: 0;
    margin: auto;
  }
}

/* -----------------------------------------------
  schedule
-------------------------------------------------- */
.schedule {
  position: relative;
  background: #f1efee;
  padding-top: calc(min(8rem, 6.1538461538vw) + min(5rem, 3.8461538462vw));
  padding-bottom: calc(min(10rem, 7.6923076923vw) + min(5rem, 3.8461538462vw));
  margin-top: calc(min(5rem, 3.8461538462vw) * -1);
  margin-bottom: calc(min(5rem, 3.8461538462vw) * -1);
}
@media all and (max-width: 768px) {
  .schedule {
    padding-top: calc(16.9082125604vw + 12.077294686vw);
    padding-bottom: calc(16.9082125604vw + 12.077294686vw);
    margin-top: calc(12.077294686vw * -1);
    margin-bottom: calc(12.077294686vw * -1);
  }
}
.schedule__image {
  position: absolute;
  top: min(1rem, 0.7692307692vw);
  inset-inline: 0;
  margin: auto;
  width: min(11.2rem, 8.6153846154vw);
  z-index: 1;
}
@media all and (max-width: 768px) {
  .schedule__image {
    top: 4.8309178744vw;
    width: 21.9806763285vw;
  }
}
.schedule__text {
  position: absolute;
}
@media all and (min-width: 769px) {
  .schedule__text.--left {
    bottom: min(7.5rem, 5.7692307692vw);
    left: 0;
  }
  .schedule__text.--right {
    top: min(7rem, 5.3846153846vw);
    right: 0;
  }
}
@media all and (max-width: 768px) {
  .schedule__text.--left {
    bottom: 19.3236714976vw;
    left: 0;
    width: 10.6280193237vw;
  }
  .schedule__text.--right {
    top: 22.9468599034vw;
    right: 0;
    width: 10.8695652174vw;
  }
}
@media all and (min-width: 769px) {
  .schedule__inner {
    width: min(84.5rem, 65vw);
    margin-inline: auto;
  }
}
@media all and (max-width: 768px) {
  .schedule__inner {
    margin-inline: 18.115942029vw 12.077294686vw;
  }
}
.schedule__title {
  font-size: 3rem;
  text-align: center;
  margin-block: 0 min(5.5rem, 4.2307692308vw);
}
@media all and (max-width: 768px) {
  .schedule__title {
    font-size: 7.2463768116vw;
    margin-bottom: 12.077294686vw;
  }
}
.schedule__time {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: center;
  row-gap: min(7rem, 5.3846153846vw);
  column-gap: min(5.5rem, 4.2307692308vw);
  overflow: hidden;
}
@media all and (max-width: 768px) {
  .schedule__time {
    justify-content: flex-start;
    gap: 0;
  }
}
.schedule__time dl {
  display: flex;
  flex-wrap: nowrap;
}
@media all and (min-width: 769px) {
  .schedule__time dl {
    flex-direction: column;
    align-items: center;
    flex: 0 0 min(17rem, 13.0769230769vw);
  }
}
@media all and (max-width: 768px) {
  .schedule__time dl {
    flex: 100%;
    align-items: flex-start;
    column-gap: 4.8309178744vw;
    padding-bottom: 7.2463768116vw;
    overflow: hidden;
  }
}
.schedule__time dt {
  flex-shrink: 0;
  color: var(--color-base);
  font-size: 2rem;
  font-weight: 600;
}
@media all and (max-width: 768px) {
  .schedule__time dt {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 18.5990338164vw;
  }
}
.schedule__time dt .dt-time {
  flex-shrink: 0;
  white-space: nowrap;
}
.schedule__time dt .dt-mark {
  position: relative;
  content: "";
  display: block;
  width: 1rem;
  height: 1rem;
  background: #1789c9;
  border-radius: 1rem;
}
@media all and (min-width: 769px) {
  .schedule__time dt .dt-mark {
    margin-inline: auto;
    margin-block: min(0.5rem, 0.3846153846vw) min(1.5rem, 1.1538461538vw);
  }
}
@media all and (min-width: 769px) {
  .schedule__time dt .dt-mark:not(.--first)::before, .schedule__time dt .dt-mark:not(.--last)::after {
    content: "";
    position: absolute;
    inset-block: 0;
    right: 1rem;
    margin: auto;
    width: min(11rem, 8.4615384615vw);
    height: 1px;
    background: #000;
  }
}
@media all and (min-width: 769px) {
  .schedule__time dt .dt-mark::after {
    right: auto;
    left: 1rem;
  }
}
@media all and (max-width: 768px) {
  .schedule__time dt .dt-mark:not(.--first)::before, .schedule__time dt .dt-mark:not(.--last)::after {
    content: "";
    position: absolute;
    inset-inline: 0;
    bottom: 1rem;
    margin: auto;
    width: 1px;
    height: 48.309178744vw;
    background: #000;
  }
  .schedule__time dt .dt-mark:not(.--last)::after {
    bottom: auto;
    top: 1rem;
  }
}
.schedule__time dd.c-label {
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 0.3em;
}
@media all and (min-width: 769px) {
  .schedule__time dd.c-label {
    text-align: center;
  }
}

/* -----------------------------------------------
  portrait
-------------------------------------------------- */
.portrait {
  position: relative;
  background: #fff;
  padding-top: min(14.5rem, 11.1538461538vw);
  padding-bottom: min(30.5rem, 23.4615384615vw);
  border-radius: min(5rem, 3.8461538462vw) min(5rem, 3.8461538462vw) 0 0;
  z-index: 1;
}
@media all and (max-width: 768px) {
  .portrait {
    padding-top: 24.154589372vw;
    padding-bottom: 56.2801932367vw;
    border-radius: 12.077294686vw;
  }
}
.portrait__bg {
  position: absolute;
  bottom: min(21rem, 16.1538461538vw);
  inset-inline: 0;
  margin-left: calc(min(3rem, 2.3076923077vw) * -1);
  width: min(150rem, 115.3846153846vw);
  max-width: none;
}
@media all and (max-width: 768px) {
  .portrait__bg {
    bottom: 27.7777777778vw;
    margin-left: calc(2.4154589372vw * -1);
    width: 241.5458937198vw;
  }
}
.portrait__inner {
  position: relative;
  z-index: 1;
}
@media all and (min-width: 769px) {
  .portrait__inner {
    width: min(120rem, 92.3076923077vw);
    margin-inline: auto;
  }
}
@media all and (max-width: 768px) {
  .portrait__inner {
    padding-inline: 4.8309178744vw;
  }
}
.portrait__image {
  position: absolute;
}
@media all and (min-width: 769px) {
  .portrait__image {
    top: 0;
    left: min(5rem, 3.8461538462vw);
    width: min(27.5rem, 21.1538461538vw);
    height: min(70rem, 53.8461538462vw);
  }
}
@media all and (max-width: 768px) {
  .portrait__image {
    bottom: calc(36.231884058vw * -1);
    left: calc(1.690821256vw * -1);
    width: 36.231884058vw;
    height: 91.7874396135vw;
  }
}
.portrait__image img {
  position: absolute;
  top: 0;
  inset-inline: 0;
  margin: auto;
}
.portrait__image .text-circle {
  top: min(5rem, 3.8461538462vw);
  animation: rotation 25s linear infinite;
}
.portrait__div {
  position: relative;
}
@media all and (min-width: 769px) {
  .portrait__div {
    width: min(82.6rem, 63.5384615385vw);
    margin-left: auto;
  }
}
@media all and (max-width: 768px) {
  .portrait__div {
    padding-top: 10.8695652174vw;
    padding-inline: 4.8309178744vw;
  }
}
.portrait .bg-portrait {
  position: absolute;
  top: min(0.3rem, 0.2307692308vw);
  right: 0;
  width: min(16.7rem, 12.8461538462vw);
}
@media all and (max-width: 768px) {
  .portrait .bg-portrait {
    top: 0;
    width: 34.0579710145vw;
  }
}
.portrait__title {
  position: relative;
  font-size: min(3rem, 2.3076923077vw);
  margin-block: 0 min(3rem, 2.3076923077vw);
}
@media all and (max-width: 768px) {
  .portrait__title {
    font-size: 5.7971014493vw;
    margin-block: 0 6.038647343vw;
    padding-top: 8.4541062802vw;
  }
}
.portrait__title span {
  position: relative;
  z-index: 1;
  background: #fff;
  padding-right: 0.5em;
}
.portrait__title::before {
  content: "";
  position: absolute;
  margin: auto;
  width: auto;
  height: 0.2rem;
  background: #000;
}
@media all and (min-width: 769px) {
  .portrait__title::before {
    inset-block: 0;
    left: 0;
    right: min(15rem, 11.5384615385vw);
  }
}
@media all and (max-width: 768px) {
  .portrait__title::before {
    top: 0;
    right: 33.8164251208vw;
    width: 100vw;
  }
}
@media all and (min-width: 769px) {
  .portrait__text {
    margin-right: min(20rem, 15.3846153846vw);
  }
}
.portrait__message {
  background: #f6d300;
  margin-top: min(14rem, 10.7692307692vw);
  padding-block: min(6rem, 4.6153846154vw) min(5rem, 3.8461538462vw);
  padding-inline: min(6rem, 4.6153846154vw);
  border-radius: min(3rem, 2.3076923077vw);
}
@media all and (max-width: 768px) {
  .portrait__message {
    margin-top: 21.7391304348vw;
    padding-block: 14.4927536232vw 9.6618357488vw;
    padding-inline: 7.2463768116vw;
    border-radius: 7.2463768116vw;
  }
}
.portrait .message-inner {
  position: relative;
}
@media all and (min-width: 769px) {
  .portrait .message-inner {
    width: min(76.8rem, 59.0769230769vw);
    margin-left: auto;
  }
}
.portrait .message-label {
  font-size: min(2.4rem, 1.8461538462vw);
  font-weight: bold;
  line-height: 1;
  background: #fff;
  position: absolute;
  top: calc(min(9rem, 6.9230769231vw) * -1);
  left: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  height: min(6rem, 4.6153846154vw);
  padding-inline: min(4rem, 3.0769230769vw);
  border-radius: min(3rem, 2.3076923077vw);
}
@media all and (max-width: 768px) {
  .portrait .message-label {
    margin-inline: auto;
    font-size: 4.8309178744vw;
    top: calc(21.7391304348vw * -1);
    inset-inline: 0;
    height: 14.4927536232vw;
    padding-inline: 9.6618357488vw;
    border-radius: 7.2463768116vw;
  }
}
.portrait .message-label::after {
  content: "";
  position: absolute;
  bottom: -0.8rem;
  inset-inline: 0;
  margin: auto;
  width: 1.6rem;
  height: 1.6rem;
  background: #fff;
  transform: rotate(-45deg);
}
.portrait .message-text {
  font-size: min(1.6rem, 1.2307692308vw);
  margin: 0;
}
@media all and (max-width: 768px) {
  .portrait .message-text {
    font-size: 3.8647342995vw;
  }
  .portrait .message-text.--margin-left {
    margin-left: 21.7391304348vw;
    display: block;
  }
}

.portrait + .top-ticker {
  z-index: 1;
}

/* -----------------------------------------------
  other interview
-------------------------------------------------- */
.top-interview.other-interview {
  padding-block: min(10rem, 7.6923076923vw);
}
@media all and (max-width: 768px) {
  .top-interview.other-interview {
    padding-block: 14.4927536232vw 24.154589372vw;
  }
}

/**************************************************
  Numbers
***************************************************/
/* -----------------------------------------------
  cover
-------------------------------------------------- */
.numbers-cover {
  position: relative;
  background: #f0fcff;
  width: 100%;
  height: min(66.5rem, 51.1538461538vw);
  margin-top: calc(min(10rem, 7.6923076923vw) * -1);
  display: flex;
  align-items: flex-start;
  justify-content: center;
  overflow-y: clip;
}
@media all and (max-width: 768px) {
  .numbers-cover {
    height: 86.9565217391vw;
    margin-top: calc(18.5990338164vw * -1);
  }
}
.numbers-cover .ttl-cover {
  margin-top: min(17.3rem, 13.3076923077vw);
  font-size: min(4.5rem, 3.4615384615vw);
  letter-spacing: 0.05em;
  text-align: center;
  position: relative;
  z-index: 1;
}
@media all and (max-width: 768px) {
  .numbers-cover .ttl-cover {
    margin-top: 24.154589372vw;
    font-size: 5.7971014493vw;
  }
}
.numbers-cover .ttl-cover span {
  display: block;
  font-size: min(3rem, 2.3076923077vw);
  letter-spacing: 0.15em;
  margin-top: 0.25em;
}
@media all and (max-width: 768px) {
  .numbers-cover .ttl-cover span {
    font-size: 3.8647342995vw;
  }
}
.numbers-cover .bg-cover {
  position: absolute;
  top: min(10rem, 7.6923076923vw);
  inset-inline: 0;
  margin: auto;
  width: min(137.6rem, 105.8461538462vw);
  max-width: none;
}
@media all and (max-width: 768px) {
  .numbers-cover .bg-cover {
    top: 18.5990338164vw;
    width: 116.9082125604vw;
    margin-left: calc(50% - 116.9082125604vw / 2);
  }
}
.numbers-cover .bg-cover-radius {
  position: absolute;
  top: min(34rem, 26.1538461538vw);
  inset-inline: 0;
  margin: auto;
  width: min(194.4rem, 149.5384615385vw);
  max-width: none;
  margin-left: calc(50% - min(194.4rem, 149.5384615385vw) / 2);
}
@media all and (max-width: 768px) {
  .numbers-cover .bg-cover-radius {
    top: 48.309178744vw;
  }
}
@media all and (max-width: 768px) {
  .numbers-cover .keyvisual__button {
    top: 91.7874396135vw;
  }
}

/* -----------------------------------------------
  rayout
-------------------------------------------------- */
@media all and (min-width: 769px) {
  .numbers-school {
    margin-top: min(12rem, 9.2307692308vw);
  }
}
@media all and (max-width: 768px) {
  .numbers-school {
    margin-top: 14.4927536232vw;
  }
}

@media all and (min-width: 769px) {
  .numbers-favorite,
  .numbers-atmosphere {
    margin-top: min(7.2rem, 5.5384615385vw);
  }
}
@media all and (max-width: 768px) {
  .numbers-favorite,
  .numbers-atmosphere {
    margin-top: 14.4927536232vw;
  }
}

.section__wrap {
  position: relative;
  z-index: 1;
}
@media all and (min-width: 769px) {
  .section__wrap {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: min(5rem, 3.8461538462vw);
    width: min(134rem, 103.0769230769vw);
    margin-left: calc(50% - min(134rem, 103.0769230769vw) / 2);
  }
}

.bg-green {
  position: absolute;
  z-index: 1;
}
@media all and (min-width: 769px) {
  .bg-green {
    width: min(98.3rem, 75.6153846154vw);
  }
}

.numbers-worker {
  position: relative;
  z-index: 1;
}
@media all and (min-width: 769px) {
  .numbers-worker {
    margin-top: calc(min(24.5rem, 18.8461538462vw) * -1);
  }
}
@media all and (max-width: 768px) {
  .numbers-worker {
    padding-top: 13.2850241546vw;
  }
}
.numbers-worker .bg-green {
  bottom: calc(min(22rem, 16.9230769231vw) * -1);
  right: calc(min(34rem, 26.1538461538vw) * -1);
}
@media all and (max-width: 768px) {
  .numbers-worker .bg-green {
    right: calc(57.9710144928vw * -1);
  }
}

.numbers-school {
  position: relative;
  z-index: 1;
}
.numbers-school .bg-green {
  bottom: calc(min(70rem, 53.8461538462vw) * -1);
  left: calc(min(40rem, 30.7692307692vw) * -1);
  transform: rotate(15deg);
}
@media all and (max-width: 768px) {
  .numbers-school .bg-green {
    left: calc(62.8019323671vw * -1);
  }
}

.numbers-favorite {
  position: relative;
  z-index: 1;
}
@media all and (min-width: 769px) {
  .numbers-favorite {
    flex: 0 0 min(79rem, 60.7692307692vw);
    z-index: 1;
  }
  .numbers-favorite .numbers__title {
    padding-left: calc(50% - min(134rem, 103.0769230769vw) / 2 + min(77rem, 59.2307692308vw) / 2);
  }
  .numbers-favorite .numbers__title::before {
    right: calc(50% + min(134rem, 103.0769230769vw) / 2 - min(77rem, 59.2307692308vw) / 2);
    width: 100vw;
  }
}
.numbers-favorite .numbers__div.--favorite {
  padding: 0;
  margin-top: min(5rem, 3.8461538462vw);
}
@media all and (max-width: 768px) {
  .numbers-favorite .numbers__div.--favorite {
    margin-top: 4.8309178744vw;
    border-radius: 0;
  }
}

.numbers-atmosphere {
  position: relative;
  z-index: 2;
}
@media all and (min-width: 769px) {
  .numbers-atmosphere {
    flex: 0 0 min(50rem, 38.4615384615vw);
    top: min(4.8rem, 3.6923076923vw);
  }
  .numbers-atmosphere .numbers__title {
    padding-left: min(9rem, 6.9230769231vw);
  }
  .numbers-atmosphere .numbers__title::before {
    right: auto;
    left: calc(50% + min(134rem, 103.0769230769vw) / 2 - min(53.5rem, 41.1538461538vw));
    width: 100vw;
  }
  .numbers-atmosphere .numbers__title h2::before {
    content: none;
  }
  .numbers-atmosphere .numbers__title h2::after {
    left: auto;
    right: calc(min(2.8rem, 2.1538461538vw) * -1);
  }
}
.numbers-atmosphere .numbers__div.--atmosphere {
  background: #e2e2e2;
  padding: min(4rem, 3.0769230769vw);
  padding-right: 0;
  margin-top: min(5rem, 3.8461538462vw);
  overflow: hidden;
}
@media all and (max-width: 768px) {
  .numbers-atmosphere .numbers__div.--atmosphere {
    padding: 9.6618357488vw 4.8309178744vw;
    padding-right: 0;
    margin-top: 4.8309178744vw;
    border-radius: 0;
  }
}
.numbers-atmosphere .atmosphere-inner {
  background-image: url("images/numbers/bg_atmosphere-a.png");
  background-position: top left;
  background-size: min(46.3rem, 35.6153846154vw);
  background-repeat: no-repeat;
  width: 100%;
  height: min(77rem, 59.2307692308vw);
  padding-block: min(0.6rem, 0.4615384615vw);
  display: flex;
  flex-direction: column;
  row-gap: min(0.6rem, 0.4615384615vw);
}
@media all and (max-width: 768px) {
  .numbers-atmosphere .atmosphere-inner {
    background-size: 95.1690821256vw;
    height: 158.2125603865vw;
    padding-block: 0;
    gap: 0;
  }
}
.numbers-atmosphere .atmosphere-inner .text {
  width: min(31rem, 23.8461538462vw);
  height: min(10.3rem, 7.9230769231vw);
  display: flex;
  align-items: center;
  font-size: min(1.6rem, 1.2307692308vw);
  font-weight: bold;
}
@media all and (max-width: 768px) {
  .numbers-atmosphere .atmosphere-inner .text {
    width: auto;
    height: 22.4637681159vw;
    font-size: 3.3816425121vw;
  }
}
.numbers-atmosphere .subimg {
  position: absolute;
  animation-duration: 1s;
}
@media all and (min-width: 769px) {
  .numbers-atmosphere .subimg {
    right: calc(min(7.7rem, 5.9230769231vw) * -1);
    width: min(15.3rem, 11.7692307692vw);
  }
}
@media all and (max-width: 768px) {
  .numbers-atmosphere .subimg {
    right: calc(14.4927536232vw * -1);
    width: 31.4009661836vw;
  }
}
@media all and (min-width: 769px) {
  .numbers-atmosphere .subimg.--car01 {
    top: min(5.4rem, 4.1538461538vw);
  }
}
@media all and (max-width: 768px) {
  .numbers-atmosphere .subimg.--car01 {
    top: 12.5603864734vw;
  }
}
@media all and (min-width: 769px) {
  .numbers-atmosphere .subimg.--car02 {
    top: min(27.4rem, 21.0769230769vw);
  }
}
@media all and (max-width: 768px) {
  .numbers-atmosphere .subimg.--car02 {
    top: 57.4879227053vw;
  }
}
@media all and (min-width: 769px) {
  .numbers-atmosphere .subimg.--car03 {
    top: min(38.2rem, 29.3846153846vw);
  }
}
@media all and (max-width: 768px) {
  .numbers-atmosphere .subimg.--car03 {
    top: 79.9516908213vw;
  }
}
@media all and (min-width: 769px) {
  .numbers-atmosphere .subimg.--car04 {
    top: min(60.1rem, 46.2307692308vw);
  }
}
@media all and (max-width: 768px) {
  .numbers-atmosphere .subimg.--car04 {
    top: 125.1207729469vw;
  }
}
@media all and (min-width: 769px) {
  .numbers-atmosphere .subimg.--car05 {
    top: min(71.3rem, 54.8461538462vw);
  }
}
@media all and (max-width: 768px) {
  .numbers-atmosphere .subimg.--car05 {
    top: 147.8260869565vw;
  }
}

/* -----------------------------------------------
  wrapper
-------------------------------------------------- */
.numbers .value {
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.025em;
  text-align: right;
}
.numbers .value span {
  font-size: 50%;
}
.numbers .value .vertical-rl {
  writing-mode: vertical-rl;
  font-size: 1.4rem;
}
.numbers .value.--lg {
  font-size: min(9rem, 6.9230769231vw);
}
@media all and (max-width: 768px) {
  .numbers .value.--lg {
    font-size: 16.9082125604vw;
  }
}
.numbers .value.--sm {
  font-size: min(5rem, 3.8461538462vw);
}
@media all and (max-width: 768px) {
  .numbers .value.--sm {
    font-size: 12.077294686vw;
  }
}
.numbers .value.--xs {
  font-size: min(4rem, 3.0769230769vw);
}
@media all and (max-width: 768px) {
  .numbers .value.--xs {
    font-size: 9.1787439614vw;
  }
}
.numbers .list {
  counter-reset: num;
}
.numbers .list li {
  font-size: 1.2rem;
  line-height: inherit;
  padding-left: 1em;
}
.numbers .list li::before {
  position: absolute;
  counter-increment: num;
  content: counter(num) ".";
  display: inline-block;
  inset-block: 0;
  left: 0;
}
.numbers__wrapper {
  position: relative;
  z-index: 0;
  background-image: url("images/numbers/bg_numbers-road.png");
  background-position: center top;
  background-size: min(7.9rem, 6.0769230769vw);
  background-repeat: repeat-y;
}
@media all and (max-width: 768px) {
  .numbers__wrapper {
    background-size: 9.6618357488vw;
  }
}
.numbers__wrapper .img-go {
  position: absolute;
  top: calc(min(35.7rem, 27.4615384615vw) * -1);
  inset-inline: 0;
  margin: auto;
  width: min(29.4rem, 22.6153846154vw);
}
@media all and (max-width: 768px) {
  .numbers__wrapper .img-go {
    top: calc(42.270531401vw * -1);
    width: 35.0241545894vw;
  }
}
.numbers__wrapper .img-car {
  position: relative;
  top: calc(min(2rem, 1.5384615385vw) * -1);
  inset-inline: 0;
  margin: auto;
  width: min(5rem, 3.8461538462vw);
  display: flex;
  justify-content: center;
}
@media all and (max-width: 768px) {
  .numbers__wrapper .img-car {
    position: fixed;
    top: calc(84.5410628019vw);
    width: 6.2801932367vw;
  }
}
.numbers__wrapper .img-car.is-sticky {
  position: sticky;
  top: min(66.5rem, 51.1538461538vw);
  z-index: 0;
}
@media all and (max-width: 768px) {
  .numbers__wrapper .img-car.is-sticky {
    position: fixed;
    top: 84.5410628019vw;
  }
}
.numbers__wrapper .img-car.is-hidden {
  opacity: 0;
  visibility: hidden;
}
@media all and (min-width: 769px) {
  .numbers__wrapper::after {
    content: "";
    position: absolute;
    bottom: 0;
    inset-inline: 0;
    margin: auto;
    width: min(8rem, 6.1538461538vw);
    height: min(8rem, 6.1538461538vw);
    background: #fff;
  }
}
.numbers__title {
  position: relative;
  padding-left: calc(50% - min(110rem, 84.6153846154vw) / 2);
}
@media all and (max-width: 768px) {
  .numbers__title {
    padding-left: 4.8309178744vw;
  }
}
.numbers__title::before {
  content: "";
  position: absolute;
  inset-block: 0;
  right: calc(50% + min(110rem, 84.6153846154vw) / 2);
  margin: auto;
  width: 100%;
  height: min(1.5rem, 1.1538461538vw);
  background: #d1d7bc;
}
@media all and (max-width: 768px) {
  .numbers__title::before {
    width: 4.8309178744vw;
    height: 2.4154589372vw;
    left: 0;
    right: auto;
  }
}
.numbers__title h2 {
  position: relative;
  color: #fff;
  background: var(--color-base);
  padding: min(1.2rem, 0.9230769231vw) min(2rem, 1.5384615385vw);
  width: fit-content;
  font-size: min(3rem, 2.3076923077vw);
  border: min(0.8rem, 0.6153846154vw) solid #e3e3e3;
  border-radius: 0.5rem;
  margin-block: 0;
}
@media all and (max-width: 768px) {
  .numbers__title h2 {
    padding: 1.9323671498vw;
    font-size: 5.3140096618vw;
    border-width: 0.9661835749vw;
  }
}
.numbers__title h2::before, .numbers__title h2::after {
  content: "";
  position: absolute;
  inset-block: 0;
  margin: auto;
  left: calc(min(2.8rem, 2.1538461538vw) * -1);
  width: min(2rem, 1.5384615385vw);
  height: min(1.5rem, 1.1538461538vw);
  background: #000;
}
@media all and (max-width: 768px) {
  .numbers__title h2::before, .numbers__title h2::after {
    left: calc(3.3816425121vw * -1);
    width: 2.4154589372vw;
    height: 2.4154589372vw;
  }
}
@media all and (max-width: 768px) {
  .numbers__title.--right {
    padding-right: 0;
    padding-right: 4.8309178744vw;
  }
  .numbers__title.--right::before {
    left: auto;
    right: 0;
  }
  .numbers__title.--right h2 {
    margin-left: auto;
  }
  .numbers__title.--right h2::before {
    content: none;
  }
  .numbers__title.--right h2::after {
    left: auto;
    right: calc(3.3816425121vw * -1);
  }
}
.numbers__subtitle {
  position: relative;
  left: calc(min(3rem, 2.3076923077vw) * -1);
  font-size: min(3rem, 2.3076923077vw);
  line-height: 1;
  letter-spacing: 0.025em;
  padding-left: 0.9em;
  margin-block: 0 1.2rem;
}
@media all and (max-width: 768px) {
  .numbers__subtitle {
    font-size: 4.8309178744vw;
    left: calc(4.8309178744vw * -1);
  }
}
.numbers__subtitle span {
  font-size: min(1.4rem, 1.0769230769vw);
  font-weight: normal;
  display: block;
  margin-top: 0.75em;
}
@media all and (max-width: 768px) {
  .numbers__subtitle span {
    font-size: 2.4154589372vw;
  }
}
.numbers__subtitle::before {
  content: "";
  position: absolute;
  top: 0.1em;
  left: 0;
  margin: auto;
  width: min(1rem, 0.7692307692vw);
  height: min(2.8rem, 2.1538461538vw);
  background: var(--color-base);
}
@media all and (max-width: 768px) {
  .numbers__subtitle::before {
    width: 1.690821256vw;
    height: 4.5893719807vw;
  }
}
.numbers__inner {
  position: relative;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media all and (min-width: 769px) {
  .numbers__inner {
    width: min(120rem, 92.3076923077vw);
    margin-inline: auto;
    margin-top: min(6rem, 4.6153846154vw);
    gap: min(3rem, 2.3076923077vw);
  }
}
@media all and (max-width: 768px) {
  .numbers__inner {
    margin-inline: 4.8309178744vw;
    margin-top: 4.8309178744vw;
    gap: 19.3236714976vw;
  }
}
.numbers__div {
  flex: 0 0 min(51rem, 39.2307692308vw);
  position: relative;
  background: #fbf4eb;
  padding: min(3.5rem, 2.6923076923vw) min(3rem, 2.3076923077vw) min(2.5rem, 1.9230769231vw);
  border-radius: min(2rem, 1.5384615385vw);
}
@media all and (min-width: 769px) {
  .numbers__div.--workers-02, .numbers__div.--workers-04 {
    top: min(10rem, 7.6923076923vw);
  }
}
@media all and (max-width: 768px) {
  .numbers__div {
    flex: 100%;
    padding: 6.038647343vw 4.8309178744vw;
    border-radius: 4.8309178744vw;
  }
}
.numbers__div.--dummy {
  background: none;
}
.numbers__wrap {
  flex: 0 0 min(51rem, 39.2307692308vw);
  display: flex;
  flex-wrap: nowrap;
  gap: min(3rem, 2.3076923077vw);
}
@media all and (max-width: 768px) {
  .numbers__wrap {
    flex: 100%;
    gap: 4.8309178744vw;
  }
}
@media all and (min-width: 769px) {
  .numbers__wrap .numbers__div {
    flex: 1;
    padding-block: min(3rem, 2.3076923077vw);
  }
}
@media all and (max-width: 768px) {
  .numbers__wrap .numbers__div {
    flex: 1;
    padding-inline: 2.4154589372vw;
  }
  .numbers__wrap .numbers__div .numbers__subtitle {
    left: calc(2.4154589372vw * -1);
  }
}
@media all and (min-width: 769px) {
  .numbers__wrap .numbers__subtitle {
    font-size: min(2.2rem, 1.6923076923vw);
    padding-left: 1.3em;
  }
  .numbers__wrap .numbers__subtitle::before {
    height: min(2.2rem, 1.6923076923vw);
  }
}
@media all and (max-width: 768px) {
  .numbers__wrap .numbers__subtitle {
    font-size: 4.347826087vw;
  }
}
@media all and (min-width: 769px) {
  .numbers__image {
    position: absolute;
  }
}
@media all and (min-width: 769px) {
  .numbers .numbers__div.--workers-01 {
    height: min(34rem, 26.1538461538vw);
  }
}
@media all and (min-width: 769px) {
  .numbers .numbers__div.--workers-02 {
    height: min(54rem, 41.5384615385vw);
  }
}
@media all and (min-width: 769px) {
  .numbers .numbers__div.--workers-03 {
    height: min(45rem, 34.6153846154vw);
    margin-top: calc(min(20rem, 15.3846153846vw) * -1);
  }
}
.numbers .numbers__div.--workers-04 {
  overflow: hidden;
}
@media all and (min-width: 769px) {
  .numbers .numbers__div.--workers-04 {
    height: min(61rem, 46.9230769231vw);
  }
}
@media all and (max-width: 768px) {
  .numbers .numbers__div.--workers-04 {
    padding: 0;
  }
  .numbers .numbers__div.--workers-04 .numbers__subtitle {
    position: absolute;
    top: 6.038647343vw;
    left: 0;
  }
}
@media all and (min-width: 769px) {
  .numbers .numbers__div.--workers-05 {
    height: min(23rem, 17.6923076923vw);
    margin-top: calc(min(36rem, 27.6923076923vw) * -1);
  }
}
.numbers .numbers__div.--workers-05 .value {
  margin-top: calc(min(3rem, 2.3076923077vw) * -1);
}
@media all and (max-width: 768px) {
  .numbers .numbers__div.--workers-05 .value {
    margin-top: -0.2em;
  }
}
@media all and (min-width: 769px) {
  .numbers .numbers__div.--workers-06, .numbers .numbers__div.--workers-07 {
    height: min(17rem, 13.0769230769vw);
    margin-top: calc(min(19rem, 14.6153846154vw) * -1);
  }
}
@media all and (min-width: 769px) {
  .numbers .numbers__div.--school-01 {
    height: min(54rem, 41.5384615385vw);
  }
}
@media all and (min-width: 769px) {
  .numbers .numbers__div.--school-02 {
    height: min(72rem, 55.3846153846vw);
  }
}
.numbers .numbers__div.--school-03, .numbers .numbers__div.--school-04, .numbers .numbers__div.--school-05 {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
@media all and (min-width: 769px) {
  .numbers .numbers__div.--school-03, .numbers .numbers__div.--school-04, .numbers .numbers__div.--school-05 {
    padding-block: min(2.5rem, 1.9230769231vw);
    padding-inline: 0;
    height: min(15rem, 11.5384615385vw);
    margin-top: calc(min(18rem, 13.8461538462vw) * -1);
  }
  .numbers .numbers__div.--school-03 .numbers__subtitle, .numbers .numbers__div.--school-04 .numbers__subtitle, .numbers .numbers__div.--school-05 .numbers__subtitle {
    left: 0;
    padding-left: 1em;
  }
}
.numbers .numbers__div.--school-03 .value, .numbers .numbers__div.--school-04 .value, .numbers .numbers__div.--school-05 .value {
  text-align: center;
}
@media all and (min-width: 769px) {
  .numbers .numbers__image.--workers-01 {
    top: min(6.5rem, 5vw);
    width: min(45.1rem, 34.6923076923vw);
  }
}
@media all and (max-width: 768px) {
  .numbers .numbers__image.--workers-01 {
    margin-top: calc(7.2463768116vw * -1);
  }
}
.numbers .numbers__image.--workers-01-a {
  position: absolute;
  inset-inline: 0;
  margin: auto;
}
@media all and (min-width: 769px) {
  .numbers .numbers__image.--workers-01-a {
    top: min(1rem, 0.7692307692vw);
    width: min(45rem, 34.6153846154vw);
  }
}
@media all and (max-width: 768px) {
  .numbers .numbers__image.--workers-01-a {
    top: 2.4154589372vw;
    padding-inline: 2.4154589372vw;
  }
}
.numbers .numbers__image.--workers-01-b {
  position: absolute;
  animation-name: rotateInDownLeft2;
  animation-duration: 1s;
  animation-fill-mode: both;
}
@media all and (min-width: 769px) {
  .numbers .numbers__image.--workers-01-b {
    top: min(12.7rem, 9.7692307692vw);
    left: min(11.3rem, 8.6923076923vw);
    width: min(22.9rem, 17.6153846154vw);
  }
}
@media all and (max-width: 768px) {
  .numbers .numbers__image.--workers-01-b {
    top: 21.9806763285vw;
    left: 21.2560386473vw;
    width: 38.6473429952vw;
  }
}
@keyframes rotateInDownLeft2 {
  0% {
    transform: rotate(-45deg);
    opacity: 0;
  }
  to {
    transform: translateZ(0);
    opacity: 1;
  }
}
@media all and (min-width: 769px) {
  .numbers .numbers__image.--workers-02 {
    top: min(5rem, 3.8461538462vw);
    width: min(49.2rem, 37.8461538462vw);
    max-width: none;
  }
}
@media all and (max-width: 768px) {
  .numbers .numbers__image.--workers-02 {
    margin-top: calc(9.6618357488vw * -1);
    margin-left: 7.9710144928vw;
  }
}
.numbers .numbers__image.--workers-02-a {
  position: absolute;
}
@media all and (min-width: 769px) {
  .numbers .numbers__image.--workers-02-a {
    top: calc(min(7.2rem, 5.5384615385vw) * -1);
    left: min(0.5rem, 0.3846153846vw);
    width: min(39rem, 30vw);
  }
}
@media all and (max-width: 768px) {
  .numbers .numbers__image.--workers-02-a {
    top: calc(11.5942028986vw * -1);
    padding-inline: 2.4154589372vw;
  }
}
.numbers .numbers__image.--workers-02-b {
  position: absolute;
}
@media all and (min-width: 769px) {
  .numbers .numbers__image.--workers-02-b {
    top: min(2rem, 1.5384615385vw);
    right: calc(min(9.5rem, 7.3076923077vw) * -1);
    width: min(15.5rem, 11.9230769231vw);
  }
}
@media all and (max-width: 768px) {
  .numbers .numbers__image.--workers-02-b {
    top: 3.6231884058vw;
    right: calc(16.4251207729vw * -1);
    width: 28.9855072464vw;
  }
}
@media all and (min-width: 769px) {
  .numbers .numbers__image.--workers-03 {
    top: min(4rem, 3.0769230769vw);
    inset-inline: 0;
    margin: auto;
    width: min(35rem, 26.9230769231vw);
  }
}
@media all and (max-width: 768px) {
  .numbers .numbers__image.--workers-03 {
    margin-top: calc(9.6618357488vw * -1);
    padding-inline: 7.9710144928vw;
  }
}
.numbers .numbers__image.--workers-03-a {
  position: absolute;
}
@media all and (min-width: 769px) {
  .numbers .numbers__image.--workers-03-a {
    top: calc(min(3.5rem, 2.6923076923vw) * -1);
    left: min(0.5rem, 0.3846153846vw);
    width: min(35rem, 26.9230769231vw);
  }
}
@media all and (max-width: 768px) {
  .numbers .numbers__image.--workers-03-a {
    top: calc(6.7632850242vw * -1);
    padding-inline: 2.4154589372vw 3.6231884058vw;
  }
}
@media all and (min-width: 769px) {
  .numbers .numbers__image.--workers-04 {
    top: 0;
    inset-inline: 0;
    margin: auto;
    width: 100%;
    max-width: none;
  }
}
@media all and (min-width: 769px) {
  .numbers .numbers__image.--workers-04-b {
    top: calc(min(7rem, 5.3846153846vw) * -1);
    left: calc(min(3rem, 2.3076923077vw) * -1);
    width: min(65rem, 50vw);
    max-width: none;
  }
}
@media all and (max-width: 768px) {
  .numbers .numbers__image.--workers-04-b {
    position: relative;
    top: calc(7.2463768116vw * -1);
    left: calc(6.038647343vw * -1);
    width: 115.9420289855vw;
    max-width: none;
  }
}
@media all and (min-width: 769px) {
  .numbers .numbers__image.--workers-05 {
    top: min(3.6rem, 2.7692307692vw);
    right: min(3rem, 2.3076923077vw);
    width: min(10.2rem, 7.8461538462vw);
  }
}
@media all and (max-width: 768px) {
  .numbers .numbers__image.--workers-05 {
    position: absolute;
    top: 7.2463768116vw;
    right: 3.6231884058vw;
    width: 24.154589372vw;
  }
}
@media all and (min-width: 769px) {
  .numbers .numbers__image.--school-01 {
    top: min(11rem, 8.4615384615vw);
    inset-inline: 0;
    margin: auto;
    width: min(45.5rem, 35vw);
  }
}
@media all and (min-width: 769px) {
  .numbers .numbers__image.--school-02 {
    top: min(12rem, 9.2307692308vw);
    inset-inline: 0;
    margin: auto;
    width: min(45rem, 34.6153846154vw);
  }
}
.numbers .numbers__image.--school-02-a {
  position: absolute;
}
@media all and (min-width: 769px) {
  .numbers .numbers__image.--school-02-a {
    top: min(1rem, 0.7692307692vw);
    inset-inline: 0;
    margin: auto;
    width: min(45rem, 34.6153846154vw);
  }
}
@media all and (max-width: 768px) {
  .numbers .numbers__image.--school-02-a {
    top: 2.4154589372vw;
    padding-inline: 1.2077294686vw;
  }
}
.numbers .numbers__image.--school-02-b {
  position: absolute;
}
@media all and (min-width: 769px) {
  .numbers .numbers__image.--school-02-b {
    top: calc(min(5.5rem, 4.2307692308vw) * -1);
    left: min(7.5rem, 5.7692307692vw);
    margin: auto;
    width: min(32.4rem, 24.9230769231vw);
  }
}
@media all and (max-width: 768px) {
  .numbers .numbers__image.--school-02-b {
    top: calc(10.8695652174vw * -1);
    left: 14.4927536232vw;
    width: 55.5555555556vw;
  }
}
.numbers__goal {
  margin-top: calc(min(8rem, 6.1538461538vw) * -1);
  height: min(73rem, 56.1538461538vw);
  display: flex;
  align-items: center;
  justify-content: center;
  background: url("images/numbers/bg_goal.webp") center no-repeat;
  background-size: min(133.6rem, 102.7692307692vw);
  background-color: #fff;
}
@media all and (max-width: 768px) {
  .numbers__goal {
    margin-top: 2.4154589372vw;
    height: 60.38647343vw;
    background-size: 111.1111111111vw;
  }
}
.numbers .goal-headline {
  width: min(88.7rem, 68.2307692308vw);
  margin-top: calc(min(8.5rem, 6.5384615385vw) * -1);
}
@media all and (max-width: 768px) {
  .numbers .goal-headline {
    width: 77.2946859903vw;
    margin-top: calc(14.4927536232vw * -1);
  }
}
.numbers .box-graph {
  position: relative;
  margin-inline: auto;
}
@media all and (min-width: 769px) {
  .numbers .box-graph.box1 {
    top: calc(min(4.5rem, 3.4615384615vw) * -1);
    width: min(45rem, 34.6153846154vw);
    margin-bottom: min(4rem, 3.0769230769vw);
  }
}
@media all and (max-width: 768px) {
  .numbers .box-graph.box1 {
    top: calc(2.4154589372vw * -1);
    margin-top: calc(4.8309178744vw * -1);
  }
}
@media all and (min-width: 769px) {
  .numbers .box-graph.box2 {
    width: min(40rem, 30.7692307692vw);
    margin-left: 0;
  }
}
@media all and (max-width: 768px) {
  .numbers .box-graph.box2 {
    width: 72.4637681159vw;
    margin-left: 0;
  }
}
@media all and (min-width: 769px) {
  .numbers .box-graph.box3 {
    top: calc(min(4rem, 3.0769230769vw) * -1);
    width: min(36rem, 27.6923076923vw);
  }
}
@media all and (min-width: 769px) {
  .numbers .box-graph.box9 {
    top: min(7rem, 5.3846153846vw);
    width: min(46rem, 35.3846153846vw);
  }
}
@media all and (max-width: 768px) {
  .numbers .box-graph.box9 {
    margin-block: 55px 40px;
  }
}

/**************************************************
  Top
***************************************************/
.section__title {
  position: relative;
  margin: 0;
}
.section__title .c-en {
  font-size: min(9rem, 6.9230769231vw);
  font-weight: 600;
  line-height: 0.9;
}
@media all and (max-width: 768px) {
  .section__title .c-en {
    font-size: 14.4927536232vw;
    line-height: 95%;
  }
}
.section__title .c-ja {
  font-size: min(2.3rem, 1.7692307692vw);
}
@media all and (max-width: 768px) {
  .section__title .c-ja {
    font-size: 4.347826087vw;
    display: block;
    margin-top: 3.1400966184vw;
  }
}
.section__title .c-icon {
  width: min(5.8rem, 4.4615384615vw);
  height: min(5.8rem, 4.4615384615vw);
  margin-inline: 0.01em;
  position: relative;
  top: -0.1em;
}
@media all and (max-width: 768px) {
  .section__title .c-icon {
    width: 9.6618357488vw;
    height: 9.6618357488vw;
  }
}

.ttl-marker {
  display: inline;
  background: linear-gradient(var(--color-text), var(--color-text)) 0 81%/0 2px no-repeat;
  transition: background-size 1.5s;
  animation-delay: 3s;
}
.ttl-marker.on {
  animation: heading-marker 1.5s ease 1s both;
}
@media all and (max-width: 768px) {
  .ttl-marker.on {
    animation-delay: 0.1s;
  }
}
@keyframes heading-marker {
  0% {
    background-size: 0 2px;
  }
  100% {
    background-size: 100% 2px;
  }
}

/* -----------------------------------------------
  mainvisual
-------------------------------------------------- */
.keyvisual {
  position: relative;
  margin-top: calc(min(10rem, 7.6923076923vw) * -1);
  max-width: 100vw;
  height: min(108rem, 83.0769230769vw);
}
@media all and (max-width: 768px) {
  .keyvisual {
    margin-top: calc(18.5990338164vw * -1);
    height: 241.5458937198vw;
  }
}
.keyvisual__wrapper {
  position: absolute;
  top: 0;
  inset-inline: 0;
}
@media all and (min-width: 769px) {
  .keyvisual__wrapper {
    max-width: min(130rem, 100vw);
    height: min(73rem, 56.1538461538vw);
    margin-inline: auto;
  }
}
@media all and (max-width: 768px) {
  .keyvisual__wrapper {
    height: 169.0821256039vw;
  }
}
.keyvisual__title {
  position: absolute;
  bottom: min(6rem, 4.6153846154vw);
  left: 0;
  right: 0;
  margin-inline: auto;
  width: fit-content;
  color: #fff;
  background: #000;
  padding: 0 0.2em;
  font-size: min(2.4rem, 1.8461538462vw);
  font-weight: 900;
  line-height: 1.2;
  transform: rotate(-5deg);
  z-index: 2;
}
@media all and (max-width: 768px) {
  .keyvisual__title {
    bottom: 64.0096618357vw;
    font-size: 4.8309178744vw;
  }
}
.keyvisual__button {
  position: absolute;
  bottom: 0;
  right: min(5rem, 3.8461538462vw);
  z-index: 3;
  transition: top 0.9s;
}
@media all and (max-width: 768px) {
  .keyvisual__button {
    right: 9.6618357488vw;
  }
}
.keyvisual__button .entry-circle {
  position: relative;
  bottom: min(2.5rem, 1.9230769231vw);
  background: #5df600;
  width: min(12rem, 9.2307692308vw);
  height: min(12rem, 9.2307692308vw);
  border-radius: min(6rem, 4.6153846154vw);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.3s;
}
@media all and (max-width: 768px) {
  .keyvisual__button .entry-circle {
    bottom: 4.347826087vw;
    width: 21.2560386473vw;
    height: 21.2560386473vw;
    border-radius: 10.6280193237vw;
  }
}
.keyvisual__button .entry-car {
  position: absolute;
  bottom: 0;
  left: calc(min(2rem, 1.5384615385vw) * -1);
  width: min(17rem, 13.0769230769vw);
  max-width: none;
}
@media all and (max-width: 768px) {
  .keyvisual__button .entry-car {
    left: calc(3.6231884058vw * -1);
    width: 30.193236715vw;
  }
}
.keyvisual__button .text-circle {
  position: absolute;
  inset: 0;
  margin: auto;
  width: min(11rem, 8.4615384615vw);
  animation: rotation 25s linear infinite;
}
@media all and (max-width: 768px) {
  .keyvisual__button .text-circle {
    width: 19.3236714976vw;
  }
}
@keyframes rotation {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(360deg);
  }
}
.keyvisual__button .text-entry {
  font-size: min(1.8rem, 1.3846153846vw);
  font-weight: 800;
  letter-spacing: 0.05em;
  text-align: center;
}
@media all and (max-width: 768px) {
  .keyvisual__button .text-entry {
    font-size: 3.1400966184vw;
  }
}
.keyvisual__link {
  position: relative;
  display: block;
  text-decoration: none;
}
.keyvisual__link:any-link {
  color: var(--color-text);
}
.keyvisual__link:hover .entry-circle {
  transform: scale(1.2);
}
.keyvisual__bg {
  position: absolute;
  max-width: none;
  z-index: -1;
}
@media all and (min-width: 769px) {
  .keyvisual__bg.--kds {
    width: min(131.2rem, 100.9230769231vw);
    inset: 0;
    margin-inline: auto;
    margin-top: auto;
  }
}
@media all and (max-width: 768px) {
  .keyvisual__bg.--kds {
    width: 105.5555555556vw;
    left: 0;
    top: 24.6376811594vw;
  }
}
.keyvisual__bg.--line-speed {
  width: min(112rem, 86.1538461538vw);
  top: min(18.5rem, 14.2307692308vw);
  left: min(18.5rem, 14.2307692308vw);
  transform: translateX(-50%);
  opacity: 0;
  transition: 0.3s;
  transition-delay: 1s;
  animation-fill-mode: backwards;
}
@media all and (max-width: 768px) {
  .keyvisual__bg.--line-speed {
    width: 97.5845410628vw;
    top: 38.8888888889vw;
    left: 2.6570048309vw;
  }
}
.keyvisual__bg.--yellow {
  z-index: 1;
}
.keyvisual__catch {
  position: sticky;
  top: min(38.5rem, 29.6153846154vw);
  inset-inline: 0;
  margin-inline: auto;
  height: min(25.6rem, 19.6923076923vw);
  display: flex;
  justify-content: center;
  z-index: 2;
  pointer-events: none;
}
@media all and (max-width: 768px) {
  .keyvisual__catch {
    top: 100.2415458937vw;
    height: 53.8647342995vw;
  }
}
.keyvisual__catch .keyvisual__text {
  position: absolute;
  inset: 0;
  margin: auto;
  transition: 0.3s;
}
@media all and (max-width: 768px) {
  .keyvisual__catch .keyvisual__text {
    left: 4.8309178744vw;
    margin-left: 0;
  }
  .keyvisual__catch .keyvisual__text:not(.--line-speed) {
    width: 91.0628019324vw;
  }
}
.keyvisual__catch .keyvisual__text.--in-kv {
  opacity: 0;
}
.keyvisual__catch .keyvisual__text.--yarigai {
  transition-delay: 0.5s;
}
.keyvisual__catch .keyvisual__text.--line-speed {
  z-index: -1;
  top: calc(min(6rem, 4.6153846154vw) * -1);
  transform: translateX(0);
  transition-delay: 1s;
}
@media all and (max-width: 768px) {
  .keyvisual__catch .keyvisual__text.--line-speed {
    top: 0;
    left: 0;
  }
}
.keyvisual__catch.is-kv-catch .keyvisual__text.--in-kv {
  opacity: 1;
}
.keyvisual__catch.is-kv-catch .keyvisual__text.--in-ms {
  opacity: 0;
}
.keyvisual__catch.is-kv-catch .keyvisual__text.--line-speed {
  transform: translateX(-50%);
}
.keyvisual__catch.is-kv-catch + .keyvisual__wrapper .keyvisual__bg.--line-speed {
  transform: translateX(0);
  opacity: 1;
}
.keyvisual__end-sentinel {
  height: 0;
  position: absolute;
  bottom: min(60rem, 46.1538461538vw);
}
@media all and (max-width: 768px) {
  .keyvisual__end-sentinel {
    bottom: 137.6811594203vw;
  }
}
.keyvisual__image {
  position: absolute;
  width: min(50rem, 38.4615384615vw);
  height: min(59rem, 45.3846153846vw);
  overflow: hidden;
  /* フェードイン・フェードアウト */
}
@media all and (max-width: 768px) {
  .keyvisual__image {
    width: 61.3526570048vw;
    height: 72.4637681159vw;
  }
}
@media all and (min-width: 769px) {
  .keyvisual__image.kv-left {
    bottom: 0;
    left: calc(min(6.5rem, 5vw) * -1);
  }
}
@media all and (max-width: 768px) {
  .keyvisual__image.kv-left {
    bottom: 50.9661835749vw;
    left: calc(16.9082125604vw * -1);
    z-index: 1;
  }
}
@media all and (min-width: 769px) {
  .keyvisual__image.kv-center {
    bottom: min(13rem, 10vw);
    left: min(39rem, 30vw);
  }
}
@media all and (max-width: 768px) {
  .keyvisual__image.kv-center {
    width: 63.5265700483vw;
    height: 74.8792270531vw;
    bottom: 74.8792270531vw;
    left: 13.5265700483vw;
  }
}
@media all and (min-width: 769px) {
  .keyvisual__image.kv-right {
    bottom: min(3.9rem, 3vw);
    right: calc(min(4.7rem, 3.6153846154vw) * -1);
  }
}
@media all and (max-width: 768px) {
  .keyvisual__image.kv-right {
    bottom: 62.8019323671vw;
    right: calc(11.3526570048vw * -1);
  }
}
.keyvisual__image .kv-image {
  position: absolute;
  width: 100%;
  height: 100%;
}
.keyvisual__image .kv-image:nth-of-type(2) {
  animation-delay: 5s;
  opacity: 0;
}
.keyvisual__image .kv-image:nth-of-type(3) {
  animation-delay: 10s;
  opacity: 0;
}
@keyframes change-img-anim {
  0% {
    opacity: 0;
  }
  30% {
    opacity: 1;
  }
  35% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}

.keyvisual__button {
  position: fixed;
  width: fit-content;
  height: fit-content;
}
@media all and (min-width: 769px) {
  .keyvisual__button {
    top: min(61.5rem, 47.3076923077vw);
    right: min(5rem, 3.8461538462vw);
  }
}
@media all and (max-width: 768px) {
  .keyvisual__button {
    top: 148.5507246377vw;
    right: 9.6618357488vw;
  }
}
@media all and (max-width: 768px) {
  .keyvisual__button.is-fixed-button {
    top: calc(100svh - 21.7391304348vw);
  }
}
.keyvisual__button.is-absolute-button {
  opacity: 0;
}

/* -----------------------------------------------
  intro
-------------------------------------------------- */
.top-intro {
  position: relative;
  text-align: center;
}
@media all and (min-width: 769px) {
  .top-intro {
    margin-top: min(6rem, 4.6153846154vw);
    padding-bottom: min(18rem, 13.8461538462vw);
    max-width: min(110rem, 84.6153846154vw);
    margin-inline: auto;
  }
}
@media all and (max-width: 768px) {
  .top-intro {
    margin-top: 7.2463768116vw;
    padding-bottom: 24.154589372vw;
  }
}
.top-intro__text {
  width: fit-content;
  margin: auto;
  text-align: left;
}
@media all and (min-width: 769px) {
  .top-intro__text {
    writing-mode: vertical-rl;
    display: inline-block;
  }
}
.top-intro__text p {
  font-size: min(1.8rem, 1.3846153846vw);
  font-weight: bold;
  line-height: min(4.5rem, 3.4615384615vw);
  margin-block: min(4.5rem, 3.4615384615vw);
  margin-inline: 0;
}
@media all and (max-width: 768px) {
  .top-intro__text p {
    font-size: 3.8647342995vw;
    line-height: 8.6956521739vw;
    margin-block: 7.2463768116vw;
  }
}
@media all and (min-width: 769px) {
  .top-intro__image {
    position: absolute;
  }
  .top-intro__image.--img-01 {
    width: min(40.4rem, 31.0769230769vw);
    top: min(2rem, 1.5384615385vw);
    left: calc(min(14.8rem, 11.3846153846vw) * -1);
  }
  .top-intro__image.--img-02 {
    width: min(35.7rem, 27.4615384615vw);
    top: calc(min(5.3rem, 4.0769230769vw) * -1);
    right: calc(min(14.7rem, 11.3076923077vw) * -1);
  }
  .top-intro__image.--img-03 {
    width: min(27.7rem, 21.3076923077vw);
    bottom: min(2.3rem, 1.7692307692vw);
    right: min(1rem, 0.7692307692vw);
  }
}
@media all and (max-width: 768px) {
  .top-intro__image {
    margin-top: 9.6618357488vw;
    position: relative;
    z-index: 1;
  }
}
.top-intro .fun-every-mile {
  position: absolute;
  max-width: none;
}
@media all and (min-width: 769px) {
  .top-intro .fun-every-mile {
    bottom: 0;
    inset-inline: 0;
    margin-left: calc(50% - min(150rem, 115.3846153846vw) / 2);
  }
}
@media all and (max-width: 768px) {
  .top-intro .fun-every-mile {
    width: 241.5458937198vw;
  }
}

/* -----------------------------------------------
  interview
-------------------------------------------------- */
.top-interview {
  position: relative;
  z-index: 1;
  padding-block: min(14rem, 10.7692307692vw) min(15rem, 11.5384615385vw);
  background: #fff;
  border-radius: min(5rem, 3.8461538462vw);
}
@media all and (max-width: 768px) {
  .top-interview {
    padding-block: 0 24.154589372vw;
    border-radius: 12.077294686vw;
  }
}
@media all and (min-width: 769px) {
  .top-interview .section__title {
    max-width: min(91.4rem, 70.3076923077vw);
    margin-inline: auto;
  }
  .top-interview .section__title .c-ja {
    position: absolute;
    top: min(4.5rem, 3.4615384615vw);
    left: min(38.2rem, 29.3846153846vw);
  }
}
@media all and (max-width: 768px) {
  .top-interview .section__title {
    padding-inline: 4.8309178744vw;
  }
}
@media all and (min-width: 769px) {
  .top-interview .m-slider {
    margin-top: calc(min(1rem, 0.7692307692vw) * -1);
  }
}
@media all and (max-width: 768px) {
  .top-interview .m-slider {
    margin-top: 12.077294686vw;
  }
}
.top-interview .swiper-slide {
  width: min(43rem, 33.0769230769vw);
}
@media all and (max-width: 768px) {
  .top-interview .swiper-slide {
    width: 77.2946859903vw;
  }
}
.top-interview .swiper-slide-active {
  margin-top: min(13rem, 10vw);
}
@media all and (max-width: 768px) {
  .top-interview .swiper-slide-active {
    margin-top: 0;
  }
}
.top-interview .swiper-slide-prev {
  margin-top: min(5rem, 3.8461538462vw);
}
@media all and (max-width: 768px) {
  .top-interview .swiper-slide-prev {
    margin-top: 0;
  }
}
.top-interview .swiper-slide:not(:has(.top-interview__link))::after {
  content: "HERE";
  position: absolute;
  inset: 0;
  margin: auto;
  width: min(15rem, 11.5384615385vw);
  height: min(15rem, 11.5384615385vw);
  color: #fff;
  background: #1789c9;
  font-size: min(3rem, 2.3076923077vw);
  font-weight: bold;
  font-family: "Montserrat", sans-serif;
  letter-spacing: 0.05em;
  text-align: center;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media all and (max-width: 768px) {
  .top-interview .swiper-slide:not(:has(.top-interview__link))::after {
    width: 28.9855072464vw;
    height: 28.9855072464vw;
    font-size: 5.7971014493vw;
  }
}
.top-interview__link {
  position: relative;
  text-decoration: none;
  z-index: 1;
}
.top-interview__link:any-link {
  color: var(--color-text);
}
.top-interview__link .top-interview__div {
  opacity: 1;
}
@media all and (min-width: 769px) {
  .top-interview__link:hover .top-interview__image {
    transform: scale(1.05);
  }
  .top-interview__link:hover .top-interview__div::after {
    width: 0;
  }
}
.top-interview__div {
  position: relative;
  opacity: 0.2;
  overflow-y: clip;
}
.top-interview__div::after {
  content: "";
  position: absolute;
  top: 0;
  left: min(5.5rem, 4.2307692308vw);
  width: min(32rem, 24.6153846154vw);
  height: min(40rem, 30.7692307692vw);
  background: #f6d300;
  z-index: -1;
  transform: skewX(-15deg);
  transition: 0.2s ease-in-out;
}
@media all and (max-width: 768px) {
  .top-interview__div::after {
    left: 10.1449275362vw;
    width: 57.0048309179vw;
    height: 71.9806763285vw;
    transform: skewX(-16deg);
  }
}
.top-interview__div.--staff-01::after {
  background: #f6d300;
}
.top-interview__div.--staff-02::after {
  background: #00c6ca;
}
.top-interview__div.--staff-03::after {
  background: #f43b55;
}
.top-interview__div.--staff-04::after {
  background: #ed7a3d;
}
.top-interview__div.--staff-05::after {
  background: #1789c9;
}
.top-interview__div.--staff-06::after {
  background: #00b166;
}
.top-interview__number {
  position: absolute;
  top: min(3rem, 2.3076923077vw);
  left: min(4.8rem, 3.6923076923vw);
  font-size: min(10rem, 7.6923076923vw);
  font-weight: 500;
  line-height: 0.75;
  letter-spacing: 0.1em;
}
@media all and (max-width: 768px) {
  .top-interview__number {
    top: 6.038647343vw;
    left: 9.1787439614vw;
    font-size: 16.9082125604vw;
  }
}
.top-interview__copy {
  position: absolute;
  bottom: min(13.5rem, 10.3846153846vw);
  left: 0;
  color: #fff;
  font-size: min(2.4rem, 1.8461538462vw);
  font-weight: bold;
  line-height: 1.6;
}
@media all and (max-width: 768px) {
  .top-interview__copy {
    bottom: 26.5700483092vw;
    font-size: 4.347826087vw;
  }
}
.top-interview__copy span {
  display: block;
  width: fit-content;
  padding-inline: 0.2em;
  background: #000;
  margin-block: min(1rem, 0.7692307692vw);
}
@media all and (max-width: 768px) {
  .top-interview__copy span {
    margin-block: 1.690821256vw;
  }
}
.top-interview__title {
  position: absolute;
  bottom: 0;
  left: 0;
  font-size: min(1.6rem, 1.2307692308vw);
  font-weight: bold;
}
@media all and (max-width: 768px) {
  .top-interview__title {
    bottom: 0;
    font-size: 3.3816425121vw;
  }
}
.top-interview__title span {
  display: block;
}
.top-interview__title .post {
  font-size: 95%;
  line-height: 1.5;
}
.top-interview__title.--staff-01, .top-interview__title.--staff-04 {
  margin-bottom: 3.5em;
}
.top-interview__title.--staff-06 {
  margin-bottom: 1.5em;
}
.top-interview__image {
  transition: 0.3s;
}
.top-interview .swiper-pagination-bullets.swiper-pagination-horizontal {
  position: relative;
  text-align: left;
}
@media all and (min-width: 769px) {
  .top-interview .swiper-pagination-bullets.swiper-pagination-horizontal {
    width: min(110rem, 84.6153846154vw);
    margin-inline: auto;
    margin-top: calc(min(3rem, 2.3076923077vw) * -1);
  }
}
@media all and (max-width: 768px) {
  .top-interview .swiper-pagination-bullets.swiper-pagination-horizontal {
    margin-inline: 9.6618357488vw;
    margin-top: 10.8695652174vw;
  }
}
.top-interview .c-button {
  position: absolute;
  left: calc(50% + min(32rem, 24.6153846154vw));
  bottom: 0;
  z-index: 11;
}
@media all and (max-width: 768px) {
  .top-interview .c-button {
    left: auto;
    right: 9.6618357488vw;
    bottom: 0.6038647343vw;
  }
}

/* -----------------------------------------------
  numbers
-------------------------------------------------- */
.top-numbers {
  position: relative;
  padding-block: min(5rem, 3.8461538462vw);
  margin-block: calc(min(5rem, 3.8461538462vw) * -1);
  background: #f1efee;
}
@media all and (max-width: 768px) {
  .top-numbers {
    height: 96.6183574879vw;
    padding-block: 12.077294686vw;
    margin-block: calc(12.077294686vw * -1);
  }
}
@media all and (max-width: 768px) {
  .top-numbers__div {
    width: fit-content;
    text-align: center;
    position: absolute;
    left: 9.6618357488vw;
    top: 26.5700483092vw;
  }
}
.top-numbers__text {
  font-size: min(1.1rem, 0.8461538462vw);
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}
@media all and (min-width: 769px) {
  .top-numbers__text {
    writing-mode: sideways-lr;
    position: absolute;
    height: fit-content;
    top: 0;
    bottom: 0;
    right: calc(50% + min(55rem, 42.3076923077vw));
    margin-inline: auto;
  }
}
@media all and (max-width: 768px) {
  .top-numbers__text {
    font-size: 2.1739130435vw;
  }
}
@media all and (min-width: 769px) {
  .top-numbers .c-button {
    position: absolute;
    top: min(10rem, 7.6923076923vw);
    right: calc(50% + min(9.5rem, 7.3076923077vw));
  }
}
.top-numbers .c-button__link {
  text-decoration: none;
}
@media all and (max-width: 768px) {
  .top-numbers .c-button__link {
    flex-direction: column-reverse;
  }
}
.top-numbers .c-button__text {
  font-size: min(3rem, 2.3076923077vw);
}
@media all and (max-width: 768px) {
  .top-numbers .c-button__text {
    font-size: 4.8309178744vw;
  }
}
.top-numbers .c-button__text span {
  display: block;
  text-align: center;
  line-height: 1.5;
  letter-spacing: 0.2em;
}
.top-numbers .c-button__text .u-text-lg {
  font-size: min(4.5rem, 3.4615384615vw);
  letter-spacing: 0.05em;
}
@media all and (max-width: 768px) {
  .top-numbers .c-button__text .u-text-lg {
    font-size: 7.2463768116vw;
  }
}
.top-numbers__figure {
  position: relative;
  background-image: url("images/top/bg_numbers-kemuri.png");
  background-size: min(74.5rem, 57.3076923077vw);
  background-position: right bottom min(1rem, 0.7692307692vw);
  background-repeat: no-repeat;
}
@media all and (min-width: 769px) {
  .top-numbers__figure {
    width: min(130rem, 100vw);
    height: min(32rem, 24.6153846154vw);
    margin-inline: auto;
  }
}
@media all and (max-width: 768px) {
  .top-numbers__figure {
    background-image: url("images/top/bg_numbers-kemuri_sp.png");
    background-size: 61.8357487923vw;
    background-position: right bottom 2.4154589372vw;
    width: 100%;
    height: 72.4637681159vw;
  }
}
.top-numbers__image {
  position: absolute;
  bottom: calc(min(2rem, 1.5384615385vw) * -1);
  right: calc(50% + min(10rem, 7.6923076923vw));
  width: min(39.7rem, 30.5384615385vw);
  z-index: 2;
}
@media all and (max-width: 768px) {
  .top-numbers__image {
    bottom: calc(1.2077294686vw * -1);
    right: auto;
    left: 9.6618357488vw;
    width: 37.1980676329vw;
  }
}
.top-numbers .is-animation .--car {
  transform: translateX(100vw);
  transition: 1s ease-in-out;
}
.top-numbers .is-animation::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background: #f1efee;
  transition: 1s ease;
  transition-delay: 0.75s;
}
.top-numbers .is-animation.--active .--car {
  transform: translateX(0);
}
.top-numbers .is-animation.--active::after {
  transform: translateX(100%);
}

/* -----------------------------------------------
  carrer
-------------------------------------------------- */
.top-carrer {
  position: relative;
  z-index: 1;
  padding-block: min(14rem, 10.7692307692vw);
  background: #fff;
  border-radius: min(5rem, 3.8461538462vw);
}
@media all and (max-width: 768px) {
  .top-carrer {
    padding-block: 24.154589372vw 0;
    border-radius: 12.077294686vw;
  }
}
@media all and (min-width: 769px) {
  .top-carrer__inner {
    width: min(60rem, 46.1538461538vw);
    position: relative;
    left: 50%;
  }
}
@media all and (max-width: 768px) {
  .top-carrer__inner {
    padding-inline: 9.6618357488vw;
  }
}
.top-carrer .section__title {
  margin-bottom: min(6rem, 4.6153846154vw);
}
@media all and (max-width: 768px) {
  .top-carrer .section__title {
    margin-bottom: 9.6618357488vw;
  }
}
@media all and (min-width: 769px) {
  .top-carrer .section__title .c-ja {
    margin-left: min(9rem, 6.9230769231vw);
  }
}
.top-carrer .c-button {
  margin-left: auto;
  margin-top: 2.5rem;
}
.top-carrer__map {
  pointer-events: none;
}
@media all and (min-width: 769px) {
  .top-carrer__map {
    position: absolute;
    bottom: 0;
    width: min(60rem, 46.1538461538vw);
    height: min(45rem, 34.6153846154vw);
    right: 50%;
  }
}
@media all and (max-width: 768px) {
  .top-carrer__map {
    position: relative;
    width: 100%;
    height: 74.154589372vw;
    margin-top: 10.8695652174vw;
  }
}
.top-carrer__image {
  width: min(270rem, 207.6923076923vw);
  max-width: none;
  position: absolute;
  bottom: 0;
  right: calc(min(123rem, 94.6153846154vw) * -1);
}
@media all and (max-width: 768px) {
  .top-carrer__image {
    width: 124.154589372vw;
    inset-inline: 0;
    margin-left: calc(50% - 124.154589372vw / 2);
  }
}
.top-carrer__icon {
  position: absolute;
  width: min(4.3rem, 3.3076923077vw);
}
@media all and (max-width: 768px) {
  .top-carrer__icon {
    width: 7.0048309179vw;
  }
}
@media all and (min-width: 769px) {
  .top-carrer__icon.pin-01 {
    bottom: min(2.5rem, 1.9230769231vw);
    left: min(3.5rem, 2.6923076923vw);
  }
}
@media all and (max-width: 768px) {
  .top-carrer__icon.pin-01 {
    bottom: 4.8309178744vw;
    left: 9.6618357488vw;
  }
}
@media all and (min-width: 769px) {
  .top-carrer__icon.pin-02 {
    top: min(8.4rem, 6.4615384615vw);
    left: min(17rem, 13.0769230769vw);
  }
}
@media all and (max-width: 768px) {
  .top-carrer__icon.pin-02 {
    top: 14.0096618357vw;
    left: 32.3671497585vw;
  }
}
@media all and (min-width: 769px) {
  .top-carrer__icon.pin-03 {
    top: min(20.4rem, 15.6923076923vw);
    right: min(17.8rem, 13.6923076923vw);
  }
}
@media all and (max-width: 768px) {
  .top-carrer__icon.pin-03 {
    top: 33.3333333333vw;
    right: 26.5700483092vw;
  }
}
@media all and (min-width: 769px) {
  .top-carrer__icon.pin-04 {
    top: 0;
    right: min(10.9rem, 8.3846153846vw);
  }
}
@media all and (max-width: 768px) {
  .top-carrer__icon.pin-04 {
    top: 0;
    right: 15.4589371981vw;
  }
}
@media all and (min-width: 769px) {
  .top-carrer__icon.pin-05 {
    bottom: min(8rem, 6.1538461538vw);
    right: min(4.5rem, 3.4615384615vw);
  }
}
@media all and (max-width: 768px) {
  .top-carrer__icon.pin-05 {
    bottom: 13.2850241546vw;
    right: 4.8309178744vw;
  }
}
.top-carrer .is-animation .top-carrer__icon {
  transform: translateY(-100vh);
  opacity: 0;
  visibility: hidden;
  transition: 0.5s ease;
  transition-delay: 1s;
}
.top-carrer .is-animation.--active .top-carrer__icon {
  transform: translateY(0);
  opacity: 1;
  visibility: visible;
}
.top-carrer .is-animation.--active .pin-01 {
  transition-delay: 1.2s;
}
.top-carrer .is-animation.--active .pin-03 {
  transition-delay: 1.6s;
}
.top-carrer .is-animation.--active .pin-04 {
  transition-delay: 1.4s;
}
.top-carrer .is-animation.--active .pin-05 {
  transition-delay: 1.8s;
}

/* -----------------------------------------------
  about
-------------------------------------------------- */
.top-about {
  padding-block: min(15rem, 11.5384615385vw) min(5rem, 3.8461538462vw);
}
@media all and (max-width: 768px) {
  .top-about {
    padding-block: 24.154589372vw 15.7004830918vw;
  }
}
@media all and (min-width: 769px) {
  .top-about__inner {
    max-width: min(104rem, 80vw);
    margin-inline: auto;
    display: flex;
    justify-content: space-between;
  }
}
@media all and (max-width: 768px) {
  .top-about__inner {
    padding-inline: 9.6618357488vw;
  }
}
@media all and (min-width: 769px) {
  .top-about .section__title .c-ja {
    margin-left: min(2rem, 1.5384615385vw);
  }
}
@media all and (max-width: 768px) {
  .top-about .section__title {
    margin-bottom: 9.6618357488vw;
  }
}
.top-about__text {
  margin-top: 0;
}
@media all and (max-width: 768px) {
  .top-about .c-button {
    margin-left: auto;
  }
}

/* -----------------------------------------------
  ticker
-------------------------------------------------- */
.top-ticker {
  position: relative;
  border-top: 2px solid;
  border-bottom: 2px solid;
  background: #fff;
}
.top-ticker__inner {
  width: 100%;
  height: 3.6rem;
  white-space: nowrap;
  display: flex;
  align-items: center;
  overflow: hidden;
}
.top-ticker__div {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  animation: ticker 30s linear infinite 1s both;
}
.top-ticker__text {
  font-size: 1.4rem;
  font-weight: 800;
  letter-spacing: 0.05em;
}
.top-ticker__text span {
  margin: 0.5em;
}
.top-ticker__image {
  position: absolute;
  top: -3rem;
  width: 8.2rem;
  animation: driving 15s linear infinite 1s both;
}
@keyframes ticker {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}
@keyframes driving {
  0% {
    transform: translateX(100vw);
  }
  100% {
    transform: translateX(-100%);
  }
}

/* -----------------------------------------------
  gallery
-------------------------------------------------- */
.top-gallery {
  margin-top: 2rem;
  margin-bottom: 10rem;
}
.top-gallery__item {
  display: flex;
  align-items: center;
  overflow: hidden;
}
.top-gallery__image {
  width: 160rem;
  max-width: none;
  animation: gallery 30s infinite linear 1s both;
  animation-direction: reverse;
}
@keyframes gallery {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}

/* -----------------------------------------------
  entry：各ページ共用
-------------------------------------------------- */
.recruit-entry {
  position: relative;
  overflow: hidden;
  background: #fbf9f0;
}
@media all and (min-width: 769px) {
  .recruit-entry {
    width: min(120rem, 92.3076923077vw);
    height: min(33rem, 25.3846153846vw);
    margin-inline: auto;
    border-radius: min(5rem, 3.8461538462vw);
  }
}
@media all and (max-width: 768px) {
  .recruit-entry {
    margin-inline: 4.8309178744vw;
    height: 79.7101449275vw;
    border-radius: 12.077294686vw;
  }
}
.recruit-entry__bg {
  position: absolute;
  inset: 0;
  margin: auto;
  width: min(139.5rem, 107.3076923077vw);
  max-width: none;
  margin-left: calc(50% - min(139.5rem, 107.3076923077vw) / 2);
}
@media all and (max-width: 768px) {
  .recruit-entry__bg {
    inset-block: auto -16.9082125604vw;
    width: 125.6038647343vw;
    margin-left: calc(50% - 125.6038647343vw / 2);
  }
}
.recruit-entry__inner {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
}
@media all and (min-width: 769px) {
  .recruit-entry__inner {
    width: min(110rem, 84.6153846154vw);
    margin-inline: auto;
    padding-inline: min(5rem, 3.8461538462vw);
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
}
@media all and (max-width: 768px) {
  .recruit-entry__inner {
    padding-block: 7.2463768116vw 14.4927536232vw;
  }
}
.recruit-entry__title {
  font-size: min(3rem, 2.3076923077vw);
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@media all and (max-width: 768px) {
  .recruit-entry__title {
    font-size: 4.8309178744vw;
    text-align: center;
    margin-bottom: 4.8309178744vw;
  }
}
.recruit-entry__buttons {
  display: flex;
  align-items: center;
  column-gap: min(5rem, 3.8461538462vw);
}
@media all and (max-width: 768px) {
  .recruit-entry__buttons {
    flex-direction: column;
    row-gap: 2.8985507246vw;
  }
}
@media all and (min-width: 769px) {
  .recruit-entry .c-button__link {
    text-decoration: none;
  }
}
.recruit-entry .c-button__link span:not(.c-button__circle) {
  font-size: 2.4rem;
}
@media all and (min-width: 769px) {
  .recruit-entry .c-button__link:hover {
    color: var(--color-text);
  }
  .recruit-entry .c-button__link:hover .c-button__circle .c-icon {
    fill: #000;
    mix-blend-mode: darken;
  }
}
.recruit-entry .c-button__circle {
  width: 5.7rem;
  height: 5.7rem;
}
.recruit-entry .c-button__circle::before {
  background: #5df600;
}
.recruit-entry__text {
  position: absolute;
  inset-inline: 0;
  bottom: calc(min(0.8rem, 0.6153846154vw) * -1);
  margin: auto;
  max-width: min(110rem, 84.6153846154vw);
  z-index: -1;
}
@media all and (max-width: 768px) {
  .recruit-entry__text {
    left: 1.690821256vw;
    max-width: 241.5458937198vw;
  }
}