@charset "UTF-8";

/* ========== 2t-driver reset (merged) ========== */
/* resset.dev • v5.0.2 */

/* # =================================================================
   # Global selectors
   # ================================================================= */

html {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%; /* Prevent adjustments of font size after orientation changes in iOS */
  word-break: normal;
  -moz-tab-size: 4;
  tab-size: 4;
}

*,
::before,
::after {
  background-repeat: no-repeat; /* Set `background-repeat: no-repeat` to all elements and pseudo elements */
  box-sizing: inherit;
}

::before,
::after {
  text-decoration: inherit; /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
  vertical-align: inherit;
}

* {
  padding: 0; /* Reset `padding` and `margin` of all elements */
  margin: 0;
}

/* # =================================================================
     # General elements
     # ================================================================= */

hr {
  overflow: visible; /* Show the overflow in Edge and IE */
  height: 0; /* Add the correct box sizing in Firefox */
  color: inherit; /* Correct border color in Firefox. */
}

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

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

small {
  font-size: 80%; /* Set font-size to 80% in `small` elements */
}

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

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

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

a:active,
a:hover {
  outline-width: 0; /* Remove the outline when hovering in all browsers */
}

code,
kbd,
pre,
samp {
  font-family:
    monospace, monospace; /* Specify the font family of code elements */
}

pre {
  font-size: 1em; /* Correct the odd `em` font sizing in all browsers */
}

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

/* https://gist.github.com/unruthless/413930 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

table {
  border-color: inherit; /* Correct border color in all Chrome, Edge, and Safari. */
  text-indent: 0; /* Remove text indentation in Chrome, Edge, and Safari */
}

iframe {
  border-style: none;
}

/* # =================================================================
     # Forms
     # ================================================================= */

input {
  border-radius: 0;
}

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

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

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

textarea {
  overflow: auto; /* Internet Explorer 11+ */
  resize: vertical; /* Specify textarea resizability */
}

button,
input,
optgroup,
select,
textarea {
  font: inherit; /* Specify font inheritance of form elements */
}

optgroup {
  font-weight: bold; /* Restore the font weight unset by the previous rule */
}

button {
  overflow: visible; /* Address `overflow` set to `hidden` in IE 8/9/10/11 */
}

button,
select {
  text-transform: none; /* Firefox 40+, Internet Explorer 11- */
}

/* Apply cursor pointer to button elements */
button,
[type="button"],
[type="reset"],
[type="submit"],
[role="button"] {
  cursor: pointer;
}

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

/* Replace focus style removed in the border reset above */
button:-moz-focusring,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  outline: 1px dotted ButtonText;
}

button,
  html [type='button'], /* Prevent a WebKit bug where (2) destroys native `audio` and `video`controls in Android 4 */
  [type='reset'],
  [type='submit'] {
  -webkit-appearance: button; /* Correct the inability to style clickable types in iOS */
}

/* Remove the default button styling in all browsers */
button,
input,
select,
textarea {
  background-color: transparent;
  border-style: none;
}

a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus {
  outline-width: 0;
}

/* Style select like a standard input */
select {
  -moz-appearance: none; /* Firefox 36+ */
  -webkit-appearance: none; /* Chrome 41+ */
}

select::-ms-expand {
  display: none; /* Internet Explorer 11+ */
}

select::-ms-value {
  color: currentColor; /* Internet Explorer 11+ */
}

legend {
  border: 0; /* Correct `color` not being inherited in IE 8/9/10/11 */
  color: inherit; /* Correct the color inheritance from `fieldset` elements in IE */
  display: table; /* Correct the text wrapping in Edge and IE */
  max-width: 100%; /* Correct the text wrapping in Edge and IE */
  white-space: normal; /* Correct the text wrapping in Edge and IE */
  max-width: 100%; /* Correct the text wrapping in Edge 18- and IE */
}

::-webkit-file-upload-button {
  /* Correct the inability to style clickable types in iOS and Safari */
  -webkit-appearance: button;
  color: inherit;
  font: inherit; /* Change font properties to `inherit` in Chrome and Safari */
}

/* Replace pointer cursor in disabled elements */
[disabled] {
  cursor: default;
}

/* # =================================================================
     # Specify media element style
     # ================================================================= */

img {
  border-style: none; /* Remove border when inside `a` element in IE 8/9/10 */
}

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

/* # =================================================================
     # Accessibility
     # ================================================================= */

/* Specify the progress cursor of updating elements */
[aria-busy="true"] {
  cursor: progress;
}

/* Specify the pointer cursor of trigger elements */
[aria-controls] {
  cursor: pointer;
}

/* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */
[aria-disabled="true"] {
  cursor: default;
}

*,
::before,
::after {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}

ul,
ol,
li {
  list-style-type: none;
}

a {
  color: inherit;
  text-decoration: none;
  transition: all 0.3s ease;
}

button {
  background-color: transparent;
  border-style: none;
}

img {
  max-width: 100%;
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}

ul,
ol {
  list-style: none;
}

a {
  color: inherit;
  text-decoration: none;
  background-color: transparent;
  -webkit-text-decoration-skip: objects;
  transition: 0.3s;
  -moz-transition: 0.3s;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  -ms-transition: 0.3s;
}

a:hover {
  text-decoration: none;
}

a:active,
a:hover {
  outline-width: 0;
}

address {
  font-style: normal;
}

/* ========== 2t-driver style ========== */
/* リキッドな余白 */
/********************************************************/
/* -------------------------------------------
* 【rem単位の設定】
* 16pxを1remとした時の、1px分の計算用ベース
* padding: calc(24 * var(--px)); →24px相当
* font-size: calc(32 * var(--px)); → 32px相当
* ------------------------------------------- */
:root {
  --px: calc(1rem / 16);
}

/* -------------------------------------------
 * フォントサイズのroot
 * -------------------------------------------*/
:root {
  /* --- 1 to 10 --- */
  --f1: calc(1 * var(--px));
  --f2: calc(2 * var(--px));
  --f3: calc(3 * var(--px));
  --f4: calc(4 * var(--px));
  --f5: calc(5 * var(--px));
  --f6: calc(6 * var(--px));
  --f7: calc(7 * var(--px));
  --f8: calc(8 * var(--px));
  --f9: calc(9 * var(--px));
  --f10: calc(10 * var(--px));
  /* --- 11 to 20 --- */
  --f11: calc(11 * var(--px));
  --f12: calc(12 * var(--px));
  --f13: calc(13 * var(--px));
  --f14: clamp(
    calc(13 * var(--px)),
    calc(14 / 580 * 100vw),
    calc(14 * var(--px))
  );
  --f15: clamp(
    calc(14 * var(--px)),
    calc(15 / 580 * 100vw),
    calc(15 * var(--px))
  );
  --f16: clamp(
    calc(14 * var(--px)),
    calc(16 / 580 * 100vw),
    calc(16 * var(--px))
  );
  --f17: clamp(
    calc(14 * var(--px)),
    calc(17 / 580 * 100vw),
    calc(17 * var(--px))
  );
  --f18: clamp(
    calc(16 * var(--px)),
    calc(18 / 580 * 100vw),
    calc(18 * var(--px))
  );
  --f19: clamp(
    calc(18 * var(--px)),
    calc(19 / 580 * 100vw),
    calc(19 * var(--px))
  );
  --f20: clamp(
    calc(18 * var(--px)),
    calc(20 / 580 * 100vw),
    calc(20 * var(--px))
  );
  /* --- 21 to 30 --- */
  --f21: clamp(
    calc(18 * var(--px)),
    calc(21 / 580 * 100vw),
    calc(21 * var(--px))
  );
  --f22: clamp(
    calc(18 * var(--px)),
    calc(22 / 580 * 100vw),
    calc(22 * var(--px))
  );
  --f23: clamp(
    calc(18 * var(--px)),
    calc(23 / 580 * 100vw),
    calc(23 * var(--px))
  );
  --f24: clamp(
    calc(17 * var(--px)),
    calc(24 / 580 * 100vw),
    calc(24 * var(--px))
  );
  --f25: clamp(
    calc(18 * var(--px)),
    calc(25 / 580 * 100vw),
    calc(25 * var(--px))
  );
  --f26: clamp(
    calc(18 * var(--px)),
    calc(26 / 580 * 100vw),
    calc(26 * var(--px))
  );
  --f27: clamp(
    calc(18 * var(--px)),
    calc(27 / 580 * 100vw),
    calc(27 * var(--px))
  );
  --f28: clamp(
    calc(18 * var(--px)),
    calc(28 / 580 * 100vw),
    calc(28 * var(--px))
  );
  --f29: clamp(
    calc(18 * var(--px)),
    calc(29 / 580 * 100vw),
    calc(29 * var(--px))
  );
  --f30: clamp(
    calc(18 * var(--px)),
    calc(30 / 580 * 100vw),
    calc(30 * var(--px))
  );
  /* --- 31 to 40 --- */
  --f31: clamp(
    calc(18 * var(--px)),
    calc(31 / 580 * 100vw),
    calc(31 * var(--px))
  );
  --f32: clamp(
    calc(22 * var(--px)),
    calc(32 / 580 * 100vw),
    calc(32 * var(--px))
  );
  --f35: clamp(
    calc(22 * var(--px)),
    calc(35 / 580 * 100vw),
    calc(35 * var(--px))
  );
  --f36: clamp(
    calc(22 * var(--px)),
    calc(36 / 580 * 100vw),
    calc(36 * var(--px))
  );
  --f37: clamp(
    calc(20 * var(--px)),
    calc(37 / 580 * 100vw),
    calc(37 * var(--px))
  );
  --f38: clamp(
    calc(20 * var(--px)),
    calc(38 / 580 * 100vw),
    calc(38 * var(--px))
  );
  --f39: clamp(
    calc(20 * var(--px)),
    calc(39 / 580 * 100vw),
    calc(39 * var(--px))
  );
  --f40: clamp(
    calc(24 * var(--px)),
    calc(40 / 580 * 100vw),
    calc(40 * var(--px))
  );
  /* --- 41 to 50 --- */
  --f41: clamp(
    calc(24 * var(--px)),
    calc(41 / 580 * 100vw),
    calc(41 * var(--px))
  );
  --f42: clamp(
    calc(24 * var(--px)),
    calc(42 / 580 * 100vw),
    calc(42 * var(--px))
  );
  --f43: clamp(
    calc(24 * var(--px)),
    calc(43 / 580 * 100vw),
    calc(43 * var(--px))
  );
  --f44: clamp(
    calc(24 * var(--px)),
    calc(44 / 580 * 100vw),
    calc(44 * var(--px))
  );
  --f45: clamp(
    calc(24 * var(--px)),
    calc(45 / 580 * 100vw),
    calc(45 * var(--px))
  );
  --f46: clamp(
    calc(24 * var(--px)),
    calc(46 / 580 * 100vw),
    calc(46 * var(--px))
  );
  --f47: clamp(
    calc(24 * var(--px)),
    calc(47 / 580 * 100vw),
    calc(47 * var(--px))
  );
  --f48: clamp(
    calc(23 * var(--px)),
    calc(48 / 580 * 100vw),
    calc(48 * var(--px))
  );
  --f49: clamp(
    calc(25 * var(--px)),
    calc(49 / 580 * 100vw),
    calc(49 * var(--px))
  );
  --f50: clamp(
    calc(30 * var(--px)),
    calc(50 / 580 * 100vw),
    calc(50 * var(--px))
  );
  /* --- 51 to 60 --- */
  --f51: clamp(
    calc(30 * var(--px)),
    calc(51 / 580 * 100vw),
    calc(51 * var(--px))
  );
  --f52: clamp(
    calc(30 * var(--px)),
    calc(52 / 580 * 100vw),
    calc(52 * var(--px))
  );
  --f53: clamp(
    calc(30 * var(--px)),
    calc(53 / 580 * 100vw),
    calc(53 * var(--px))
  );
  --f54: clamp(
    calc(30 * var(--px)),
    calc(54 / 580 * 100vw),
    calc(54 * var(--px))
  );
  --f55: clamp(
    calc(30 * var(--px)),
    calc(55 / 580 * 100vw),
    calc(55 * var(--px))
  );
  --f56: clamp(
    calc(30 * var(--px)),
    calc(56 / 580 * 100vw),
    calc(56 * var(--px))
  );
  --f57: clamp(
    calc(30 * var(--px)),
    calc(57 / 580 * 100vw),
    calc(57 * var(--px))
  );
  --f58: clamp(
    calc(30 * var(--px)),
    calc(58 / 580 * 100vw),
    calc(58 * var(--px))
  );
  --f59: clamp(
    calc(30 * var(--px)),
    calc(59 / 580 * 100vw),
    calc(59 * var(--px))
  );
  --f60: clamp(
    calc(30 * var(--px)),
    calc(60 / 580 * 100vw),
    calc(60 * var(--px))
  );
  /* --- 61 to 70 --- */
  --f61: clamp(
    calc(30 * var(--px)),
    calc(61 / 580 * 100vw),
    calc(61 * var(--px))
  );
  --f62: clamp(
    calc(30 * var(--px)),
    calc(62 / 580 * 100vw),
    calc(62 * var(--px))
  );
  --f63: clamp(
    calc(30 * var(--px)),
    calc(63 / 580 * 100vw),
    calc(63 * var(--px))
  );
  --f64: clamp(
    calc(30 * var(--px)),
    calc(64 / 580 * 100vw),
    calc(64 * var(--px))
  );
  --f65: clamp(
    calc(30 * var(--px)),
    calc(65 / 580 * 100vw),
    calc(65 * var(--px))
  );
  --f66: clamp(
    calc(30 * var(--px)),
    calc(66 / 580 * 100vw),
    calc(66 * var(--px))
  );
  --f67: clamp(
    calc(30 * var(--px)),
    calc(67 / 580 * 100vw),
    calc(67 * var(--px))
  );
  --f68: clamp(
    calc(30 * var(--px)),
    calc(68 / 580 * 100vw),
    calc(68 * var(--px))
  );
  --f69: clamp(
    calc(30 * var(--px)),
    calc(69 / 580 * 100vw),
    calc(69 * var(--px))
  );
  --f70: clamp(
    calc(30 * var(--px)),
    calc(70 / 580 * 100vw),
    calc(70 * var(--px))
  );
  /* --- 71 to 80 --- */
  --f71: clamp(
    calc(30 * var(--px)),
    calc(71 / 580 * 100vw),
    calc(71 * var(--px))
  );
  --f72: clamp(
    calc(30 * var(--px)),
    calc(72 / 580 * 100vw),
    calc(72 * var(--px))
  );
  --f73: clamp(
    calc(30 * var(--px)),
    calc(73 / 580 * 100vw),
    calc(73 * var(--px))
  );
  --f74: clamp(
    calc(30 * var(--px)),
    calc(74 / 580 * 100vw),
    calc(74 * var(--px))
  );
  --f75: clamp(
    calc(30 * var(--px)),
    calc(75 / 580 * 100vw),
    calc(75 * var(--px))
  );
  --f76: clamp(
    calc(30 * var(--px)),
    calc(76 / 580 * 100vw),
    calc(76 * var(--px))
  );
  --f77: clamp(
    calc(30 * var(--px)),
    calc(77 / 580 * 100vw),
    calc(77 * var(--px))
  );
  --f78: clamp(
    calc(30 * var(--px)),
    calc(78 / 580 * 100vw),
    calc(78 * var(--px))
  );
  --f79: clamp(
    calc(30 * var(--px)),
    calc(79 / 580 * 100vw),
    calc(79 * var(--px))
  );
  --f80: clamp(
    calc(30 * var(--px)),
    calc(80 / 580 * 100vw),
    calc(80 * var(--px))
  );
  /* --- 81 to 90 --- */
  --f81: clamp(
    calc(30 * var(--px)),
    calc(81 / 580 * 100vw),
    calc(81 * var(--px))
  );
  --f82: clamp(
    calc(30 * var(--px)),
    calc(82 / 580 * 100vw),
    calc(82 * var(--px))
  );
  --f83: clamp(
    calc(30 * var(--px)),
    calc(83 / 580 * 100vw),
    calc(83 * var(--px))
  );
  --f84: clamp(
    calc(30 * var(--px)),
    calc(84 / 580 * 100vw),
    calc(84 * var(--px))
  );
  --f85: clamp(
    calc(30 * var(--px)),
    calc(85 / 580 * 100vw),
    calc(85 * var(--px))
  );
  --f86: clamp(
    calc(30 * var(--px)),
    calc(86 / 580 * 100vw),
    calc(86 * var(--px))
  );
  --f87: clamp(
    calc(30 * var(--px)),
    calc(87 / 580 * 100vw),
    calc(87 * var(--px))
  );
  --f88: clamp(
    calc(30 * var(--px)),
    calc(88 / 580 * 100vw),
    calc(88 * var(--px))
  );
  --f89: clamp(
    calc(30 * var(--px)),
    calc(89 / 580 * 100vw),
    calc(89 * var(--px))
  );
  --f90: clamp(
    calc(30 * var(--px)),
    calc(90 / 580 * 100vw),
    calc(90 * var(--px))
  );
  /* --- 91 to 100 --- */
  --f91: clamp(
    calc(30 * var(--px)),
    calc(91 / 580 * 100vw),
    calc(91 * var(--px))
  );
  --f92: clamp(
    calc(30 * var(--px)),
    calc(92 / 580 * 100vw),
    calc(92 * var(--px))
  );
  --f93: clamp(
    calc(30 * var(--px)),
    calc(93 / 580 * 100vw),
    calc(93 * var(--px))
  );
  --f94: clamp(
    calc(30 * var(--px)),
    calc(94 / 580 * 100vw),
    calc(94 * var(--px))
  );
  --f95: clamp(
    calc(30 * var(--px)),
    calc(95 / 580 * 100vw),
    calc(95 * var(--px))
  );
  --f96: clamp(
    calc(30 * var(--px)),
    calc(96 / 580 * 100vw),
    calc(96 * var(--px))
  );
  --f97: clamp(
    calc(30 * var(--px)),
    calc(97 / 580 * 100vw),
    calc(97 * var(--px))
  );
  --f98: clamp(
    calc(30 * var(--px)),
    calc(98 / 580 * 100vw),
    calc(98 * var(--px))
  );
  --f99: clamp(
    calc(30 * var(--px)),
    calc(99 / 580 * 100vw),
    calc(99 * var(--px))
  );
  --f100: clamp(
    calc(30 * var(--px)),
    calc(100 / 580 * 100vw),
    calc(100 * var(--px))
  );
  /* --- 101 to 110 --- */
  --f101: clamp(
    calc(30 * var(--px)),
    calc(101 / 580 * 100vw),
    calc(101 * var(--px))
  );
  --f102: clamp(
    calc(30 * var(--px)),
    calc(102 / 580 * 100vw),
    calc(102 * var(--px))
  );
  --f103: clamp(
    calc(30 * var(--px)),
    calc(103 / 580 * 100vw),
    calc(103 * var(--px))
  );
  --f104: clamp(
    calc(30 * var(--px)),
    calc(104 / 580 * 100vw),
    calc(104 * var(--px))
  );
  --f105: clamp(
    calc(30 * var(--px)),
    calc(105 / 580 * 100vw),
    calc(105 * var(--px))
  );
  --f106: clamp(
    calc(30 * var(--px)),
    calc(106 / 580 * 100vw),
    calc(106 * var(--px))
  );
  --f107: clamp(
    calc(30 * var(--px)),
    calc(107 / 580 * 100vw),
    calc(107 * var(--px))
  );
  --f108: clamp(
    calc(30 * var(--px)),
    calc(108 / 580 * 100vw),
    calc(108 * var(--px))
  );
  --f109: clamp(
    calc(30 * var(--px)),
    calc(109 / 580 * 100vw),
    calc(109 * var(--px))
  );
  --f110: clamp(
    calc(30 * var(--px)),
    calc(110 / 580 * 100vw),
    calc(110 * var(--px))
  );
  /* --- 111 to 120 --- */
  --f111: clamp(
    calc(30 * var(--px)),
    calc(111 / 580 * 100vw),
    calc(111 * var(--px))
  );
  --f112: clamp(
    calc(30 * var(--px)),
    calc(112 / 580 * 100vw),
    calc(112 * var(--px))
  );
  --f113: clamp(
    calc(30 * var(--px)),
    calc(113 / 580 * 100vw),
    calc(113 * var(--px))
  );
  --f114: clamp(
    calc(30 * var(--px)),
    calc(114 / 580 * 100vw),
    calc(114 * var(--px))
  );
  --f115: clamp(
    calc(30 * var(--px)),
    calc(115 / 580 * 100vw),
    calc(115 * var(--px))
  );
  --f116: clamp(
    calc(30 * var(--px)),
    calc(116 / 580 * 100vw),
    calc(116 * var(--px))
  );
  --f117: clamp(
    calc(30 * var(--px)),
    calc(117 / 580 * 100vw),
    calc(117 * var(--px))
  );
  --f118: clamp(
    calc(30 * var(--px)),
    calc(118 / 580 * 100vw),
    calc(118 * var(--px))
  );
  --f119: clamp(
    calc(30 * var(--px)),
    calc(119 / 580 * 100vw),
    calc(119 * var(--px))
  );
  --f120: clamp(
    calc(30 * var(--px)),
    calc(120 / 580 * 100vw),
    calc(120 * var(--px))
  );
}

/* -------------------------------------------
 * メインコンテンツ幅
 * -------------------------------------------*/
:root {
  --main-width: calc(570 * var(--px));
}

/* -------------------------------------------
* カラー変数
* -------------------------------------------*/
:root {
  --orange: #ff5c36;
  --pink: #ff3fe2;
  --gray: #e7e4e4;
}

/* -------------------------------------------
 * フォントファミリー
 * -------------------------------------------*/
:root {
  --shippori: "Shippori Antique", sans-serif;
  --inter: "Inter", sans-serif;
}

/********************************************************/
html {
  font-size: 100%;
  -webkit-tap-highlight-color: transparent;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

body {
  overflow-x: clip;
  font-size: var(--f24);
  letter-spacing: -0.06em;
  color: #000;
  background: #fff;
  font-family: var(--shippori);
  font-weight: normal;
  height: 100%;
  min-height: 100vh;
  margin: 0;
  padding: 0;
  line-height: 1.67;
  width: 100%;
}

/* -------------------------------------------
 * 共通スタイル
 * -------------------------------------------*/
a[href^="tel:"] {
  pointer-events: none;
}
@media (max-width: 834px) {
  a[href^="tel:"] {
    pointer-events: all;
  }
}

.inner--small {
  width: 86%;
  margin-inline: auto;
}

.inner--wide {
  width: 92%;
  margin-inline: auto;
}

/* -------------------------------------------
 * 改行
 * -------------------------------------------*/
.no-scroll {
  overflow: hidden;
  height: 100svh;
}

.br-sp {
  display: none;
}
@media (max-width: 834px) {
  .br-sp {
    display: block;
  }
}

.no-br-sp {
  display: block;
}
@media (max-width: 834px) {
  .no-br-sp {
    display: none;
  }
}

/* -------------------------------------------
 * 見出し
 * -------------------------------------------*/
.sec__title-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  line-height: 1.8;
  margin-bottom: 4rem;
}
@media (max-width: 834px) {
  .sec__title-wrap {
    margin-bottom: 2rem;
  }
}

.sec__title--ja {
  font-size: var(--f24);
}

.sec__title--en {
  font-size: var(--f18);
}

.sec__title-wrap--left {
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.sec__title-wrap--center {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

/* -------------------------------------------
 * ボタン、リンク
 * -------------------------------------------*/
/*  ボタン共通 */
.base-button {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 1.2em 0.5em;
  border-radius: 100vmax;
  border: solid 1px #000;
  background: #000;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  line-height: 1.2;
  font-size: var(--f20);
  position: relative;
  -webkit-transition:
    background 0.3s cubic-bezier(0.08, 0.355, 0.11, 1),
    color 0.3s cubic-bezier(0.08, 0.355, 0.11, 1),
    -webkit-transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition:
    background 0.3s cubic-bezier(0.08, 0.355, 0.11, 1),
    color 0.3s cubic-bezier(0.08, 0.355, 0.11, 1),
    -webkit-transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition:
    transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275),
    background 0.3s cubic-bezier(0.08, 0.355, 0.11, 1),
    color 0.3s cubic-bezier(0.08, 0.355, 0.11, 1);
  transition:
    transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275),
    background 0.3s cubic-bezier(0.08, 0.355, 0.11, 1),
    color 0.3s cubic-bezier(0.08, 0.355, 0.11, 1),
    -webkit-transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
@media (any-hover: hover) {
  .base-button:hover {
    -webkit-transition: -webkit-transform 0.2s
      cubic-bezier(0.175, 0.885, 0.32, 1.275);
    transition: -webkit-transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    transition: transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    transition:
      transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275),
      -webkit-transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
}

.button--center {
  margin-inline: auto;
}

/* -------------------------------------------
 * ヘッダー
 * -------------------------------------------*/
.header__logo {
  top: calc(27 * var(--px));
  left: calc(30 * var(--px));
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: calc(212 * var(--px));
  height: auto;
  display: block;
  position: relative;
  z-index: 999;
}

.header__logo-img {
  width: 100%;
  height: auto;
}

/* -------------------------------------------
 * フッター
 * -------------------------------------------*/
.footer {
  padding-top: min(20.5479452055vw, 120 * var(--px));
  z-index: 10;
  background: var(--orange);
  position: relative;
}
.footer::before {
  background: url(../img/2t-driver/footer_bg.webp) no-repeat center center/cover;
  content: "";
  display: inline-block;
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
}
.footer::after {
  background: #000;
  content: "";
  display: inline-block;
  position: absolute;
  width: 100%;
  height: auto;
  aspect-ratio: 750/67;
  top: calc(-1 * var(--px));
  left: 0;
  z-index: -1;
  pointer-events: none;
  clip-path: polygon(0 0, 100% 0, 0 100%);
}

.footer__copy {
  color: #fff;
  text-align: center;
  font-size: var(--f15);
  font-family: var(--inter);
  background: #000;
  margin-top: min(9.7602739726vw, 57 * var(--px));
  padding-block: 2.5em;
}

.footer__bg-se {
  position: absolute;
  width: 100%;
  height: auto;
  top: 37.5%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: -1;
  pointer-events: none;
}

.footer__link {
  position: relative;
  margin-top: -46%;
  display: block;
}

.footer__entry-img {
  position: absolute;
  width: 48%;
  right: 6%;
  bottom: -5%;
}

.footer__main-img {
  width: 70%;
  margin-inline: auto;
  margin-top: -23%;
}

/* -------------------------------------------
 * レイアウト
 * -------------------------------------------*/
.main {
  padding-right: calc(-10 * var(--px));
  max-width: var(--main-width);
  margin-inline: auto;
  background: #000;
  position: relative;
  z-index: 500;
  position: relative;
}
.main::before,
.main::after {
  background: rgba(255, 255, 255, 0.5);
  content: "";
  display: inline-block;
  position: absolute;
  width: calc(10 * var(--px));
  height: 100%;
  top: 0;
  z-index: 1;
  pointer-events: none;
}
@media (max-width: 581px) {
  .main::before,
  .main::after {
    display: none;
  }
}
.main::before {
  left: calc(-10 * var(--px));
}
.main::after {
  right: calc(-10 * var(--px));
}

.main__inner {
  overflow: hidden;
}

.pc-content {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 0;
  background-color: var(--orange);
  --scale: 0;
  --opacity: 1;
}
.pc-content::after {
  background: #000;
  content: "";
  display: inline-block;
  position: absolute;
  width: calc((100% - var(--main-width)) / 2);
  height: 100%;
  top: 0;
  right: 0;
  z-index: -1;
  pointer-events: none;
}
.pc-content::before {
  background: url(../img/2t-driver/info_bg.webp) no-repeat center center/cover;
  content: "";
  display: inline-block;
  position: absolute;
  width: calc((100% - var(--main-width)) / 2);
  height: 100%;
  top: 0;
  left: 0;
  z-index: -1;
  pointer-events: none;
  -webkit-transform: scale(var(--scale));
  transform: scale(var(--scale));
  opacity: var(--opacity);
}
@media (max-width: 1200px) {
  .pc-content::before {
    display: none;
  }
}

@media (max-width: 1200px) {
  .pc-content__inner {
    max-width: var(--main-width);
    width: 100%;
    margin-inline: auto;
    position: relative;
    z-index: 500;
  }
}

.aside-info,
.aside-nav {
  width: calc((100% - var(--main-width)) / 2);
  height: 100%;
  position: absolute;
  top: 0;
}

.aside-info {
  left: 0;
}

.aside-nav {
  right: 0;
}

/* -------------------------------------------
 * PC時インフォサイド
 * -------------------------------------------*/
.aside-info__content {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(35 * var(--px));
  width: 86%;
  container-type: inline-size;
}
@media (max-width: 1399px) {
  .aside-info__content {
    width: 90%;
  }
}

.aside-info__visual {
  width: 100%;
}

.aside-info__visual-text--01 {
  width: 88.8%;
}
@media (max-width: 1200px) {
  .aside-info__visual-text--01 {
    display: none;
  }
}

.aside-info__visual-text-shake {
  width: 100%;
}

.aside-info__visual-text--02 {
  width: 100%;
  margin-block: -10% -17%;
}

.aside-info__visual-text--03 {
  width: 48.9%;
  margin-left: auto;
  margin-right: 8%;
}

.aside-info__button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.aside-info__links {
  font-size: var(--f14);
  color: #fff;
  gap: 1.5em;
  position: fixed;
  bottom: calc(27 * var(--px));
  left: calc(30 * var(--px));
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  z-index: 100;
}
@media (max-width: 1100px) {
  .aside-info__links {
    color: #000;
  }
}
.aside-info__links li:not(:last-child) {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1.5em;
}
.aside-info__links li:not(:last-child)::after {
  background: #fff;
  content: "";
  display: block;
  width: 1px;
  height: 1em;
}
@media (max-width: 1100px) {
  .aside-info__links li:not(:last-child)::after {
    background: #000;
  }
}

/* -------------------------------------------
 * PC時ナビサイド
 * -------------------------------------------*/
.header__nav-list {
  width: 62.2%;
  height: auto;
  aspect-ratio: 360/460;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-direction: column;
  flex-direction: column;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  container-type: inline-size;
  z-index: 1;
}
@media (max-width: 1399px) {
  .header__nav-list {
    width: 80%;
  }
}
@media (max-width: 1200px) {
  .header__nav-list {
    aspect-ratio: 647/594;
  }
}

.header__nav-link {
  text-align: center;
  display: block;
  overflow: hidden;
  height: 16.6cqi;
  width: auto;
}
.header__nav-link img {
  display: block;
  height: 100%;
  width: auto;
}

.pc-content .header__nav-link img {
  width: 100%;
  height: auto;
  max-width: none;
  width: auto;
  height: 100%;
}
.pc-content .header__nav-link {
  -webkit-transition:
    background 0.3s cubic-bezier(0.08, 0.355, 0.11, 1),
    color 0.3s cubic-bezier(0.08, 0.355, 0.11, 1);
  transition:
    background 0.3s cubic-bezier(0.08, 0.355, 0.11, 1),
    color 0.3s cubic-bezier(0.08, 0.355, 0.11, 1);
}
@media (any-hover: hover) {
  .pc-content .header__nav-link:hover {
    overflow: visible;
  }
  .pc-content .header__nav-link:hover img {
    -webkit-animation: shake-infinite 480ms linear infinite;
    animation: shake-infinite 480ms linear infinite;
  }
}

.aside-nav__sns-links {
  position: fixed;
  top: calc(23 * var(--px));
  right: calc(16 * var(--px));
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(14 * var(--px));
}
@media (max-width: 1200px) {
  .aside-nav__sns-links {
    display: none;
  }
}
.aside-nav__sns-links > li:nth-child(1) .aside-nav__sns-links-item img {
  width: calc(23 * var(--px));
}
.aside-nav__sns-links > li:nth-child(2) .aside-nav__sns-links-item img {
  width: calc(17 * var(--px));
}
.aside-nav__sns-links > li:nth-child(3) .aside-nav__sns-links-item img {
  width: calc(25 * var(--px));
}

@media (max-width: 1200px) {
  .aside-nav__bg-items {
    display: none;
  }
}

.aside-nav__bg-item {
  position: absolute;
  opacity: 0.6;
  z-index: 0;
  pointer-events: none;
}

.aside-nav__bg-item--01 {
  -webkit-transform: rotate(-11.96deg);
  transform: rotate(-11.96deg);
  width: 50%;
  top: -4%;
  right: 11%;
  max-width: calc(307 * var(--px));
}

.aside-nav__bg-item--02 {
  -webkit-transform: rotate(6.28deg);
  transform: rotate(6.28deg);
  width: 35%;
  top: 18%;
  left: -2%;
  max-width: calc(212 * var(--px));
}

.aside-nav__bg-item--03 {
  -webkit-transform: rotate(17.4deg);
  transform: rotate(17.4deg);
  width: 36%;
  right: -10%;
  top: 33%;
  max-width: calc(269 * var(--px));
}

.aside-nav__bg-item--04 {
  -webkit-transform: rotate(-9.45deg);
  transform: rotate(-9.45deg);
  width: 45%;
  bottom: 13%;
  left: -8%;
  max-width: calc(271 * var(--px));
}

.aside-nav__bg-item--05 {
  -webkit-transform: rotate(5.65deg);
  transform: rotate(5.65deg);
  width: 51%;
  max-width: calc(300 * var(--px));
  bottom: -5%;
  right: -4%;
  max-width: 260px;
}

/* -------------------------------------------
 * PC/SP時ヘッダー
 * -------------------------------------------*/
@media (max-width: 1200px) {
  .pc-content .header {
    display: none;
  }
}

.sp-content {
  display: none;
}
@media (max-width: 1200px) {
  .sp-content {
    display: block;
  }
}

.sp-content > * {
  display: none;
}
.sp-content > * .header__logo {
  display: none;
  position: static;
  max-width: calc(291 * var(--px));
  width: 42%;
}
@media (max-width: 1200px) {
  .sp-content > * .header__logo {
    display: block;
  }
}

.header-sp {
  display: contents;
}
@media (max-width: 1200px) {
  .header-sp {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    z-index: 100;
    padding-top: calc(15 * var(--px));
    padding-inline: calc(15 * var(--px));
  }
}

.header-sp__buttons {
  display: none;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: calc(8 * var(--px));
  width: 41%;
}
@media (max-width: 1200px) {
  .header-sp__buttons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.header-sp__button {
  aspect-ratio: 150/60;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-radius: 100vmax;
  container-type: inline-size;
}

.header-sp__button--entry {
  background: var(--pink);
}
.header-sp__button--entry img {
  width: 60.6cqi;
  height: auto;
}

.aside-info__visual-text {
  position: relative;
  z-index: 1;
}

.header-sp__button--menu {
  background: #fff;
}
.header-sp__button--menu img {
  width: 51.3cqi;
  height: auto;
}

/* SPメニュー全面は clip-path で開閉（PCでは DOM をまたぐだけ） */
.header__menu-panel {
  display: contents;
}

@media (max-width: 1200px) {
  .sp-content .header__menu-panel {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    position: fixed;
    z-index: 150;
    inset: 0;
    width: 100%;
    height: 100dvh;
    margin: 0;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    -webkit-overflow-scrolling: touch;
    padding-bottom: calc(30 * var(--px));
    background-color: var(--orange);
    clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
    visibility: hidden;
    pointer-events: none;
    -webkit-transition:
      clip-path 0.14s ease-in,
      visibility 0s linear 0.14s;
    transition:
      clip-path 0.14s ease-in,
      visibility 0s linear 0.14s;
  }
  .sp-content .header.is-active .header__menu-panel {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    -webkit-transition:
      clip-path 0.3s cubic-bezier(0.19, 1, 0.22, 1),
      visibility 0s;
    transition:
      clip-path 0.3s cubic-bezier(0.19, 1, 0.22, 1),
      visibility 0s;
    visibility: visible;
    pointer-events: auto;
  }
}
.sp-content .header {
  display: block;
  position: absolute;
  z-index: 4;
  width: 100%;
  background: transparent;
}
@media (max-width: 1200px) {
  .sp-content .header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}
.sp-content .header-sp {
  position: relative;
  z-index: 200;
  width: 100%;
  background: transparent;
  max-width: calc(560 * var(--px));
  opacity: 1;
  visibility: visible;
  pointer-events: all;
  -webkit-transition:
    opacity 0.3s,
    visibility 0.3s;
  transition:
    opacity 0.3s,
    visibility 0.3s;
  position: relative;
  z-index: 999;
  position: fixed;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
.sp-content .header-sp.is-scrolled {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.sp-content .aside-nav {
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2;
}
.sp-content .aside-info {
  -webkit-box-ordinal-group: 4;
  -ms-flex-order: 3;
  order: 3;
}
.sp-content .header__nav-list {
  -webkit-box-ordinal-group: 5;
  -ms-flex-order: 4;
  order: 4;
}
.sp-content .aside-info,
.sp-content .aside-info__content,
.sp-content .aside-nav,
.sp-content .header__nav-list,
.sp-content .aside-info__links {
  position: static;
  -webkit-transform: unset;
  transform: unset;
}
.sp-content .aside-info,
.sp-content .aside-nav {
  width: auto;
  display: block;
}
.sp-content .aside-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.sp-content .aside-info__links {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.sp-content .aside-info {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.sp-content .aside-info__visual {
  width: 100%;
}
.sp-content .header__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.sp-content .aside-nav {
  margin-top: 18vw;
  height: auto;
  position: relative;
  z-index: 2;
}
.sp-content .header__nav-list {
  max-width: none;
}
.sp-content .aside-info {
  margin-top: 12vw;
  position: relative;
  z-index: 1;
}
.sp-content .aside-info__links {
  margin-top: 3em;
}
@media (max-width: 834px) {
  .sp-content .aside-info__links {
    font-size: calc(12 * var(--px));
  }
}

/* -------------------------------------------
 * ホバーでズーム
 * -------------------------------------------*/
.hover-zoom {
  -webkit-transition: 0.1s;
  transition: 0.1s;
}
@media (any-hover: hover) {
  .hover-zoom:hover .hover-zoom-bg {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
}

.hover-zoom-bg {
  -webkit-transition: -webkit-transform 0.1s;
  transition: -webkit-transform 0.1s;
  transition: transform 0.1s;
  transition:
    transform 0.1s,
    -webkit-transform 0.1s;
}

/* -------------------------------------------
 * メニュー閉じるボタン
 * -------------------------------------------*/
.pc-content .header__close-button {
  display: none;
}

@media (max-width: 1200px) {
  .sp-content .header__close-button {
    position: absolute;
    right: 0;
    top: 100%;
    z-index: 2;
    width: calc(69 * var(--px));
    height: calc(69 * var(--px));
    padding: 0;
    border: none;
    border-radius: calc(1 * var(--px));
    background: rgba(0, 0, 0, 0.2);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    cursor: pointer;
    color: #000;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
  .sp-content .header.is-active .header__close-button {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
  .sp-content .header__close-button-icon {
    font-family: "Material Symbols Outlined";
    font-size: calc(53 * var(--px));
    font-weight: normal;
    font-style: normal;
    line-height: 1;
    letter-spacing: calc(3.5 * var(--px));
    font-variation-settings:
      "FILL" 0,
      "wght" 200,
      "GRAD" 0,
      "opsz" 24;
    display: inline-block;
    -webkit-font-smoothing: antialiased;
  }
}

/* -------------------------------------------
 * アニメーション　/ ホバーでズーム
 * -------------------------------------------*/
.hover-zoom {
  -webkit-transition: -webkit-transform 0.1s;
  transition: -webkit-transform 0.1s;
  transition: transform 0.1s;
  transition:
    transform 0.1s,
    -webkit-transform 0.1s;
}
@media (any-hover: hover) {
  .hover-zoom:hover {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
}

/* -------------------------------------------
 * アニメーション　/ SE揺れ
 * -------------------------------------------*/
/* 常時ガタガタ（ループ） */
.shake-infinite {
  -webkit-animation-name: shake-infinite;
  animation-name: shake-infinite;
  -webkit-animation-duration: 480ms;
  animation-duration: 480ms;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-delay: 0s;
  animation-delay: 0s;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}

@-webkit-keyframes shake-infinite {
  0%,
  100% {
    -webkit-transform: translate(0, 0) rotate(0);
    transform: translate(0, 0) rotate(0);
  }
  4% {
    -webkit-transform: translate(0.5px, -0.95px) rotate(0.5deg);
    transform: translate(0.5px, -0.95px) rotate(0.5deg);
  }
  8% {
    -webkit-transform: translate(2.8px, 1.6px) rotate(1.75deg);
    transform: translate(2.8px, 1.6px) rotate(1.75deg);
  }
  12% {
    -webkit-transform: translate(3px, 0.55px) rotate(0.55deg);
    transform: translate(3px, 0.55px) rotate(0.55deg);
  }
  16% {
    -webkit-transform: translate(0.8px, -0.8px) rotate(0.65deg);
    transform: translate(0.8px, -0.8px) rotate(0.65deg);
  }
  20% {
    -webkit-transform: translate(-0.8px, -1.75px) rotate(1.8deg);
    transform: translate(-0.8px, -1.75px) rotate(1.8deg);
  }
  24% {
    -webkit-transform: translate(-0.55px, 0.8px) rotate(1.7deg);
    transform: translate(-0.55px, 0.8px) rotate(1.7deg);
  }
  28% {
    -webkit-transform: translate(-1.9px, 1.75px) rotate(1.9deg);
    transform: translate(-1.9px, 1.75px) rotate(1.9deg);
  }
  32% {
    -webkit-transform: translate(3.1px, 1.5px) rotate(2deg);
    transform: translate(3.1px, 1.5px) rotate(2deg);
  }
  36% {
    -webkit-transform: translate(0.5px, -0.8px) rotate(-0.65deg);
    transform: translate(0.5px, -0.8px) rotate(-0.65deg);
  }
  40% {
    -webkit-transform: translate(0.95px, 1.9px) rotate(0.75deg);
    transform: translate(0.95px, 1.9px) rotate(0.75deg);
  }
  44% {
    -webkit-transform: translate(2.8px, -0.8px) rotate(0.5deg);
    transform: translate(2.8px, -0.8px) rotate(0.5deg);
  }
  48% {
    -webkit-transform: translate(-0.95px, 0.55px) rotate(2deg);
    transform: translate(-0.95px, 0.55px) rotate(2deg);
  }
  52% {
    -webkit-transform: translate(-1.75px, 0.8px) rotate(1.75deg);
    transform: translate(-1.75px, 0.8px) rotate(1.75deg);
  }
  56% {
    -webkit-transform: translate(0.8px, 0.55px) rotate(-0.75deg);
    transform: translate(0.8px, 0.55px) rotate(-0.75deg);
  }
  60% {
    -webkit-transform: translate(1.9px, 2.15px) rotate(1.8deg);
    transform: translate(1.9px, 2.15px) rotate(1.8deg);
  }
  64% {
    -webkit-transform: translate(0.7px, 0.8px) rotate(0.65deg);
    transform: translate(0.7px, 0.8px) rotate(0.65deg);
  }
  68% {
    -webkit-transform: translate(2.15px, -1.9px) rotate(-0.9deg);
    transform: translate(2.15px, -1.9px) rotate(-0.9deg);
  }
  72% {
    -webkit-transform: translate(1.75px, 3px) rotate(1.6deg);
    transform: translate(1.75px, 3px) rotate(1.6deg);
  }
  76% {
    -webkit-transform: translate(-2.15px, 0.55px) rotate(-0.5deg);
    transform: translate(-2.15px, 0.55px) rotate(-0.5deg);
  }
  80% {
    -webkit-transform: translate(0.5px, -0.95px) rotate(1.75deg);
    transform: translate(0.5px, -0.95px) rotate(1.75deg);
  }
  84% {
    -webkit-transform: translate(3.2px, -1.6px) rotate(-0.55deg);
    transform: translate(3.2px, -1.6px) rotate(-0.55deg);
  }
  88% {
    -webkit-transform: translate(-1.6px, -2.15px) rotate(0.75deg);
    transform: translate(-1.6px, -2.15px) rotate(0.75deg);
  }
  92% {
    -webkit-transform: translate(2.3px, 0.8px) rotate(0.5deg);
    transform: translate(2.3px, 0.8px) rotate(0.5deg);
  }
  96% {
    -webkit-transform: translate(0.8px, -0.55px) rotate(-0.9deg);
    transform: translate(0.8px, -0.55px) rotate(-0.9deg);
  }
}

@keyframes shake-infinite {
  0%,
  100% {
    -webkit-transform: translate(0, 0) rotate(0);
    transform: translate(0, 0) rotate(0);
  }
  4% {
    -webkit-transform: translate(0.5px, -0.95px) rotate(0.5deg);
    transform: translate(0.5px, -0.95px) rotate(0.5deg);
  }
  8% {
    -webkit-transform: translate(2.8px, 1.6px) rotate(1.75deg);
    transform: translate(2.8px, 1.6px) rotate(1.75deg);
  }
  12% {
    -webkit-transform: translate(3px, 0.55px) rotate(0.55deg);
    transform: translate(3px, 0.55px) rotate(0.55deg);
  }
  16% {
    -webkit-transform: translate(0.8px, -0.8px) rotate(0.65deg);
    transform: translate(0.8px, -0.8px) rotate(0.65deg);
  }
  20% {
    -webkit-transform: translate(-0.8px, -1.75px) rotate(1.8deg);
    transform: translate(-0.8px, -1.75px) rotate(1.8deg);
  }
  24% {
    -webkit-transform: translate(-0.55px, 0.8px) rotate(1.7deg);
    transform: translate(-0.55px, 0.8px) rotate(1.7deg);
  }
  28% {
    -webkit-transform: translate(-1.9px, 1.75px) rotate(1.9deg);
    transform: translate(-1.9px, 1.75px) rotate(1.9deg);
  }
  32% {
    -webkit-transform: translate(3.1px, 1.5px) rotate(2deg);
    transform: translate(3.1px, 1.5px) rotate(2deg);
  }
  36% {
    -webkit-transform: translate(0.5px, -0.8px) rotate(-0.65deg);
    transform: translate(0.5px, -0.8px) rotate(-0.65deg);
  }
  40% {
    -webkit-transform: translate(0.95px, 1.9px) rotate(0.75deg);
    transform: translate(0.95px, 1.9px) rotate(0.75deg);
  }
  44% {
    -webkit-transform: translate(2.8px, -0.8px) rotate(0.5deg);
    transform: translate(2.8px, -0.8px) rotate(0.5deg);
  }
  48% {
    -webkit-transform: translate(-0.95px, 0.55px) rotate(2deg);
    transform: translate(-0.95px, 0.55px) rotate(2deg);
  }
  52% {
    -webkit-transform: translate(-1.75px, 0.8px) rotate(1.75deg);
    transform: translate(-1.75px, 0.8px) rotate(1.75deg);
  }
  56% {
    -webkit-transform: translate(0.8px, 0.55px) rotate(-0.75deg);
    transform: translate(0.8px, 0.55px) rotate(-0.75deg);
  }
  60% {
    -webkit-transform: translate(1.9px, 2.15px) rotate(1.8deg);
    transform: translate(1.9px, 2.15px) rotate(1.8deg);
  }
  64% {
    -webkit-transform: translate(0.7px, 0.8px) rotate(0.65deg);
    transform: translate(0.7px, 0.8px) rotate(0.65deg);
  }
  68% {
    -webkit-transform: translate(2.15px, -1.9px) rotate(-0.9deg);
    transform: translate(2.15px, -1.9px) rotate(-0.9deg);
  }
  72% {
    -webkit-transform: translate(1.75px, 3px) rotate(1.6deg);
    transform: translate(1.75px, 3px) rotate(1.6deg);
  }
  76% {
    -webkit-transform: translate(-2.15px, 0.55px) rotate(-0.5deg);
    transform: translate(-2.15px, 0.55px) rotate(-0.5deg);
  }
  80% {
    -webkit-transform: translate(0.5px, -0.95px) rotate(1.75deg);
    transform: translate(0.5px, -0.95px) rotate(1.75deg);
  }
  84% {
    -webkit-transform: translate(3.2px, -1.6px) rotate(-0.55deg);
    transform: translate(3.2px, -1.6px) rotate(-0.55deg);
  }
  88% {
    -webkit-transform: translate(-1.6px, -2.15px) rotate(0.75deg);
    transform: translate(-1.6px, -2.15px) rotate(0.75deg);
  }
  92% {
    -webkit-transform: translate(2.3px, 0.8px) rotate(0.5deg);
    transform: translate(2.3px, 0.8px) rotate(0.5deg);
  }
  96% {
    -webkit-transform: translate(0.8px, -0.55px) rotate(-0.9deg);
    transform: translate(0.8px, -0.55px) rotate(-0.9deg);
  }
}
/* 静止 → ガタガタ → 静止（間欠） */
.shake-interval {
  -webkit-animation-name: shake-interval;
  animation-name: shake-interval;
  -webkit-animation-duration: var(--shake-interval-duration, 2.5s);
  animation-duration: var(--shake-interval-duration, 2.5s);
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
  -webkit-animation-delay: 0s;
  animation-delay: 0s;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}

@media (prefers-reduced-motion: reduce) {
  .shake-infinite,
  .shake-interval,
  .pc-content .header__nav-link:hover img {
    -webkit-animation: none;
    animation: none;
  }
}
/* 0〜82% 静止 / 83〜96% ガタガタ / 97〜100% 静止 */
@-webkit-keyframes shake-interval {
  0%,
  82%,
  97%,
  100% {
    -webkit-transform: translate(0, 0) rotate(0);
    transform: translate(0, 0) rotate(0);
  }
  83% {
    -webkit-transform: translate(0.7px, -1.35px) rotate(0.7deg);
    transform: translate(0.7px, -1.35px) rotate(0.7deg);
  }
  84% {
    -webkit-transform: translate(4px, 2.3px) rotate(2.5deg);
    transform: translate(4px, 2.3px) rotate(2.5deg);
  }
  85% {
    -webkit-transform: translate(4.3px, 0.8px) rotate(0.8deg);
    transform: translate(4.3px, 0.8px) rotate(0.8deg);
  }
  86% {
    -webkit-transform: translate(1.2px, -1.15px) rotate(0.95deg);
    transform: translate(1.2px, -1.15px) rotate(0.95deg);
  }
  87% {
    -webkit-transform: translate(-1.15px, -2.5px) rotate(2.6deg);
    transform: translate(-1.15px, -2.5px) rotate(2.6deg);
  }
  88% {
    -webkit-transform: translate(0, 0) rotate(0);
    transform: translate(0, 0) rotate(0);
  }
  89% {
    -webkit-transform: translate(-2.75px, 2.5px) rotate(2.75deg);
    transform: translate(-2.75px, 2.5px) rotate(2.75deg);
  }
  90% {
    -webkit-transform: translate(0, 0) rotate(0);
    transform: translate(0, 0) rotate(0);
  }
  91% {
    -webkit-transform: translate(4.5px, 2.15px) rotate(2.9deg);
    transform: translate(4.5px, 2.15px) rotate(2.9deg);
  }
  92% {
    -webkit-transform: translate(0, 0) rotate(0);
    transform: translate(0, 0) rotate(0);
  }
  93% {
    -webkit-transform: translate(-1.35px, 0.8px) rotate(2.9deg);
    transform: translate(-1.35px, 0.8px) rotate(2.9deg);
  }
  94% {
    -webkit-transform: translate(4px, -1.15px) rotate(0.7deg);
    transform: translate(4px, -1.15px) rotate(0.7deg);
  }
  95% {
    -webkit-transform: translate(0, 0) rotate(0);
    transform: translate(0, 0) rotate(0);
  }
  96% {
    -webkit-transform: translate(3.1px, -2.75px) rotate(-1.3deg);
    transform: translate(3.1px, -2.75px) rotate(-1.3deg);
  }
}
@keyframes shake-interval {
  0%,
  82%,
  97%,
  100% {
    -webkit-transform: translate(0, 0) rotate(0);
    transform: translate(0, 0) rotate(0);
  }
  83% {
    -webkit-transform: translate(0.7px, -1.35px) rotate(0.7deg);
    transform: translate(0.7px, -1.35px) rotate(0.7deg);
  }
  84% {
    -webkit-transform: translate(4px, 2.3px) rotate(2.5deg);
    transform: translate(4px, 2.3px) rotate(2.5deg);
  }
  85% {
    -webkit-transform: translate(4.3px, 0.8px) rotate(0.8deg);
    transform: translate(4.3px, 0.8px) rotate(0.8deg);
  }
  86% {
    -webkit-transform: translate(1.2px, -1.15px) rotate(0.95deg);
    transform: translate(1.2px, -1.15px) rotate(0.95deg);
  }
  87% {
    -webkit-transform: translate(-1.15px, -2.5px) rotate(2.6deg);
    transform: translate(-1.15px, -2.5px) rotate(2.6deg);
  }
  88% {
    -webkit-transform: translate(0, 0) rotate(0);
    transform: translate(0, 0) rotate(0);
  }
  89% {
    -webkit-transform: translate(-2.75px, 2.5px) rotate(2.75deg);
    transform: translate(-2.75px, 2.5px) rotate(2.75deg);
  }
  90% {
    -webkit-transform: translate(0, 0) rotate(0);
    transform: translate(0, 0) rotate(0);
  }
  91% {
    -webkit-transform: translate(4.5px, 2.15px) rotate(2.9deg);
    transform: translate(4.5px, 2.15px) rotate(2.9deg);
  }
  92% {
    -webkit-transform: translate(0, 0) rotate(0);
    transform: translate(0, 0) rotate(0);
  }
  93% {
    -webkit-transform: translate(-1.35px, 0.8px) rotate(2.9deg);
    transform: translate(-1.35px, 0.8px) rotate(2.9deg);
  }
  94% {
    -webkit-transform: translate(4px, -1.15px) rotate(0.7deg);
    transform: translate(4px, -1.15px) rotate(0.7deg);
  }
  95% {
    -webkit-transform: translate(0, 0) rotate(0);
    transform: translate(0, 0) rotate(0);
  }
  96% {
    -webkit-transform: translate(3.1px, -2.75px) rotate(-1.3deg);
    transform: translate(3.1px, -2.75px) rotate(-1.3deg);
  }
}

/* ========== 2t-driver top (merged) ========== */
/* -------------------------------------------
 * MV
 * -------------------------------------------*/
.top-mv {
  position: relative;
  width: 100%;
  height: auto;
  background: #000;
  padding-top: min(3.9383561644vw, 23 * var(--px));
  padding-bottom: min(6.3184931507vw, 36.9 * var(--px));
  padding-inline: min(3.9383561644vw, 23 * var(--px));
}
@media (max-width: 1200px) {
  .top-mv {
    padding-top: min(12.3287671233vw, 72 * var(--px));
  }
}
@media (max-width: 499px) {
  .top-mv {
    padding-top: min(14.7260273973vw, 86 * var(--px));
  }
}

.top-mv__title {
  width: 83.7%;
  margin-inline: auto;
}

.top-mv__img {
  position: relative;
}

.top-mv__copy {
  width: min(7.7568493151vw, 45.3 * var(--px));
  height: auto;
  position: absolute;
  z-index: 1;
}

.top-mv__copy--01 {
  top: min(6.8493150685vw, 40 * var(--px));
  right: min(1.9691780822vw, 11.5 * var(--px));
}
@media (max-width: 1200px) {
  .top-mv__copy--01 {
    top: min(17.1232876712vw, 100 * var(--px));
  }
}

.top-mv__copy--02 {
  top: min(31.6780821918vw, 185 * var(--px));
  left: min(1.9691780822vw, 11.5 * var(--px));
}
@media (max-width: 1200px) {
  .top-mv__copy--02 {
    top: min(43.6643835616vw, 255 * var(--px));
  }
}

/* -------------------------------------------
 * intro
 * -------------------------------------------*/
.top-intro {
  background: var(--orange);
  position: relative;
}

.top-intro__head {
  background: #000;
  position: relative;
}
.top-intro__head::after {
  background: url(../img/2t-driver/intro_head-bg.webp) no-repeat center;
  background-size: cover;
  content: "";
  display: inline-block;
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}
.top-intro__head::before {
  background: -webkit-gradient(
    linear,
    left bottom,
    left top,
    from(#000),
    color-stop(42%, #000),
    to(transparent)
  );
  background: linear-gradient(to top, #000 0%, #000 42%, transparent 100%);
  content: "";
  display: inline-block;
  position: absolute;
  width: 100%;
  height: min(34.2465753425vw, 200 * var(--px));
  bottom: calc(-1 * var(--px));
  left: 0;
  z-index: 3;
  pointer-events: none;
}

.top-intro__head-img-effect {
  mix-blend-mode: screen;
  position: absolute;
  width: 109%;
  height: auto;
  top: 4.5%;
  left: -8%;
  z-index: 3;
  pointer-events: none;
}

.top-intro__features {
  position: relative;
  z-index: 3;
  padding-bottom: min(8.5616438356vw, 50 * var(--px));
  margin-top: calc(-33 * var(--px));
}

.top-intro__title {
  width: 83.8%;
  margin-inline: auto;
  position: relative;
  z-index: 1;
}

.top-intro__head-img {
  margin-top: min(2.7568493151vw, 16.1 * var(--px));
  position: relative;
  z-index: 1;
  width: 87.2%;
  margin-left: auto;
  margin-right: 1.5%;
  position: relative;
}

.top-intro__main {
  background: #000;
  position: relative;
  z-index: 2;
}

.top-intro__copy-area {
  display: grid;
  grid-template-columns: 480fr 292fr;
}
.top-intro__copy-area .section__copy {
  margin-top: min(7.7054794521vw, 45 * var(--px));
  margin-left: 10%;
  margin-right: -10%;
  position: relative;
  z-index: 2;
}
.top-intro__copy-area .section__copy-decoration {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  position: relative;
  z-index: 1;
}
.top-intro__copy-area .section__copy-se {
  margin-right: auto;
  margin-top: -61%;
  margin-left: -22%;
  width: 73%;
}

.top-intro__main-content {
  margin-top: max(-8.2191780822vw, -48 * var(--px));
}

.top-intro__main-content-text {
  color: #fff;
  margin-left: 7%;
  line-height: 1.59;
  text-shadow: 0 0 8px #000;
}

.top-intro__main-visual {
  display: grid;
  grid-template-columns: 558fr 388fr;
  margin-top: -45%;
  position: relative;
  z-index: -1;
}

.top-intro__main-img {
  margin-left: -49%;
  position: relative;
  z-index: 1;
}

.top-intro__main-bubble-wrap {
  margin-top: 76%;
}

.top-intro__main-bubble {
  position: relative;
  z-index: 2;
  margin-right: -31%;
}

.top-intro__bottom-area {
  margin-top: max(-23.9726027397vw, -140 * var(--px));
  padding-top: min(29.4520547945vw, 172 * var(--px));
  padding-bottom: min(18.8356164384vw, 110 * var(--px));
  background: url(../img/2t-driver/intro_bottom-bg.webp) no-repeat center
    top/contain;
  height: auto;
  width: 100%;
  position: relative;
  z-index: -2;
}

.top-intro__bottom-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 83%;
  margin-inline: auto;
  line-height: 1.2;
}
.top-intro__bottom-list > li:nth-child(odd) {
  margin-top: min(11.6438356164vw, 68 * var(--px));
}

.top-intro__bottom-list-item-text {
  color: #fff;
  -webkit-text-stroke: min(2.0547945205vw, 12 * var(--px)) black;
  text-stroke: min(2.0547945205vw, 12 * var(--px)) black;
  paint-order: stroke;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
  gap: 0.2em;
}
.top-intro__bottom-list-item-text .row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}
.top-intro__bottom-list-item-text .rotate {
  display: inline-block;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

/* -------------------------------------------
 * location
 * -------------------------------------------*/
.top-location {
  position: relative;
  z-index: 2;
  overflow: hidden;
  background: #000;
  margin-top: max(-13.3561643836vw, -78 * var(--px));
}

.top-location__title {
  position: relative;
  z-index: 1;
  margin-inline: auto;
  margin-top: calc(28 * var(--px));
}

.top-location__copy-area {
  display: grid;
  grid-template-columns: 44% 53%;
  margin-top: calc(-39 * var(--px));
}
.top-location__copy-area .section__copy {
  margin-top: min(5.3082191781vw, 31 * var(--px));
  margin-left: -16%;
  position: relative;
  z-index: 2;
}
.top-location__copy-area .section__copy-decoration {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  position: relative;
  z-index: 1;
}
.top-location__copy-area .section__copy-se {
  margin-right: auto;
  margin-top: -23%;
  margin-left: 6%;
  width: 63%;
}

.top-location__frames {
  position: relative;
  height: auto;
  margin-top: calc(11 * var(--px));
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.top-location__row {
  display: grid;
  width: 100%;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.top-location__row--01 {
  grid-template-columns: 39% 66%;
}

.top-location__row--02 {
  grid-template-columns: 64.5% 34%;
  margin-top: -12%;
}

.top-location__frame {
  width: 100%;
  height: auto;
  overflow: hidden;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}

.top-location__frame--02 {
  margin-top: -9.5%;
  margin-left: -8%;
}

.top-location__frame--04 {
  margin-top: 28%;
}

.top-location__text {
  color: #fff;
  margin-top: min(7.0205479452vw, 41 * var(--px));
}

/* -------------------------------------------
 * 働き方について / work-style
 * -------------------------------------------*/
.top-work-style {
  background: #000;
  padding-top: min(8.7328767123vw, 51 * var(--px));
  margin-top: calc(-1 * var(--px));
}

.top-work-style__img {
  margin-top: calc(-43 * var(--px));
  position: relative;
}

.top-work-style__copy-area {
  display: grid;
  grid-template-columns: 439fr 292fr;
  margin-top: calc(-4 * var(--px));
}
.top-work-style__copy-area .section__copy {
  margin-top: min(7.7054794521vw, 45 * var(--px));
  margin-left: 10%;
  margin-right: -10%;
  position: relative;
  z-index: 2;
}
.top-work-style__copy-area .section__copy-bubble {
  margin-left: -14%;
}
.top-work-style__copy-area .section__copy-decoration {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  position: relative;
  z-index: 1;
  margin-top: min(10.7876712329vw, 63 * var(--px));
}
.top-work-style__copy-area .section__copy-se {
  margin-right: auto;
  margin-top: -117%;
  margin-left: 26%;
  width: 65%;
}

.top-work-style__text {
  color: #fff;
  margin-top: min(4.4520547945vw, 26 * var(--px));
  line-height: 1.58;
  position: relative;
  z-index: 1;
}

.top-work-style__feature-se-img {
  width: 58%;
  margin-top: 1%;
  margin-left: 23%;
  position: relative;
  z-index: 3;
}

.top-work-style__feature-list {
  position: relative;
  padding-bottom: min(66.7808219178vw, 390 * var(--px));
  margin-top: -18%;
  z-index: 2;
}
.top-work-style__feature-list > li {
  position: absolute;
}
.top-work-style__feature-list > li:nth-child(1) {
  top: 0;
  left: 0;
  width: 45%;
  z-index: 1;
}
.top-work-style__feature-list > li:nth-child(2) {
  bottom: -19%;
  left: 15%;
  width: 73%;
  z-index: 2;
}
.top-work-style__feature-list > li:nth-child(3) {
  top: 2%;
  right: 0;
  width: 47%;
  z-index: 1;
}

.top-work-style__feature {
  position: relative;
}
.top-work-style__feature::after {
  background: #000;
  content: "";
  display: inline-block;
  position: absolute;
  width: 100%;
  height: auto;
  aspect-ratio: 750/67;
  top: calc(100% - 5 * var(--px));
  left: 0;
  z-index: 1;
  pointer-events: none;
  clip-path: polygon(0 0, 100% 0, 0 100%);
}

/* -------------------------------------------
 * 働き方について / reason
 * -------------------------------------------*/
.top-work-style__reason {
  background: var(--orange);
  padding-bottom: min(41.095890411vw, 240 * var(--px));
}

.top-work-style__reason-intro {
  position: relative;
  isolation: isolate;
  padding-top: min(22.2602739726vw, 130 * var(--px));
  padding-bottom: min(19.5205479452vw, 114 * var(--px));
  --opacity: 0;
}
.top-work-style__reason-intro::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: url(../img/2t-driver/work-style_reason-intro-bg.webp) no-repeat
    center center/cover;
  pointer-events: none;
  opacity: var(--opacity);
}

.top-work-style__reason-copy-area {
  position: relative;
}
.top-work-style__reason-copy-area .section__copy-body {
  display: grid;
  grid-template-columns: 217fr 471fr;
}
.top-work-style__reason-copy-area .section__copy-bubble {
  margin-top: -4%;
  margin-left: -4%;
  margin-right: 6%;
}
.top-work-style__reason-copy-area .section__copy-se {
  position: absolute;
  top: -42%;
  right: 2.5%;
  width: 25%;
}

.top-work-style__reason-lead {
  text-align: center;
  margin-top: 1.5%;
  line-height: 1.6;
}

.top-work-style__reason-list {
  margin-top: max(-10.102739726vw, -59 * var(--px));
}
.top-work-style__reason-list li + li {
  margin-top: max(-3.4246575342vw, -20 * var(--px));
}

.top-work-style__reason-list-item-body {
  background: #ee4720;
  position: relative;
  z-index: 1;
}

.top-work-style__reason-list-item-body-shadow {
  background: #000;
  position: absolute;
  width: 100%;
  height: 100%;
  top: calc(12 * var(--px));
  left: calc(12 * var(--px));
}

.top-work-style__reason-list li {
  position: relative;
  /* 01. */
}
.top-work-style__reason-list li:nth-child(1) {
  position: relative;
}
.top-work-style__reason-list
  li:nth-child(1)
  .top-work-style__reason-list-item-body {
  clip-path: polygon(
    0px 0px,
    100% 0px,
    100% calc(100% - min(8.5616438356vw, 50 * var(--px))),
    0px 100%,
    0px 0px
  );
  padding-block: min(6.6780821918vw, 39 * var(--px))
    min(15.4109589041vw, 90 * var(--px));
}
.top-work-style__reason-list
  li:nth-child(1)
  .top-work-style__reason-list-item-body::after {
  background: url(../img/2t-driver/work-style_reason-item01-img.webp) no-repeat
    center;
  background-size: contain;
  content: "";
  display: inline-block;
  position: absolute;
  width: 54%;
  aspect-ratio: 354/556;
  top: 0;
  left: 0;
  z-index: -1;
  pointer-events: none;
  mix-blend-mode: hard-light;
}
.top-work-style__reason-list
  li:nth-child(1)
  .top-work-style__reason-list-item-body-shadow {
  clip-path: polygon(
    0px 0px,
    100% 0px,
    100% calc(100% - min(8.5616438356vw, 50 * var(--px))),
    0px 100%
  );
}
.top-work-style__reason-list li {
  /* 02. */
}
.top-work-style__reason-list
  li:nth-child(2)
  .top-work-style__reason-list-item-body {
  clip-path: polygon(
    0px min(8.5616438356vw, 50 * var(--px)),
    100% 0px,
    100% 100%,
    0px calc(100% - min(8.5616438356vw, 50 * var(--px))),
    0px min(8.5616438356vw, 50 * var(--px))
  );
  padding-block: min(14.0410958904vw, 82 * var(--px))
    min(17.1232876712vw, 100 * var(--px));
}
.top-work-style__reason-list
  li:nth-child(2)
  .top-work-style__reason-list-item-body::after {
  background: url(../img/2t-driver/work-style_reason-item02-img.webp) no-repeat
    center;
  background-size: contain;
  content: "";
  display: inline-block;
  position: absolute;
  width: 62%;
  aspect-ratio: 394/556;
  top: -1%;
  right: -4%;
  z-index: -1;
  pointer-events: none;
  mix-blend-mode: hard-light;
}
.top-work-style__reason-list
  li:nth-child(2)
  .top-work-style__reason-list-item-body-shadow {
  clip-path: polygon(
    0px min(8.5616438356vw, 50 * var(--px)),
    100% 0px,
    100% 100%,
    0px calc(100% - min(8.5616438356vw, 50 * var(--px)))
  );
}
.top-work-style__reason-list li {
  /* 03. */
}
.top-work-style__reason-list
  li:nth-child(3)
  .top-work-style__reason-list-item-body {
  clip-path: polygon(
    100% min(8.5616438356vw, 50 * var(--px)),
    0px 0px,
    0px 100%,
    100% calc(100% - min(8.5616438356vw, 50 * var(--px))),
    100% min(8.5616438356vw, 50 * var(--px))
  );
  padding-block: min(12.1575342466vw, 71 * var(--px))
    min(13.8698630137vw, 81 * var(--px));
}
.top-work-style__reason-list
  li:nth-child(3)
  .top-work-style__reason-list-item-body::after {
  background: url(../img/2t-driver/work-style_reason-item03-img.webp) no-repeat
    center;
  background-size: contain;
  content: "";
  display: inline-block;
  position: absolute;
  width: 62%;
  aspect-ratio: 404/556;
  top: 2%;
  left: 0;
  z-index: -1;
  pointer-events: none;
  mix-blend-mode: hard-light;
}
.top-work-style__reason-list
  li:nth-child(3)
  .top-work-style__reason-list-item-body-shadow {
  clip-path: polygon(
    100% min(8.5616438356vw, 50 * var(--px)),
    0px 0px,
    0px 100%,
    100% calc(100% - min(8.5616438356vw, 50 * var(--px)))
  );
}
.top-work-style__reason-list li {
  /* 04. */
}
.top-work-style__reason-list
  li:nth-child(4)
  .top-work-style__reason-list-item-body {
  clip-path: polygon(0 calc(50 * var(--px)), 100% 0, 100% 100%, 0 100%);
  padding-block: min(14.897260274vw, 87 * var(--px))
    min(13.698630137vw, 80 * var(--px));
}
.top-work-style__reason-list
  li:nth-child(4)
  .top-work-style__reason-list-item-body::after {
  background: url(../img/2t-driver/work-style_reason-item04-img.webp) no-repeat
    center;
  background-size: contain;
  content: "";
  display: inline-block;
  position: absolute;
  width: 58%;
  aspect-ratio: 372/557;
  right: -3%;
  bottom: -4%;
  z-index: -1;
  pointer-events: none;
  mix-blend-mode: hard-light;
}
.top-work-style__reason-list
  li:nth-child(4)
  .top-work-style__reason-list-item-body-shadow {
  clip-path: polygon(0 calc(50 * var(--px)), 100% 0, 100% 100%, 0 100%);
}
.top-work-style__reason-list
  li:nth-child(odd)
  .top-work-style__reason-list-item-copy {
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}
.top-work-style__reason-list
  li:nth-child(odd)
  .top-work-style__reason-list-item-text {
  margin-left: auto;
  margin-right: 1em;
}
.top-work-style__reason-list
  li:nth-child(even)
  .top-work-style__reason-list-item-text {
  margin-left: 1em;
  margin-right: 0;
}

.top-work-style__reason-list-item-copy {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: calc(11 * var(--px));
}
.top-work-style__reason-list-item-copy .row {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  z-index: 0;
  /* 黒い背景帯 */
}
.top-work-style__reason-list-item-copy .row::before {
  content: "";
  background: #000;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.top-work-style__reason-list-item-copy .row {
  /* 影用の白い四角\ */
}
.top-work-style__reason-list-item-copy .row::after {
  content: "";
  background: #fff;
  position: absolute;
  top: calc(3 * var(--px));
  right: calc(3 * var(--px));
  width: 100%;
  height: 100%;
  z-index: -2;
}
.top-work-style__reason-list-item-copy .row--01 {
  padding: 0.3em 0.7em;
  color: #fff001;
  font-size: var(--f23);
}
.top-work-style__reason-list-item-copy .row--02 {
  padding: 0em 0.3em;
  color: #fff;
  font-size: var(--f37);
}

.top-work-style__reason-list-item-text {
  font-size: var(--f20);
  -webkit-text-stroke: 6px #ee4720;
  paint-order: stroke fill;
  max-width: calc(246 * var(--px));
  margin-top: min(2.7397260274vw, 16 * var(--px));
  line-height: 1.5;
  letter-spacing: 0.03em;
}

/* -------------------------------------------
 * 働き方について / 2トントラック
 * -------------------------------------------*/
.top-work-style__anchor {
  display: block;
  position: relative;
  top: max(-34.2465753425vw, -200 * var(--px));
  height: 0;
  pointer-events: none;
}

.top-work-style__truck-2ton {
  position: relative;
  display: grid;
  grid-template-columns: 74% 26%;
  margin-top: -26%;
  padding-bottom: min(3.0821917808vw, 18 * var(--px));
}
.top-work-style__truck-2ton::after {
  background: #333;
  content: "";
  display: inline-block;
  position: absolute;
  width: 100%;
  height: auto;
  aspect-ratio: 750/67;
  bottom: calc(-1 * var(--px));
  left: 0;
  z-index: 0;
  pointer-events: none;
  clip-path: polygon(0 100%, 100% 0, 100% 100%);
}

.top-work-style__truck-2ton-body {
  margin-top: -12%;
}

.top-work-style__truck-2ton-text {
  color: #fff;
  max-width: calc(295 * var(--px));
  margin-left: 8%;
  margin-top: min(3.4246575342vw, 20 * var(--px));
  position: relative;
  z-index: 2;
  line-height: 1.4;
}

.top-work-style__truck-2ton-img-area {
  position: relative;
}

.top-work-style__truck-2ton-img {
  position: relative;
  margin-left: -113%;
  margin-right: -22%;
  position: relative;
  z-index: 1;
}

.top-work-style__truck-2ton-se {
  width: 57%;
  top: -7%;
  right: 9%;
  position: absolute;
}

/* -------------------------------------------
 * 働き方について / スキル
 * -------------------------------------------*/
.top-work-style__skills {
  background: #333;
  position: relative;
  padding-bottom: min(20.7191780822vw, 121 * var(--px));
}

.top-work-style__skills-copy-area {
  display: grid;
  grid-template-columns: 135fr 100fr;
  margin-left: 8%;
}
.top-work-style__skills-copy-area .section__copy {
  margin-top: 11%;
}
.top-work-style__skills-copy-area .section__copy-bubble {
  margin-top: -33%;
  margin-right: 3%;
}

.top-work-style__skills-img {
  margin-top: max(-10.2739726027vw, -60 * var(--px));
  width: 90%;
  margin-inline: auto;
}

.top-work-style__skills-text {
  color: #fff;
  margin-top: min(1.5410958904vw, 9 * var(--px));
  line-height: 1.6;
}

.top-work-style__skills-list-area {
  background: #000;
  padding: min(3.7671232877vw, 22 * var(--px))
    min(4.2808219178vw, 25 * var(--px));
  margin-top: min(5.9931506849vw, 35 * var(--px));
  position: relative;
}

.top-work-style__skills-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.3em 0em;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.top-work-style__skills-list > li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 0.3em;
  font-size: var(--f26);
  color: #fff;
  line-height: 1.6;
}
.top-work-style__skills-list > li:last-child {
  grid-column: 2;
}
.top-work-style__skills-list > li::before {
  font-family: "Material Symbols Outlined";
  content: "check";
  font-weight: 300;
  color: var(--pink);
  margin-top: 0.5em;
  line-height: 1;
}

.top-work-style__skills-list-bubble {
  position: absolute;
  width: 58%;
  aspect-ratio: 371/191;
  bottom: -46%;
  left: -8%;
}

/* -------------------------------------------
 * 仕事について / schedule
 * -------------------------------------------*/
.top-schedule {
  position: relative;
  z-index: 1;
  background: #000;
  padding-bottom: calc(120 * var(--px));
  margin-top: max(-1.7123287671vw, -10 * var(--px));
}
.top-schedule::after {
  background: #333;
  content: "";
  display: inline-block;
  position: absolute;
  width: 100%;
  height: auto;
  aspect-ratio: 750/67;
  top: calc(-1 * var(--px));
  left: 0;
  z-index: 1;
  pointer-events: none;
}

.top-schedule__head {
  position: relative;
  z-index: 2;
}

.top-schedule__title {
  width: 100%;
}

.top-schedule__start {
  position: absolute;
  top: 56%;
  right: 3%;
  width: 45%;
  z-index: 2;
  pointer-events: none;
}

.top-schedule__list-area {
  position: relative;
}

.top-schedule__list-line {
  position: absolute;
  z-index: -1;
  top: calc(52 * var(--px));
  left: 13%;
  width: calc(3 * var(--px));
  height: calc(100% - 150 * var(--px));
  background-image: radial-gradient(
    circle,
    #fff calc(1.5 * var(--px)),
    transparent calc(1.5 * var(--px))
  );
  background-position: left top;
  background-repeat: repeat-y;
  background-size: calc(3 * var(--px)) calc(6 * var(--px));
}

.top-schedule__list {
  position: relative;
  padding-top: min(5.3082191781vw, 31 * var(--px));
  margin-inline: auto;
}
.top-schedule__list > li {
  position: relative;
  display: grid;
  grid-template-columns: 100fr 530fr;
  -webkit-column-gap: calc(15 * var(--px));
  -moz-column-gap: calc(15 * var(--px));
  column-gap: calc(15 * var(--px));
}
.top-schedule__list > li:not(:last-child) {
  padding-bottom: min(7.3630136986vw, 43 * var(--px));
}

.top-schedule__time {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background: var(--pink);
  border-radius: 100vmax;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  padding: 0.42em 0.3em;
}

.top-schedule__time-label {
  line-height: 1;
  color: #fff;
  letter-spacing: 0;
}

.top-schedule__item-title {
  font-size: var(--f29);
  color: var(--pink);
  font-weight: 400;
}

.top-schedule__item-text {
  margin-top: 0.5em;
  font-size: var(--f20);
  color: #fff;
  line-height: 1.5;
}

.top-schedule__item-img {
  width: 100%;
  margin-top: 1em;
}

/* -------------------------------------------
 * 募集要項
 * -------------------------------------------*/
.top-requirements {
  background: #000;
  padding-bottom: min(11.9863013699vw, 70 * var(--px));
  margin-top: max(-14.897260274vw, -87 * var(--px));
}

.top-requirements__dl {
  letter-spacing: -0.04em;
}

.top-requirements__title {
  width: 100%;
  position: relative;
  z-index: 1;
}

.top-requirements__body {
  padding-top: calc(34 * var(--px));
  max-width: 89.3%;
  margin-inline: auto;
}

.top-requirements__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0;
  padding-block: min(3.4246575342vw, 20 * var(--px));
  padding-inline: 1em;
}
.top-requirements__row:first-child {
  padding-top: 0;
}
.top-requirements__row:not(:last-child) {
  border-bottom: calc(1 * var(--px)) solid rgba(255, 255, 255, 0.3);
}

.top-requirements__term {
  font-size: var(--f24);
  color: var(--orange);
  font-weight: 400;
}

.top-requirements__description {
  color: #fff;
  font-weight: 400;
  font-size: var(--f23);
  line-height: 1.5;
  margin-top: 0.2em;
}
.top-requirements__description .small {
  font-size: var(--f18);
} /*# sourceMappingURL=top.css.map */
