@charset "UTF-8";
html {
  -webkit-text-size-adjust: 100%;
  box-sizing: border-box;
  -moz-tab-size: 4;
  -o-tab-size: 4;
     tab-size: 4;
  word-break: normal;
}

*, :after, :before {
  background-repeat: no-repeat;
  box-sizing: inherit;
}

:after, :before {
  text-decoration: inherit;
  vertical-align: inherit;
}

* {
  margin: 0;
  padding: 0;
}

hr {
  color: inherit;
  height: 0;
  overflow: visible;
}

details, main {
  display: block;
}

summary {
  display: list-item;
}

small {
  font-size: 80%;
}

[hidden] {
  display: none;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

a {
  background-color: transparent;
}

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

code, kbd, pre, samp {
  font-family: monospace, monospace;
}

pre {
  font-size: 1em;
}

b, strong {
  font-weight: bolder;
}

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;
  text-indent: 0;
}

iframe {
  border-style: none;
}

input {
  border-radius: 0;
}

[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

textarea {
  overflow: auto;
  resize: vertical;
}

button, input, optgroup, select, textarea {
  font: inherit;
}

optgroup {
  font-weight: 700;
}

button {
  overflow: visible;
}

button, select {
  text-transform: none;
}

[role=button], [type=button], [type=reset], [type=submit], button {
  cursor: pointer;
}

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button:-moz-focusring {
  outline: 1px dotted ButtonText;
}

[type=reset], [type=submit], button, html [type=button] {
  -webkit-appearance: button;
}

button, input, select, textarea {
  background-color: transparent;
  border-style: none;
}

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

select {
  -moz-appearance: none;
  -webkit-appearance: none;
}

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

select::-ms-value {
  color: currentColor;
}

legend {
  border: 0;
  color: inherit;
  display: table;
  max-width: 100%;
  white-space: normal;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  color: inherit;
  font: inherit;
}

[disabled] {
  cursor: default;
}

img {
  border-style: none;
}

progress {
  vertical-align: baseline;
}

[aria-busy=true] {
  cursor: progress;
}

[aria-controls] {
  cursor: pointer;
}

[aria-disabled=true] {
  cursor: default;
}

:root {
  --container-size-sm: 720px;
  --container-size-md: 1024px;
  --container-size-lg: 1240px;
  --container-padding: 20px;
  --leading-trim: calc((1em - 1lh) / 2);
  --margin-per-unit: 4px;
  --color-black: #000;
  --color-black-rgb: 0 0 0;
  --color-white: #fff;
  --color-white-rgb: 255 255 255;
  --color-base: #222;
  --color-base-rgb: 34 34 34;
  --color-primary: #06B6D4;
  --color-primary-rgb: 6 182 212;
  --color-error: #ff0000;
  --color-error-rgb: 255 0 0;
  --color-gray-50: #fafafa;
  --color-gray-50-rgb: 250 250 250;
  --color-gray-100: #f5f5f5;
  --color-gray-100-rgb: 245 245 245;
  --color-gray-200: #e5e5e5;
  --color-gray-200-rgb: 229 229 229;
  --color-gray-300: #d4d4d4;
  --color-gray-300-rgb: 212 212 212;
  --color-gray-400: #a3a3a3;
  --color-gray-400-rgb: 163 163 163;
  --color-gray-500: #737373;
  --color-gray-500-rgb: 115 115 115;
  --color-gray-600: #525252;
  --color-gray-600-rgb: 82 82 82;
  --color-gray-700: #404040;
  --color-gray-700-rgb: 64 64 64;
  --color-gray-800: #262626;
  --color-gray-800-rgb: 38 38 38;
  --color-gray-900: #171717;
  --color-gray-900-rgb: 23 23 23;
  --color-gray-950: #0a0a0a;
  --color-gray-950-rgb: 10 10 10;
  --leading-none: 1;
  --leading-tight: 1.25;
  --leading-snug: 1.375;
  --leading-normal: 1.5;
  --leading-relaxed: 1.625;
  --leading-loose: 2;
  --tracking-tighter: -0.05em;
  --tracking-tight: -0.025em;
  --tracking-normal: 0em;
  --tracking-wide: 0.025em;
  --tracking-wider: 0.05em;
  --tracking-widest: 0.1em;
  --text-3xs: 12px;
  --text-2xs: 13px;
  --text-xs: 14px;
  --text-sm: 15px;
  --text-md: 16px;
  --text-lg: 18px;
  --text-xl: 20px;
  --text-2xl: 24px;
  --text-3xl: 28px;
  --text-4xl: 32px;
  --text-5xl: 48px;
  --text-6xl: 56px;
  --text-7xl: 64px;
  --text-8xl: 72px;
  --font-thin: 100;
  --font-extra-light: 200;
  --font-light: 300;
  --font-regular: 400;
  --font-medium: 500;
  --font-semi-bold: 600;
  --font-bold: 700;
  --font-extra-bold: 800;
  --font-black: 900;
  --font-extra-black: 950;
  --font-base: "游ゴシック体", yugothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  --font-mincho: "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
  --font-noto: "Noto Sans JP", "游ゴシック体", yugothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  --font-alphameric: "Montserrat", "Noto Sans JP", "游ゴシック体", yugothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  --transition-duration-short: 0.2s;
  --transition-duration: 0.4s;
  --transition-ease-in-sine: cubic-bezier(0.12, 0, 0.39, 0);
  --transition-ease-out-quad: cubic-bezier(0.11, 0, 0.5, 0);
  --transition-ease-in-out-quad: cubic-bezier(0.11, 0, 0.5, 0);
}

html {
  font-size: 62.5%;
  word-break: break-word;
}

body {
  font-size: 1.6rem;
  font-weight: var(--font-regular);
  font-family: var(--font-base);
  line-height: var(--leading-loose);
  color: var(--color-base);
}

section {
  container-name: section;
  container-type: inline-size;
}

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

iframe {
  vertical-align: middle;
}

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

.leading-trim {
  margin-block: var(--leading-trim);
}

.text-box {
  --gap: 2em;
  display: grid;
  gap: var(--gap);
}
.text-box p {
  margin-block: var(--leading-trim);
}

a {
  transition: 0.3s all ease-out;
}
a:hover {
  opacity: 0.7;
}

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

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

.text-center {
  text-align: center;
}

.text-justify {
  text-align: justify;
}

@media (min-width: 560px) {
  .sm\:text-left {
    text-align: left;
  }
  .sm\:text-right {
    text-align: right;
  }
  .sm\:text-center {
    text-align: center;
  }
  .sm\:text-justify {
    text-align: justify;
  }
}
@media (min-width: 768px) {
  .md\:text-left {
    text-align: left;
  }
  .md\:text-right {
    text-align: right;
  }
  .md\:text-center {
    text-align: center;
  }
  .md\:text-justify {
    text-align: justify;
  }
}
@media (min-width: 1024px) {
  .lg\:text-left {
    text-align: left;
  }
  .lg\:text-right {
    text-align: right;
  }
  .lg\:text-center {
    text-align: center;
  }
  .lg\:text-justify {
    text-align: justify;
  }
}
@media (min-width: 1728px) {
  .xl\:text-left {
    text-align: left;
  }
  .xl\:text-right {
    text-align: right;
  }
  .xl\:text-center {
    text-align: center;
  }
  .xl\:text-justify {
    text-align: justify;
  }
}
.bg-transparent {
  background-color: transparent;
}

.text-transparent {
  color: transparent;
}

.bg-black {
  background-color: var(--color-black);
}

.text-black {
  color: var(--color-black);
}

.bg-white {
  background-color: var(--color-white);
}

.text-white {
  color: var(--color-white);
}

.bg-base {
  background-color: var(--color-base);
}

.text-base {
  color: var(--color-base);
}

.bg-primary {
  background-color: var(--color-primary);
}

.text-primary {
  color: var(--color-primary);
}

.bg-error {
  background-color: var(--color-error);
}

.text-error {
  color: var(--color-error);
}

.bg-gray-50 {
  background-color: var(--color-gray-50);
}

.text-gray-50 {
  color: var(--color-gray-50);
}

.bg-gray-100 {
  background-color: var(--color-gray-100);
}

.text-gray-100 {
  color: var(--color-gray-100);
}

.bg-gray-200 {
  background-color: var(--color-gray-200);
}

.text-gray-200 {
  color: var(--color-gray-200);
}

.bg-gray-300 {
  background-color: var(--color-gray-300);
}

.text-gray-300 {
  color: var(--color-gray-300);
}

.bg-gray-400 {
  background-color: var(--color-gray-400);
}

.text-gray-400 {
  color: var(--color-gray-400);
}

.bg-gray-500 {
  background-color: var(--color-gray-500);
}

.text-gray-500 {
  color: var(--color-gray-500);
}

.bg-gray-600 {
  background-color: var(--color-gray-600);
}

.text-gray-600 {
  color: var(--color-gray-600);
}

.bg-gray-700 {
  background-color: var(--color-gray-700);
}

.text-gray-700 {
  color: var(--color-gray-700);
}

.bg-gray-800 {
  background-color: var(--color-gray-800);
}

.text-gray-800 {
  color: var(--color-gray-800);
}

.bg-gray-900 {
  background-color: var(--color-gray-900);
}

.text-gray-900 {
  color: var(--color-gray-900);
}

.bg-gray-950 {
  background-color: var(--color-gray-950);
}

.text-gray-950 {
  color: var(--color-gray-950);
}

@media (min-width: 560px) {
  .sm\:bg-transparent {
    background-color: transparent;
  }
  .sm\:text-transparent {
    color: transparent;
  }
  .sm\:bg-black {
    background-color: var(--color-black);
  }
  .sm\:text-black {
    color: var(--color-black);
  }
  .sm\:bg-white {
    background-color: var(--color-white);
  }
  .sm\:text-white {
    color: var(--color-white);
  }
  .sm\:bg-base {
    background-color: var(--color-base);
  }
  .sm\:text-base {
    color: var(--color-base);
  }
  .sm\:bg-primary {
    background-color: var(--color-primary);
  }
  .sm\:text-primary {
    color: var(--color-primary);
  }
  .sm\:bg-error {
    background-color: var(--color-error);
  }
  .sm\:text-error {
    color: var(--color-error);
  }
  .sm\:bg-gray-50 {
    background-color: var(--color-gray-50);
  }
  .sm\:text-gray-50 {
    color: var(--color-gray-50);
  }
  .sm\:bg-gray-100 {
    background-color: var(--color-gray-100);
  }
  .sm\:text-gray-100 {
    color: var(--color-gray-100);
  }
  .sm\:bg-gray-200 {
    background-color: var(--color-gray-200);
  }
  .sm\:text-gray-200 {
    color: var(--color-gray-200);
  }
  .sm\:bg-gray-300 {
    background-color: var(--color-gray-300);
  }
  .sm\:text-gray-300 {
    color: var(--color-gray-300);
  }
  .sm\:bg-gray-400 {
    background-color: var(--color-gray-400);
  }
  .sm\:text-gray-400 {
    color: var(--color-gray-400);
  }
  .sm\:bg-gray-500 {
    background-color: var(--color-gray-500);
  }
  .sm\:text-gray-500 {
    color: var(--color-gray-500);
  }
  .sm\:bg-gray-600 {
    background-color: var(--color-gray-600);
  }
  .sm\:text-gray-600 {
    color: var(--color-gray-600);
  }
  .sm\:bg-gray-700 {
    background-color: var(--color-gray-700);
  }
  .sm\:text-gray-700 {
    color: var(--color-gray-700);
  }
  .sm\:bg-gray-800 {
    background-color: var(--color-gray-800);
  }
  .sm\:text-gray-800 {
    color: var(--color-gray-800);
  }
  .sm\:bg-gray-900 {
    background-color: var(--color-gray-900);
  }
  .sm\:text-gray-900 {
    color: var(--color-gray-900);
  }
  .sm\:bg-gray-950 {
    background-color: var(--color-gray-950);
  }
  .sm\:text-gray-950 {
    color: var(--color-gray-950);
  }
}
@media (min-width: 768px) {
  .md\:bg-transparent {
    background-color: transparent;
  }
  .md\:text-transparent {
    color: transparent;
  }
  .md\:bg-black {
    background-color: var(--color-black);
  }
  .md\:text-black {
    color: var(--color-black);
  }
  .md\:bg-white {
    background-color: var(--color-white);
  }
  .md\:text-white {
    color: var(--color-white);
  }
  .md\:bg-base {
    background-color: var(--color-base);
  }
  .md\:text-base {
    color: var(--color-base);
  }
  .md\:bg-primary {
    background-color: var(--color-primary);
  }
  .md\:text-primary {
    color: var(--color-primary);
  }
  .md\:bg-error {
    background-color: var(--color-error);
  }
  .md\:text-error {
    color: var(--color-error);
  }
  .md\:bg-gray-50 {
    background-color: var(--color-gray-50);
  }
  .md\:text-gray-50 {
    color: var(--color-gray-50);
  }
  .md\:bg-gray-100 {
    background-color: var(--color-gray-100);
  }
  .md\:text-gray-100 {
    color: var(--color-gray-100);
  }
  .md\:bg-gray-200 {
    background-color: var(--color-gray-200);
  }
  .md\:text-gray-200 {
    color: var(--color-gray-200);
  }
  .md\:bg-gray-300 {
    background-color: var(--color-gray-300);
  }
  .md\:text-gray-300 {
    color: var(--color-gray-300);
  }
  .md\:bg-gray-400 {
    background-color: var(--color-gray-400);
  }
  .md\:text-gray-400 {
    color: var(--color-gray-400);
  }
  .md\:bg-gray-500 {
    background-color: var(--color-gray-500);
  }
  .md\:text-gray-500 {
    color: var(--color-gray-500);
  }
  .md\:bg-gray-600 {
    background-color: var(--color-gray-600);
  }
  .md\:text-gray-600 {
    color: var(--color-gray-600);
  }
  .md\:bg-gray-700 {
    background-color: var(--color-gray-700);
  }
  .md\:text-gray-700 {
    color: var(--color-gray-700);
  }
  .md\:bg-gray-800 {
    background-color: var(--color-gray-800);
  }
  .md\:text-gray-800 {
    color: var(--color-gray-800);
  }
  .md\:bg-gray-900 {
    background-color: var(--color-gray-900);
  }
  .md\:text-gray-900 {
    color: var(--color-gray-900);
  }
  .md\:bg-gray-950 {
    background-color: var(--color-gray-950);
  }
  .md\:text-gray-950 {
    color: var(--color-gray-950);
  }
}
@media (min-width: 1024px) {
  .lg\:bg-transparent {
    background-color: transparent;
  }
  .lg\:text-transparent {
    color: transparent;
  }
  .lg\:bg-black {
    background-color: var(--color-black);
  }
  .lg\:text-black {
    color: var(--color-black);
  }
  .lg\:bg-white {
    background-color: var(--color-white);
  }
  .lg\:text-white {
    color: var(--color-white);
  }
  .lg\:bg-base {
    background-color: var(--color-base);
  }
  .lg\:text-base {
    color: var(--color-base);
  }
  .lg\:bg-primary {
    background-color: var(--color-primary);
  }
  .lg\:text-primary {
    color: var(--color-primary);
  }
  .lg\:bg-error {
    background-color: var(--color-error);
  }
  .lg\:text-error {
    color: var(--color-error);
  }
  .lg\:bg-gray-50 {
    background-color: var(--color-gray-50);
  }
  .lg\:text-gray-50 {
    color: var(--color-gray-50);
  }
  .lg\:bg-gray-100 {
    background-color: var(--color-gray-100);
  }
  .lg\:text-gray-100 {
    color: var(--color-gray-100);
  }
  .lg\:bg-gray-200 {
    background-color: var(--color-gray-200);
  }
  .lg\:text-gray-200 {
    color: var(--color-gray-200);
  }
  .lg\:bg-gray-300 {
    background-color: var(--color-gray-300);
  }
  .lg\:text-gray-300 {
    color: var(--color-gray-300);
  }
  .lg\:bg-gray-400 {
    background-color: var(--color-gray-400);
  }
  .lg\:text-gray-400 {
    color: var(--color-gray-400);
  }
  .lg\:bg-gray-500 {
    background-color: var(--color-gray-500);
  }
  .lg\:text-gray-500 {
    color: var(--color-gray-500);
  }
  .lg\:bg-gray-600 {
    background-color: var(--color-gray-600);
  }
  .lg\:text-gray-600 {
    color: var(--color-gray-600);
  }
  .lg\:bg-gray-700 {
    background-color: var(--color-gray-700);
  }
  .lg\:text-gray-700 {
    color: var(--color-gray-700);
  }
  .lg\:bg-gray-800 {
    background-color: var(--color-gray-800);
  }
  .lg\:text-gray-800 {
    color: var(--color-gray-800);
  }
  .lg\:bg-gray-900 {
    background-color: var(--color-gray-900);
  }
  .lg\:text-gray-900 {
    color: var(--color-gray-900);
  }
  .lg\:bg-gray-950 {
    background-color: var(--color-gray-950);
  }
  .lg\:text-gray-950 {
    color: var(--color-gray-950);
  }
}
@media (min-width: 1728px) {
  .xl\:bg-transparent {
    background-color: transparent;
  }
  .xl\:text-transparent {
    color: transparent;
  }
  .xl\:bg-black {
    background-color: var(--color-black);
  }
  .xl\:text-black {
    color: var(--color-black);
  }
  .xl\:bg-white {
    background-color: var(--color-white);
  }
  .xl\:text-white {
    color: var(--color-white);
  }
  .xl\:bg-base {
    background-color: var(--color-base);
  }
  .xl\:text-base {
    color: var(--color-base);
  }
  .xl\:bg-primary {
    background-color: var(--color-primary);
  }
  .xl\:text-primary {
    color: var(--color-primary);
  }
  .xl\:bg-error {
    background-color: var(--color-error);
  }
  .xl\:text-error {
    color: var(--color-error);
  }
  .xl\:bg-gray-50 {
    background-color: var(--color-gray-50);
  }
  .xl\:text-gray-50 {
    color: var(--color-gray-50);
  }
  .xl\:bg-gray-100 {
    background-color: var(--color-gray-100);
  }
  .xl\:text-gray-100 {
    color: var(--color-gray-100);
  }
  .xl\:bg-gray-200 {
    background-color: var(--color-gray-200);
  }
  .xl\:text-gray-200 {
    color: var(--color-gray-200);
  }
  .xl\:bg-gray-300 {
    background-color: var(--color-gray-300);
  }
  .xl\:text-gray-300 {
    color: var(--color-gray-300);
  }
  .xl\:bg-gray-400 {
    background-color: var(--color-gray-400);
  }
  .xl\:text-gray-400 {
    color: var(--color-gray-400);
  }
  .xl\:bg-gray-500 {
    background-color: var(--color-gray-500);
  }
  .xl\:text-gray-500 {
    color: var(--color-gray-500);
  }
  .xl\:bg-gray-600 {
    background-color: var(--color-gray-600);
  }
  .xl\:text-gray-600 {
    color: var(--color-gray-600);
  }
  .xl\:bg-gray-700 {
    background-color: var(--color-gray-700);
  }
  .xl\:text-gray-700 {
    color: var(--color-gray-700);
  }
  .xl\:bg-gray-800 {
    background-color: var(--color-gray-800);
  }
  .xl\:text-gray-800 {
    color: var(--color-gray-800);
  }
  .xl\:bg-gray-900 {
    background-color: var(--color-gray-900);
  }
  .xl\:text-gray-900 {
    color: var(--color-gray-900);
  }
  .xl\:bg-gray-950 {
    background-color: var(--color-gray-950);
  }
  .xl\:text-gray-950 {
    color: var(--color-gray-950);
  }
}
.hidden {
  display: none !important;
}

.inline {
  display: inline !important;
}

.block {
  display: block !important;
}

.flex {
  display: flex !important;
}

.grid {
  display: grid !important;
}

.inline-flex {
  display: inline-fle !importantx;
}

.contents {
  display: contents !important;
}

@media (min-width: 560px) {
  .sm\:hidden {
    display: none !important;
  }
  .sm\:inline {
    display: inline !important;
  }
  .sm\:block {
    display: block !important;
  }
  .sm\:flex {
    display: flex !important;
  }
  .sm\:grid {
    display: grid !important;
  }
  .sm\:inline-flex {
    display: inline-fle !importantx;
  }
  .sm\:contents {
    display: contents !important;
  }
}
@media (min-width: 768px) {
  .md\:hidden {
    display: none !important;
  }
  .md\:inline {
    display: inline !important;
  }
  .md\:block {
    display: block !important;
  }
  .md\:flex {
    display: flex !important;
  }
  .md\:grid {
    display: grid !important;
  }
  .md\:inline-flex {
    display: inline-fle !importantx;
  }
  .md\:contents {
    display: contents !important;
  }
}
@media (min-width: 1024px) {
  .lg\:hidden {
    display: none !important;
  }
  .lg\:inline {
    display: inline !important;
  }
  .lg\:block {
    display: block !important;
  }
  .lg\:flex {
    display: flex !important;
  }
  .lg\:grid {
    display: grid !important;
  }
  .lg\:inline-flex {
    display: inline-fle !importantx;
  }
  .lg\:contents {
    display: contents !important;
  }
}
@media (min-width: 1728px) {
  .xl\:hidden {
    display: none !important;
  }
  .xl\:inline {
    display: inline !important;
  }
  .xl\:block {
    display: block !important;
  }
  .xl\:flex {
    display: flex !important;
  }
  .xl\:grid {
    display: grid !important;
  }
  .xl\:inline-flex {
    display: inline-fle !importantx;
  }
  .xl\:contents {
    display: contents !important;
  }
}
.col-4 {
  grid-template-columns: repeat(4, 1fr);
}

.col-3 {
  grid-template-columns: repeat(3, 1fr);
}

.col-2 {
  grid-template-columns: repeat(2, 1fr);
}

.col-1 {
  grid-template-columns: repeat(1, 1fr);
}

@media (min-width: 560px) {
  .sm\:col-4 {
    grid-template-columns: repeat(4, 1fr);
  }
  .sm\:col-3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .sm\:col-2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .sm\:col-1 {
    grid-template-columns: repeat(1, 1fr);
  }
}
@media (min-width: 768px) {
  .md\:col-4 {
    grid-template-columns: repeat(4, 1fr);
  }
  .md\:col-3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .md\:col-2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .md\:col-1 {
    grid-template-columns: repeat(1, 1fr);
  }
}
@media (min-width: 1024px) {
  .lg\:col-4 {
    grid-template-columns: repeat(4, 1fr);
  }
  .lg\:col-3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .lg\:col-2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .lg\:col-1 {
    grid-template-columns: repeat(1, 1fr);
  }
}
@media (min-width: 1728px) {
  .xl\:col-4 {
    grid-template-columns: repeat(4, 1fr);
  }
  .xl\:col-3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .xl\:col-2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .xl\:col-1 {
    grid-template-columns: repeat(1, 1fr);
  }
}
.flex-wrap {
  flex-wrap: wrap;
}

.flex-row {
  flex-direction: row;
}

.flex-row-reverse {
  flex-direction: row-reverse;
}

.flex-col {
  flex-direction: column;
}

.flex-col-reverse {
  flex-direction: column-reverse;
}

.flex-1 {
  flex: 1 1 0%;
}

.flex-auto {
  flex: 1 1 auto;
}

.flex-initial {
  flex: 0 1 auto;
}

.flex-none {
  flex: none;
}

.items-center {
  align-items: center;
}

.items-baseline {
  align-items: baseline;
}

.items-start {
  align-items: start;
}

.items-end {
  align-items: end;
}

.justify-center {
  justify-content: center;
}

.justify-between {
  justify-content: space-between;
}

.justify-around {
  justify-content: space-around;
}

.justify-start {
  justify-content: flex-start;
}

.justify-end {
  justify-content: flex-end;
}

.order-1 {
  order: 1;
}

.order-2 {
  order: 2;
}

.order-3 {
  order: 3;
}

.order-4 {
  order: 4;
}

.order-5 {
  order: 5;
}

.order-6 {
  order: 6;
}

.order-7 {
  order: 7;
}

.order-8 {
  order: 8;
}

.order-9 {
  order: 9;
}

.order-10 {
  order: 10;
}

.order-none {
  order: initial;
}

@media (min-width: 560px) {
  .sm\:flex-wrap {
    flex-wrap: wrap;
  }
  .sm\:flex-row {
    flex-direction: row;
  }
  .sm\:flex-row-reverse {
    flex-direction: row-reverse;
  }
  .sm\:flex-col {
    flex-direction: column;
  }
  .sm\:flex-col-reverse {
    flex-direction: column-reverse;
  }
  .sm\:flex-1 {
    flex: 1 1 0%;
  }
  .sm\:flex-auto {
    flex: 1 1 auto;
  }
  .sm\:flex-initial {
    flex: 0 1 auto;
  }
  .sm\:flex-none {
    flex: none;
  }
  .sm\:items-center {
    align-items: center;
  }
  .sm\:items-baseline {
    align-items: baseline;
  }
  .sm\:items-start {
    align-items: start;
  }
  .sm\:items-end {
    align-items: end;
  }
  .sm\:justify-center {
    justify-content: center;
  }
  .sm\:justify-between {
    justify-content: space-between;
  }
  .sm\:justify-around {
    justify-content: space-around;
  }
  .sm\:justify-start {
    justify-content: flex-start;
  }
  .sm\:justify-end {
    justify-content: flex-end;
  }
  .sm\:order-1 {
    order: 1;
  }
  .sm\:order-2 {
    order: 2;
  }
  .sm\:order-3 {
    order: 3;
  }
  .sm\:order-4 {
    order: 4;
  }
  .sm\:order-5 {
    order: 5;
  }
  .sm\:order-6 {
    order: 6;
  }
  .sm\:order-7 {
    order: 7;
  }
  .sm\:order-8 {
    order: 8;
  }
  .sm\:order-9 {
    order: 9;
  }
  .sm\:order-10 {
    order: 10;
  }
  .sm\:order-none {
    order: initial;
  }
}
@media (min-width: 768px) {
  .md\:flex-wrap {
    flex-wrap: wrap;
  }
  .md\:flex-row {
    flex-direction: row;
  }
  .md\:flex-row-reverse {
    flex-direction: row-reverse;
  }
  .md\:flex-col {
    flex-direction: column;
  }
  .md\:flex-col-reverse {
    flex-direction: column-reverse;
  }
  .md\:flex-1 {
    flex: 1 1 0%;
  }
  .md\:flex-auto {
    flex: 1 1 auto;
  }
  .md\:flex-initial {
    flex: 0 1 auto;
  }
  .md\:flex-none {
    flex: none;
  }
  .md\:items-center {
    align-items: center;
  }
  .md\:items-baseline {
    align-items: baseline;
  }
  .md\:items-start {
    align-items: start;
  }
  .md\:items-end {
    align-items: end;
  }
  .md\:justify-center {
    justify-content: center;
  }
  .md\:justify-between {
    justify-content: space-between;
  }
  .md\:justify-around {
    justify-content: space-around;
  }
  .md\:justify-start {
    justify-content: flex-start;
  }
  .md\:justify-end {
    justify-content: flex-end;
  }
  .md\:order-1 {
    order: 1;
  }
  .md\:order-2 {
    order: 2;
  }
  .md\:order-3 {
    order: 3;
  }
  .md\:order-4 {
    order: 4;
  }
  .md\:order-5 {
    order: 5;
  }
  .md\:order-6 {
    order: 6;
  }
  .md\:order-7 {
    order: 7;
  }
  .md\:order-8 {
    order: 8;
  }
  .md\:order-9 {
    order: 9;
  }
  .md\:order-10 {
    order: 10;
  }
  .md\:order-none {
    order: initial;
  }
}
@media (min-width: 1024px) {
  .lg\:flex-wrap {
    flex-wrap: wrap;
  }
  .lg\:flex-row {
    flex-direction: row;
  }
  .lg\:flex-row-reverse {
    flex-direction: row-reverse;
  }
  .lg\:flex-col {
    flex-direction: column;
  }
  .lg\:flex-col-reverse {
    flex-direction: column-reverse;
  }
  .lg\:flex-1 {
    flex: 1 1 0%;
  }
  .lg\:flex-auto {
    flex: 1 1 auto;
  }
  .lg\:flex-initial {
    flex: 0 1 auto;
  }
  .lg\:flex-none {
    flex: none;
  }
  .lg\:items-center {
    align-items: center;
  }
  .lg\:items-baseline {
    align-items: baseline;
  }
  .lg\:items-start {
    align-items: start;
  }
  .lg\:items-end {
    align-items: end;
  }
  .lg\:justify-center {
    justify-content: center;
  }
  .lg\:justify-between {
    justify-content: space-between;
  }
  .lg\:justify-around {
    justify-content: space-around;
  }
  .lg\:justify-start {
    justify-content: flex-start;
  }
  .lg\:justify-end {
    justify-content: flex-end;
  }
  .lg\:order-1 {
    order: 1;
  }
  .lg\:order-2 {
    order: 2;
  }
  .lg\:order-3 {
    order: 3;
  }
  .lg\:order-4 {
    order: 4;
  }
  .lg\:order-5 {
    order: 5;
  }
  .lg\:order-6 {
    order: 6;
  }
  .lg\:order-7 {
    order: 7;
  }
  .lg\:order-8 {
    order: 8;
  }
  .lg\:order-9 {
    order: 9;
  }
  .lg\:order-10 {
    order: 10;
  }
  .lg\:order-none {
    order: initial;
  }
}
@media (min-width: 1728px) {
  .xl\:flex-wrap {
    flex-wrap: wrap;
  }
  .xl\:flex-row {
    flex-direction: row;
  }
  .xl\:flex-row-reverse {
    flex-direction: row-reverse;
  }
  .xl\:flex-col {
    flex-direction: column;
  }
  .xl\:flex-col-reverse {
    flex-direction: column-reverse;
  }
  .xl\:flex-1 {
    flex: 1 1 0%;
  }
  .xl\:flex-auto {
    flex: 1 1 auto;
  }
  .xl\:flex-initial {
    flex: 0 1 auto;
  }
  .xl\:flex-none {
    flex: none;
  }
  .xl\:items-center {
    align-items: center;
  }
  .xl\:items-baseline {
    align-items: baseline;
  }
  .xl\:items-start {
    align-items: start;
  }
  .xl\:items-end {
    align-items: end;
  }
  .xl\:justify-center {
    justify-content: center;
  }
  .xl\:justify-between {
    justify-content: space-between;
  }
  .xl\:justify-around {
    justify-content: space-around;
  }
  .xl\:justify-start {
    justify-content: flex-start;
  }
  .xl\:justify-end {
    justify-content: flex-end;
  }
  .xl\:order-1 {
    order: 1;
  }
  .xl\:order-2 {
    order: 2;
  }
  .xl\:order-3 {
    order: 3;
  }
  .xl\:order-4 {
    order: 4;
  }
  .xl\:order-5 {
    order: 5;
  }
  .xl\:order-6 {
    order: 6;
  }
  .xl\:order-7 {
    order: 7;
  }
  .xl\:order-8 {
    order: 8;
  }
  .xl\:order-9 {
    order: 9;
  }
  .xl\:order-10 {
    order: 10;
  }
  .xl\:order-none {
    order: initial;
  }
}
.text- {
  font-size: 0;
}

.text-3xs {
  font-size: var(--text-3xs);
}

.text-2xs {
  font-size: var(--text-2xs);
}

.text-xs {
  font-size: var(--text-xs);
}

.text-sm {
  font-size: var(--text-sm);
}

.text-md {
  font-size: var(--text-md);
}

.text-lg {
  font-size: var(--text-lg);
}

.text-xl {
  font-size: var(--text-xl);
}

.text-2xl {
  font-size: var(--text-2xl);
}

.text-3xl {
  font-size: var(--text-3xl);
}

.text-4xl {
  font-size: var(--text-4xl);
}

.text-5xl {
  font-size: var(--text-5xl);
}

.text-6xl {
  font-size: var(--text-6xl);
}

.text-7xl {
  font-size: var(--text-7xl);
}

.text-8xl {
  font-size: var(--text-8xl);
}

.font-thin {
  font-weight: var(--font-thin);
}

.font-extra-light {
  font-weight: var(--font-extra-light);
}

.font-light {
  font-weight: var(--font-light);
}

.font-regular {
  font-weight: var(--font-regular);
}

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

.font-semi-bold {
  font-weight: var(--font-semi-bold);
}

.font-bold {
  font-weight: var(--font-bold);
}

.font-extra-bold {
  font-weight: var(--font-extra-bold);
}

.font-black {
  font-weight: var(--font-black);
}

.font-extra-black {
  font-weight: var(--font-extra-black);
}

.leading-none {
  line-height: var(--leading-none);
}

.leading-tight {
  line-height: var(--leading-tight);
}

.leading-snug {
  line-height: var(--leading-snug);
}

.leading-normal {
  line-height: var(--leading-normal);
}

.leading-relaxed {
  line-height: var(--leading-relaxed);
}

.leading-loose {
  line-height: var(--leading-loose);
}

@media (min-width: 560px) {
  .sm\:text- {
    font-size: 0;
  }
  .sm\:text-3xs {
    font-size: var(--text-3xs);
  }
  .sm\:text-2xs {
    font-size: var(--text-2xs);
  }
  .sm\:text-xs {
    font-size: var(--text-xs);
  }
  .sm\:text-sm {
    font-size: var(--text-sm);
  }
  .sm\:text-md {
    font-size: var(--text-md);
  }
  .sm\:text-lg {
    font-size: var(--text-lg);
  }
  .sm\:text-xl {
    font-size: var(--text-xl);
  }
  .sm\:text-2xl {
    font-size: var(--text-2xl);
  }
  .sm\:text-3xl {
    font-size: var(--text-3xl);
  }
  .sm\:text-4xl {
    font-size: var(--text-4xl);
  }
  .sm\:text-5xl {
    font-size: var(--text-5xl);
  }
  .sm\:text-6xl {
    font-size: var(--text-6xl);
  }
  .sm\:text-7xl {
    font-size: var(--text-7xl);
  }
  .sm\:text-8xl {
    font-size: var(--text-8xl);
  }
  .sm\:font-thin {
    font-weight: var(--font-thin);
  }
  .sm\:font-extra-light {
    font-weight: var(--font-extra-light);
  }
  .sm\:font-light {
    font-weight: var(--font-light);
  }
  .sm\:font-regular {
    font-weight: var(--font-regular);
  }
  .sm\:font-medium {
    font-weight: var(--font-medium);
  }
  .sm\:font-semi-bold {
    font-weight: var(--font-semi-bold);
  }
  .sm\:font-bold {
    font-weight: var(--font-bold);
  }
  .sm\:font-extra-bold {
    font-weight: var(--font-extra-bold);
  }
  .sm\:font-black {
    font-weight: var(--font-black);
  }
  .sm\:font-extra-black {
    font-weight: var(--font-extra-black);
  }
  .sm\:leading-none {
    line-height: var(--leading-none);
  }
  .sm\:leading-tight {
    line-height: var(--leading-tight);
  }
  .sm\:leading-snug {
    line-height: var(--leading-snug);
  }
  .sm\:leading-normal {
    line-height: var(--leading-normal);
  }
  .sm\:leading-relaxed {
    line-height: var(--leading-relaxed);
  }
  .sm\:leading-loose {
    line-height: var(--leading-loose);
  }
}
@media (min-width: 768px) {
  .md\:text- {
    font-size: 0;
  }
  .md\:text-3xs {
    font-size: var(--text-3xs);
  }
  .md\:text-2xs {
    font-size: var(--text-2xs);
  }
  .md\:text-xs {
    font-size: var(--text-xs);
  }
  .md\:text-sm {
    font-size: var(--text-sm);
  }
  .md\:text-md {
    font-size: var(--text-md);
  }
  .md\:text-lg {
    font-size: var(--text-lg);
  }
  .md\:text-xl {
    font-size: var(--text-xl);
  }
  .md\:text-2xl {
    font-size: var(--text-2xl);
  }
  .md\:text-3xl {
    font-size: var(--text-3xl);
  }
  .md\:text-4xl {
    font-size: var(--text-4xl);
  }
  .md\:text-5xl {
    font-size: var(--text-5xl);
  }
  .md\:text-6xl {
    font-size: var(--text-6xl);
  }
  .md\:text-7xl {
    font-size: var(--text-7xl);
  }
  .md\:text-8xl {
    font-size: var(--text-8xl);
  }
  .md\:font-thin {
    font-weight: var(--font-thin);
  }
  .md\:font-extra-light {
    font-weight: var(--font-extra-light);
  }
  .md\:font-light {
    font-weight: var(--font-light);
  }
  .md\:font-regular {
    font-weight: var(--font-regular);
  }
  .md\:font-medium {
    font-weight: var(--font-medium);
  }
  .md\:font-semi-bold {
    font-weight: var(--font-semi-bold);
  }
  .md\:font-bold {
    font-weight: var(--font-bold);
  }
  .md\:font-extra-bold {
    font-weight: var(--font-extra-bold);
  }
  .md\:font-black {
    font-weight: var(--font-black);
  }
  .md\:font-extra-black {
    font-weight: var(--font-extra-black);
  }
  .md\:leading-none {
    line-height: var(--leading-none);
  }
  .md\:leading-tight {
    line-height: var(--leading-tight);
  }
  .md\:leading-snug {
    line-height: var(--leading-snug);
  }
  .md\:leading-normal {
    line-height: var(--leading-normal);
  }
  .md\:leading-relaxed {
    line-height: var(--leading-relaxed);
  }
  .md\:leading-loose {
    line-height: var(--leading-loose);
  }
}
@media (min-width: 1024px) {
  .lg\:text- {
    font-size: 0;
  }
  .lg\:text-3xs {
    font-size: var(--text-3xs);
  }
  .lg\:text-2xs {
    font-size: var(--text-2xs);
  }
  .lg\:text-xs {
    font-size: var(--text-xs);
  }
  .lg\:text-sm {
    font-size: var(--text-sm);
  }
  .lg\:text-md {
    font-size: var(--text-md);
  }
  .lg\:text-lg {
    font-size: var(--text-lg);
  }
  .lg\:text-xl {
    font-size: var(--text-xl);
  }
  .lg\:text-2xl {
    font-size: var(--text-2xl);
  }
  .lg\:text-3xl {
    font-size: var(--text-3xl);
  }
  .lg\:text-4xl {
    font-size: var(--text-4xl);
  }
  .lg\:text-5xl {
    font-size: var(--text-5xl);
  }
  .lg\:text-6xl {
    font-size: var(--text-6xl);
  }
  .lg\:text-7xl {
    font-size: var(--text-7xl);
  }
  .lg\:text-8xl {
    font-size: var(--text-8xl);
  }
  .lg\:font-thin {
    font-weight: var(--font-thin);
  }
  .lg\:font-extra-light {
    font-weight: var(--font-extra-light);
  }
  .lg\:font-light {
    font-weight: var(--font-light);
  }
  .lg\:font-regular {
    font-weight: var(--font-regular);
  }
  .lg\:font-medium {
    font-weight: var(--font-medium);
  }
  .lg\:font-semi-bold {
    font-weight: var(--font-semi-bold);
  }
  .lg\:font-bold {
    font-weight: var(--font-bold);
  }
  .lg\:font-extra-bold {
    font-weight: var(--font-extra-bold);
  }
  .lg\:font-black {
    font-weight: var(--font-black);
  }
  .lg\:font-extra-black {
    font-weight: var(--font-extra-black);
  }
  .lg\:leading-none {
    line-height: var(--leading-none);
  }
  .lg\:leading-tight {
    line-height: var(--leading-tight);
  }
  .lg\:leading-snug {
    line-height: var(--leading-snug);
  }
  .lg\:leading-normal {
    line-height: var(--leading-normal);
  }
  .lg\:leading-relaxed {
    line-height: var(--leading-relaxed);
  }
  .lg\:leading-loose {
    line-height: var(--leading-loose);
  }
}
@media (min-width: 1728px) {
  .xl\:text- {
    font-size: 0;
  }
  .xl\:text-3xs {
    font-size: var(--text-3xs);
  }
  .xl\:text-2xs {
    font-size: var(--text-2xs);
  }
  .xl\:text-xs {
    font-size: var(--text-xs);
  }
  .xl\:text-sm {
    font-size: var(--text-sm);
  }
  .xl\:text-md {
    font-size: var(--text-md);
  }
  .xl\:text-lg {
    font-size: var(--text-lg);
  }
  .xl\:text-xl {
    font-size: var(--text-xl);
  }
  .xl\:text-2xl {
    font-size: var(--text-2xl);
  }
  .xl\:text-3xl {
    font-size: var(--text-3xl);
  }
  .xl\:text-4xl {
    font-size: var(--text-4xl);
  }
  .xl\:text-5xl {
    font-size: var(--text-5xl);
  }
  .xl\:text-6xl {
    font-size: var(--text-6xl);
  }
  .xl\:text-7xl {
    font-size: var(--text-7xl);
  }
  .xl\:text-8xl {
    font-size: var(--text-8xl);
  }
  .xl\:font-thin {
    font-weight: var(--font-thin);
  }
  .xl\:font-extra-light {
    font-weight: var(--font-extra-light);
  }
  .xl\:font-light {
    font-weight: var(--font-light);
  }
  .xl\:font-regular {
    font-weight: var(--font-regular);
  }
  .xl\:font-medium {
    font-weight: var(--font-medium);
  }
  .xl\:font-semi-bold {
    font-weight: var(--font-semi-bold);
  }
  .xl\:font-bold {
    font-weight: var(--font-bold);
  }
  .xl\:font-extra-bold {
    font-weight: var(--font-extra-bold);
  }
  .xl\:font-black {
    font-weight: var(--font-black);
  }
  .xl\:font-extra-black {
    font-weight: var(--font-extra-black);
  }
  .xl\:leading-none {
    line-height: var(--leading-none);
  }
  .xl\:leading-tight {
    line-height: var(--leading-tight);
  }
  .xl\:leading-snug {
    line-height: var(--leading-snug);
  }
  .xl\:leading-normal {
    line-height: var(--leading-normal);
  }
  .xl\:leading-relaxed {
    line-height: var(--leading-relaxed);
  }
  .xl\:leading-loose {
    line-height: var(--leading-loose);
  }
}
.mt-0 {
  margin-top: 0 !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.pt-0 {
  padding-top: 0 !important;
}

.pb-0 {
  padding-bottom: 0 !important;
}

@media (min-width: 560px) {
  .sm\:mt-0 {
    margin-top: 0 !important;
  }
  .sm\:mb-0 {
    margin-bottom: 0 !important;
  }
  .sm\:pt-0 {
    padding-top: 0 !important;
  }
  .sm\:pb-0 {
    padding-bottom: 0 !important;
  }
}
@media (min-width: 768px) {
  .md\:mt-0 {
    margin-top: 0 !important;
  }
  .md\:mb-0 {
    margin-bottom: 0 !important;
  }
  .md\:pt-0 {
    padding-top: 0 !important;
  }
  .md\:pb-0 {
    padding-bottom: 0 !important;
  }
}
@media (min-width: 1024px) {
  .lg\:mt-0 {
    margin-top: 0 !important;
  }
  .lg\:mb-0 {
    margin-bottom: 0 !important;
  }
  .lg\:pt-0 {
    padding-top: 0 !important;
  }
  .lg\:pb-0 {
    padding-bottom: 0 !important;
  }
}
@media (min-width: 1728px) {
  .xl\:mt-0 {
    margin-top: 0 !important;
  }
  .xl\:mb-0 {
    margin-bottom: 0 !important;
  }
  .xl\:pt-0 {
    padding-top: 0 !important;
  }
  .xl\:pb-0 {
    padding-bottom: 0 !important;
  }
}
.leading-none {
  line-height: var(--leading-none);
}

.leading-tight {
  line-height: var(--leading-tight);
}

.leading-snug {
  line-height: var(--leading-snug);
}

.leading-normal {
  line-height: var(--leading-normal);
}

.leading-relaxed {
  line-height: var(--leading-relaxed);
}

.leading-loose {
  line-height: var(--leading-loose);
}

.tracking-tighter {
  letter-spacing: var(--tracking-tighter);
}

.tracking-tight {
  letter-spacing: var(--tracking-tight);
}

.tracking-normal {
  letter-spacing: var(--tracking-normal);
}

.tracking-wide {
  letter-spacing: var(--tracking-wide);
}

.tracking-wider {
  letter-spacing: var(--tracking-wider);
}

.tracking-widest {
  letter-spacing: var(--tracking-widest);
}

.line-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.line-clamp-3 {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.line-clamp-4 {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.line-clamp-5 {
  display: -webkit-box;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.line-clamp-6 {
  display: -webkit-box;
  -webkit-line-clamp: 6;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.line-clamp-7 {
  display: -webkit-box;
  -webkit-line-clamp: 7;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.line-clamp-8 {
  display: -webkit-box;
  -webkit-line-clamp: 8;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.line-clamp-none {
  -webkit-line-clamp: unset;
}

.underline {
  text-decoration: underline;
}

.no-underline {
  text-decoration: none;
}

.hover\:underline:hover {
  text-decoration: underline;
}

.hover\:no-underline:hover {
  text-decoration: none;
}

@media (min-width: 560px) {
  .sm\:leading-none {
    line-height: var(--leading-none);
  }
  .sm\:leading-tight {
    line-height: var(--leading-tight);
  }
  .sm\:leading-snug {
    line-height: var(--leading-snug);
  }
  .sm\:leading-normal {
    line-height: var(--leading-normal);
  }
  .sm\:leading-relaxed {
    line-height: var(--leading-relaxed);
  }
  .sm\:leading-loose {
    line-height: var(--leading-loose);
  }
  .sm\:tracking-tighter {
    letter-spacing: var(--tracking-tighter);
  }
  .sm\:tracking-tight {
    letter-spacing: var(--tracking-tight);
  }
  .sm\:tracking-normal {
    letter-spacing: var(--tracking-normal);
  }
  .sm\:tracking-wide {
    letter-spacing: var(--tracking-wide);
  }
  .sm\:tracking-wider {
    letter-spacing: var(--tracking-wider);
  }
  .sm\:tracking-widest {
    letter-spacing: var(--tracking-widest);
  }
  .sm\:line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .sm\:line-clamp-3 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .sm\:line-clamp-4 {
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .sm\:line-clamp-5 {
    display: -webkit-box;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .sm\:line-clamp-6 {
    display: -webkit-box;
    -webkit-line-clamp: 6;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .sm\:line-clamp-7 {
    display: -webkit-box;
    -webkit-line-clamp: 7;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .sm\:line-clamp-8 {
    display: -webkit-box;
    -webkit-line-clamp: 8;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .sm\:line-clamp-none {
    -webkit-line-clamp: unset;
  }
  .sm\:underline {
    text-decoration: underline;
  }
  .sm\:no-underline {
    text-decoration: none;
  }
  .sm\:hover\:underline:hover {
    text-decoration: underline;
  }
  .sm\:hover\:no-underline:hover {
    text-decoration: none;
  }
}
@media (min-width: 768px) {
  .md\:leading-none {
    line-height: var(--leading-none);
  }
  .md\:leading-tight {
    line-height: var(--leading-tight);
  }
  .md\:leading-snug {
    line-height: var(--leading-snug);
  }
  .md\:leading-normal {
    line-height: var(--leading-normal);
  }
  .md\:leading-relaxed {
    line-height: var(--leading-relaxed);
  }
  .md\:leading-loose {
    line-height: var(--leading-loose);
  }
  .md\:tracking-tighter {
    letter-spacing: var(--tracking-tighter);
  }
  .md\:tracking-tight {
    letter-spacing: var(--tracking-tight);
  }
  .md\:tracking-normal {
    letter-spacing: var(--tracking-normal);
  }
  .md\:tracking-wide {
    letter-spacing: var(--tracking-wide);
  }
  .md\:tracking-wider {
    letter-spacing: var(--tracking-wider);
  }
  .md\:tracking-widest {
    letter-spacing: var(--tracking-widest);
  }
  .md\:line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .md\:line-clamp-3 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .md\:line-clamp-4 {
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .md\:line-clamp-5 {
    display: -webkit-box;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .md\:line-clamp-6 {
    display: -webkit-box;
    -webkit-line-clamp: 6;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .md\:line-clamp-7 {
    display: -webkit-box;
    -webkit-line-clamp: 7;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .md\:line-clamp-8 {
    display: -webkit-box;
    -webkit-line-clamp: 8;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .md\:line-clamp-none {
    -webkit-line-clamp: unset;
  }
  .md\:underline {
    text-decoration: underline;
  }
  .md\:no-underline {
    text-decoration: none;
  }
  .md\:hover\:underline:hover {
    text-decoration: underline;
  }
  .md\:hover\:no-underline:hover {
    text-decoration: none;
  }
}
@media (min-width: 1024px) {
  .lg\:leading-none {
    line-height: var(--leading-none);
  }
  .lg\:leading-tight {
    line-height: var(--leading-tight);
  }
  .lg\:leading-snug {
    line-height: var(--leading-snug);
  }
  .lg\:leading-normal {
    line-height: var(--leading-normal);
  }
  .lg\:leading-relaxed {
    line-height: var(--leading-relaxed);
  }
  .lg\:leading-loose {
    line-height: var(--leading-loose);
  }
  .lg\:tracking-tighter {
    letter-spacing: var(--tracking-tighter);
  }
  .lg\:tracking-tight {
    letter-spacing: var(--tracking-tight);
  }
  .lg\:tracking-normal {
    letter-spacing: var(--tracking-normal);
  }
  .lg\:tracking-wide {
    letter-spacing: var(--tracking-wide);
  }
  .lg\:tracking-wider {
    letter-spacing: var(--tracking-wider);
  }
  .lg\:tracking-widest {
    letter-spacing: var(--tracking-widest);
  }
  .lg\:line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .lg\:line-clamp-3 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .lg\:line-clamp-4 {
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .lg\:line-clamp-5 {
    display: -webkit-box;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .lg\:line-clamp-6 {
    display: -webkit-box;
    -webkit-line-clamp: 6;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .lg\:line-clamp-7 {
    display: -webkit-box;
    -webkit-line-clamp: 7;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .lg\:line-clamp-8 {
    display: -webkit-box;
    -webkit-line-clamp: 8;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .lg\:line-clamp-none {
    -webkit-line-clamp: unset;
  }
  .lg\:underline {
    text-decoration: underline;
  }
  .lg\:no-underline {
    text-decoration: none;
  }
  .lg\:hover\:underline:hover {
    text-decoration: underline;
  }
  .lg\:hover\:no-underline:hover {
    text-decoration: none;
  }
}
@media (min-width: 1728px) {
  .xl\:leading-none {
    line-height: var(--leading-none);
  }
  .xl\:leading-tight {
    line-height: var(--leading-tight);
  }
  .xl\:leading-snug {
    line-height: var(--leading-snug);
  }
  .xl\:leading-normal {
    line-height: var(--leading-normal);
  }
  .xl\:leading-relaxed {
    line-height: var(--leading-relaxed);
  }
  .xl\:leading-loose {
    line-height: var(--leading-loose);
  }
  .xl\:tracking-tighter {
    letter-spacing: var(--tracking-tighter);
  }
  .xl\:tracking-tight {
    letter-spacing: var(--tracking-tight);
  }
  .xl\:tracking-normal {
    letter-spacing: var(--tracking-normal);
  }
  .xl\:tracking-wide {
    letter-spacing: var(--tracking-wide);
  }
  .xl\:tracking-wider {
    letter-spacing: var(--tracking-wider);
  }
  .xl\:tracking-widest {
    letter-spacing: var(--tracking-widest);
  }
  .xl\:line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .xl\:line-clamp-3 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .xl\:line-clamp-4 {
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .xl\:line-clamp-5 {
    display: -webkit-box;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .xl\:line-clamp-6 {
    display: -webkit-box;
    -webkit-line-clamp: 6;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .xl\:line-clamp-7 {
    display: -webkit-box;
    -webkit-line-clamp: 7;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .xl\:line-clamp-8 {
    display: -webkit-box;
    -webkit-line-clamp: 8;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .xl\:line-clamp-none {
    -webkit-line-clamp: unset;
  }
  .xl\:underline {
    text-decoration: underline;
  }
  .xl\:no-underline {
    text-decoration: none;
  }
  .xl\:hover\:underline:hover {
    text-decoration: underline;
  }
  .xl\:hover\:no-underline:hover {
    text-decoration: none;
  }
}
/**
  Overhang
*/
.overhang-both {
  margin-inline: calc(50% - 50cqw);
}
@media (max-width: 767.98px) {
  .overhang-both:is(.disable-mobile) {
    margin-inline: 0;
  }
}

.overhang-right {
  margin-right: calc(50% - 50cqw);
}
@media (max-width: 767.98px) {
  .overhang-right:is(.disable-mobile) {
    margin-inline: 0;
  }
}

.overhang-left {
  margin-left: calc(50% - 50cqw);
}
@media (max-width: 767.98px) {
  .overhang-left:is(.disable-mobile) {
    margin-inline: 0;
  }
}

@media (min-width: 560px) {
  /**
    Overhang
  */
  .sm\:overhang-both {
    margin-inline: calc(50% - 50cqw);
  }
}
@media (min-width: 560px) and (max-width: 767.98px) {
  .sm\:overhang-both:is(.disable-mobile) {
    margin-inline: 0;
  }
}
@media (min-width: 560px) {
  .sm\:overhang-right {
    margin-right: calc(50% - 50cqw);
  }
}
@media (min-width: 560px) and (max-width: 767.98px) {
  .sm\:overhang-right:is(.disable-mobile) {
    margin-inline: 0;
  }
}
@media (min-width: 560px) {
  .sm\:overhang-left {
    margin-left: calc(50% - 50cqw);
  }
}
@media (min-width: 560px) and (max-width: 767.98px) {
  .sm\:overhang-left:is(.disable-mobile) {
    margin-inline: 0;
  }
}
@media (min-width: 768px) {
  /**
    Overhang
  */
  .md\:overhang-both {
    margin-inline: calc(50% - 50cqw);
  }
}
@media (min-width: 768px) and (max-width: 767.98px) {
  .md\:overhang-both:is(.disable-mobile) {
    margin-inline: 0;
  }
}
@media (min-width: 768px) {
  .md\:overhang-right {
    margin-right: calc(50% - 50cqw);
  }
}
@media (min-width: 768px) and (max-width: 767.98px) {
  .md\:overhang-right:is(.disable-mobile) {
    margin-inline: 0;
  }
}
@media (min-width: 768px) {
  .md\:overhang-left {
    margin-left: calc(50% - 50cqw);
  }
}
@media (min-width: 768px) and (max-width: 767.98px) {
  .md\:overhang-left:is(.disable-mobile) {
    margin-inline: 0;
  }
}
@media (min-width: 1024px) {
  /**
    Overhang
  */
  .lg\:overhang-both {
    margin-inline: calc(50% - 50cqw);
  }
}
@media (min-width: 1024px) and (max-width: 767.98px) {
  .lg\:overhang-both:is(.disable-mobile) {
    margin-inline: 0;
  }
}
@media (min-width: 1024px) {
  .lg\:overhang-right {
    margin-right: calc(50% - 50cqw);
  }
}
@media (min-width: 1024px) and (max-width: 767.98px) {
  .lg\:overhang-right:is(.disable-mobile) {
    margin-inline: 0;
  }
}
@media (min-width: 1024px) {
  .lg\:overhang-left {
    margin-left: calc(50% - 50cqw);
  }
}
@media (min-width: 1024px) and (max-width: 767.98px) {
  .lg\:overhang-left:is(.disable-mobile) {
    margin-inline: 0;
  }
}
@media (min-width: 1728px) {
  /**
    Overhang
  */
  .xl\:overhang-both {
    margin-inline: calc(50% - 50cqw);
  }
}
@media (min-width: 1728px) and (max-width: 767.98px) {
  .xl\:overhang-both:is(.disable-mobile) {
    margin-inline: 0;
  }
}
@media (min-width: 1728px) {
  .xl\:overhang-right {
    margin-right: calc(50% - 50cqw);
  }
}
@media (min-width: 1728px) and (max-width: 767.98px) {
  .xl\:overhang-right:is(.disable-mobile) {
    margin-inline: 0;
  }
}
@media (min-width: 1728px) {
  .xl\:overhang-left {
    margin-left: calc(50% - 50cqw);
  }
}
@media (min-width: 1728px) and (max-width: 767.98px) {
  .xl\:overhang-left:is(.disable-mobile) {
    margin-inline: 0;
  }
}
/**
  Form
*/
.form-items {
  display: grid;
  gap: 32px;
}

.form-item {
  display: grid;
  gap: 16px;
}
.form-item:has([aria-required=true], .wpcf7-validates-as-required, input[type=radio]) .form-head p::after {
  display: block;
  content: "必須";
  padding: 4px 16px;
  font-size: 1rem;
  line-height: 1;
  color: var(--color-white);
  background-color: var(--color-error);
}

@media (min-width: 768px) {
  .form-items.layout-table {
    grid-template-columns: max-content 1fr;
    gap: 32px 64px;
  }
}
.form-items.layout-table .form-item {
  grid-template-columns: subgrid;
  grid-column: span 2;
}
@media (max-width: 767.98px) {
  .form-items.layout-table .form-item {
    grid-column: span 1;
  }
}
.form-items.layout-table .form-head {
  margin-top: 0.75em;
}

.form-head {
  font-weight: var(--font-bold);
  line-height: var(--leading-none);
}
@media (min-width: 768px) {
  .form-head {
    margin-top: 0.5em;
  }
}
.form-head p {
  display: flex;
  align-items: center;
  gap: 8px;
}

.form-body :is(.flex, .grid) {
  gap: 1em;
}

.form-wrapper {
  --input-padding-inline: 8px;
  --input-padding-block: 8px;
  --input-border-color: var(--color-gray-200);
  --input-background-color: var(--color-white);
  --input-placeholder-color: var(--color-gray-300);
  --textarea-height: 300px;
  --validation-text-font-size: var(--text-xs);
  --checkbox-radio-row-gap: 16px;
  --checkbox-radio-col-gap: 8px;
}
.form-wrapper :is(input[type=text],
input[type=password],
input[type=email],
input[type=tel],
input[type=url],
input[type=number],
input[type=date],
textarea,
select) {
  vertical-align: middle;
  width: 100%;
  padding-inline: var(--input-padding-inline);
  padding-block: var(--input-padding-block);
  border: 1px solid var(--input-border-color);
  background-color: var(--input-background-color);
}
.form-wrapper ::-moz-placeholder {
  color: var(--input-placeholder-color);
}
.form-wrapper ::placeholder {
  color: var(--input-placeholder-color);
}
.form-wrapper textarea {
  height: var(--textarea-height);
}
.form-wrapper .wpcf7-list-item {
  margin: 0;
}
.form-wrapper .wpcf7-not-valid-tip {
  margin-top: 1em;
  font-size: var(--validation-text-font-size);
  line-height: 1;
  color: var(--color-error);
}
.form-wrapper .wpcf7-form-control-wrap:has(select)::after {
  display: flex;
  align-items: center;
  content: "\f078";
  position: absolute;
  top: 0;
  right: 10px;
  bottom: 0;
  margin: auto;
  font-size: 12px;
  font-weight: 900;
  font-family: "Font Awesome 6 Free";
}

.wpcf7-form-control:is(.wpcf7-radio, .wpcf7-checkbox, .wpcf7-acceptance) {
  display: flex;
  flex-wrap: wrap;
  gap: var(--checkbox-radio-row-gap) var(--checkbox-radio-col-gap);
  accent-color: var(--color-base);
}
@media (max-width: 767.98px) {
  .wpcf7-form-control:is(.wpcf7-radio, .wpcf7-checkbox, .wpcf7-acceptance):not(.flex-col) {
    flex-direction: column;
  }
}
.wpcf7-form-control:is(.wpcf7-radio, .wpcf7-checkbox, .wpcf7-acceptance) .wpcf7-list-item {
  margin: 0;
  line-height: var(--leading-none);
}
.wpcf7-form-control:is(.wpcf7-radio, .wpcf7-checkbox, .wpcf7-acceptance) .wpcf7-list-item-label {
  flex: 1;
}
.wpcf7-form-control:is(.wpcf7-radio, .wpcf7-checkbox, .wpcf7-acceptance) label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.wpcf7-form-control:is(.wpcf7-radio, .wpcf7-checkbox, .wpcf7-acceptance) input {
  width: 1em;
  height: auto;
  accent-color: var(--color-primary);
  aspect-ratio: 1/1;
}
.wpcf7-form-control.wpcf7-acceptance {
  margin: 50px 0;
  justify-content: center;
}
@media (max-width: 767.98px) {
  .wpcf7-form-control.wpcf7-acceptance {
    align-items: center;
  }
}
.wpcf7-form-control.wpcf7-acceptance label {
  gap: 20px;
}
.wpcf7-form-control.wpcf7-acceptance a {
  text-decoration: underline;
}

#btn-submit {
  position: relative;
}
#btn-submit .wpcf7-spinner {
  position: absolute;
  top: 0;
  right: 20px;
  bottom: 0;
}
#btn-submit .wpcf7-submit:disabled {
  color: var(--color-gray-300);
  background-color: var(--color-gray-100);
}
#btn-submit .wpcf7-submit:disabled:hover {
  opacity: 1;
}

.wpcf7-list-item:has([type=radio]) {
  --outer-size: 30px;
  --inner-size: 10px;
}
.wpcf7-list-item:has([type=radio]) label {
  position: relative;
}
.wpcf7-list-item:has([type=radio]) label:has([type=radio])::before, .wpcf7-list-item:has([type=radio]) label:has([type=radio])::after {
  display: block;
  content: "";
  width: var(--outer-size);
  height: var(--outer-size);
  border-radius: 50%;
  border: 1px solid var(--color-gray-300);
  background-color: var(--color-white);
}
.wpcf7-list-item:has([type=radio]) label:has([type=radio])::after {
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc((var(--outer-size) - var(--inner-size)) / 2);
  width: var(--inner-size);
  height: var(--inner-size);
  margin: auto;
  border: none;
  background-color: var(--color-base);
  opacity: 0;
}
.wpcf7-list-item:has([type=radio]) label:has([type=radio]):has(input[type=radio]:checked)::after {
  opacity: 1;
}
.wpcf7-list-item:has([type=radio]) label input {
  display: none;
}

.wpcf7-list-item:has([type=checkbox]) {
  --box-size: 30px;
  --check-width: 10px;
  --check-height: 15px;
  --check-rotate: 50deg;
  --check-bottom: 10px;
  --check-left: 10px;
}
.wpcf7-list-item:has([type=checkbox]) label {
  position: relative;
}
.wpcf7-list-item:has([type=checkbox]) label:has([type=checkbox])::before {
  display: block;
  content: "";
  width: var(--box-size);
  height: var(--box-size);
  border: 1px solid var(--color-gray-300);
  background-color: var(--color-white);
}
.wpcf7-list-item:has([type=checkbox]) label:has([type=checkbox])::after {
  display: block;
  content: "";
  position: absolute;
  width: var(--check-width);
  height: var(--check-height);
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  rotate: var(--check-rotate);
  bottom: var(--check-bottom);
  left: var(--check-left);
  opacity: 0;
}
.wpcf7-list-item:has([type=checkbox]) label:has([type=checkbox]):has(input[type=checkbox]:checked)::after {
  opacity: 1;
}
.wpcf7-list-item:has([type=checkbox]) label input {
  display: none;
}

.wpcf7-form-control-wrap:has(.js-datepicker)::after {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  right: 20px;
  bottom: 0;
  width: 22px;
  height: 24px;
  margin: auto;
  background: url(../img/common/icon_calendar.svg) no-repeat center center/cover;
}

.vertical-title {
  flex-direction: column;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.horizontal-title {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.container-sm {
  width: 100%;
  margin: 0 auto;
  padding: 0 var(--container-padding);
  width: min(100%, var(--container-size-sm) + var(--container-padding) * 2);
}

.container-md {
  width: 100%;
  margin: 0 auto;
  padding: 0 var(--container-padding);
  width: min(100%, var(--container-size-md) + var(--container-padding) * 2);
}

.container-lg {
  width: 100%;
  margin: 0 auto;
  padding: 0 var(--container-padding);
  width: min(100%, var(--container-size-lg) + var(--container-padding) * 2);
}

.section {
  padding: 100px 0;
}

.entry-col-2 {
  display: grid;
  grid-template-columns: clamp(24rem, 20.1016518424rem + 5.082592122vw, 28rem) 1fr;
  gap: clamp(5rem, 0.127064803rem + 6.3532401525vw, 10rem);
}
@media (max-width: 767.98px) {
  .entry-col-2 {
    grid-template-columns: 1fr;
    gap: 100px;
  }
}
.entry-col-2 .entry-main {
  min-width: 0;
}
@media (min-width: 768px) {
  .entry-col-2 .entry-main {
    order: 2;
  }
}
@media (min-width: 768px) {
  .entry-col-2 .entry-sidebar {
    order: 0;
  }
}

.entry-sidebar {
  display: flex;
  flex-direction: column;
  gap: 64px;
}

.entry-sidebar-title {
  margin-bottom: 30px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--color-base);
  font-size: var(--text-2xl);
  line-height: var(--leading-tight);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.entry-sidebar-title a {
  font-size: var(--text-base);
  font-weight: var(--font-regular);
  color: var(--color-primary);
}

.entry-categories {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.article-header {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-bottom: 64px;
}

.article-title {
  padding-bottom: 24px;
  border-bottom: 1px solid var(--color-base);
  font-size: var(--text-4xl);
  line-height: var(--leading-normal);
}
.article-title span {
  display: block;
  margin-block: var(--leading-trim);
}

.article-meta {
  display: flex;
  align-items: center;
  gap: 16px;
}

.entry-post-nav {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  align-items: center;
  gap: 16px;
}

.entry-post-nav a {
  color: inherit;
  text-decoration: none;
  font-size: var(--text-2xl);
  font-weight: var(--font-medium);
  line-height: var(--leading-none);
}

.entry-post-nav-list {
  text-align: center;
}

:is(.entry-post-nav-prev, .entry-post-nav-next) a {
  display: flex;
  align-items: center;
  gap: 16px;
}

.entry-post-nav-next a {
  justify-content: flex-end;
}

.entry-post-nav-prev .icon-arrow {
  rotate: 180deg;
}

.text-box {
  display: grid;
  gap: 2em;
}
@media (max-width: 767.98px) {
  .text-box {
    gap: 1em;
  }
}

.flex-contents {
  --image-width: clamp(36rem, 10.5828460039rem + 33.1384015595vw, 53rem);
  --gap: 2rem;
  display: flex;
  gap: var(--gap);
}
@media (max-width: 767.98px) {
  .flex-contents {
    --image-width: auto;
    --gap: 0;
    grid-template-columns: 1fr;
    flex-direction: column;
  }
}
.flex-contents .flex-contents-image {
  width: var(--image-width);
}
.flex-contents .flex-contents-image :is(picture, img) {
  width: 100%;
}
@media (max-width: 767.98px) {
  .flex-contents .flex-contents-image {
    width: auto;
    margin-top: 30px;
  }
}
.flex-contents .flex-contents-content {
  flex: 1;
}
@media (max-width: 767.98px) {
  .flex-contents .flex-contents-content {
    display: contents;
  }
}
.flex-contents .flex-contents-content .text-box {
  margin-top: 30px;
}
@media (min-width: 768px) {
  .flex-contents .flex-contents-content .btn-wrapper {
    margin-top: 40px;
  }
}

.label {
  display: inline-block;
  padding: 4px 16px;
}

/**
  Breadcrumbs
*/
.breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  font-size: var(--text-2xs);
  line-height: var(--leading-tight);
  color: var(--color-base);
}
.breadcrumbs .separate {
  display: inline-block;
  content: "";
  width: 6px;
  height: 6px;
  border-bottom: 1px solid currentColor;
  border-right: 1px solid currentColor;
  rotate: -45deg;
}
.breadcrumbs a {
  color: inherit;
  text-decoration: none;
}
.breadcrumbs a:hover {
  text-decoration: underline;
}

.wp-pagenavi {
  --w-size: 48px;
  --h-size: 48px;
  --mobile-w-size: 32px;
  --mobile-h-size: 32px;
  --spacing: 20px;
  --text-color: var(--color-white);
  --background-color: var(--color-primary);
  --border-color: var(--color-primary);
  --extend-color: var(--color-primary);
  --arrow-text-color: var(--color-white);
  --arrow-background-color: var(--color-primary);
  --current-text-color: var(--color-primary);
  --current-background-color: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: var(--spacing);
}
.wp-pagenavi > :is(a, span):not(.extend) {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  text-decoration: none;
  width: var(--w-size);
  height: var(--h-size);
  border: 1px solid var(--border-color);
  background-color: var(--background-color);
  color: var(--text-color);
}
@media (max-width: 767.98px) {
  .wp-pagenavi > :is(a, span):not(.extend) {
    width: var(--mobile-w-size);
    height: var(--mobile-h-size);
  }
}
.wp-pagenavi > :is(a, span):not(.extend).current {
  color: var(--current-text-color);
  background-color: var(--current-background-color);
}
.wp-pagenavi > :is(a, span):not(.extend):is(.previouspostslink, .nextpostslink) {
  border: none;
  color: var(--arrow-text-color);
  background-color: var(--arrow-background-color);
  position: relative;
  font-size: 0;
}
.wp-pagenavi > :is(a, span):not(.extend):is(.previouspostslink, .nextpostslink)::before {
  display: block;
  content: "";
  position: absolute;
  inset: 0;
  right: 4px;
  width: 8px;
  height: 8px;
  margin: auto;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  rotate: 45deg;
}
.wp-pagenavi > :is(a, span):not(.extend):is(.previouspostslink, .nextpostslink).previouspostslink {
  rotate: 180deg;
}
.wp-pagenavi .extend::before {
  content: "・・・";
  color: var(--extend-color);
}

.history-list {
  --margin-top: 8px;
  --spacing: 30px;
  --dot-size: 20px;
  --inner-dot-size: 10px;
  --year-size: 10em;
  display: grid;
  gap: var(--spacing);
  list-style: none;
}

.history-list-item {
  position: relative;
}
.history-list-item::before {
  display: block;
  content: "";
  position: absolute;
  top: var(--margin-top);
  left: calc(var(--dot-size) / 2);
  width: 1px;
  height: calc(100% + 30px);
  background-color: var(--color-primary);
}
.history-list-item:last-child::before {
  display: none;
}

.history-list-item-inner {
  display: grid;
  grid-template-columns: var(--dot-size) var(--year-size) 1fr;
  gap: 50px;
  line-height: var(--leading-normal);
}
@media (max-width: 767.98px) {
  .history-list-item-inner {
    grid-template-columns: var(--dot-size) 1fr;
    gap: 30px;
  }
}
.history-list-item-inner .history-dot {
  position: relative;
  width: var(--dot-size);
  height: var(--dot-size);
  border-radius: 50%;
  margin-top: var(--margin-top);
  background-color: var(--color-primary);
}
.history-list-item-inner .history-dot::before {
  display: block;
  content: "";
  position: absolute;
  inset: 0;
  width: var(--inner-dot-size);
  height: var(--inner-dot-size);
  margin: auto;
  border-radius: 50%;
  background-color: var(--color-primary);
  mix-blend-mode: multiply;
}
.history-list-item-inner .history-content {
  display: contents;
}
@media (max-width: 767.98px) {
  .history-list-item-inner .history-content {
    display: block;
  }
}
.history-list-item-inner .history-time {
  font-size: var(--text-2xl);
  font-weight: var(--font-medium);
  color: var(--color-primary);
}
.history-list-item-inner .history-text {
  margin-top: calc(var(--margin-top) + 0.25em);
}
.history-list-item-inner .history-text > * {
  margin-top: 16px;
}
.history-list-item-inner .history-text > *:first-child {
  margin-top: 0;
}

.btn-primary {
  --max-width: 280px;
  display: block;
  padding: 12px 20px;
  width: min(100%, var(--max-width));
  font-weight: var(--font-bold);
  text-decoration: none;
  text-align: center;
}

.grid-table {
  display: grid;
  grid-template-columns: max-content 1fr;
}
@media (max-width: 767.98px) {
  .grid-table {
    grid-template-columns: 1fr;
  }
}

.grid-table-row {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: span 2;
  border-bottom: 1px solid var(--color-gray-300);
}
@media (max-width: 767.98px) {
  .grid-table-row {
    grid-column: initial;
  }
}
.grid-table-row:first-child {
  border-top: 1px solid var(--color-gray-300);
}

:is(.grid-table-head, .grid-table-body) {
  display: block;
  padding: 16px 24px;
}

.grid-table-head {
  background-color: var(--color-gray-200);
}

.with-thumb-slider .swiper-slide {
  height: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-size: 18px;
  background: #fff;
}
.with-thumb-slider .swiper-slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  background-color: var(--color-gray-100);
}
.with-thumb-slider .swiper-button-next,
.with-thumb-slider .swiper-button-prev {
  --swiper-navigation-size: 12px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-color: rgb(var(--color-black-rgb)/0.4);
}
.with-thumb-slider .main-slider {
  --swiper-navigation-color: #fff;
  --swiper-pagination-color: #fff;
}
.with-thumb-slider .thumb-slider {
  margin-top: 10px;
  box-sizing: border-box;
}
.with-thumb-slider .thumb-slider .swiper-slide {
  position: relative;
  aspect-ratio: 3/2;
}
.with-thumb-slider .thumb-slider .swiper-slide img {
  -o-object-fit: cover;
     object-fit: cover;
}
.with-thumb-slider .thumb-slider .swiper-slide-thumb-active::before {
  display: block;
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgb(var(--color-black-rgb)/0.4);
}

.bg-primary {
  background-color: var(--color-primary);
}

.text-primary {
  color: var(--color-primary);
}

.bg-primary-lighter {
  background-color: var(--color-primary-lighter);
}

.text-primary-lighter {
  color: var(--color-primary-lighter);
}

.bg-lightblue-1 {
  background-color: var(--color-lightblue-1);
}

.text-lightblue-1 {
  color: var(--color-lightblue-1);
}

.bg-lightblue-2 {
  background-color: var(--color-lightblue-2);
}

.text-lightblue-2 {
  color: var(--color-lightblue-2);
}

.bg-gray-1 {
  background-color: var(--color-gray-1);
}

.text-gray-1 {
  color: var(--color-gray-1);
}

.bg-gray-2 {
  background-color: var(--color-gray-2);
}

.text-gray-2 {
  color: var(--color-gray-2);
}

@media (min-width: 560px) {
  .sm\:bg-primary {
    background-color: var(--color-primary);
  }
  .sm\:text-primary {
    color: var(--color-primary);
  }
  .sm\:bg-primary-lighter {
    background-color: var(--color-primary-lighter);
  }
  .sm\:text-primary-lighter {
    color: var(--color-primary-lighter);
  }
  .sm\:bg-lightblue-1 {
    background-color: var(--color-lightblue-1);
  }
  .sm\:text-lightblue-1 {
    color: var(--color-lightblue-1);
  }
  .sm\:bg-lightblue-2 {
    background-color: var(--color-lightblue-2);
  }
  .sm\:text-lightblue-2 {
    color: var(--color-lightblue-2);
  }
  .sm\:bg-gray-1 {
    background-color: var(--color-gray-1);
  }
  .sm\:text-gray-1 {
    color: var(--color-gray-1);
  }
  .sm\:bg-gray-2 {
    background-color: var(--color-gray-2);
  }
  .sm\:text-gray-2 {
    color: var(--color-gray-2);
  }
}
@media (min-width: 768px) {
  .md\:bg-primary {
    background-color: var(--color-primary);
  }
  .md\:text-primary {
    color: var(--color-primary);
  }
  .md\:bg-primary-lighter {
    background-color: var(--color-primary-lighter);
  }
  .md\:text-primary-lighter {
    color: var(--color-primary-lighter);
  }
  .md\:bg-lightblue-1 {
    background-color: var(--color-lightblue-1);
  }
  .md\:text-lightblue-1 {
    color: var(--color-lightblue-1);
  }
  .md\:bg-lightblue-2 {
    background-color: var(--color-lightblue-2);
  }
  .md\:text-lightblue-2 {
    color: var(--color-lightblue-2);
  }
  .md\:bg-gray-1 {
    background-color: var(--color-gray-1);
  }
  .md\:text-gray-1 {
    color: var(--color-gray-1);
  }
  .md\:bg-gray-2 {
    background-color: var(--color-gray-2);
  }
  .md\:text-gray-2 {
    color: var(--color-gray-2);
  }
}
@media (min-width: 1024px) {
  .lg\:bg-primary {
    background-color: var(--color-primary);
  }
  .lg\:text-primary {
    color: var(--color-primary);
  }
  .lg\:bg-primary-lighter {
    background-color: var(--color-primary-lighter);
  }
  .lg\:text-primary-lighter {
    color: var(--color-primary-lighter);
  }
  .lg\:bg-lightblue-1 {
    background-color: var(--color-lightblue-1);
  }
  .lg\:text-lightblue-1 {
    color: var(--color-lightblue-1);
  }
  .lg\:bg-lightblue-2 {
    background-color: var(--color-lightblue-2);
  }
  .lg\:text-lightblue-2 {
    color: var(--color-lightblue-2);
  }
  .lg\:bg-gray-1 {
    background-color: var(--color-gray-1);
  }
  .lg\:text-gray-1 {
    color: var(--color-gray-1);
  }
  .lg\:bg-gray-2 {
    background-color: var(--color-gray-2);
  }
  .lg\:text-gray-2 {
    color: var(--color-gray-2);
  }
}
@media (min-width: 1728px) {
  .xl\:bg-primary {
    background-color: var(--color-primary);
  }
  .xl\:text-primary {
    color: var(--color-primary);
  }
  .xl\:bg-primary-lighter {
    background-color: var(--color-primary-lighter);
  }
  .xl\:text-primary-lighter {
    color: var(--color-primary-lighter);
  }
  .xl\:bg-lightblue-1 {
    background-color: var(--color-lightblue-1);
  }
  .xl\:text-lightblue-1 {
    color: var(--color-lightblue-1);
  }
  .xl\:bg-lightblue-2 {
    background-color: var(--color-lightblue-2);
  }
  .xl\:text-lightblue-2 {
    color: var(--color-lightblue-2);
  }
  .xl\:bg-gray-1 {
    background-color: var(--color-gray-1);
  }
  .xl\:text-gray-1 {
    color: var(--color-gray-1);
  }
  .xl\:bg-gray-2 {
    background-color: var(--color-gray-2);
  }
  .xl\:text-gray-2 {
    color: var(--color-gray-2);
  }
}
body {
  --color-base: #000;
  --color-error: #CF1E1E;
  --header-height: 92px;
  --container-size-sm: 1160px;
  --container-size-md: 1554px;
  --font-base: var(--font-noto);
  --font-poppins: "Poppins", sans-serif;
  --leading-relaxed: 1.75;
  --color-primary: #2B5188;
  --color-primary-rgb: 43 81 136;
  --color-primary-lighter: #3E74C1;
  --color-primary-lighter-rgb: 62 116 193;
  --color-lightblue-1: #EDF1F5;
  --color-lightblue-1-rgb: 237 241 245;
  --color-lightblue-2: #F8FBFE;
  --color-lightblue-2-rgb: 248 251 254;
  --color-gray-1: #888888;
  --color-gray-1-rgb: 136 136 136;
  --color-gray-2: #AAAAAA;
  --color-gray-2-rgb: 170 170 170;
}
@media (max-width: 767.98px) {
  body {
    --header-height: 80px;
  }
}

.font-poppins {
  font-family: var(--font-poppins);
}

.drawer-btn {
  display: block;
  position: relative;
  width: 90px;
  outline: none;
  border: none;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}
.drawer-btn:hover {
  opacity: 1;
}

.drawer-btn-main {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 2;
  width: 100%;
  height: 24px;
  padding: 5px;
  border-radius: 4px;
  color: var(--color-white);
  background: var(--color-primary);
  transition: 0.3s all ease-in-out;
}

.is-drawer-opening .drawer-btn-main {
  background-color: var(--color-primary-lighter);
}

.is-drawer-opening .drawer-btn-bg {
  opacity: 0;
}

.drawer-btn-text {
  font-size: var(--text-xs);
  font-weight: var(--font-regular);
  font-family: var(--font-poppins);
  line-height: var(--leading-none);
}
.drawer-btn-text .open {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  z-index: 1;
  inset: 0;
  transition: 0.3s ease-in-out;
}
.drawer-btn-text .close {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  z-index: 2;
  inset: 0;
  opacity: 0;
  transition: 0.3s ease-in-out;
}

.is-drawer-opening .drawer-btn-text .open {
  opacity: 0;
}
.is-drawer-opening .drawer-btn-text .close {
  opacity: 1;
}

.drawer-btn-bg {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: absolute;
  z-index: 1;
  right: 0;
  bottom: 6px;
  left: 0;
  transform: translateY(100%);
  gap: 1px;
  padding-block: 9px 5px;
  border-radius: 4px;
  background: var(--color-primary-lighter);
  transition: 0.3s ease-in-out;
}
.drawer-btn-bg span {
  width: 1px;
  height: 1px;
  border-radius: 50%;
  background-color: var(--color-white);
}

#drawer-menu {
  position: fixed;
  inset: 0;
  z-index: 998;
  transition: all 0.5s ease;
  overflow-y: scroll;
  opacity: 0;
  pointer-events: none;
  padding-top: var(--header-height);
  background-color: var(--color-white);
}
@media (min-width: 1024px) {
  #drawer-menu {
    display: none !important;
  }
}
#drawer-menu .drawer-top {
  background-color: var(--color-primary);
}
#drawer-menu .drawer-cta {
  margin-top: 60px;
}
#drawer-menu .header-logo-img {
  width: 234px;
}
@media (max-width: 767.98px) {
  #drawer-menu .header-logo-img {
    width: 120px;
  }
}
#drawer-menu .drawer-btn-hamburger-border {
  background-color: var(--color-white);
}
#drawer-menu .drawer-menu-inner {
  display: flex;
  align-items: center;
  height: 100%;
}
#drawer-menu ul {
  list-style: none;
}
#drawer-menu .drawer-menu-list li {
  font-size: var(--text-4xl);
  font-family: var(--font-poppins);
  font-weight: var(--font-medium);
  line-height: var(--leading-loose);
  text-align: center;
}
#drawer-menu .drawer-menu-list li a {
  position: relative;
  color: var(--color-base);
  text-decoration: none;
}
#drawer-menu .drawer-menu-list li a:hover {
  opacity: 1;
}
#drawer-menu .drawer-bottom {
  margin-top: 48px;
}
#drawer-menu .drawer-bottom .fixed-footer-link-item a {
  width: 100%;
}
#drawer-menu .drawer-bottom .inquiry-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 48px;
}

#drawer-menu.is-drawer-opening {
  opacity: 1;
  pointer-events: auto;
}

body {
  background-color: var(--color-lightblue-1);
}

#wrapper {
  position: relative;
  padding-top: 130px;
  overflow: hidden;
}
@media (max-width: 767.98px) {
  #wrapper {
    padding-top: 74px;
  }
}

.section {
  padding-block: 264px;
}
@media (max-width: 767.98px) {
  .section {
    padding-block: 100px;
  }
}
.section:is(.py-240) {
  padding-block: 240px;
}
@media (max-width: 767.98px) {
  .section:is(.py-240) {
    padding-top: 140px;
    padding-bottom: 100px;
  }
}
.section:is(.py-220) {
  padding-block: 220px;
}
@media (max-width: 767.98px) {
  .section:is(.py-220) {
    padding-block: 100px;
  }
}
.section:is(.py-180) {
  padding-block: 180px;
}
@media (max-width: 767.98px) {
  .section:is(.py-180) {
    padding-block: 64px;
  }
}
.section:is(.py-130) {
  padding-block: 130px;
}
@media (max-width: 767.98px) {
  .section:is(.py-130) {
    padding-block: 48px;
  }
}
.section:is(.pb-100) {
  padding-bottom: 100px;
}
@media (max-width: 767.98px) {
  .section:is(.pb-100) {
    padding-bottom: 64px;
  }
}
.section .section-title {
  margin-bottom: 24px;
}
@media (max-width: 767.98px) {
  .section .section-title {
    margin-bottom: 20px;
  }
}
.section .section-title-en {
  margin-bottom: 18px;
}
@media (max-width: 767.98px) {
  .section .section-title-en {
    margin-bottom: 10px;
  }
}
.section .text-link-primary {
  margin-top: 40px;
}
@media (max-width: 767.98px) {
  .section .text-link-primary {
    margin-top: 20px;
  }
}

.section-about-sections {
  display: grid;
  gap: 64px;
}
@media (max-width: 767.98px) {
  .section-about-sections {
    gap: 32px;
  }
}

.text-link-primary {
  font-size: var(--text-md);
  font-family: var(--font-jura);
  font-weight: var(--font-bold);
  line-height: var(--leading-none);
}
@media (max-width: 767.98px) {
  .text-link-primary {
    font-size: var(--text-2xs);
  }
}
.text-link-primary a {
  display: inline-flex;
  flex-direction: column;
  gap: 8px;
  text-decoration: none;
  color: var(--color-primary);
  white-space: nowrap;
}
@media (max-width: 767.98px) {
  .text-link-primary a {
    gap: 2px;
  }
}
.text-link-primary a::after {
  display: block;
  content: "";
  width: 100%;
  height: 4px;
  background-color: currentColor;
}
@media (max-width: 767.98px) {
  .text-link-primary a::after {
    height: 2px;
  }
}
.text-link-primary a:hover {
  opacity: 1;
}
.text-link-primary a:hover::after {
  animation: mo_line 0.8s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;
}
@keyframes mo_line {
  0%, 46.3% {
    transform-origin: right;
  }
  46.6%, to {
    transform-origin: left;
  }
  46%, 47% {
    transform: scaleX(0);
  }
  to {
    transform: scaleX(1);
  }
}

.text-link-primary {
  display: flex;
  align-items: center;
  gap: 20px;
  text-decoration: none;
}

.text-link-primary-text {
  font-size: var(--text-3xl);
  font-family: var(--font-poppins);
  font-weight: var(--font-medium);
  line-height: var(--leading-none);
  color: currentColor;
}
@media (max-width: 767.98px) {
  .text-link-primary-text {
    font-size: var(--text-xl);
  }
}

.text-link-primary-icon {
  width: 18px;
  height: 20px;
  -webkit-mask: url(../../../img/icon-arrow.svg) no-repeat center center/contain;
          mask: url(../../../img/icon-arrow.svg) no-repeat center center/contain;
  background-color: currentColor;
}
@media (max-width: 767.98px) {
  .text-link-primary-icon {
    width: 14px;
    height: 16px;
  }
}

.site-header {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 999;
  background-color: transparent;
  transition: background-color 0.3s ease-in-out;
}
@media (max-width: 767.98px) {
  .site-header .container-md {
    padding-left: 16px;
  }
}
.site-header .btn-primary {
  outline: 2px solid var(--color-primary);
}
.site-header .btn-primary:hover {
  opacity: 1;
  color: var(--color-primary);
  background-color: var(--color-white);
}

.is-drawer-opening .site-header {
  background-color: var(--color-white);
}

.site-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  height: 130px;
  padding-block: 36px;
  padding-right: 40px;
  padding-left: 40px;
}
@media (max-width: 1023.98px) {
  .site-header-inner {
    height: 74px;
    padding: 20px;
  }
}

.site-header-logo {
  width: 190px;
  line-height: var(--leading-none);
}
.site-header-logo a {
  display: block;
  line-height: var(--leading-none);
}
@media (max-width: 767.98px) {
  .site-header-logo {
    width: 120px;
  }
}

.site-header-secondary {
  flex: 1;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
@media (max-width: 767.98px) {
  .site-header-secondary {
    align-items: center;
    padding-bottom: 0;
  }
}

.site-header-gnav {
  margin-right: clamp(2.4rem, -1.1085133418rem + 4.5743329098vw, 6rem);
}
@media (max-width: 1023.98px) {
  .site-header-gnav {
    display: none;
  }
}
.site-header-gnav ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px clamp(2.4rem, 0.0727272727rem + 2.2727272727vw, 4rem);
  list-style: none;
}
.site-header-gnav li {
  font-family: var(--font-poppins);
  font-weight: var(--font-medium);
  line-height: var(--leading-loose);
}
.site-header-gnav li a {
  color: inherit;
  text-decoration: none;
  text-align: center;
}
.site-header-gnav li span {
  display: block;
}

@media (max-width: 1023.98px) {
  .site-header-cta {
    display: none;
  }
}

:is(.site-header-gnav, #drawer-menu) .en {
  font-weight: var(--font-bold);
  font-family: var(--font-jura);
}
:is(.site-header-gnav, #drawer-menu) .ja {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 4px;
  height: 16px;
  font-size: 1.1rem;
}
:is(.site-header-gnav, #drawer-menu) :is(.login, .logout) .ja {
  font-size: 0;
}
:is(.site-header-gnav, #drawer-menu) :is(.login, .logout) .ja::before {
  display: block;
  content: "";
  width: 16px;
  height: 100%;
  margin: auto;
  -webkit-mask: url(../img/common/icon_key.svg) no-repeat center center/contain;
          mask: url(../img/common/icon_key.svg) no-repeat center center/contain;
  background-color: currentColor;
}

.btn-primary {
  width: 180px;
  max-width: 100%;
  padding-block: 9px;
  border-radius: 100px;
  font-weight: var(--font-medium);
  font-family: var(--font-poppins);
}

.side-scroll-area {
  display: grid;
  gap: 78px;
  position: absolute;
  top: calc(var(--header-height) + 160px);
  left: var(--header-padding-left);
  font-size: var(--text-2xs);
  font-family: var(--font-jura);
  line-height: var(--leading-none);
}
@media (max-width: 1727.98px) {
  .side-scroll-area {
    display: none;
  }
}

.side-scroll-area-copyright {
  writing-mode: sideways-lr;
}

.side-scroll-area-scroll {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

.side-scroll-area-scroll-text {
  writing-mode: sideways-lr;
}

.side-scroll-area-scroll-action {
  position: relative;
  height: 278px;
}

.side-scroll-area-scroll-bar {
  display: block;
  position: absolute;
  z-index: 1;
  inset: 0;
  width: 1px;
  height: 100%;
  margin: 0 auto;
  background-color: var(--color-gray-4);
}

.side-scroll-area-scroll-triangle {
  display: block;
  position: relative;
  z-index: 2;
  margin: 0 auto;
  width: 8px;
  height: 16px;
  background-color: currentColor;
  clip-path: polygon(50% 16px, 0% 0%, 8px 0%);
  background-color: var(--color-black);
  animation: scroller 2.4s ease infinite;
  will-change: top, opacity;
}

@keyframes scroller {
  0% {
    top: 0;
  }
  70% {
    top: calc(100% - 16px);
    opacity: 1;
  }
  100% {
    top: calc(100% - 16px);
    opacity: 0;
  }
}
.entry-date {
  font-size: var(--text-3xs);
  line-height: var(--leading-none);
  color: var(--color-gray-3);
}
.entry-date time {
  display: inline-block;
}

.label {
  padding: 7px 20px;
  border-radius: 100px;
}

.entry-category {
  font-size: var(--text-xs);
  font-family: var(--font-poppins);
  line-height: var(--leading-none);
  color: inherit;
  text-decoration: none;
}

.works-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  list-style-type: none;
}
@media (max-width: 1023.98px) {
  .works-list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 559.98px) {
  .works-list {
    grid-template-columns: repeat(1, 1fr);
  }
}
.works-list .entry-category {
  margin-top: 21px;
  color: var(--color-white);
  background-color: var(--color-primary);
}

.works-list-item-eyecatch {
  border-radius: 8px;
  overflow: hidden;
}

.works-list-item-title {
  margin-top: 18px;
  font-size: var(--text-lg);
  font-weight: var(--font-regular);
  line-height: 2rem;
  height: 6rem;
}
@media (max-width: 1023.98px) {
  .works-list-item-title {
    font-size: var(--text-md);
  }
}
.works-list-item-title a {
  color: currentColor;
  text-decoration: none;
  line-height: 3rem;
}

.works-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: clamp(4.4rem, 0.1118170267rem + 5.5908513342vw, 8.8rem);
}
@media (max-width: 767.98px) {
  .works-loading img {
    width: 45px;
  }
}

.site-footer-primary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

@media (max-width: 767.98px) {
  .site-footer-to-top-wrapper {
    padding-block: 32px;
  }
}

.site-footer-to-top-inner {
  display: flex;
  align-items: center;
  gap: 8px;
}

.site-footer-to-top-icon-arrow {
  display: block;
  width: 18px;
  height: 20px;
  -webkit-mask: url(../../../img/icon-arrow-02.svg) no-repeat center center/contain;
          mask: url(../../../img/icon-arrow-02.svg) no-repeat center center/contain;
  background-color: currentColor;
}

.site-footer-to-top-text {
  font-size: var(--text-lg);
  font-family: var(--font-poppins);
  font-weight: var(--font-medium);
  line-height: 1.6;
}

.site-footer-secondary {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
@media (max-width: 767.98px) {
  .site-footer-secondary {
    order: -1;
    gap: 20px;
    margin-bottom: 20px;
  }
}

.site-footer-logo {
  background-color: var(--color-white);
}
@media (max-width: 767.98px) {
  .site-footer-logo {
    padding-bottom: 6px;
  }
}
.site-footer-logo a {
  display: block;
}
@media (max-width: 767.98px) {
  .site-footer-logo a {
    width: 168px;
    margin: 0 auto;
  }
}

.site-footer-content {
  padding-block: 60px 70px;
  background-color: var(--color-primary);
}
@media (max-width: 767.98px) {
  .site-footer-content {
    padding-block: 40px 28px;
  }
}

.site-footer-inner {
  position: relative;
}
/*
.site-footer-inner::after {
  display: block;
  content: "";
  position: absolute;
  z-index: 1;
  top: -15px;
  right: -46px;
  width: 450px;
  height: 360px;
  background: url(../../../img/footer_bg_pc.svg) no-repeat center center/contain;
}
*/
@media (max-width: 767.98px) {
  .site-footer-inner::after {
    display: none;
    top: -25px;
    right: auto;
    left: 20px;
    width: 312px;
    height: 250px;
    background-image: url(../../../img/footer_bg_sp.svg);
  }
}
.site-footer-inner > * {
  position: relative;
  z-index: 2;
}

.site-footer-secondary {
  margin: 40px 0;
}
@media (max-width: 767.98px) {
  .site-footer-secondary {
    margin-top: 38px;
    margin-bottom: 30px;
  }
}

.site-footer-text {
  padding-block: 37px;
  border-top: 2px solid var(--color-white);
  border-bottom: 2px solid var(--color-white);
  text-align: center;
}
@media (max-width: 767.98px) {
  .site-footer-text {
    padding-block: 17px;
    text-align: left;
  }
}

.site-footer-tertiary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
@media (max-width: 767.98px) {
  .site-footer-tertiary {
    justify-content: flex-end;
  }
}

.site-footer-nav {
  flex: 1;
}
@media (max-width: 767.98px) {
  .site-footer-nav {
    display: none;
  }
}
.site-footer-nav ul {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  gap: 0 clamp(2.4rem, -5.2406130268rem + 9.9616858238vw, 5rem);
}
.site-footer-nav ul a {
  font-size: var(--text-xs);
  font-weight: var(--font-regular);
  line-height: var(--leading-loose);
  color: var(--color-white);
  text-decoration: none;
}

.site-footer-copyright {
  font-size: var(--text-xs);
  font-family: var(--font-poppins);
  font-weight: var(--font-medium);
  color: var(--color-white);
  line-height: var(--leading-none);
}
@media (max-width: 767.98px) {
  .site-footer-copyright {
    font-size: var(--text-3xs);
    line-height: 2.666666667;
  }
}

.section-under-fv {
  padding: 140px 0;
  background-color: var(--color-gray-1);
}
@media (max-width: 767.98px) {
  .section-under-fv {
    padding: 32px 0 85px;
    background-color: transparent;
  }
}

.section-under-fv-title {
  gap: 38px;
}
@media (max-width: 767.98px) {
  .section-under-fv-title {
    gap: 8px;
  }
}

.section-under-fv-title-md {
  font-size: clamp(4.8rem, -2.9746588694rem + 10.1364522417vw, 10rem);
  font-weight: var(--font-bold);
  font-family: var(--font-jura);
  line-height: var(--leading-none);
}
@media (max-width: 767.98px) {
  .section-under-fv-title-md {
    font-size: 3rem;
  }
}

.section-under-fv-title-sm {
  font-size: clamp(2rem, 1.4019493177rem + 0.7797270955vw, 2.4rem);
  font-weight: var(--font-bold);
  line-height: var(--leading-none);
  letter-spacing: var(--tracking-widest);
}
@media (max-width: 767.98px) {
  .section-under-fv-title-sm {
    font-size: var(--text-md);
  }
}

.section-under-fv-wrapper + .section {
  padding-top: 130px;
}
@media (max-width: 767.98px) {
  .section-under-fv-wrapper + .section {
    padding-top: 0;
  }
}

.section-breadcrumbs {
  padding-top: 40px;
}
@media (max-width: 767.98px) {
  .section-breadcrumbs {
    padding-top: 50px;
  }
}

.breadcrumbs {
  font-size: var(--text-xs);
  font-weight: var(--font-medium);
  line-height: var(--leading-tight);
  color: var(--color-white);
  gap: 1em;
}
@media (max-width: 767.98px) {
  .breadcrumbs {
    font-size: var(--text-xs);
  }
}
.breadcrumbs > *:first-child::after, .breadcrumbs > *:not(:last-child)::after {
  content: "/";
  margin-left: 1em;
}

.section-flex-box {
  display: grid;
  grid-template-columns: 190px 1fr;
}
@media (max-width: 767.98px) {
  .section-flex-box {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

.section-flex-box-primary {
  padding-right: 16px;
}
@media (max-width: 767.98px) {
  .section-flex-box-primary {
    padding-right: 0;
  }
}

.section-flex-box-title {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: var(--text-lg);
  font-weight: var(--font-bold);
  font-family: var(--font-jura);
  line-height: var(--leading-none);
}
.section-flex-box-title::before {
  display: block;
  content: "";
  width: 18px;
  height: 10px;
  background-color: currentColor;
  clip-path: polygon(18px 50%, 0% 0%, 0% 10px);
}

.section-flex-box-section {
  margin-bottom: 80px;
}
@media (max-width: 767.98px) {
  .section-flex-box-section {
    margin-bottom: 35px;
  }
}
.section-flex-box-section:last-child {
  margin-bottom: 0;
}

.section-flex-box-sub-title {
  margin-bottom: 32px;
  font-size: var(--text-2xl);
  line-height: var(--leading-normal);
  letter-spacing: var(--tracking-widest);
}
@media (max-width: 767.98px) {
  .section-flex-box-sub-title {
    font-size: var(--text-md);
  }
}

.section-flex-box-text {
  display: grid;
  gap: 2em;
  line-height: var(--leading-loose);
  letter-spacing: var(--tracking-widest);
}

.archive-col-2 {
  display: grid;
  align-items: flex-start;
  grid-template-columns: 150px 1fr;
  gap: 40px;
  padding-bottom: 100px;
}
@media (max-width: 767.98px) {
  .archive-col-2 {
    grid-template-columns: 1fr;
    gap: 64px;
    padding-bottom: 64px;
  }
}
.archive-col-2 #entry-article {
  min-height: 0;
  min-width: 0;
}

body.single .archive-col-2 {
  padding-bottom: 0;
}

.archive-sidebar {
  order: -1;
  display: grid;
  align-items: flex-start;
  gap: 50px;
}
@media (max-width: 767.98px) {
  .archive-sidebar {
    order: 1;
    gap: 40px;
    order: 99;
  }
}

.archive-sidebar-section {
  position: relative;
  padding-left: 30px;
}
.archive-sidebar-section::before {
  display: block;
  content: "";
  position: absolute;
  top: 0.25em;
  left: 0;
  width: 18px;
  height: 10px;
  background-color: currentColor;
  clip-path: polygon(18px 50%, 0% 0%, 0% 10px);
}

.archive-sidebar-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  font-size: var(--text-lg);
  font-family: var(--font-jura);
  font-weight: var(--font-bold);
  line-height: var(--leading-none);
}
.archive-sidebar-title:hover {
  cursor: pointer;
  opacity: 0.7;
}
.archive-sidebar-title span:nth-child(2) {
  display: block;
  position: relative;
  width: 16px;
  height: 16px;
}
.archive-sidebar-title span:nth-child(2)::before, .archive-sidebar-title span:nth-child(2)::after {
  display: block;
  content: "";
  position: absolute;
  inset: 0;
  width: 100%;
  height: 3px;
  margin: auto;
  background-color: var(--color-gray-4);
  transition: opacity 0.3s ease-out;
}
.archive-sidebar-title span:nth-child(2)::after {
  transform: rotate(90deg);
}
.archive-sidebar-title.is-active span:nth-child(2)::after {
  opacity: 0;
}

.archive-sidebar-content {
  margin-top: 10px;
}

.archive-sidebar-list {
  display: grid;
  gap: 10px;
  list-style: none;
}
.archive-sidebar-list li {
  font-size: var(--text-3xs);
  line-height: var(--leading-none);
}
.archive-sidebar-list a {
  color: var(--color-gray-3);
}

.entry-post-nav {
  margin-top: 64px;
  padding-top: 64px;
  border-top: 1px solid var(--color-gray-1);
}
@media (max-width: 767.98px) {
  .entry-post-nav {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
    margin-top: 48px;
    padding-top: 48px;
  }
  .entry-post-nav .entry-post-nav-prev {
    grid-area: 1/1/2/2;
  }
  .entry-post-nav .entry-post-nav-list {
    grid-area: 2/1/3/3;
  }
  .entry-post-nav .entry-post-nav-next {
    grid-area: 1/2/2/3;
  }
}
.entry-post-nav :is(.entry-post-nav-prev, .entry-post-nav-next) a {
  font-size: var(--text-lg);
}

.pagination {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 11px;
  margin-top: 100px;
}
@media (max-width: 767.98px) {
  .pagination {
    margin-block: 40px 0;
  }
}
.pagination :is(.prev, .next) {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  margin: 0;
  border: 1px solid currentColor;
  border-radius: 50%;
  font-size: 8px;
}
.pagination :is(.prev, .next):is(.disabled) {
  color: var(--color-gray-300);
}
.pagination a {
  color: inherit;
  text-decoration: none;
}
.pagination .prev {
  rotate: 180deg;
}
.pagination .page-num {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 11px;
  font-size: var(--text-2xs);
  font-family: var(--font-jura);
  font-weight: var(--font-regular);
  line-height: var(--leading-none);
}
.pagination .page-num span {
  display: block;
  content: "";
  width: 1px;
  height: 12px;
  background-color: currentColor;
}

.article-header {
  margin-bottom: 48px;
}

.section-link-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  list-style: none;
}
@media (max-width: 767.98px) {
  .section-link-list {
    grid-template-columns: 1fr;
    gap: 8px;
  }
}

.section-contact-intro-text {
  margin-bottom: 32px;
  color: var(--color-tertiary);
  line-height: var(--leading-none);
  letter-spacing: var(--tracking-widest);
}

.form-wrapper {
  --input-padding-block: 2px;
}

.under-page-title {
  font-size: clamp(4.8rem, -0.6576874206rem + 7.1156289708vw, 8.4rem);
  font-weight: var(--font-medium);
  font-family: var(--font-poppins);
  line-height: var(--leading-none);
}

.section-label-title {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: clamp(3.2rem, -1.4780177891rem + 6.0991105464vw, 8rem);
  text-align: center;
}
.section-label-title::after {
  display: block;
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  margin: auto;
  height: 1px;
  background-color: var(--color-black);
}
.section-label-title span {
  position: relative;
  z-index: 2;
  display: inline-block;
  padding: 7px 34px 8px;
  border: 1px solid #000;
  border-radius: 4px;
  font-size: var(--text-lg);
  font-weight: var(--font-medium);
  background-color: var(--color-white);
  text-box: trim-both cap alphabetic;
}
@media (max-width: 767.98px) {
  .section-label-title span {
    padding: 4px 24px;
    font-size: var(--text-xs);
  }
}

#section-under-fv {
  margin-top: clamp(5.6rem, -0.6373570521rem + 8.1321473952vw, 12rem);
}
#section-under-fv .under-page-title {
  margin-bottom: clamp(4.4rem, -3.3966963151rem + 10.165184244vw, 12.4rem);
}

.grid-table {
  --table-col-padding: clamp(2.4rem, 0.9381194409rem + 1.9059720457vw, 3.9rem);
  grid-template-columns: max-content 1px 1fr;
  border-right: 1px solid var(--color-gray-2);
  border-left: 1px solid var(--color-gray-2);
  font-size: var(--text-lg);
  line-height: var(--leading-loose);
}
@media (max-width: 767.98px) {
  .grid-table {
    grid-template-columns: 1fr;
    font-size: var(--text-xs);
  }
}

.grid-table-row {
  align-items: center;
  grid-column: span 3;
  border-bottom-color: var(--color-gray-2);
}
@media (max-width: 767.98px) {
  .grid-table-row {
    grid-column: initial;
    padding-block: 30px;
  }
}

.grid-table-row:first-child {
  border-top-color: var(--color-gray-2);
}

.grid-table-head {
  padding-block: var(--table-col-paddig);
  padding-left: clamp(4rem, 0.1016518424rem + 5.082592122vw, 8rem);
  background-color: transparent;
}
@media (max-width: 767.98px) {
  .grid-table-head {
    padding-inline: 40px;
    padding-bottom: 16px;
  }
}

.grid-table-border {
  width: 1px;
  height: calc(100% - 40px);
  background-color: var(--color-gray-2);
}
@media (max-width: 767.98px) {
  .grid-table-border {
    width: calc(100% - 40px);
    height: 1px;
    margin: 0 auto;
  }
}

.grid-table-body {
  padding-block: var(--table-col-padding);
  padding-inline: clamp(4rem, 0.1016518424rem + 5.082592122vw, 8rem);
  line-height: 2.333333333;
}
.grid-table-body.table-col-padding-sm {
  --table-col-padding: clamp(1.6rem, 1.4050825921rem + 0.2541296061vw, 1.8rem);
}
.grid-table-body .leading-special {
  line-height: 1.777777778;
}
@media (max-width: 767.98px) {
  .grid-table-body .leading-special {
    line-height: 1.428571429;
  }
  .grid-table-body .leading-special:last-child {
    line-height: 1.714285714;
  }
}
@media (max-width: 767.98px) {
  .grid-table-body {
    padding-top: 16px;
    padding-bottom: 0;
    line-height: 1.714285714;
  }
}

@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translate3d(0, 100px, 0);
  }
  to {
    opacity: 1;
    transform: translateZ(0);
  }
}
.js-anim-word .word-wrapper {
  display: block;
  overflow: hidden;
}
.js-anim-word .word-wrapper .word {
  opacity: 0;
}
.js-anim-word .word-wrapper [data-name=char] {
  display: inline-block;
  white-space: pre;
}

.tab-panels {
  touch-action: pan-x;
}
