@charset "UTF-8";
/* =========================
  base
========================= */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Remove default padding */
ul,
ol {
  padding: 0;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

/* Set core root defaults */
html {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* Remove list styles on ul, ol elements with a class attribute */
ul,
ol {
  list-style: none;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
}

a {
  text-decoration: none;
}

/* Make images easier to work with */
img {
  max-width: 100%;
  display: block;
  width: 100%;
}

/* Natural flow and rhythm in articles by default */
article > * + * {
  margin-top: 1em;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/* Blur images when they have no alt attribute */
img:not([alt]) {
  filter: blur(10px);
}

/* フォームリセット */
input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}

textarea {
  resize: vertical;
}

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

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

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

html {
  font-size: 16px;
  font-weight: 400;
  color: #000;
  scroll-padding-top: 80px;
}
@media screen and (max-width: 768px) {
  html {
    width: 100%;
    scroll-padding-top: 50px;
  }
}

body {
  font-family: "LINE Seed JP";
  font-weight: 400;
}

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

a {
  transition: opacity 0.3s;
  cursor: pointer;
}

/* =========================
  global
========================= */
/* =========================
  modules
========================= */
/* =========================
  global
========================= */
body {
  background: #EFEFF5;
}

main::after {
  position: fixed;
  content: "";
  background: url(../img/fv_bg.png) no-repeat center center/cover;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: -2;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  main::after {
    background: url(../img/fv_bg_sp.png) no-repeat center center/cover;
  }
}

/* =========================
  global
========================= */
.inner.inner-1024 {
  margin-inline: auto;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .inner.inner-1024 {
    max-width: clamp(816px, calc(816px + 272 * (100vw - 769px) / 231), 1088px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .inner.inner-1024 {
    max-width: 1088px;
  }
}
@media screen and (min-width: 1512px) {
  .inner.inner-1024 {
    max-width: clamp(1088px, calc(1088px + 63.3227513228 * (100vw - 1512px) / 88), 1151.3227513228px);
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .inner.inner-1024 {
    padding: 0 clamp(24px, calc(24px + 8 * (100vw - 769px) / 231), 32px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .inner.inner-1024 {
    padding: 0 32px;
  }
}
@media screen and (min-width: 1512px) {
  .inner.inner-1024 {
    padding: 0 clamp(32px, calc(32px + 1.8624338624 * (100vw - 1512px) / 88), 33.8624338624px);
  }
}
@media screen and (max-width: 768px) {
  .inner.inner-1024 {
    padding: 0 clamp(23.0769230769px, calc(23.0769230769px + 24.1846153846 * (100vw - 375px) / 393), 47.2615384615px);
  }
}

@media screen and (max-width: 768px) {
  .inner {
    padding: 0 clamp(28.8461538462px, calc(28.8461538462px + 30.2307692308 * (100vw - 375px) / 393), 59.0769230769px);
  }
}

.section-padding {
  position: relative;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .section-padding {
    padding-top: clamp(120px, calc(120px + 40 * (100vw - 769px) / 231), 160px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .section-padding {
    padding-top: 160px;
  }
}
@media screen and (min-width: 1512px) {
  .section-padding {
    padding-top: clamp(160px, calc(160px + 9.3121693122 * (100vw - 1512px) / 88), 169.3121693122px);
  }
}
@media screen and (max-width: 768px) {
  .section-padding {
    padding-top: clamp(76.9230769231px, calc(76.9230769231px + 80.6153846154 * (100vw - 375px) / 393), 157.5384615385px);
  }
}

.tab {
  background: #000;
  margin-inline: auto;
  border-radius: 16px 16px 0 0;
  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 5;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .tab {
    width: clamp(645px, calc(645px + 215 * (100vw - 769px) / 231), 860px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .tab {
    width: 860px;
  }
}
@media screen and (min-width: 1512px) {
  .tab {
    width: clamp(860px, calc(860px + 50.0529100529 * (100vw - 1512px) / 88), 910.0529100529px);
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .tab {
    padding: clamp(6px, calc(6px + 2 * (100vw - 769px) / 231), 8px) clamp(12px, calc(12px + 4 * (100vw - 769px) / 231), 16px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .tab {
    padding: 8px 16px;
  }
}
@media screen and (min-width: 1512px) {
  .tab {
    padding: clamp(8px, calc(8px + 0.4656084656 * (100vw - 1512px) / 88), 8.4656084656px) clamp(16px, calc(16px + 0.9312169312 * (100vw - 1512px) / 88), 16.9312169312px);
  }
}
@media screen and (max-width: 768px) {
  .tab {
    padding: clamp(7.6923076923px, calc(7.6923076923px + 8.0615384615 * (100vw - 375px) / 393), 15.7538461538px) clamp(15.3846153846px, calc(15.3846153846px + 16.1230769231 * (100vw - 375px) / 393), 31.5076923077px);
    width: 100%;
    border-radius: initial;
  }
}

.tab__items {
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .tab__items {
    gap: clamp(24px, calc(24px + 8 * (100vw - 769px) / 231), 32px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .tab__items {
    gap: 32px;
  }
}
@media screen and (min-width: 1512px) {
  .tab__items {
    gap: clamp(32px, calc(32px + 1.8624338624 * (100vw - 1512px) / 88), 33.8624338624px);
  }
}
@media screen and (max-width: 768px) {
  .tab__items {
    gap: clamp(30.7692307692px, calc(30.7692307692px + 32.2461538462 * (100vw - 375px) / 393), 63.0153846154px);
  }
}

.tab__item {
  cursor: pointer;
}

.tab__item:not(:first-child) {
  position: relative;
}
.tab__item:not(:first-child)::after {
  position: absolute;
  content: "";
  width: 1px;
  background: #fff;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .tab__item:not(:first-child)::after {
    height: clamp(12px, calc(12px + 4 * (100vw - 769px) / 231), 16px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .tab__item:not(:first-child)::after {
    height: 16px;
  }
}
@media screen and (min-width: 1512px) {
  .tab__item:not(:first-child)::after {
    height: clamp(16px, calc(16px + 0.9312169312 * (100vw - 1512px) / 88), 16.9312169312px);
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .tab__item:not(:first-child)::after {
    left: clamp(-12px, calc(-12px + -4 * (100vw - 769px) / 231), -16px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .tab__item:not(:first-child)::after {
    left: -16px;
  }
}
@media screen and (min-width: 1512px) {
  .tab__item:not(:first-child)::after {
    left: clamp(-16px, calc(-16px + -0.9312169312 * (100vw - 1512px) / 88), -16.9312169312px);
  }
}
@media screen and (max-width: 768px) {
  .tab__item:not(:first-child)::after {
    left: clamp(-31.5076923077px, (15.3846153846px + 16.1230769231 * (100vw - 375px) / 393) * -1, -15.3846153846px);
    height: clamp(15.3846153846px, calc(15.3846153846px + 16.1230769231 * (100vw - 375px) / 393), 31.5076923077px);
  }
}

.tab__item.--day {
  display: flex;
  align-items: center;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .tab__item.--day {
    gap: clamp(6px, calc(6px + 2 * (100vw - 769px) / 231), 8px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .tab__item.--day {
    gap: 8px;
  }
}
@media screen and (min-width: 1512px) {
  .tab__item.--day {
    gap: clamp(8px, calc(8px + 0.4656084656 * (100vw - 1512px) / 88), 8.4656084656px);
  }
}
@media screen and (max-width: 768px) {
  .tab__item.--day {
    gap: clamp(7.6923076923px, calc(7.6923076923px + 8.0615384615 * (100vw - 375px) / 393), 15.7538461538px);
  }
  .tab__item.--day::after {
    display: none;
  }
}

.tab__button {
  background: #EF7D01;
  width: fit-content;
  display: flex;
  align-items: center;
  border-radius: 8px;
  color: #fff;
  font-weight: 700;
  font-family: "seravek-web", sans-serif;
  transition: all 0.3s ease;
  white-space: nowrap;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .tab__button {
    font-size: clamp(15px, calc(15px + 5 * (100vw - 769px) / 231), 20px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .tab__button {
    font-size: 20px;
  }
}
@media screen and (min-width: 1512px) {
  .tab__button {
    font-size: clamp(20px, calc(20px + 1.164021164 * (100vw - 1512px) / 88), 21.164021164px);
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .tab__button {
    gap: clamp(24px, calc(24px + 8 * (100vw - 769px) / 231), 32px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .tab__button {
    gap: 32px;
  }
}
@media screen and (min-width: 1512px) {
  .tab__button {
    gap: clamp(32px, calc(32px + 1.8624338624 * (100vw - 1512px) / 88), 33.8624338624px);
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .tab__button {
    padding: 0 clamp(12px, calc(12px + 4 * (100vw - 769px) / 231), 16px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .tab__button {
    padding: 0 16px;
  }
}
@media screen and (min-width: 1512px) {
  .tab__button {
    padding: 0 clamp(16px, calc(16px + 0.9312169312 * (100vw - 1512px) / 88), 16.9312169312px);
  }
}
@media screen and (max-width: 768px) {
  .tab__button {
    gap: clamp(23.0769230769px, calc(23.0769230769px + 24.1846153846 * (100vw - 375px) / 393), 47.2615384615px);
    font-size: clamp(15.3846153846px, calc(15.3846153846px + 16.1230769231 * (100vw - 375px) / 393), 31.5076923077px);
    padding: 0 clamp(11.5384615385px, calc(11.5384615385px + 12.0923076923 * (100vw - 375px) / 393), 23.6307692308px);
    min-height: clamp(30.7692307692px, calc(30.7692307692px + 32.2461538462 * (100vw - 375px) / 393), 63.0153846154px);
    border-radius: 6.4px;
  }
  .tab__button svg {
    width: clamp(9.6153846154px, calc(9.6153846154px + 10.0769230769 * (100vw - 375px) / 393), 19.6923076923px);
    height: clamp(5.7692307692px, calc(5.7692307692px + 6.0461538462 * (100vw - 375px) / 393), 11.8153846154px);
  }
}
@media (width < 351px) {
  .tab__button {
    gap: clamp(9.6153846154px, calc(9.6153846154px + 10.0769230769 * (100vw - 375px) / 393), 19.6923076923px);
  }
}

@media (any-hover: hover) {
  .tab__button:hover {
    background: #45B035;
  }
}
.tab__button.--link {
  background: #0082C9;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .tab__button.--link {
    gap: clamp(24.0384615385px, calc(24.0384615385px + 25.1923076923 * (100vw - 375px) / 393), 49.2307692308px);
  }
  .tab__button.--link img {
    min-width: clamp(10.5769230769px, calc(10.5769230769px + 11.0846153846 * (100vw - 375px) / 393), 21.6615384615px);
  }
}
.tab__button.--link img {
  aspect-ratio: 1/1;
  height: fit-content;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .tab__button.--link img {
    min-width: clamp(10.5px, calc(10.5px + 3.5 * (100vw - 769px) / 231), 14px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .tab__button.--link img {
    min-width: 14px;
  }
}
@media screen and (min-width: 1512px) {
  .tab__button.--link img {
    min-width: clamp(14px, calc(14px + 0.8148148148 * (100vw - 1512px) / 88), 14.8148148148px);
  }
}

@media screen and (max-width: 768px) {
  .tab__item.--concept,
  .tab__item.--outline {
    display: none;
  }
}

.section__title.--big {
  font-weight: 400;
  letter-spacing: 0.1em;
  color: #45B035;
  font-family: "D3 Circuitism";
  text-align: center;
  line-height: 100%;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .section__title.--big {
    font-size: clamp(90px, calc(90px + 30 * (100vw - 769px) / 231), 120px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .section__title.--big {
    font-size: 120px;
  }
}
@media screen and (min-width: 1512px) {
  .section__title.--big {
    font-size: clamp(120px, calc(120px + 6.9841269841 * (100vw - 1512px) / 88), 126.9841269841px);
  }
}
@media screen and (max-width: 768px) {
  .section__title.--big {
    font-size: clamp(38.4615384615px, calc(38.4615384615px + 40.3076923077 * (100vw - 375px) / 393), 78.7692307692px);
  }
}

.section__title.--mini {
  text-align: center;
  color: #45B035;
  font-weight: 700;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .section__title.--mini {
    font-size: clamp(21px, calc(21px + 7 * (100vw - 769px) / 231), 28px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .section__title.--mini {
    font-size: 28px;
  }
}
@media screen and (min-width: 1512px) {
  .section__title.--mini {
    font-size: clamp(28px, calc(28px + 1.6296296296 * (100vw - 1512px) / 88), 29.6296296296px);
  }
}
@media screen and (max-width: 768px) {
  .section__title.--mini {
    font-size: clamp(17.3076923077px, calc(17.3076923077px + 18.1384615385 * (100vw - 375px) / 393), 35.4461538462px);
  }
}

.btn {
  display: flex;
  justify-content: center;
  transition: all 0.3s ease;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .btn {
    margin-top: clamp(120px, calc(120px + 40 * (100vw - 769px) / 231), 160px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .btn {
    margin-top: 160px;
  }
}
@media screen and (min-width: 1512px) {
  .btn {
    margin-top: clamp(160px, calc(160px + 9.3121693122 * (100vw - 1512px) / 88), 169.3121693122px);
  }
}
@media screen and (max-width: 768px) {
  .btn {
    margin-top: clamp(76.9230769231px, calc(76.9230769231px + 80.6153846154 * (100vw - 375px) / 393), 157.5384615385px);
  }
}
.btn a {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #EF7D01;
  box-shadow: 0px 0px 20px 0px #ffed00;
  border-radius: calc(infinity * 1px);
  transition: all 0.3s ease;
  position: relative;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .btn a {
    width: clamp(300px, calc(300px + 100 * (100vw - 769px) / 231), 400px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .btn a {
    width: 400px;
  }
}
@media screen and (min-width: 1512px) {
  .btn a {
    width: clamp(400px, calc(400px + 23.2804232804 * (100vw - 1512px) / 88), 423.2804232804px);
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .btn a {
    min-height: clamp(60px, calc(60px + 20 * (100vw - 769px) / 231), 80px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .btn a {
    min-height: 80px;
  }
}
@media screen and (min-width: 1512px) {
  .btn a {
    min-height: clamp(80px, calc(80px + 4.6560846561 * (100vw - 1512px) / 88), 84.6560846561px);
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .btn a {
    gap: clamp(6px, calc(6px + 2 * (100vw - 769px) / 231), 8px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .btn a {
    gap: 8px;
  }
}
@media screen and (min-width: 1512px) {
  .btn a {
    gap: clamp(8px, calc(8px + 0.4656084656 * (100vw - 1512px) / 88), 8.4656084656px);
  }
}
@media screen and (max-width: 768px) {
  .btn a {
    width: clamp(230.7692307692px, calc(230.7692307692px + 241.8461538462 * (100vw - 375px) / 393), 472.6153846154px);
    min-height: clamp(46.1538461538px, calc(46.1538461538px + 48.3692307692 * (100vw - 375px) / 393), 94.5230769231px);
    gap: clamp(7.6923076923px, calc(7.6923076923px + 8.0615384615 * (100vw - 375px) / 393), 15.7538461538px);
  }
}
.btn a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: 0;
  border-radius: inherit;
}

.btn__text,
.btn__free {
  position: relative;
  z-index: 1;
}

@media (any-hover: hover) {
  .btn a:hover {
    box-shadow: initial;
  }
  .btn a:hover::before {
    opacity: 1;
  }
}
.btn__text {
  font-weight: 700;
  color: #fff;
  line-height: 100%;
  text-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.2509803922);
  white-space: nowrap;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .btn__text {
    font-size: clamp(21px, calc(21px + 7 * (100vw - 769px) / 231), 28px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .btn__text {
    font-size: 28px;
  }
}
@media screen and (min-width: 1512px) {
  .btn__text {
    font-size: clamp(28px, calc(28px + 1.6296296296 * (100vw - 1512px) / 88), 29.6296296296px);
  }
}
@media screen and (max-width: 768px) {
  .btn__text {
    font-size: clamp(15.3846153846px, calc(15.3846153846px + 16.1230769231 * (100vw - 375px) / 393), 31.5076923077px);
  }
}

.btn__free {
  display: grid;
  place-items: center;
  border-radius: calc(infinity * 1px);
  background: #fff;
  color: #000;
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.150000006);
  font-weight: 700;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .btn__free {
    width: clamp(36px, calc(36px + 12 * (100vw - 769px) / 231), 48px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .btn__free {
    width: 48px;
  }
}
@media screen and (min-width: 1512px) {
  .btn__free {
    width: clamp(48px, calc(48px + 2.7936507937 * (100vw - 1512px) / 88), 50.7936507937px);
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .btn__free {
    min-height: clamp(19.5px, calc(19.5px + 6.5 * (100vw - 769px) / 231), 26px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .btn__free {
    min-height: 26px;
  }
}
@media screen and (min-width: 1512px) {
  .btn__free {
    min-height: clamp(26px, calc(26px + 1.5132275132 * (100vw - 1512px) / 88), 27.5132275132px);
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .btn__free {
    font-size: clamp(12px, calc(12px + 4 * (100vw - 769px) / 231), 16px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .btn__free {
    font-size: 16px;
  }
}
@media screen and (min-width: 1512px) {
  .btn__free {
    font-size: clamp(16px, calc(16px + 0.9312169312 * (100vw - 1512px) / 88), 16.9312169312px);
  }
}
@media screen and (max-width: 768px) {
  .btn__free {
    font-size: clamp(11.5384615385px, calc(11.5384615385px + 12.0923076923 * (100vw - 375px) / 393), 23.6307692308px);
    width: clamp(38.4615384615px, calc(38.4615384615px + 40.3076923077 * (100vw - 375px) / 393), 78.7692307692px);
    min-height: clamp(18.2692307692px, calc(18.2692307692px + 19.1461538462 * (100vw - 375px) / 393), 37.4153846154px);
  }
}

.fixed-btn {
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  z-index: 10;
}
@media screen and (max-width: 768px) {
  .fixed-btn {
    display: none;
  }
}
.fixed-btn .btn {
  margin-top: initial;
}
.fixed-btn .btn a {
  flex-direction: column;
  border-radius: 24px 0 0 24px;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .fixed-btn .btn a {
    width: clamp(54px, calc(54px + 18 * (100vw - 769px) / 231), 72px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .fixed-btn .btn a {
    width: 72px;
  }
}
@media screen and (min-width: 1512px) {
  .fixed-btn .btn a {
    width: clamp(72px, calc(72px + 4.1904761905 * (100vw - 1512px) / 88), 76.1904761905px);
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .fixed-btn .btn a {
    min-height: clamp(240px, calc(240px + 80 * (100vw - 769px) / 231), 320px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .fixed-btn .btn a {
    min-height: 320px;
  }
}
@media screen and (min-width: 1512px) {
  .fixed-btn .btn a {
    min-height: clamp(320px, calc(320px + 18.6243386243 * (100vw - 1512px) / 88), 338.6243386243px);
  }
}
.fixed-btn .btn a::before {
  border-radius: inherit;
}
.fixed-btn .btn__text {
  letter-spacing: 0.2em;
  font-weight: 700;
  color: #fff;
  writing-mode: vertical-lr;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .fixed-btn .btn__text {
    font-size: clamp(13.5px, calc(13.5px + 4.5 * (100vw - 769px) / 231), 18px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .fixed-btn .btn__text {
    font-size: 18px;
  }
}
@media screen and (min-width: 1512px) {
  .fixed-btn .btn__text {
    font-size: clamp(18px, calc(18px + 1.0476190476 * (100vw - 1512px) / 88), 19.0476190476px);
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .fixed-btn .btn__free {
    width: clamp(30px, calc(30px + 10 * (100vw - 769px) / 231), 40px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .fixed-btn .btn__free {
    width: 40px;
  }
}
@media screen and (min-width: 1512px) {
  .fixed-btn .btn__free {
    width: clamp(40px, calc(40px + 2.328042328 * (100vw - 1512px) / 88), 42.328042328px);
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .fixed-btn .btn__free {
    min-height: clamp(14.25px, calc(14.25px + 4.75 * (100vw - 769px) / 231), 19px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .fixed-btn .btn__free {
    min-height: 19px;
  }
}
@media screen and (min-width: 1512px) {
  .fixed-btn .btn__free {
    min-height: clamp(19px, calc(19px + 1.1058201058 * (100vw - 1512px) / 88), 20.1058201058px);
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .fixed-btn .btn__free {
    font-size: clamp(10px, calc(10px + 2 * (100vw - 769px) / 231), 12px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .fixed-btn .btn__free {
    font-size: 12px;
  }
}
@media screen and (min-width: 1512px) {
  .fixed-btn .btn__free {
    font-size: clamp(12px, calc(12px + 0.6984126984 * (100vw - 1512px) / 88), 12.6984126984px);
  }
}

@media screen and (any-hover: hover) and (min-width: 769px) and (max-width: 1000px) {
  .fixed-btn .btn a:hover {
    width: clamp(66px, calc(66px + 22 * (100vw - 769px) / 231), 88px);
  }
}
@media screen and (any-hover: hover) and (min-width: 1001px) and (max-width: 1511px) {
  .fixed-btn .btn a:hover {
    width: 88px;
  }
}
@media screen and (any-hover: hover) and (min-width: 1512px) {
  .fixed-btn .btn a:hover {
    width: clamp(88px, calc(88px + 5.1216931217 * (100vw - 1512px) / 88), 93.1216931217px);
  }
}
.bottom__pattern {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  aspect-ratio: 3024/5610;
  z-index: -1;
}
.bottom__pattern img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.scroll-down {
  position: absolute;
  display: flex;
  flex-direction: column;
  align-items: center;
  z-index: 100;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .scroll-down {
    bottom: clamp(24px, calc(24px + 8 * (100vw - 769px) / 231), 32px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .scroll-down {
    bottom: 32px;
  }
}
@media screen and (min-width: 1512px) {
  .scroll-down {
    bottom: clamp(32px, calc(32px + 1.8624338624 * (100vw - 1512px) / 88), 33.8624338624px);
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .scroll-down {
    left: clamp(24px, calc(24px + 8 * (100vw - 769px) / 231), 32px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .scroll-down {
    left: 32px;
  }
}
@media screen and (min-width: 1512px) {
  .scroll-down {
    left: clamp(32px, calc(32px + 1.8624338624 * (100vw - 1512px) / 88), 33.8624338624px);
  }
}
@media screen and (max-width: 768px) {
  .scroll-down {
    display: none;
    left: clamp(14.4230769231px, calc(14.4230769231px + 15.1153846154 * (100vw - 375px) / 393), 29.5384615385px);
  }
}

.scroll-down__text {
  font-family: "seravek-web", sans-serif;
  font-weight: 500;
  color: #000;
  writing-mode: sideways-lr;
  font-weight: 600;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .scroll-down__text {
    font-size: clamp(12px, calc(12px + 4 * (100vw - 769px) / 231), 16px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .scroll-down__text {
    font-size: 16px;
  }
}
@media screen and (min-width: 1512px) {
  .scroll-down__text {
    font-size: clamp(16px, calc(16px + 0.9312169312 * (100vw - 1512px) / 88), 16.9312169312px);
  }
}
@media screen and (max-width: 768px) {
  .scroll-down__text {
    font-size: clamp(13.4615384615px, calc(13.4615384615px + 14.1076923077 * (100vw - 375px) / 393), 27.5692307692px);
  }
}

.scroll-down__text::before {
  animation: scroll 2s infinite;
  background-color: #000;
  content: "";
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  width: 1px;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .scroll-down__text::before {
    bottom: clamp(48.75px, calc(48.75px + 16.25 * (100vw - 769px) / 231), 65px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .scroll-down__text::before {
    bottom: 65px;
  }
}
@media screen and (min-width: 1512px) {
  .scroll-down__text::before {
    bottom: clamp(65px, calc(65px + 3.7830687831 * (100vw - 1512px) / 88), 68.7830687831px);
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .scroll-down__text::before {
    height: clamp(60px, calc(60px + 20 * (100vw - 769px) / 231), 80px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .scroll-down__text::before {
    height: 80px;
  }
}
@media screen and (min-width: 1512px) {
  .scroll-down__text::before {
    height: clamp(80px, calc(80px + 4.6560846561 * (100vw - 1512px) / 88), 84.6560846561px);
  }
}
@media screen and (max-width: 768px) {
  .scroll-down__text::before {
    bottom: clamp(48.0769230769px, calc(48.0769230769px + 50.3846153846 * (100vw - 375px) / 393), 98.4615384615px);
    height: clamp(67.3076923077px, calc(67.3076923077px + 70.5384615385 * (100vw - 375px) / 393), 137.8461538462px);
  }
}

@keyframes scroll {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  51% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}
.sp-only {
  display: none;
}
@media screen and (max-width: 768px) {
  .sp-only {
    display: block;
  }
}

@media screen and (max-width: 768px) {
  .pc-only {
    display: none;
  }
}

.hamburger {
  display: none;
}
@media screen and (max-width: 768px) {
  .hamburger {
    cursor: pointer;
    display: block;
    background: #EF7D01;
    color: #fff;
    width: clamp(79.8076923077px, calc(79.8076923077px + 83.6384615385 * (100vw - 375px) / 393), 163.4461538462px);
    height: clamp(30.7692307692px, calc(30.7692307692px + 32.2461538462 * (100vw - 375px) / 393), 63.0153846154px);
    position: fixed;
    top: 16px;
    right: 16px;
    box-shadow: 2px 2px 10px 0px #9CB6DF;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(7.6923076923px, calc(7.6923076923px + 8.0615384615 * (100vw - 375px) / 393), 15.7538461538px);
    z-index: 20;
    cursor: pointer;
    transition: all 0.3s ease;
  }
}
.hamburger .--border {
  width: clamp(11.5384615385px, calc(11.5384615385px + 12.0923076923 * (100vw - 375px) / 393), 23.6307692308px);
  height: clamp(3.8461538462px, calc(3.8461538462px + 4.0307692308 * (100vw - 375px) / 393), 7.8769230769px);
  position: relative;
}
.hamburger .--border span {
  width: 100%;
  height: 1px;
  background: #fff;
  display: inline-block;
  left: 0;
  position: absolute;
  transition: all 0.3s ease;
}
.hamburger .--border span:first-child {
  top: 0;
}
.hamburger .--border span:last-child {
  bottom: 0;
}
.hamburger .--text {
  font-family: "seravek-web", sans-serif;
  font-weight: 700;
  font-size: clamp(11.5384615385px, calc(11.5384615385px + 12.0923076923 * (100vw - 375px) / 393), 23.6307692308px);
  text-shadow: 0px 0px 3.03px rgba(0, 0, 0, 0.25);
  line-height: 100%;
  margin-top: clamp(-5.9076923077px, (2.8846153846px + 3.0230769231 * (100vw - 375px) / 393) * -1, -2.8846153846px);
}
.hamburger.is-open .--border span:first-child {
  top: 50%;
  transform: translateY(-50%) rotate(25deg);
  width: clamp(11.5384615385px, calc(11.5384615385px + 12.0923076923 * (100vw - 375px) / 393), 23.6307692308px);
}
.hamburger.is-open .--border span:last-child {
  bottom: 50%;
  transform: translateY(50%) rotate(-25deg);
  width: clamp(11.5384615385px, calc(11.5384615385px + 12.0923076923 * (100vw - 375px) / 393), 23.6307692308px);
}

.menu {
  position: fixed;
  z-index: 15;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  padding: clamp(46.1538461538px, calc(46.1538461538px + 48.3692307692 * (100vw - 375px) / 393), 94.5230769231px) clamp(23.0769230769px, calc(23.0769230769px + 24.1846153846 * (100vw - 375px) / 393), 47.2615384615px) clamp(57.6923076923px, calc(57.6923076923px + 60.4615384615 * (100vw - 375px) / 393), 118.1538461538px);
  display: flex;
  flex-direction: column;
  gap: clamp(46.1538461538px, calc(46.1538461538px + 48.3692307692 * (100vw - 375px) / 393), 94.5230769231px);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.menu.is-open {
  opacity: 1;
  visibility: visible;
  overflow: scroll;
}

.menu__items {
  display: grid;
  gap: clamp(23.0769230769px, calc(23.0769230769px + 24.1846153846 * (100vw - 375px) / 393), 47.2615384615px);
}

.menu__item {
  font-family: "seravek-web", sans-serif;
  font-weight: 600;
  font-size: clamp(23.0769230769px, calc(23.0769230769px + 24.1846153846 * (100vw - 375px) / 393), 47.2615384615px);
  line-height: 100%;
  text-transform: uppercase;
}
.menu__item a {
  color: #000;
  display: flex;
  align-items: center;
  width: clamp(153.8461538462px, calc(153.8461538462px + 161.2307692308 * (100vw - 375px) / 393), 315.0769230769px);
  justify-content: space-between;
}
.menu__item span img {
  width: clamp(9.6153846154px, calc(9.6153846154px + 10.0769230769 * (100vw - 375px) / 393), 19.6923076923px);
  height: 100%;
}

.menu__item.--kid a {
  color: #0082C9;
}
.menu__item.--kid span img {
  width: clamp(13.4615384615px, calc(13.4615384615px + 14.1076923077 * (100vw - 375px) / 393), 27.5692307692px);
}

@media screen and (max-width: 768px) {
  .menu__btn {
    margin-top: initial;
  }
}
.menu__btn a {
  width: clamp(328.8461538462px, calc(328.8461538462px + 344.6307692308 * (100vw - 375px) / 393), 673.4769230769px);
  width: 100%;
  min-height: clamp(50.9615384615px, calc(50.9615384615px + 53.4076923077 * (100vw - 375px) / 393), 104.3692307692px);
  border-radius: 12px;
  background: linear-gradient(90deg, #FBC501 0%, #E94820 100%);
  line-height: 100%;
}
@media screen and (max-width: 768px) {
  .menu__btn .btn__text {
    font-size: clamp(17.3076923077px, calc(17.3076923077px + 18.1384615385 * (100vw - 375px) / 393), 35.4461538462px);
  }
}

.menu__logos {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: clamp(22.1153846154px, calc(22.1153846154px + 23.1769230769 * (100vw - 375px) / 393), 45.2923076923px);
}

.menu__logo:nth-child(1) {
  width: clamp(266.3461538462px, calc(266.3461538462px + 279.1307692308 * (100vw - 375px) / 393), 545.4769230769px);
}

.menu__logo:nth-child(2) {
  width: clamp(208.6538461538px, calc(208.6538461538px + 218.6692307692 * (100vw - 375px) / 393), 427.3230769231px);
}

.menu__logo img {
  height: 100%;
  object-fit: cover;
}

.pc__image {
  display: none;
}
@media (769px <= width) {
  .pc__image {
    display: block;
  }
}

.sp__image {
  display: block;
}
@media (769px <= width) {
  .sp__image {
    display: none;
  }
}

/* =========================
  global
========================= */
.header {
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 10;
}

.header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .header__inner {
    padding-left: clamp(60px, calc(60px + 20 * (100vw - 769px) / 231), 80px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .header__inner {
    padding-left: 80px;
  }
}
@media screen and (min-width: 1512px) {
  .header__inner {
    padding-left: clamp(80px, calc(80px + 4.6560846561 * (100vw - 1512px) / 88), 84.6560846561px);
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .header__inner {
    padding-right: clamp(60px, calc(60px + 20 * (100vw - 769px) / 231), 80px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .header__inner {
    padding-right: 80px;
  }
}
@media screen and (min-width: 1512px) {
  .header__inner {
    padding-right: clamp(80px, calc(80px + 4.6560846561 * (100vw - 1512px) / 88), 84.6560846561px);
  }
}
@media screen and (max-width: 768px) {
  .header__inner {
    display: none;
  }
}

.header__left {
  display: flex;
  align-items: flex-end;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .header__left {
    gap: clamp(36.75px, calc(36.75px + 12.25 * (100vw - 769px) / 231), 49px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .header__left {
    gap: 49px;
  }
}
@media screen and (min-width: 1512px) {
  .header__left {
    gap: clamp(49px, calc(49px + 2.8518518519 * (100vw - 1512px) / 88), 51.8518518519px);
  }
}

@media screen and (min-width: 769px) and (max-width: 1000px) {
  .header__kanagawa {
    width: clamp(131.25px, calc(131.25px + 43.75 * (100vw - 769px) / 231), 175px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .header__kanagawa {
    width: 175px;
  }
}
@media screen and (min-width: 1512px) {
  .header__kanagawa {
    width: clamp(175px, calc(175px + 10.1851851852 * (100vw - 1512px) / 88), 185.1851851852px);
  }
}

@media screen and (min-width: 769px) and (max-width: 1000px) {
  .header__kid {
    width: clamp(177.75px, calc(177.75px + 59.25 * (100vw - 769px) / 231), 237px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .header__kid {
    width: 237px;
  }
}
@media screen and (min-width: 1512px) {
  .header__kid {
    width: clamp(237px, calc(237px + 13.7936507937 * (100vw - 1512px) / 88), 250.7936507937px);
  }
}

@media screen and (min-width: 769px) and (max-width: 1000px) {
  .header__right {
    width: clamp(232.5px, calc(232.5px + 77.5 * (100vw - 769px) / 231), 310px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .header__right {
    width: 310px;
  }
}
@media screen and (min-width: 1512px) {
  .header__right {
    width: clamp(310px, calc(310px + 18.0423280423 * (100vw - 1512px) / 88), 328.0423280423px);
  }
}

/* =========================
  global
========================= */
.fv {
  position: relative;
  height: 100vh;
  min-height: 600px;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .fv {
    padding-top: clamp(171px, calc(171px + 57 * (100vw - 769px) / 231), 228px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .fv {
    padding-top: 228px;
  }
}
@media screen and (min-width: 1512px) {
  .fv {
    padding-top: clamp(228px, calc(228px + 13.2698412698 * (100vw - 1512px) / 88), 241.2698412698px);
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .fv {
    padding-bottom: clamp(170.25px, calc(170.25px + 56.75 * (100vw - 769px) / 231), 227px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .fv {
    padding-bottom: 227px;
  }
}
@media screen and (min-width: 1512px) {
  .fv {
    padding-bottom: clamp(227px, calc(227px + 13.2116402116 * (100vw - 1512px) / 88), 240.2116402116px);
  }
}
@media screen and (max-width: 768px) {
  .fv {
    padding: clamp(278.8461538462px, calc(278.8461538462px + 292.2307692308 * (100vw - 375px) / 393), 571.0769230769px) clamp(43.2692307692px, calc(43.2692307692px + 45.3461538462 * (100vw - 375px) / 393), 88.6153846154px);
    padding: initial;
  }
}

.fv__pattern-pc {
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  aspect-ratio: 3024/2250;
}
@media screen and (max-width: 768px) {
  .fv__pattern-pc {
    display: none;
  }
}
.fv__pattern-pc img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.fv__pattern-sp {
  display: none;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .fv__pattern-sp {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    aspect-ratio: 780/1908;
  }
}
.fv__pattern-sp img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.fv__pattern {
  position: absolute;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .fv__pattern {
    display: none;
  }
}
.fv__pattern img {
  height: 100%;
}

.fv__pattern.--top {
  top: 0;
  left: 45%;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .fv__pattern.--top {
    width: clamp(304.5px, calc(304.5px + 101.5 * (100vw - 769px) / 231), 406px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .fv__pattern.--top {
    width: 406px;
  }
}
@media screen and (min-width: 1512px) {
  .fv__pattern.--top {
    width: clamp(406px, calc(406px + 23.6296296296 * (100vw - 1512px) / 88), 429.6296296296px);
  }
}

.fv__pattern.--left01 {
  left: 0;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .fv__pattern.--left01 {
    top: clamp(87px, calc(87px + 29 * (100vw - 769px) / 231), 116px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .fv__pattern.--left01 {
    top: 116px;
  }
}
@media screen and (min-width: 1512px) {
  .fv__pattern.--left01 {
    top: clamp(116px, calc(116px + 6.7513227513 * (100vw - 1512px) / 88), 122.7513227513px);
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .fv__pattern.--left01 {
    width: clamp(304.5px, calc(304.5px + 101.5 * (100vw - 769px) / 231), 406px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .fv__pattern.--left01 {
    width: 406px;
  }
}
@media screen and (min-width: 1512px) {
  .fv__pattern.--left01 {
    width: clamp(406px, calc(406px + 23.6296296296 * (100vw - 1512px) / 88), 429.6296296296px);
  }
}

@media screen and (min-width: 769px) and (max-width: 1000px) {
  .fv__pattern.--left02 {
    left: clamp(145.5px, calc(145.5px + 48.5 * (100vw - 769px) / 231), 194px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .fv__pattern.--left02 {
    left: 194px;
  }
}
@media screen and (min-width: 1512px) {
  .fv__pattern.--left02 {
    left: clamp(194px, calc(194px + 11.291005291 * (100vw - 1512px) / 88), 205.291005291px);
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .fv__pattern.--left02 {
    width: clamp(255px, calc(255px + 85 * (100vw - 769px) / 231), 340px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .fv__pattern.--left02 {
    width: 340px;
  }
}
@media screen and (min-width: 1512px) {
  .fv__pattern.--left02 {
    width: clamp(340px, calc(340px + 19.7883597884 * (100vw - 1512px) / 88), 359.7883597884px);
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .fv__pattern.--left02 {
    top: clamp(582.75px, calc(582.75px + 194.25 * (100vw - 769px) / 231), 777px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .fv__pattern.--left02 {
    top: 777px;
  }
}
@media screen and (min-width: 1512px) {
  .fv__pattern.--left02 {
    top: clamp(777px, calc(777px + 45.2222222222 * (100vw - 1512px) / 88), 822.2222222222px);
  }
}

.fv__pattern.--right01 {
  right: 0;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .fv__pattern.--right01 {
    top: clamp(90px, calc(90px + 30 * (100vw - 769px) / 231), 120px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .fv__pattern.--right01 {
    top: 120px;
  }
}
@media screen and (min-width: 1512px) {
  .fv__pattern.--right01 {
    top: clamp(120px, calc(120px + 6.9841269841 * (100vw - 1512px) / 88), 126.9841269841px);
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .fv__pattern.--right01 {
    width: clamp(268.5px, calc(268.5px + 89.5 * (100vw - 769px) / 231), 358px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .fv__pattern.--right01 {
    width: 358px;
  }
}
@media screen and (min-width: 1512px) {
  .fv__pattern.--right01 {
    width: clamp(358px, calc(358px + 20.835978836 * (100vw - 1512px) / 88), 378.835978836px);
  }
}

.fv__pattern.--right02 {
  right: 0;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .fv__pattern.--right02 {
    width: clamp(444.75px, calc(444.75px + 148.25 * (100vw - 769px) / 231), 593px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .fv__pattern.--right02 {
    width: 593px;
  }
}
@media screen and (min-width: 1512px) {
  .fv__pattern.--right02 {
    width: clamp(593px, calc(593px + 34.5132275132 * (100vw - 1512px) / 88), 627.5132275132px);
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .fv__pattern.--right02 {
    top: clamp(537px, calc(537px + 179 * (100vw - 769px) / 231), 716px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .fv__pattern.--right02 {
    top: 716px;
  }
}
@media screen and (min-width: 1512px) {
  .fv__pattern.--right02 {
    top: clamp(716px, calc(716px + 41.671957672 * (100vw - 1512px) / 88), 757.671957672px);
  }
}

.fv__logo {
  margin-inline: auto;
  position: relative;
  z-index: 1;
  aspect-ratio: 600/525;
  width: 39.6825396825%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 768px) {
  .fv__logo {
    aspect-ratio: 300/262;
    width: 76.9230769231%;
  }
}
.fv__logo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* =========================
  global
========================= */
.concept {
  text-align: center;
  position: relative;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .concept {
    margin-top: clamp(180px, calc(180px + 60 * (100vw - 769px) / 231), 240px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .concept {
    margin-top: 240px;
  }
}
@media screen and (min-width: 1512px) {
  .concept {
    margin-top: clamp(240px, calc(240px + 13.9682539683 * (100vw - 1512px) / 88), 253.9682539683px);
  }
}
@media screen and (max-width: 768px) {
  .concept {
    margin-top: clamp(140.3846153846px, calc(140.3846153846px + 147.1230769231 * (100vw - 375px) / 393), 287.5076923077px);
  }
}

@media screen and (max-width: 768px) {
  .inner.concept__inner {
    padding: 0 15px;
  }
}

.concetp__text {
  line-height: 175%;
  font-weight: 700;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .concetp__text {
    margin-top: clamp(36px, calc(36px + 12 * (100vw - 769px) / 231), 48px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .concetp__text {
    margin-top: 48px;
  }
}
@media screen and (min-width: 1512px) {
  .concetp__text {
    margin-top: clamp(48px, calc(48px + 2.7936507937 * (100vw - 1512px) / 88), 50.7936507937px);
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .concetp__text {
    font-size: clamp(15px, calc(15px + 5 * (100vw - 769px) / 231), 20px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .concetp__text {
    font-size: 20px;
  }
}
@media screen and (min-width: 1512px) {
  .concetp__text {
    font-size: clamp(20px, calc(20px + 1.164021164 * (100vw - 1512px) / 88), 21.164021164px);
  }
}
@media screen and (max-width: 768px) {
  .concetp__text {
    font-size: clamp(13.4615384615px, calc(13.4615384615px + 14.1076923077 * (100vw - 375px) / 393), 27.5692307692px);
    margin-top: clamp(15.3846153846px, calc(15.3846153846px + 16.1230769231 * (100vw - 375px) / 393), 31.5076923077px);
  }
}

.concept__pattern {
  left: 0;
  top: 95%;
  transform: translateY(-50%);
  width: 100%;
  aspect-ratio: 3024/2078;
  z-index: -1;
  position: absolute;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .concept__pattern {
    top: 73%;
    aspect-ratio: 390/684;
  }
}
.concept__pattern img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* =========================
  global
========================= */
.timeline {
  position: relative;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .timeline {
    margin-top: clamp(479.25px, calc(479.25px + 159.75 * (100vw - 769px) / 231), 639px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .timeline {
    margin-top: 639px;
  }
}
@media screen and (min-width: 1512px) {
  .timeline {
    margin-top: clamp(639px, calc(639px + 37.1904761905 * (100vw - 1512px) / 88), 676.1904761905px);
  }
}
@media screen and (max-width: 768px) {
  .timeline {
    margin-top: clamp(115.3846153846px, calc(115.3846153846px + 120.9230769231 * (100vw - 375px) / 393), 236.3076923077px);
  }
}

@media screen and (min-width: 769px) and (max-width: 1000px) {
  .timeline__inner {
    padding: 0 clamp(24px, calc(24px + 8 * (100vw - 769px) / 231), 32px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .timeline__inner {
    padding: 0 32px;
  }
}
@media screen and (min-width: 1512px) {
  .timeline__inner {
    padding: 0 clamp(32px, calc(32px + 1.8624338624 * (100vw - 1512px) / 88), 33.8624338624px);
  }
}
@media screen and (max-width: 768px) {
  .timeline__inner {
    padding: 0 clamp(15.3846153846px, calc(15.3846153846px + 16.1230769231 * (100vw - 375px) / 393), 31.5076923077px);
  }
}

.timeline__wrapper {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .timeline__wrapper {
    margin-top: clamp(12px, calc(12px + 4 * (100vw - 769px) / 231), 16px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .timeline__wrapper {
    margin-top: 16px;
  }
}
@media screen and (min-width: 1512px) {
  .timeline__wrapper {
    margin-top: clamp(16px, calc(16px + 0.9312169312 * (100vw - 1512px) / 88), 16.9312169312px);
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .timeline__wrapper {
    gap: clamp(12px, calc(12px + 4 * (100vw - 769px) / 231), 16px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .timeline__wrapper {
    gap: 16px;
  }
}
@media screen and (min-width: 1512px) {
  .timeline__wrapper {
    gap: clamp(16px, calc(16px + 0.9312169312 * (100vw - 1512px) / 88), 16.9312169312px);
  }
}
@media screen and (max-width: 768px) {
  .timeline__wrapper {
    grid-template-columns: 1fr;
    margin-top: clamp(15.3846153846px, calc(15.3846153846px + 16.1230769231 * (100vw - 375px) / 393), 31.5076923077px);
    gap: clamp(7.6923076923px, calc(7.6923076923px + 8.0615384615 * (100vw - 375px) / 393), 15.7538461538px);
  }
}

.timeline__wrap {
  border-radius: 32px;
  background: #fff;
  display: grid;
  grid-template-columns: 19.5530726257% 1fr;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .timeline__wrap {
    padding: clamp(18px, calc(18px + 6 * (100vw - 769px) / 231), 24px) clamp(24px, calc(24px + 8 * (100vw - 769px) / 231), 32px) clamp(18px, calc(18px + 6 * (100vw - 769px) / 231), 24px) 0;
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .timeline__wrap {
    padding: 24px 32px 24px 0;
  }
}
@media screen and (min-width: 1512px) {
  .timeline__wrap {
    padding: clamp(24px, calc(24px + 1.3968253968 * (100vw - 1512px) / 88), 25.3968253968px) clamp(32px, calc(32px + 1.8624338624 * (100vw - 1512px) / 88), 33.8624338624px) clamp(24px, calc(24px + 1.3968253968 * (100vw - 1512px) / 88), 25.3968253968px) 0;
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .timeline__wrap {
    gap: clamp(22.5px, calc(22.5px + 7.5 * (100vw - 769px) / 231), 30px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .timeline__wrap {
    gap: 30px;
  }
}
@media screen and (min-width: 1512px) {
  .timeline__wrap {
    gap: clamp(30px, calc(30px + 1.746031746 * (100vw - 1512px) / 88), 31.746031746px);
  }
}
@media screen and (max-width: 768px) {
  .timeline__wrap {
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    gap: clamp(23.0769230769px, calc(23.0769230769px + 24.1846153846 * (100vw - 375px) / 393), 47.2615384615px);
    padding: clamp(23.0769230769px, calc(23.0769230769px + 24.1846153846 * (100vw - 375px) / 393), 47.2615384615px) clamp(15.3846153846px, calc(15.3846153846px + 16.1230769231 * (100vw - 375px) / 393), 31.5076923077px);
  }
}

@media screen and (max-width: 768px) {
  .timeline__info {
    display: flex;
    flex-direction: column;
    gap: clamp(7.6923076923px, calc(7.6923076923px + 8.0615384615 * (100vw - 375px) / 393), 15.7538461538px);
  }
}

.timeline__label {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .timeline__label {
    gap: clamp(6px, calc(6px + 2 * (100vw - 769px) / 231), 8px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .timeline__label {
    gap: 8px;
  }
}
@media screen and (min-width: 1512px) {
  .timeline__label {
    gap: clamp(8px, calc(8px + 0.4656084656 * (100vw - 1512px) / 88), 8.4656084656px);
  }
}
@media screen and (max-width: 768px) {
  .timeline__label {
    flex-direction: row;
    gap: clamp(3.8461538462px, calc(3.8461538462px + 4.0307692308 * (100vw - 375px) / 393), 7.8769230769px);
    justify-content: center;
    align-items: center;
  }
}

.timeline__day {
  font-weight: 700;
  line-height: 100%;
  font-family: "seravek-web", sans-serif;
  text-align: center;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .timeline__day {
    font-size: clamp(30px, calc(30px + 10 * (100vw - 769px) / 231), 40px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .timeline__day {
    font-size: 40px;
  }
}
@media screen and (min-width: 1512px) {
  .timeline__day {
    font-size: clamp(40px, calc(40px + 2.328042328 * (100vw - 1512px) / 88), 42.328042328px);
  }
}
@media screen and (max-width: 768px) {
  .timeline__day {
    font-size: clamp(30.7692307692px, calc(30.7692307692px + 32.2461538462 * (100vw - 375px) / 393), 63.0153846154px);
  }
}

.timeline__week {
  text-align: center;
  font-weight: 700;
  line-height: 100%;
  font-family: "seravek-web", sans-serif;
  display: grid;
  place-items: center;
  margin-inline: auto;
  background: #45B035;
  border-radius: calc(infinity * 1px);
  color: #fff;
  text-transform: uppercase;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .timeline__week {
    font-size: clamp(15px, calc(15px + 5 * (100vw - 769px) / 231), 20px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .timeline__week {
    font-size: 20px;
  }
}
@media screen and (min-width: 1512px) {
  .timeline__week {
    font-size: clamp(20px, calc(20px + 1.164021164 * (100vw - 1512px) / 88), 21.164021164px);
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .timeline__week {
    width: clamp(66px, calc(66px + 22 * (100vw - 769px) / 231), 88px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .timeline__week {
    width: 88px;
  }
}
@media screen and (min-width: 1512px) {
  .timeline__week {
    width: clamp(88px, calc(88px + 5.1216931217 * (100vw - 1512px) / 88), 93.1216931217px);
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .timeline__week {
    height: clamp(21px, calc(21px + 7 * (100vw - 769px) / 231), 28px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .timeline__week {
    height: 28px;
  }
}
@media screen and (min-width: 1512px) {
  .timeline__week {
    height: clamp(28px, calc(28px + 1.6296296296 * (100vw - 1512px) / 88), 29.6296296296px);
  }
}
@media screen and (max-width: 768px) {
  .timeline__week {
    margin-inline: initial;
    width: clamp(42.3076923077px, calc(42.3076923077px + 44.3384615385 * (100vw - 375px) / 393), 86.6461538462px);
    height: clamp(17.3076923077px, calc(17.3076923077px + 18.1384615385 * (100vw - 375px) / 393), 35.4461538462px);
    font-size: clamp(13.4615384615px, calc(13.4615384615px + 14.1076923077 * (100vw - 375px) / 393), 27.5692307692px);
  }
}

.timeline__categories {
  width: 100%;
  display: grid;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .timeline__categories {
    margin-top: clamp(18px, calc(18px + 6 * (100vw - 769px) / 231), 24px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .timeline__categories {
    margin-top: 24px;
  }
}
@media screen and (min-width: 1512px) {
  .timeline__categories {
    margin-top: clamp(24px, calc(24px + 1.3968253968 * (100vw - 1512px) / 88), 25.3968253968px);
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .timeline__categories {
    gap: clamp(6px, calc(6px + 2 * (100vw - 769px) / 231), 8px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .timeline__categories {
    gap: 8px;
  }
}
@media screen and (min-width: 1512px) {
  .timeline__categories {
    gap: clamp(8px, calc(8px + 0.4656084656 * (100vw - 1512px) / 88), 8.4656084656px);
  }
}
@media screen and (max-width: 768px) {
  .timeline__categories {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(3.8461538462px, calc(3.8461538462px + 4.0307692308 * (100vw - 375px) / 393), 7.8769230769px);
  }
}

.timeLine__category {
  width: 100%;
  background: #E60012;
  color: #fff;
  display: grid;
  place-items: center;
  border-radius: 0 40px 40px 0;
  line-height: 175%;
  font-weight: 700;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .timeLine__category {
    min-height: clamp(30.75px, calc(30.75px + 10.25 * (100vw - 769px) / 231), 41px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .timeLine__category {
    min-height: 41px;
  }
}
@media screen and (min-width: 1512px) {
  .timeLine__category {
    min-height: clamp(41px, calc(41px + 2.3862433862 * (100vw - 1512px) / 88), 43.3862433862px);
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .timeLine__category {
    font-size: clamp(10.5px, calc(10.5px + 3.5 * (100vw - 769px) / 231), 14px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .timeLine__category {
    font-size: 14px;
  }
}
@media screen and (min-width: 1512px) {
  .timeLine__category {
    font-size: clamp(14px, calc(14px + 0.8148148148 * (100vw - 1512px) / 88), 14.8148148148px);
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .timeLine__category {
    padding: clamp(3px, calc(3px + 1 * (100vw - 769px) / 231), 4px) clamp(6px, calc(6px + 2 * (100vw - 769px) / 231), 8px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .timeLine__category {
    padding: 4px 8px;
  }
}
@media screen and (min-width: 1512px) {
  .timeLine__category {
    padding: clamp(4px, calc(4px + 0.2328042328 * (100vw - 1512px) / 88), 4.2328042328px) clamp(8px, calc(8px + 0.4656084656 * (100vw - 1512px) / 88), 8.4656084656px);
  }
}
@media screen and (max-width: 768px) {
  .timeLine__category {
    border-radius: calc(infinity * 1px);
    height: clamp(20.1923076923px, calc(20.1923076923px + 21.1615384615 * (100vw - 375px) / 393), 41.3538461538px);
    width: fit-content;
    padding: 0 clamp(7.6923076923px, calc(7.6923076923px + 8.0615384615 * (100vw - 375px) / 393), 15.7538461538px);
    font-size: clamp(11.5384615385px, calc(11.5384615385px + 12.0923076923 * (100vw - 375px) / 393), 23.6307692308px);
  }
}

.timeline__content {
  position: relative;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .timeline__content {
    padding-left: clamp(24px, calc(24px + 8 * (100vw - 769px) / 231), 32px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .timeline__content {
    padding-left: 32px;
  }
}
@media screen and (min-width: 1512px) {
  .timeline__content {
    padding-left: clamp(32px, calc(32px + 1.8624338624 * (100vw - 1512px) / 88), 33.8624338624px);
  }
}
@media screen and (max-width: 768px) {
  .timeline__content {
    padding-left: clamp(17.3076923077px, calc(17.3076923077px + 18.1384615385 * (100vw - 375px) / 393), 35.4461538462px);
  }
}
.timeline__content::before {
  position: absolute;
  content: "";
  width: 2px;
  height: 100%;
  background: #E60012;
  top: 0;
  left: 0;
}
@media screen and (max-width: 768px) {
  .timeline__content::before {
    width: 1px;
  }
}

.timeline__items {
  display: flex;
  flex-direction: column;
  height: 100%;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .timeline__items {
    gap: clamp(18px, calc(18px + 6 * (100vw - 769px) / 231), 24px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .timeline__items {
    gap: 24px;
  }
}
@media screen and (min-width: 1512px) {
  .timeline__items {
    gap: clamp(24px, calc(24px + 1.3968253968 * (100vw - 1512px) / 88), 25.3968253968px);
  }
}
@media screen and (max-width: 768px) {
  .timeline__items {
    gap: clamp(23.0769230769px, calc(23.0769230769px + 24.1846153846 * (100vw - 375px) / 393), 47.2615384615px);
  }
}

.timeline__item:last-child {
  margin-top: auto;
}

.timeline__time {
  position: relative;
  font-family: "seravek-web", sans-serif;
  line-height: 100%;
  color: #E60012;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .timeline__time {
    font-size: clamp(15px, calc(15px + 5 * (100vw - 769px) / 231), 20px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .timeline__time {
    font-size: 20px;
  }
}
@media screen and (min-width: 1512px) {
  .timeline__time {
    font-size: clamp(20px, calc(20px + 1.164021164 * (100vw - 1512px) / 88), 21.164021164px);
  }
}
@media screen and (max-width: 768px) {
  .timeline__time {
    font-size: clamp(13.4615384615px, calc(13.4615384615px + 14.1076923077 * (100vw - 375px) / 393), 27.5692307692px);
  }
}
.timeline__time::before {
  position: absolute;
  content: "";
  background: url(../img/timeline_polygon.png) no-repeat center center/contain;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .timeline__time::before {
    width: clamp(8.25px, calc(8.25px + 2.75 * (100vw - 769px) / 231), 11px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .timeline__time::before {
    width: 11px;
  }
}
@media screen and (min-width: 1512px) {
  .timeline__time::before {
    width: clamp(11px, calc(11px + 0.6402116402 * (100vw - 1512px) / 88), 11.6402116402px);
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .timeline__time::before {
    height: clamp(8.25px, calc(8.25px + 2.75 * (100vw - 769px) / 231), 11px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .timeline__time::before {
    height: 11px;
  }
}
@media screen and (min-width: 1512px) {
  .timeline__time::before {
    height: clamp(11px, calc(11px + 0.6402116402 * (100vw - 1512px) / 88), 11.6402116402px);
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .timeline__time::before {
    left: clamp(-18.75px, calc(-18.75px + -6.25 * (100vw - 769px) / 231), -25px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .timeline__time::before {
    left: -25px;
  }
}
@media screen and (min-width: 1512px) {
  .timeline__time::before {
    left: clamp(-25px, calc(-25px + -1.455026455 * (100vw - 1512px) / 88), -26.455026455px);
  }
}
@media screen and (max-width: 768px) {
  .timeline__time::before {
    width: clamp(6.7307692308px, calc(6.7307692308px + 7.0538461538 * (100vw - 375px) / 393), 13.7846153846px);
    height: clamp(6.7307692308px, calc(6.7307692308px + 7.0538461538 * (100vw - 375px) / 393), 13.7846153846px);
    left: clamp(-27.5692307692px, (13.4615384615px + 14.1076923077 * (100vw - 375px) / 393) * -1, -13.4615384615px);
  }
}

.timeline__value {
  line-height: 100%;
  font-weight: 400;
  white-space: nowrap;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .timeline__value {
    margin-top: clamp(6px, calc(6px + 2 * (100vw - 769px) / 231), 8px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .timeline__value {
    margin-top: 8px;
  }
}
@media screen and (min-width: 1512px) {
  .timeline__value {
    margin-top: clamp(8px, calc(8px + 0.4656084656 * (100vw - 1512px) / 88), 8.4656084656px);
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .timeline__value {
    font-size: clamp(15px, calc(15px + 5 * (100vw - 769px) / 231), 20px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .timeline__value {
    font-size: 20px;
  }
}
@media screen and (min-width: 1512px) {
  .timeline__value {
    font-size: clamp(20px, calc(20px + 1.164021164 * (100vw - 1512px) / 88), 21.164021164px);
  }
}
@media screen and (max-width: 768px) {
  .timeline__value {
    white-space: initial;
    margin-top: clamp(7.6923076923px, calc(7.6923076923px + 8.0615384615 * (100vw - 375px) / 393), 15.7538461538px);
    font-size: clamp(13.4615384615px, calc(13.4615384615px + 14.1076923077 * (100vw - 375px) / 393), 27.5692307692px);
  }
}

.--green {
  color: #45B035;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.timeline__companies {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .timeline__companies {
    gap: clamp(6px, calc(6px + 2 * (100vw - 769px) / 231), 8px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .timeline__companies {
    gap: 8px;
  }
}
@media screen and (min-width: 1512px) {
  .timeline__companies {
    gap: clamp(8px, calc(8px + 0.4656084656 * (100vw - 1512px) / 88), 8.4656084656px);
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .timeline__companies {
    margin-top: clamp(12px, calc(12px + 4 * (100vw - 769px) / 231), 16px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .timeline__companies {
    margin-top: 16px;
  }
}
@media screen and (min-width: 1512px) {
  .timeline__companies {
    margin-top: clamp(16px, calc(16px + 0.9312169312 * (100vw - 1512px) / 88), 16.9312169312px);
  }
}
@media screen and (max-width: 768px) {
  .timeline__companies {
    grid-template-columns: repeat(4, 1fr);
    gap: clamp(3.8461538462px, calc(3.8461538462px + 4.0307692308 * (100vw - 375px) / 393), 7.8769230769px);
    margin-top: clamp(15.3846153846px, calc(15.3846153846px + 16.1230769231 * (100vw - 375px) / 393), 31.5076923077px);
  }
}

.timeline__company {
  aspect-ratio: 90/45;
}
.timeline__company img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.timeline__pattern {
  display: none;
}
@media screen and (max-width: 768px) {
  .timeline__pattern {
    display: block;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: clamp(397.1153846154px, calc(397.1153846154px + 416.1769230769 * (100vw - 375px) / 393), 813.2923076923px);
    width: 100%;
    z-index: -1;
  }
}

/* =========================
  global
========================= */
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .days {
    margin-top: clamp(12px, calc(12px + 4 * (100vw - 769px) / 231), 16px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .days {
    margin-top: 16px;
  }
}
@media screen and (min-width: 1512px) {
  .days {
    margin-top: clamp(16px, calc(16px + 0.9312169312 * (100vw - 1512px) / 88), 16.9312169312px);
  }
}
@media screen and (max-width: 768px) {
  .days {
    margin-top: clamp(7.6923076923px, calc(7.6923076923px + 8.0615384615 * (100vw - 375px) / 393), 15.7538461538px);
  }
}

.days__wrapper {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .days__wrapper {
    gap: clamp(12px, calc(12px + 4 * (100vw - 769px) / 231), 16px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .days__wrapper {
    gap: 16px;
  }
}
@media screen and (min-width: 1512px) {
  .days__wrapper {
    gap: clamp(16px, calc(16px + 0.9312169312 * (100vw - 1512px) / 88), 16.9312169312px);
  }
}
@media screen and (max-width: 768px) {
  .days__wrapper {
    gap: clamp(7.6923076923px, calc(7.6923076923px + 8.0615384615 * (100vw - 375px) / 393), 15.7538461538px);
  }
}

.days__wrap {
  background: #fff;
  border-radius: 32px;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .days__wrap {
    padding: clamp(24px, calc(24px + 8 * (100vw - 769px) / 231), 32px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .days__wrap {
    padding: 32px;
  }
}
@media screen and (min-width: 1512px) {
  .days__wrap {
    padding: clamp(32px, calc(32px + 1.8624338624 * (100vw - 1512px) / 88), 33.8624338624px);
  }
}
@media screen and (max-width: 768px) {
  .days__wrap {
    padding: clamp(23.0769230769px, calc(23.0769230769px + 24.1846153846 * (100vw - 375px) / 393), 47.2615384615px) clamp(15.3846153846px, calc(15.3846153846px + 16.1230769231 * (100vw - 375px) / 393), 31.5076923077px) 0;
    border-radius: 16px;
  }
}

.days__top {
  background: #45B035;
  color: #fff;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  border-radius: 24px;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .days__top {
    padding: clamp(36px, calc(36px + 12 * (100vw - 769px) / 231), 48px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .days__top {
    padding: 48px;
  }
}
@media screen and (min-width: 1512px) {
  .days__top {
    padding: clamp(48px, calc(48px + 2.7936507937 * (100vw - 1512px) / 88), 50.7936507937px);
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .days__top {
    gap: clamp(11.25px, calc(11.25px + 3.75 * (100vw - 769px) / 231), 15px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .days__top {
    gap: 15px;
  }
}
@media screen and (min-width: 1512px) {
  .days__top {
    gap: clamp(15px, calc(15px + 0.873015873 * (100vw - 1512px) / 88), 15.873015873px);
  }
}
@media screen and (max-width: 768px) {
  .days__top {
    flex-direction: column;
    padding: clamp(15.3846153846px, calc(15.3846153846px + 16.1230769231 * (100vw - 375px) / 393), 31.5076923077px);
    gap: clamp(7.6923076923px, calc(7.6923076923px + 8.0615384615 * (100vw - 375px) / 393), 15.7538461538px);
    border-radius: 12px;
  }
}

.days__content {
  display: flex;
  align-items: center;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .days__content {
    gap: clamp(36.75px, calc(36.75px + 12.25 * (100vw - 769px) / 231), 49px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .days__content {
    gap: 49px;
  }
}
@media screen and (min-width: 1512px) {
  .days__content {
    gap: clamp(49px, calc(49px + 2.8518518519 * (100vw - 1512px) / 88), 51.8518518519px);
  }
}
@media screen and (max-width: 768px) {
  .days__content {
    flex-direction: column;
    align-items: initial;
    gap: clamp(7.6923076923px, calc(7.6923076923px + 8.0615384615 * (100vw - 375px) / 393), 15.7538461538px);
  }
}

.days__mark {
  font-family: "seravek-web", sans-serif;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .days__mark {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
}

.days__label {
  white-space: nowrap;
  line-height: 100%;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .days__label {
    font-size: clamp(52.5px, calc(52.5px + 17.5 * (100vw - 769px) / 231), 70px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .days__label {
    font-size: 70px;
  }
}
@media screen and (min-width: 1512px) {
  .days__label {
    font-size: clamp(70px, calc(70px + 4.0740740741 * (100vw - 1512px) / 88), 74.0740740741px);
  }
}
@media screen and (max-width: 768px) {
  .days__label {
    font-size: clamp(38.4615384615px, calc(38.4615384615px + 40.3076923077 * (100vw - 375px) / 393), 78.7692307692px);
  }
}

.days__info {
  display: flex;
  align-items: center;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .days__info {
    margin-top: clamp(5.43px, calc(5.43px + 1.81 * (100vw - 769px) / 231), 7.24px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .days__info {
    margin-top: 7.24px;
  }
}
@media screen and (min-width: 1512px) {
  .days__info {
    margin-top: clamp(7.24px, calc(7.24px + 0.4213756614 * (100vw - 1512px) / 88), 7.6613756614px);
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .days__info {
    gap: clamp(6px, calc(6px + 2 * (100vw - 769px) / 231), 8px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .days__info {
    gap: 8px;
  }
}
@media screen and (min-width: 1512px) {
  .days__info {
    gap: clamp(8px, calc(8px + 0.4656084656 * (100vw - 1512px) / 88), 8.4656084656px);
  }
}
@media screen and (max-width: 768px) {
  .days__info {
    gap: clamp(7.6923076923px, calc(7.6923076923px + 8.0615384615 * (100vw - 375px) / 393), 15.7538461538px);
  }
}

@media screen and (min-width: 769px) and (max-width: 1000px) {
  .days__day {
    font-size: clamp(18px, calc(18px + 6 * (100vw - 769px) / 231), 24px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .days__day {
    font-size: 24px;
  }
}
@media screen and (min-width: 1512px) {
  .days__day {
    font-size: clamp(24px, calc(24px + 1.3968253968 * (100vw - 1512px) / 88), 25.3968253968px);
  }
}
@media screen and (max-width: 768px) {
  .days__day {
    font-size: clamp(19.2307692308px, calc(19.2307692308px + 20.1538461538 * (100vw - 375px) / 393), 39.3846153846px);
  }
}

.days__week {
  background: #fff;
  color: #45B035;
  border-radius: calc(infinity * 1px);
  display: grid;
  place-items: center;
  text-transform: uppercase;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .days__week {
    width: clamp(48px, calc(48px + 16 * (100vw - 769px) / 231), 64px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .days__week {
    width: 64px;
  }
}
@media screen and (min-width: 1512px) {
  .days__week {
    width: clamp(64px, calc(64px + 3.7248677249 * (100vw - 1512px) / 88), 67.7248677249px);
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .days__week {
    min-hight: clamp(19.5px, calc(19.5px + 6.5 * (100vw - 769px) / 231), 26px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .days__week {
    min-hight: 26px;
  }
}
@media screen and (min-width: 1512px) {
  .days__week {
    min-hight: clamp(26px, calc(26px + 1.5132275132 * (100vw - 1512px) / 88), 27.5132275132px);
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .days__week {
    font-size: clamp(13.5px, calc(13.5px + 4.5 * (100vw - 769px) / 231), 18px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .days__week {
    font-size: 18px;
  }
}
@media screen and (min-width: 1512px) {
  .days__week {
    font-size: clamp(18px, calc(18px + 1.0476190476 * (100vw - 1512px) / 88), 19.0476190476px);
  }
}
@media screen and (max-width: 768px) {
  .days__week {
    width: clamp(43.2692307692px, calc(43.2692307692px + 45.3461538462 * (100vw - 375px) / 393), 88.6153846154px);
    min-height: clamp(19.2307692308px, calc(19.2307692308px + 20.1538461538 * (100vw - 375px) / 393), 39.3846153846px);
    font-size: clamp(15.3846153846px, calc(15.3846153846px + 16.1230769231 * (100vw - 375px) / 393), 31.5076923077px);
  }
}

.days__descrition {
  line-height: 175%;
  font-weight: 700;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .days__descrition {
    font-size: clamp(15px, calc(15px + 5 * (100vw - 769px) / 231), 20px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .days__descrition {
    font-size: 20px;
  }
}
@media screen and (min-width: 1512px) {
  .days__descrition {
    font-size: clamp(20px, calc(20px + 1.164021164 * (100vw - 1512px) / 88), 21.164021164px);
  }
}
@media screen and (max-width: 768px) {
  .days__descrition {
    font-size: clamp(13.4615384615px, calc(13.4615384615px + 14.1076923077 * (100vw - 375px) / 393), 27.5692307692px);
  }
}

.days__categories {
  margin-left: auto;
  display: flex;
  flex-wrap: wrap;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .days__categories {
    gap: clamp(6px, calc(6px + 2 * (100vw - 769px) / 231), 8px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .days__categories {
    gap: 8px;
  }
}
@media screen and (min-width: 1512px) {
  .days__categories {
    gap: clamp(8px, calc(8px + 0.4656084656 * (100vw - 1512px) / 88), 8.4656084656px);
  }
}
@media screen and (max-width: 768px) {
  .days__categories {
    gap: clamp(3.8461538462px, calc(3.8461538462px + 4.0307692308 * (100vw - 375px) / 393), 7.8769230769px);
    margin-left: initial;
  }
}

.days__category {
  border: 1px solid #fff;
  border-radius: 40px;
  line-height: 175%;
  font-weight: 700;
  width: fit-content;
  white-space: nowrap;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .days__category {
    font-size: clamp(10.5px, calc(10.5px + 3.5 * (100vw - 769px) / 231), 14px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .days__category {
    font-size: 14px;
  }
}
@media screen and (min-width: 1512px) {
  .days__category {
    font-size: clamp(14px, calc(14px + 0.8148148148 * (100vw - 1512px) / 88), 14.8148148148px);
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .days__category {
    padding: clamp(6px, calc(6px + 2 * (100vw - 769px) / 231), 8px) clamp(12px, calc(12px + 4 * (100vw - 769px) / 231), 16px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .days__category {
    padding: 8px 16px;
  }
}
@media screen and (min-width: 1512px) {
  .days__category {
    padding: clamp(8px, calc(8px + 0.4656084656 * (100vw - 1512px) / 88), 8.4656084656px) clamp(16px, calc(16px + 0.9312169312 * (100vw - 1512px) / 88), 16.9312169312px);
  }
}
@media screen and (max-width: 768px) {
  .days__category {
    font-size: clamp(13.4615384615px, calc(13.4615384615px + 14.1076923077 * (100vw - 375px) / 393), 27.5692307692px);
    padding: clamp(3.8461538462px, calc(3.8461538462px + 4.0307692308 * (100vw - 375px) / 393), 7.8769230769px) clamp(15.3846153846px, calc(15.3846153846px + 16.1230769231 * (100vw - 375px) / 393), 31.5076923077px);
  }
}

/* =========================
  global
========================= */
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .schedule {
    margin-top: clamp(60px, calc(60px + 20 * (100vw - 769px) / 231), 80px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .schedule {
    margin-top: 80px;
  }
}
@media screen and (min-width: 1512px) {
  .schedule {
    margin-top: clamp(80px, calc(80px + 4.6560846561 * (100vw - 1512px) / 88), 84.6560846561px);
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .schedule__wrap {
    padding-bottom: clamp(60px, calc(60px + 20 * (100vw - 769px) / 231), 80px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .schedule__wrap {
    padding-bottom: 80px;
  }
}
@media screen and (min-width: 1512px) {
  .schedule__wrap {
    padding-bottom: clamp(80px, calc(80px + 4.6560846561 * (100vw - 1512px) / 88), 84.6560846561px);
  }
}

.schedule__item {
  display: grid;
  grid-template-columns: 150px 1fr 16.9075144509%;
  align-items: flex-start;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .schedule__item {
    padding: clamp(24px, calc(24px + 8 * (100vw - 769px) / 231), 32px) 0;
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .schedule__item {
    padding: 32px 0;
  }
}
@media screen and (min-width: 1512px) {
  .schedule__item {
    padding: clamp(32px, calc(32px + 1.8624338624 * (100vw - 1512px) / 88), 33.8624338624px) 0;
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .schedule__item {
    gap: clamp(24px, calc(24px + 8 * (100vw - 769px) / 231), 32px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .schedule__item {
    gap: 32px;
  }
}
@media screen and (min-width: 1512px) {
  .schedule__item {
    gap: clamp(32px, calc(32px + 1.8624338624 * (100vw - 1512px) / 88), 33.8624338624px);
  }
}
@media screen and (max-width: 768px) {
  .schedule__item {
    padding: clamp(23.0769230769px, calc(23.0769230769px + 24.1846153846 * (100vw - 375px) / 393), 47.2615384615px) 0;
    display: flex;
    flex-direction: column;
    grid-template-columns: initial;
    gap: clamp(7.6923076923px, calc(7.6923076923px + 8.0615384615 * (100vw - 375px) / 393), 15.7538461538px);
  }
}

.schedule__item:not(:first-of-type) {
  border-top: 1px solid #F1F1F1;
}

@media screen and (min-width: 769px) {
  .schedule__item:last-of-type {
    padding-bottom: initial;
  }
}

.schedule__time {
  color: #E60012;
  font-weight: 400;
  line-height: 100%;
  font-family: "seravek-web", sans-serif;
  position: relative;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .schedule__time {
    font-size: clamp(15px, calc(15px + 5 * (100vw - 769px) / 231), 20px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .schedule__time {
    font-size: 20px;
  }
}
@media screen and (min-width: 1512px) {
  .schedule__time {
    font-size: clamp(20px, calc(20px + 1.164021164 * (100vw - 1512px) / 88), 21.164021164px);
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .schedule__time {
    margin-top: clamp(5.25px, calc(5.25px + 1.75 * (100vw - 769px) / 231), 7px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .schedule__time {
    margin-top: 7px;
  }
}
@media screen and (min-width: 1512px) {
  .schedule__time {
    margin-top: clamp(7px, calc(7px + 0.4074074074 * (100vw - 1512px) / 88), 7.4074074074px);
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .schedule__time {
    padding-left: clamp(26.25px, calc(26.25px + 8.75 * (100vw - 769px) / 231), 35px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .schedule__time {
    padding-left: 35px;
  }
}
@media screen and (min-width: 1512px) {
  .schedule__time {
    padding-left: clamp(35px, calc(35px + 2.037037037 * (100vw - 1512px) / 88), 37.037037037px);
  }
}
@media screen and (max-width: 768px) {
  .schedule__time {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    font-size: clamp(13.4615384615px, calc(13.4615384615px + 14.1076923077 * (100vw - 375px) / 393), 27.5692307692px);
    padding-left: clamp(16.3461538462px, calc(16.3461538462px + 17.1307692308 * (100vw - 375px) / 393), 33.4769230769px);
  }
}
.schedule__time span {
  display: block;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .schedule__time span {
    font-size: clamp(12px, calc(12px + 4 * (100vw - 769px) / 231), 16px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .schedule__time span {
    font-size: 16px;
  }
}
@media screen and (min-width: 1512px) {
  .schedule__time span {
    font-size: clamp(16px, calc(16px + 0.9312169312 * (100vw - 1512px) / 88), 16.9312169312px);
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .schedule__time span {
    margin-top: clamp(6px, calc(6px + 2 * (100vw - 769px) / 231), 8px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .schedule__time span {
    margin-top: 8px;
  }
}
@media screen and (min-width: 1512px) {
  .schedule__time span {
    margin-top: clamp(8px, calc(8px + 0.4656084656 * (100vw - 1512px) / 88), 8.4656084656px);
  }
}
.schedule__time::before {
  position: absolute;
  content: "";
  background: url(../img/timeline_polygon.png) no-repeat center center/contain;
  left: 0;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .schedule__time::before {
    width: clamp(8.25px, calc(8.25px + 2.75 * (100vw - 769px) / 231), 11px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .schedule__time::before {
    width: 11px;
  }
}
@media screen and (min-width: 1512px) {
  .schedule__time::before {
    width: clamp(11px, calc(11px + 0.6402116402 * (100vw - 1512px) / 88), 11.6402116402px);
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .schedule__time::before {
    height: clamp(8.25px, calc(8.25px + 2.75 * (100vw - 769px) / 231), 11px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .schedule__time::before {
    height: 11px;
  }
}
@media screen and (min-width: 1512px) {
  .schedule__time::before {
    height: clamp(11px, calc(11px + 0.6402116402 * (100vw - 1512px) / 88), 11.6402116402px);
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .schedule__time::before {
    top: clamp(3.75px, calc(3.75px + 1.25 * (100vw - 769px) / 231), 5px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .schedule__time::before {
    top: 5px;
  }
}
@media screen and (min-width: 1512px) {
  .schedule__time::before {
    top: clamp(5px, calc(5px + 0.291005291 * (100vw - 1512px) / 88), 5.291005291px);
  }
}
@media screen and (max-width: 768px) {
  .schedule__time::before {
    width: clamp(6.7307692308px, calc(6.7307692308px + 7.0538461538 * (100vw - 375px) / 393), 13.7846153846px);
    height: clamp(6.7307692308px, calc(6.7307692308px + 7.0538461538 * (100vw - 375px) / 393), 13.7846153846px);
    top: 50%;
    transform: translateY(-50%);
  }
}

.schedule__title {
  line-height: 175%;
  font-weight: 700;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .schedule__title {
    font-size: clamp(15px, calc(15px + 5 * (100vw - 769px) / 231), 20px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .schedule__title {
    font-size: 20px;
  }
}
@media screen and (min-width: 1512px) {
  .schedule__title {
    font-size: clamp(20px, calc(20px + 1.164021164 * (100vw - 1512px) / 88), 21.164021164px);
  }
}
@media screen and (max-width: 768px) {
  .schedule__title {
    font-size: clamp(13.4615384615px, calc(13.4615384615px + 14.1076923077 * (100vw - 375px) / 393), 27.5692307692px);
  }
}

.schdule__head {
  border-top: 1px solid #45B035;
  font-weight: 700;
  color: #45B035;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .schdule__head {
    padding-top: clamp(60px, calc(60px + 20 * (100vw - 769px) / 231), 80px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .schdule__head {
    padding-top: 80px;
  }
}
@media screen and (min-width: 1512px) {
  .schdule__head {
    padding-top: clamp(80px, calc(80px + 4.6560846561 * (100vw - 1512px) / 88), 84.6560846561px);
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .schdule__head {
    font-size: clamp(18px, calc(18px + 6 * (100vw - 769px) / 231), 24px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .schdule__head {
    font-size: 24px;
  }
}
@media screen and (min-width: 1512px) {
  .schdule__head {
    font-size: clamp(24px, calc(24px + 1.3968253968 * (100vw - 1512px) / 88), 25.3968253968px);
  }
}
@media screen and (max-width: 768px) {
  .schdule__head {
    font-size: clamp(15.3846153846px, calc(15.3846153846px + 16.1230769231 * (100vw - 375px) / 393), 31.5076923077px);
    padding-top: clamp(23.0769230769px, calc(23.0769230769px + 24.1846153846 * (100vw - 375px) / 393), 47.2615384615px);
    margin-bottom: clamp(-15.7538461538px, (7.6923076923px + 8.0615384615 * (100vw - 375px) / 393) * -1, -7.6923076923px);
  }
}

.schedule__description {
  line-height: 175%;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .schedule__description {
    font-size: clamp(12px, calc(12px + 4 * (100vw - 769px) / 231), 16px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .schedule__description {
    font-size: 16px;
  }
}
@media screen and (min-width: 1512px) {
  .schedule__description {
    font-size: clamp(16px, calc(16px + 0.9312169312 * (100vw - 1512px) / 88), 16.9312169312px);
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .schedule__description {
    margin-top: clamp(6px, calc(6px + 2 * (100vw - 769px) / 231), 8px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .schedule__description {
    margin-top: 8px;
  }
}
@media screen and (min-width: 1512px) {
  .schedule__description {
    margin-top: clamp(8px, calc(8px + 0.4656084656 * (100vw - 1512px) / 88), 8.4656084656px);
  }
}
@media screen and (max-width: 768px) {
  .schedule__description {
    font-size: clamp(13.4615384615px, calc(13.4615384615px + 14.1076923077 * (100vw - 375px) / 393), 27.5692307692px);
    margin-top: clamp(7.6923076923px, calc(7.6923076923px + 8.0615384615 * (100vw - 375px) / 393), 15.7538461538px);
  }
}

.schedule__wrap.--bak .schedule__item {
  grid-template-columns: 150px 1fr 34.9710982659%;
}

.shcedule__companies {
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .shcedule__companies {
    gap: clamp(12px, calc(12px + 4 * (100vw - 769px) / 231), 16px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .shcedule__companies {
    gap: 16px;
  }
}
@media screen and (min-width: 1512px) {
  .shcedule__companies {
    gap: clamp(16px, calc(16px + 0.9312169312 * (100vw - 1512px) / 88), 16.9312169312px);
  }
}
@media screen and (max-width: 768px) {
  .shcedule__companies {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(15.3846153846px, calc(15.3846153846px + 16.1230769231 * (100vw - 375px) / 393), 31.5076923077px);
    margin-top: clamp(7.6923076923px, calc(7.6923076923px + 8.0615384615 * (100vw - 375px) / 393), 15.7538461538px);
  }
}

.shcedule__companies .schedule__company {
  margin-top: initial;
}
@media screen and (max-width: 768px) {
  .shcedule__companies .schedule__company {
    width: 100%;
  }
  .shcedule__companies .schedule__company .schedule__name {
    white-space: initial;
  }
}
@media screen and (max-width: 768px) {
  .shcedule__companies .schedule__company img {
    width: 100%;
  }
}

.schedule__company {
  display: grid;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .schedule__company {
    gap: clamp(6px, calc(6px + 2 * (100vw - 769px) / 231), 8px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .schedule__company {
    gap: 8px;
  }
}
@media screen and (min-width: 1512px) {
  .schedule__company {
    gap: clamp(8px, calc(8px + 0.4656084656 * (100vw - 1512px) / 88), 8.4656084656px);
  }
}
@media screen and (max-width: 768px) {
  .schedule__company {
    gap: clamp(7.6923076923px, calc(7.6923076923px + 8.0615384615 * (100vw - 375px) / 393), 15.7538461538px);
    margin-inline: auto;
    margin-top: clamp(7.6923076923px, calc(7.6923076923px + 8.0615384615 * (100vw - 375px) / 393), 15.7538461538px);
  }
}
.schedule__company img {
  aspect-ratio: 234/117;
  width: fit-content;
  transition: 0.2s all ease;
  margin-inline: auto;
  height: 100%;
}
@media screen and (max-width: 768px) {
  .schedule__company img {
    aspect-ratio: 155/77.5;
    width: 47.5460122699%;
    height: auto;
  }
}

.schedule__name {
  text-align: center;
  line-height: 175%;
  left: 50%;
  transform: translateX(-50%);
  position: relative;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .schedule__name {
    font-size: clamp(10px, calc(10px + 2 * (100vw - 769px) / 231), 12px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .schedule__name {
    font-size: 12px;
  }
}
@media screen and (min-width: 1512px) {
  .schedule__name {
    font-size: clamp(12px, calc(12px + 0.6984126984 * (100vw - 1512px) / 88), 12.6984126984px);
  }
}
@media screen and (max-width: 768px) {
  .schedule__name {
    font-size: clamp(11.5384615385px, calc(11.5384615385px + 12.0923076923 * (100vw - 375px) / 393), 23.6307692308px);
    white-space: nowrap;
  }
}

/* =========================
  global
========================= */
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .program {
    padding-top: clamp(180px, calc(180px + 60 * (100vw - 769px) / 231), 240px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .program {
    padding-top: 240px;
  }
}
@media screen and (min-width: 1512px) {
  .program {
    padding-top: clamp(240px, calc(240px + 13.9682539683 * (100vw - 1512px) / 88), 253.9682539683px);
  }
}

.program__items {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .program__items {
    gap: clamp(60px, calc(60px + 20 * (100vw - 769px) / 231), 80px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .program__items {
    gap: 80px;
  }
}
@media screen and (min-width: 1512px) {
  .program__items {
    gap: clamp(80px, calc(80px + 4.6560846561 * (100vw - 1512px) / 88), 84.6560846561px);
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .program__items {
    margin-top: clamp(60px, calc(60px + 20 * (100vw - 769px) / 231), 80px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .program__items {
    margin-top: 80px;
  }
}
@media screen and (min-width: 1512px) {
  .program__items {
    margin-top: clamp(80px, calc(80px + 4.6560846561 * (100vw - 1512px) / 88), 84.6560846561px);
  }
}
@media screen and (max-width: 768px) {
  .program__items {
    margin-top: clamp(30.7692307692px, calc(30.7692307692px + 32.2461538462 * (100vw - 375px) / 393), 63.0153846154px);
    gap: clamp(30.7692307692px, calc(30.7692307692px + 32.2461538462 * (100vw - 375px) / 393), 63.0153846154px);
  }
}

.program__item {
  display: grid;
  grid-template-columns: 1fr 63.4765625%;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .program__item {
    gap: clamp(24px, calc(24px + 8 * (100vw - 769px) / 231), 32px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .program__item {
    gap: 32px;
  }
}
@media screen and (min-width: 1512px) {
  .program__item {
    gap: clamp(32px, calc(32px + 1.8624338624 * (100vw - 1512px) / 88), 33.8624338624px);
  }
}
@media screen and (max-width: 768px) {
  .program__item {
    grid-template-columns: 1fr;
    gap: clamp(15.3846153846px, calc(15.3846153846px + 16.1230769231 * (100vw - 375px) / 393), 31.5076923077px);
  }
}

@media screen and (max-width: 768px) {
  .program__logo {
    width: clamp(200px, calc(200px + 209.6 * (100vw - 375px) / 393), 409.6px);
    margin-inline: auto;
  }
  .program__logo img {
    height: fit-content;
  }
}

.program__content {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .program__content {
    gap: clamp(15.3846153846px, calc(15.3846153846px + 16.1230769231 * (100vw - 375px) / 393), 31.5076923077px);
  }
}

.program__title {
  font-weight: 700;
  display: flex;
  flex-direction: column;
  line-height: 175%;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .program__title {
    gap: clamp(12px, calc(12px + 4 * (100vw - 769px) / 231), 16px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .program__title {
    gap: 16px;
  }
}
@media screen and (min-width: 1512px) {
  .program__title {
    gap: clamp(16px, calc(16px + 0.9312169312 * (100vw - 1512px) / 88), 16.9312169312px);
  }
}

.program__name.--title {
  margin-top: initial;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .program__name.--title {
    font-size: clamp(15px, calc(15px + 5 * (100vw - 769px) / 231), 20px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .program__name.--title {
    font-size: 20px;
  }
}
@media screen and (min-width: 1512px) {
  .program__name.--title {
    font-size: clamp(20px, calc(20px + 1.164021164 * (100vw - 1512px) / 88), 21.164021164px);
  }
}
@media screen and (max-width: 768px) {
  .program__name.--title {
    font-size: clamp(17.3076923077px, calc(17.3076923077px + 18.1384615385 * (100vw - 375px) / 393), 35.4461538462px);
    margin-top: initial;
  }
}

@media screen and (min-width: 769px) and (max-width: 1000px) {
  .program__name {
    font-size: clamp(12px, calc(12px + 4 * (100vw - 769px) / 231), 16px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .program__name {
    font-size: 16px;
  }
}
@media screen and (min-width: 1512px) {
  .program__name {
    font-size: clamp(16px, calc(16px + 0.9312169312 * (100vw - 1512px) / 88), 16.9312169312px);
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .program__name {
    margin-top: clamp(3px, calc(3px + 1 * (100vw - 769px) / 231), 4px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .program__name {
    margin-top: 4px;
  }
}
@media screen and (min-width: 1512px) {
  .program__name {
    margin-top: clamp(4px, calc(4px + 0.2328042328 * (100vw - 1512px) / 88), 4.2328042328px);
  }
}
@media screen and (max-width: 768px) {
  .program__name {
    margin-top: initial;
    font-size: clamp(13.4615384615px, calc(13.4615384615px + 14.1076923077 * (100vw - 375px) / 393), 27.5692307692px);
  }
}

.program__description {
  line-height: 175%;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .program__description {
    font-size: clamp(10.5px, calc(10.5px + 3.5 * (100vw - 769px) / 231), 14px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .program__description {
    font-size: 14px;
  }
}
@media screen and (min-width: 1512px) {
  .program__description {
    font-size: clamp(14px, calc(14px + 0.8148148148 * (100vw - 1512px) / 88), 14.8148148148px);
  }
}
@media screen and (max-width: 768px) {
  .program__description {
    font-size: clamp(13.4615384615px, calc(13.4615384615px + 14.1076923077 * (100vw - 375px) / 393), 27.5692307692px);
  }
}

.program__company {
  line-height: 175%;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .program__company {
    font-size: clamp(10px, calc(10px + 2 * (100vw - 769px) / 231), 12px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .program__company {
    font-size: 12px;
  }
}
@media screen and (min-width: 1512px) {
  .program__company {
    font-size: clamp(12px, calc(12px + 0.6984126984 * (100vw - 1512px) / 88), 12.6984126984px);
  }
}
@media screen and (max-width: 768px) {
  .program__company {
    font-size: clamp(11.5384615385px, calc(11.5384615385px + 12.0923076923 * (100vw - 375px) / 393), 23.6307692308px);
  }
}
.program__company a {
  color: #45B035;
  text-decoration: underline;
}

.program__pattern {
  position: absolute;
  pointer-events: none;
}

.program__pattern.--left {
  left: 0;
  z-index: -1;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .program__pattern.--left {
    width: clamp(249.75px, calc(249.75px + 83.25 * (100vw - 769px) / 231), 333px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .program__pattern.--left {
    width: 333px;
  }
}
@media screen and (min-width: 1512px) {
  .program__pattern.--left {
    width: clamp(333px, calc(333px + 19.380952381 * (100vw - 1512px) / 88), 352.380952381px);
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .program__pattern.--left {
    top: clamp(-22.5px, calc(-22.5px + -7.5 * (100vw - 769px) / 231), -30px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .program__pattern.--left {
    top: -30px;
  }
}
@media screen and (min-width: 1512px) {
  .program__pattern.--left {
    top: clamp(-30px, calc(-30px + -1.746031746 * (100vw - 1512px) / 88), -31.746031746px);
  }
}
@media screen and (max-width: 768px) {
  .program__pattern.--left {
    display: none;
  }
}

.program__pattern.--right {
  right: 0;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .program__pattern.--right {
    width: clamp(235.5px, calc(235.5px + 78.5 * (100vw - 769px) / 231), 314px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .program__pattern.--right {
    width: 314px;
  }
}
@media screen and (min-width: 1512px) {
  .program__pattern.--right {
    width: clamp(314px, calc(314px + 18.2751322751 * (100vw - 1512px) / 88), 332.2751322751px);
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .program__pattern.--right {
    top: clamp(-52.5px, calc(-52.5px + -17.5 * (100vw - 769px) / 231), -70px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .program__pattern.--right {
    top: -70px;
  }
}
@media screen and (min-width: 1512px) {
  .program__pattern.--right {
    top: clamp(-70px, calc(-70px + -4.0740740741 * (100vw - 1512px) / 88), -74.0740740741px);
  }
}
@media screen and (max-width: 768px) {
  .program__pattern.--right {
    display: none;
  }
}

.program__pattern.--sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .program__pattern.--sp {
    display: block;
    left: 0;
    top: clamp(33.6538461538px, calc(33.6538461538px + 35.2692307692 * (100vw - 375px) / 393), 68.9230769231px);
    width: clamp(344.2307692308px, calc(344.2307692308px + 360.7538461538 * (100vw - 375px) / 393), 704.9846153846px);
    z-index: -1;
  }
}
@media (width < 360px) {
  .program__pattern.--sp {
    width: clamp(307.6923076923px, calc(307.6923076923px + 322.4615384615 * (100vw - 375px) / 393), 630.1538461538px);
  }
}
.program__pattern.--sp img {
  height: 100%;
}

/* =========================
  global
========================= */
.event__items {
  border-bottom: 1px solid #45B035;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .event__items {
    margin-top: clamp(60px, calc(60px + 20 * (100vw - 769px) / 231), 80px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .event__items {
    margin-top: 80px;
  }
}
@media screen and (min-width: 1512px) {
  .event__items {
    margin-top: clamp(80px, calc(80px + 4.6560846561 * (100vw - 1512px) / 88), 84.6560846561px);
  }
}
@media screen and (max-width: 768px) {
  .event__items {
    margin-top: clamp(30.7692307692px, calc(30.7692307692px + 32.2461538462 * (100vw - 375px) / 393), 63.0153846154px);
  }
}

.event__item {
  display: grid;
  grid-template-columns: 41.89453125% 1fr;
  border-top: 1px solid #45B035;
  font-weight: 700;
  line-height: 175%;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .event__item {
    padding: clamp(24px, calc(24px + 8 * (100vw - 769px) / 231), 32px) 0;
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .event__item {
    padding: 32px 0;
  }
}
@media screen and (min-width: 1512px) {
  .event__item {
    padding: clamp(32px, calc(32px + 1.8624338624 * (100vw - 1512px) / 88), 33.8624338624px) 0;
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .event__item {
    font-size: clamp(10.5px, calc(10.5px + 3.5 * (100vw - 769px) / 231), 14px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .event__item {
    font-size: 14px;
  }
}
@media screen and (min-width: 1512px) {
  .event__item {
    font-size: clamp(14px, calc(14px + 0.8148148148 * (100vw - 1512px) / 88), 14.8148148148px);
  }
}
@media screen and (max-width: 768px) {
  .event__item {
    padding: clamp(15.3846153846px, calc(15.3846153846px + 16.1230769231 * (100vw - 375px) / 393), 31.5076923077px) 0;
    gap: clamp(7.6923076923px, calc(7.6923076923px + 8.0615384615 * (100vw - 375px) / 393), 15.7538461538px);
    font-size: clamp(13.4615384615px, calc(13.4615384615px + 14.1076923077 * (100vw - 375px) / 393), 27.5692307692px);
    grid-template-columns: 1fr;
  }
}

.event__label {
  color: #45B035;
}

.event__value span {
  font-weight: 400;
}
.event__value ul {
  padding-left: 1.7em;
}
.event__value ul,
.event__value li {
  list-style: disc;
}

.event__pattern {
  position: absolute;
  z-index: -1;
}

.event__pattern.--left {
  left: 0;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .event__pattern.--left {
    width: clamp(162.75px, calc(162.75px + 54.25 * (100vw - 769px) / 231), 217px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .event__pattern.--left {
    width: 217px;
  }
}
@media screen and (min-width: 1512px) {
  .event__pattern.--left {
    width: clamp(217px, calc(217px + 12.6296296296 * (100vw - 1512px) / 88), 229.6296296296px);
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .event__pattern.--left {
    top: clamp(75px, calc(75px + 25 * (100vw - 769px) / 231), 100px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .event__pattern.--left {
    top: 100px;
  }
}
@media screen and (min-width: 1512px) {
  .event__pattern.--left {
    top: clamp(100px, calc(100px + 5.8201058201 * (100vw - 1512px) / 88), 105.8201058201px);
  }
}
@media screen and (max-width: 768px) {
  .event__pattern.--left {
    display: none;
  }
}

.event__pattern.--right {
  right: 0;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .event__pattern.--right {
    width: clamp(148.5px, calc(148.5px + 49.5 * (100vw - 769px) / 231), 198px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .event__pattern.--right {
    width: 198px;
  }
}
@media screen and (min-width: 1512px) {
  .event__pattern.--right {
    width: clamp(198px, calc(198px + 11.5238095238 * (100vw - 1512px) / 88), 209.5238095238px);
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .event__pattern.--right {
    top: clamp(-202.5px, calc(-202.5px + -67.5 * (100vw - 769px) / 231), -270px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .event__pattern.--right {
    top: -270px;
  }
}
@media screen and (min-width: 1512px) {
  .event__pattern.--right {
    top: clamp(-270px, calc(-270px + -15.7142857143 * (100vw - 1512px) / 88), -285.7142857143px);
  }
}
@media screen and (max-width: 768px) {
  .event__pattern.--right {
    display: none;
  }
}

/* =========================
  global
========================= */
.host__wapper {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .host__wapper {
    gap: clamp(60px, calc(60px + 20 * (100vw - 769px) / 231), 80px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .host__wapper {
    gap: 80px;
  }
}
@media screen and (min-width: 1512px) {
  .host__wapper {
    gap: clamp(80px, calc(80px + 4.6560846561 * (100vw - 1512px) / 88), 84.6560846561px);
  }
}
@media screen and (max-width: 768px) {
  .host__wapper {
    gap: clamp(76.9230769231px, calc(76.9230769231px + 80.6153846154 * (100vw - 375px) / 393), 157.5384615385px);
  }
}

.host__logo {
  margin-inline: auto;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .host__logo {
    margin-top: clamp(24px, calc(24px + 8 * (100vw - 769px) / 231), 32px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .host__logo {
    margin-top: 32px;
  }
}
@media screen and (min-width: 1512px) {
  .host__logo {
    margin-top: clamp(32px, calc(32px + 1.8624338624 * (100vw - 1512px) / 88), 33.8624338624px);
  }
}
@media screen and (max-width: 768px) {
  .host__logo {
    margin-top: clamp(30.7692307692px, calc(30.7692307692px + 32.2461538462 * (100vw - 375px) / 393), 63.0153846154px);
  }
}
.host__logo img {
  height: fit-content;
}

.host__logo.--host {
  max-width: 175px;
}
@media screen and (max-width: 768px) {
  .host__logo.--host {
    width: clamp(117.3076923077px, calc(117.3076923077px + 122.9384615385 * (100vw - 375px) / 393), 240.2461538462px);
  }
}

.host__logo.--eiicon {
  max-width: 291px;
}
@media screen and (max-width: 768px) {
  .host__logo.--eiicon {
    width: clamp(195.1923076923px, calc(195.1923076923px + 204.5615384615 * (100vw - 375px) / 393), 399.7538461538px);
  }
}

.host__pattern {
  position: absolute;
  z-index: -1;
}
.host__pattern img {
  height: fit-content;
}

.host__pattern.--left {
  left: 0;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .host__pattern.--left {
    width: clamp(213.75px, calc(213.75px + 71.25 * (100vw - 769px) / 231), 285px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .host__pattern.--left {
    width: 285px;
  }
}
@media screen and (min-width: 1512px) {
  .host__pattern.--left {
    width: clamp(285px, calc(285px + 16.5873015873 * (100vw - 1512px) / 88), 301.5873015873px);
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .host__pattern.--left {
    bottom: clamp(12.75px, calc(12.75px + 4.25 * (100vw - 769px) / 231), 17px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .host__pattern.--left {
    bottom: 17px;
  }
}
@media screen and (min-width: 1512px) {
  .host__pattern.--left {
    bottom: clamp(17px, calc(17px + 0.9894179894 * (100vw - 1512px) / 88), 17.9894179894px);
  }
}
@media screen and (max-width: 768px) {
  .host__pattern.--left {
    width: clamp(110.5769230769px, calc(110.5769230769px + 115.8846153846 * (100vw - 375px) / 393), 226.4615384615px);
    bottom: clamp(126.9230769231px, calc(126.9230769231px + 133.0153846154 * (100vw - 375px) / 393), 259.9384615385px);
  }
}

.host__pattern.--right {
  right: 0;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .host__pattern.--right {
    width: clamp(235.5px, calc(235.5px + 78.5 * (100vw - 769px) / 231), 314px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .host__pattern.--right {
    width: 314px;
  }
}
@media screen and (min-width: 1512px) {
  .host__pattern.--right {
    width: clamp(314px, calc(314px + 18.2751322751 * (100vw - 1512px) / 88), 332.2751322751px);
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .host__pattern.--right {
    top: clamp(-240px, calc(-240px + -80 * (100vw - 769px) / 231), -320px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .host__pattern.--right {
    top: -320px;
  }
}
@media screen and (min-width: 1512px) {
  .host__pattern.--right {
    top: clamp(-320px, calc(-320px + -18.6243386243 * (100vw - 1512px) / 88), -338.6243386243px);
  }
}
@media screen and (max-width: 768px) {
  .host__pattern.--right {
    top: clamp(-275.6923076923px, (134.6153846154px + 141.0769230769 * (100vw - 375px) / 393) * -1, -134.6153846154px);
    width: clamp(112.5px, calc(112.5px + 117.9 * (100vw - 375px) / 393), 230.4px);
  }
}

/* =========================
  global
========================= */
.contact__container {
  background: #fff;
  border-radius: 32px;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .contact__container {
    padding: clamp(18px, calc(18px + 6 * (100vw - 769px) / 231), 24px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .contact__container {
    padding: 24px;
  }
}
@media screen and (min-width: 1512px) {
  .contact__container {
    padding: clamp(24px, calc(24px + 1.3968253968 * (100vw - 1512px) / 88), 25.3968253968px);
  }
}
@media screen and (max-width: 768px) {
  .contact__container {
    padding: clamp(23.0769230769px, calc(23.0769230769px + 24.1846153846 * (100vw - 375px) / 393), 47.2615384615px) clamp(15.3846153846px, calc(15.3846153846px + 16.1230769231 * (100vw - 375px) / 393), 31.5076923077px);
    border-radius: 16px;
  }
}

.contact__title {
  text-align: center;
  line-height: 175%;
  font-weight: 400;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .contact__title {
    font-size: clamp(10.5px, calc(10.5px + 3.5 * (100vw - 769px) / 231), 14px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .contact__title {
    font-size: 14px;
  }
}
@media screen and (min-width: 1512px) {
  .contact__title {
    font-size: clamp(14px, calc(14px + 0.8148148148 * (100vw - 1512px) / 88), 14.8148148148px);
  }
}
@media screen and (max-width: 768px) {
  .contact__title {
    font-size: clamp(13.4615384615px, calc(13.4615384615px + 14.1076923077 * (100vw - 375px) / 393), 27.5692307692px);
  }
}

.contact__items {
  display: grid;
  margin-inline: auto;
  width: fit-content;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .contact__items {
    margin-top: clamp(18px, calc(18px + 6 * (100vw - 769px) / 231), 24px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .contact__items {
    margin-top: 24px;
  }
}
@media screen and (min-width: 1512px) {
  .contact__items {
    margin-top: clamp(24px, calc(24px + 1.3968253968 * (100vw - 1512px) / 88), 25.3968253968px);
  }
}
@media screen and (max-width: 768px) {
  .contact__items {
    margin-top: clamp(11.5384615385px, calc(11.5384615385px + 12.0923076923 * (100vw - 375px) / 393), 23.6307692308px);
    width: fit-content;
    margin-inline: auto;
    gap: clamp(3.8461538462px, calc(3.8461538462px + 4.0307692308 * (100vw - 375px) / 393), 7.8769230769px);
  }
}

.contact__item {
  font-weight: 400;
  line-height: 175%;
  display: grid;
  grid-template-columns: 1fr 36.8831168831%;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .contact__item {
    font-size: clamp(10.5px, calc(10.5px + 3.5 * (100vw - 769px) / 231), 14px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .contact__item {
    font-size: 14px;
  }
}
@media screen and (min-width: 1512px) {
  .contact__item {
    font-size: clamp(14px, calc(14px + 0.8148148148 * (100vw - 1512px) / 88), 14.8148148148px);
  }
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .contact__item {
    gap: clamp(12px, calc(12px + 4 * (100vw - 769px) / 231), 16px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .contact__item {
    gap: 16px;
  }
}
@media screen and (min-width: 1512px) {
  .contact__item {
    gap: clamp(16px, calc(16px + 0.9312169312 * (100vw - 1512px) / 88), 16.9312169312px);
  }
}
@media screen and (max-width: 768px) {
  .contact__item {
    grid-template-columns: 1fr;
    font-size: clamp(13.4615384615px, calc(13.4615384615px + 14.1076923077 * (100vw - 375px) / 393), 27.5692307692px);
  }
}

.contact__value a {
  color: #45B035;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* =========================
  global
========================= */
.footer {
  position: relative;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .footer {
    padding: clamp(60px, calc(60px + 20 * (100vw - 769px) / 231), 80px) 0 clamp(180px, calc(180px + 60 * (100vw - 769px) / 231), 240px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .footer {
    padding: 80px 0 240px;
  }
}
@media screen and (min-width: 1512px) {
  .footer {
    padding: clamp(80px, calc(80px + 4.6560846561 * (100vw - 1512px) / 88), 84.6560846561px) 0 clamp(240px, calc(240px + 13.9682539683 * (100vw - 1512px) / 88), 253.9682539683px);
  }
}
@media screen and (max-width: 768px) {
  .footer {
    padding: clamp(81.7307692308px, calc(81.7307692308px + 85.6538461538 * (100vw - 375px) / 393), 167.3846153846px) 0 clamp(76.9230769231px, calc(76.9230769231px + 80.6153846154 * (100vw - 375px) / 393), 157.5384615385px);
  }
}

.footer__logo {
  max-width: 600px;
  margin-inline: auto;
  position: relative;
  z-index: 1;
  aspect-ratio: 600/525;
}
@media screen and (min-width: 769px) and (max-width: 1000px) {
  .footer__logo {
    width: clamp(450px, calc(450px + 150 * (100vw - 769px) / 231), 600px);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1511px) {
  .footer__logo {
    width: 600px;
  }
}
@media screen and (min-width: 1512px) {
  .footer__logo {
    width: clamp(600px, calc(600px + 34.9206349206 * (100vw - 1512px) / 88), 634.9206349206px);
  }
}
@media screen and (max-width: 768px) {
  .footer__logo {
    width: clamp(288.4615384615px, calc(288.4615384615px + 302.3076923077 * (100vw - 375px) / 393), 590.7692307692px);
  }
}
.footer__logo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.footer__pattern {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  aspect-ratio: 3024/2136;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .footer__pattern {
    aspect-ratio: 390/685;
  }
}
.footer__pattern img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/*# sourceMappingURL=style.css.map */
