/*
* basic.css
*
*/
:root {
  --color-black: #231200;
  --color-white: #fff;
  --color-ktn-yellow: #ffbf00;
  --color-yellow-01: #ffcb31;
  --color-yellow-02: #ffdb4f;
  --color-yellow-03: #ffe84f;
  --color-yellow-04: #fff8b5;
  --color-orange: #ff8f00;
  --color-orange-01: #ff4c00;
  --color-bg: #fff5e1;
  --color-bg-overlay: color-mix(in srgb, var(--color-black-btn) 30%, transparent);
  --color-line-dashed: #999;
  --color-line-solid: #d6d5d5;
  --color-panel: #f3f3f3;
  --color-black-btn: #333;
  --color-black-txt: #666;
  --color-accent-red: #ff4949;
  --color-accent-pink: #e23a9a;
  --color-accent-yellowgreen: #95d542;
  --color-accent-emerald: #09cd96;
  --color-accent-turquoise: #26d1db;
  --color-accent-blue: #3139e8;
  --color-accent-bluegray: #c5cfd6;
  --color-error: #c00;
  --weight-thin: 100;
  --weight-extra-light: 200;
  --weight-light: 300;
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semi-bold: 600;
  --weight-bold: 700;
  --weight-extra-bold: 800;
  --weight-black: 900;
  --color-hover-gray: #f2f0f0;
}

/* --------------------------------
  Basic
-------------------------------- */
.c-heading_02.c-heading_02 + .c-col_02_01 {
  margin-top: 30px;
}
@media (min-width: 768px) {
  .c-heading_02.c-heading_02 + .c-col_02_01 {
    margin-top: 50px;
  }
}

.c-col_02_01 {
  margin-top: 60px;
}
@media (min-width: 768px) {
  .c-col_02_01 {
    margin-top: 100px;
  }
}
.c-col_02_01._card {
  padding: 40px 15px;
  border-radius: 10px;
  background-color: var(--reversal-color);

  margin-inline: -15px;
}
@media (min-width: 768px) {
  .c-col_02_01._card {
    padding: 60px min(4.1666666667vw, 60px);
    border-radius: 20px;

    margin-inline: initial;
  }
}
.c-col_02_01._card._bg_yellow {
  background-color: var(--color-yellow-02);
}
.c-col_02_01._bg_yellow {
  background-color: var(--color-yellow-02);
}

.c-col > :not(:first-child) {
  margin-top: 30px;
}
.c-col .c-col_02_01 {
  margin-top: 40px;
}
@media (min-width: 768px) {
  .c-col .c-col_02_01 {
    margin-top: 60px;
  }
}
.c-col > :first-child {
  margin-top: 0;
}

.c-heading_03 + .c-col_02_01,
.c-typo_h3 + .c-col_02_01,
.c-heading_03_txt + .c-col_02_01,
.c-heading_04 + .c-col_02_01,
.c-typo_h4 + .c-col_02_01,
.c-heading_04_txt + .c-col_02_01 {
  margin-top: 30px;
}

.c-col_02_01 {
  display: flex;
  flex-direction: column;

  gap: 60px 0;
}
@media (min-width: 768px) {
  .c-col_02_01 {
    display: grid;

    grid-template-columns: 2fr 1fr;
    gap: 100px min(5.5555555556vw, 80px);
  }
}
@media (min-width: 768px) {
  .c-col_02_01._card {
    gap: 60px min(4.1666666667vw, 60px);
  }
}

.c-col_02_01._order {
  gap: 30px 0;
}
@media (min-width: 768px) {
  .c-col_02_01._order {
    display: grid;

    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: auto auto;
    gap: 30px min(5.5555555556vw, 80px);
  }
}
.c-col_02_01._order + ._order {
  margin-top: 60px;
}
@media (min-width: 768px) {
  .c-col_02_01._order + ._order {
    margin-top: 100px;
  }
}
@media (min-width: 768px) {
  .c-col_02_01._order:not(:has(._order_03)) {
    grid-template-rows: auto;
  }
}
@media (min-width: 768px) {
  .c-col_02_01._order:not(:has(._order_03)) ._order_01 {
    align-self: center;

    grid-column: 1;
    grid-row: span 2;
  }
}
@media (min-width: 768px) {
  .c-col_02_01._order:not(:has(._order_03)) ._order_02 {
    grid-column: span 2;
    grid-row: span 2;
  }
}
@media (min-width: 768px) {
  .c-col_02_01._order ._order_01 {
    align-self: end;
    width: 100%;

    grid-column: 1;
    grid-row: 1;
  }
}
@media (min-width: 768px) {
  .c-col_02_01._order ._order_02 {
    width: 100%;

    grid-column: span 2;
    grid-row: 1/span 2;
  }
}
@media (min-width: 768px) {
  .c-col_02_01._order ._order_03 {
    align-self: start;
    width: 100%;

    grid-column: 1;
    grid-row: 2;
  }
}
@media (min-width: 768px) {
  .c-col_02_01._order:nth-child(even) .c-col_item._order_01 {
    align-self: flex-end;

    grid-column: 3;
    grid-row: 1;
  }
  .c-col_02_01._order:nth-child(even) .c-col_item._order_02 {
    grid-column: span 2;
    grid-row: 1/span 2;
  }
  .c-col_02_01._order:nth-child(even) .c-col_item._order_03 {
    align-self: flex-start;

    grid-column: 3;
    grid-row: 2;
  }
}
@media (min-width: 768px) {
  .c-col_02_01._order:nth-child(even):not(:has(._order_03)) {
    grid-template-rows: auto;
  }
}
@media (min-width: 768px) {
  .c-col_02_01._order:nth-child(even):not(:has(._order_03)) .c-col_item._order_01 {
    align-self: center;

    grid-column: 3;
    grid-row: 1;
  }
}
@media (min-width: 768px) {
  .c-col_02_01._order:nth-child(even):not(:has(._order_03)) .c-col_item._order_02 {
    grid-column: 1 span 2;
    grid-row: 1;
  }
}