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

/* --------------------------------
  top
-------------------------------- */
.p-top {
  overflow: hidden;

  --slack: 51.2820512821vw;
  --circle-parallax-rate: 40px;
  --circle-position-01: calc((var(--circle-parallax-rate) + 350px) * -1);
  --circle-position-02: calc(var(--circle-parallax-rate) * -1);
  --circle-position-03: calc((var(--circle-parallax-rate) + 265px));
  --circle-position-04: calc(var(--circle-parallax-rate) * -1);
  --circle-position-05: calc(var(--circle-parallax-rate) * -1);
  --circle-position-06: calc(var(--circle-parallax-rate) * -1);
  --circle-cover-height-03: 30.7692307692vw;
}
@media (min-width: 768px) {
  .p-top {
    --slack: 27.7777777778vw;
  }
}
@media (min-width: 768px) {
  .p-top {
    --circle-parallax-rate: 80px;
    --circle-position-01: calc((var(--circle-parallax-rate) + 310px) * -1);
    --circle-position-03: calc((var(--circle-parallax-rate) + 92px));
  }
}
@media (min-width: 768px) {
  .p-top {
    --circle-cover-height-03: 22.3611111111vw;
  }
}

.p-top_circle_cover {
  overflow: hidden;
  position: absolute;
  width: 100%;
}

.p-top_circle {
  position: absolute;
  border-radius: 50%;
  width: 256.4102564103vw;
  height: 256.4102564103vw;
  pointer-events: none;
}
@media (min-width: 768px) {
  .p-top_circle {
    width: 341.3888888889vw;
    height: 341.3888888889vw;
  }
}
@media (min-width: 768px) {
  .p-top_circle._sm {
    width: 222.2222222222vw;
    height: 222.2222222222vw;
  }
}

.p-top_heading {
  padding: 0 15px;
}
@media (min-width: 768px) {
  .p-top_heading {
    padding: 0;
  }
}

.p-top_heading_ruby {
  position: relative;
  left: -0.375rem;
  margin: 0 auto 12px;
  padding-left: 1.875rem;
  width: -moz-fit-content;
  width: fit-content;
  letter-spacing: 0;
  font-size: 0.875rem;
  font-weight: var(--weight-bold);
  line-height: 1.4;
}
@media (min-width: 768px) {
  .p-top_heading_ruby {
    left: -0.625rem;
    margin-bottom: 28px;
    padding-left: 2rem;
    font-size: 1.125rem;
  }
}
.p-top_heading_ruby::before,
.p-top_heading_ruby::after {
  content: "";
  position: absolute;
  border-radius: 50%;
}
.p-top_heading_ruby::before {
  top: 0;
  left: 0.5rem;
  width: 0.701875rem;
  background-color: var(--color-yellow-02);

  aspect-ratio: 1/1;
}
@media (min-width: 768px) {
  .p-top_heading_ruby::before {
    width: 0.875rem;
  }
}
.p-top_heading_ruby::after {
  top: 0.1875rem;
  left: 0;
  width: 1.014375rem;
  transform: translate3d(0, 0, 0);
  background-color: var(--color-ktn-yellow);

  aspect-ratio: 1/1;
  mix-blend-mode: multiply;
}
@media (min-width: 768px) {
  .p-top_heading_ruby::after {
    width: 1.25rem;
  }
}
@media (min-width: 1024px) {
  ._align_left .p-top_heading_ruby {
    margin: 0 auto 12px -27px;
  }
}
.p-top_heading_ruby > span {
  position: relative;
}
.p-top_heading_ruby > span::after {
  content: ".";
  display: inline-block;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}

.p-top_heading_sub {
  text-align: center;
  font-size: 1.125rem;
  font-weight: var(--weight-bold);
  line-height: 1.35;
}
@media (min-width: 768px) {
  .p-top_heading_sub {
    letter-spacing: 0.02em;
    font-size: 1.75rem;
    line-height: 1.45;
  }
}
@media (min-width: 1024px) {
  ._align_left .p-top_heading_sub {
    text-align: left;
  }
}

.p-top_heading_txt {
  margin-top: 8px;
  text-align: center;
  letter-spacing: 0;
  word-break: keep-all;
  font-size: 2rem;
  font-weight: var(--weight-bold);
  line-height: 1.35;

  font-feature-settings: "palt";
}
@media (min-width: 768px) {
  .p-top_heading_txt {
    margin-top: 4px;
    letter-spacing: 0.05em;
    font-size: 3.25rem;
    line-height: 1.45;
  }
}
@media (min-width: 1024px) {
  ._align_left .p-top_heading_txt {
    text-align: left;
  }
}

.p-top_lead {
  margin-top: 20px;
}
@media (min-width: 768px) {
  .p-top_lead {
    margin-top: 32px;
  }
}
.p-top_lead > p {
  font-size: 1rem;
  font-weight: var(--weight-medium);
  line-height: 1.65;
}
@media (min-width: 768px) {
  .p-top_lead > p {
    text-align: center;
    font-size: 1.0625rem;
  }
}

.p-top_circle_wrapper {
  position: relative;
  width: 100%;
  pointer-events: none;
}

.bnr_intro_circle .p-top_circle_cover {
  top: var(--circle-position-01);
  height: calc(var(--slack) - var(--circle-position-01));
}
.bnr_intro_circle .p-top_circle {
  top: var(--circle-parallax-rate);
  left: -67.9487179487vw;
  background-color: var(--color-ktn-yellow);
}
@media (min-width: 768px) {
  .bnr_intro_circle .p-top_circle {
    left: -102.2916666667vw;
  }
}

.intro_solution_circle {
  top: calc(var(--slack) * -1);
}
.intro_solution_circle .p-top_circle_cover {
  top: var(--circle-position-02);
  height: calc(var(--slack) - var(--circle-position-02));
}
.intro_solution_circle .p-top_circle {
  top: var(--circle-parallax-rate);
  left: -88.4615384615vw;
  background-color: var(--color-bg);
}
@media (min-width: 768px) {
  .intro_solution_circle .p-top_circle {
    left: -72.5vw;
  }
}

.solution_cv_circle {
  top: var(--circle-position-03);
}
.solution_cv_circle .p-top_circle_cover {
  top: 0;
  height: var(--circle-cover-height-03);
}
.solution_cv_circle .p-top_circle {
  bottom: 0;
  left: -88.4615384615vw;
  background-color: var(--color-bg);
}
@media (min-width: 768px) {
  .solution_cv_circle .p-top_circle {
    left: -72.5vw;
  }
}

.achievements_cv_circle {
  top: 0;
}
@media (min-width: 768px) {
  .achievements_cv_circle {
    top: 80px;
  }
}
.achievements_cv_circle .p-top_circle_cover {
  top: calc(var(--circle-position-04) + 1px);
  height: calc(var(--slack) - var(--circle-position-04));
}
.achievements_cv_circle .p-top_circle {
  top: var(--circle-parallax-rate);
  left: -67.9487179487vw;
  background-color: var(--color-ktn-yellow);
}
@media (min-width: 768px) {
  .achievements_cv_circle .p-top_circle {
    left: -103.8194444444vw;
    width: 338.8888888889vw;
    height: 338.8888888889vw;
  }
}

.cv_useful_circle {
  top: calc(var(--slack) * -1);
}
.cv_useful_circle .p-top_circle_cover {
  top: var(--circle-position-05);
  height: calc(var(--slack) - var(--circle-position-05));
}
.cv_useful_circle .p-top_circle {
  top: var(--circle-parallax-rate);
  left: -88.4615384615vw;
  background-color: var(--color-bg);
}
@media (min-width: 768px) {
  .cv_useful_circle .p-top_circle {
    left: -72.5vw;
  }
}

.useful_support_circle {
  top: calc(var(--slack) * -1);
}
.useful_support_circle .p-top_circle_cover {
  top: var(--circle-position-06);
  height: calc(var(--slack) - var(--circle-position-06));
}
.useful_support_circle .p-top_circle {
  top: var(--circle-parallax-rate);
  left: -67.9487179487vw;
  background-color: var(--color-white);
}
@media (min-width: 768px) {
  .useful_support_circle .p-top_circle {
    left: -54.1666666667vw;
    width: 222.2222222222vw;
    height: 222.2222222222vw;
  }
}

.fv {
  overflow: hidden;
  position: relative;
  padding-bottom: var(--slack);
  background-color: var(--color-bg);
}

.fv_deco_wrapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.fv_deco {
  position: absolute;
}
.fv_deco._lg {
  top: -8.4615384615vw;
  right: -15.3846153846vw;
  width: 46.1538461538vw;
  height: 46.1538461538vw;

  mix-blend-mode: multiply;
}
@media (min-width: 1024px) {
  .fv_deco._lg {
    top: max(-18.6805555556vw, -269px);
    left: max(-18.4027777778vw, -265px);
    width: min(34.1666666667vw, 492px);
    height: min(34.1666666667vw, 492px);
  }
}
.fv_deco._lg .inner {
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 50%;
  width: inherit;
  height: inherit;
  background-color: var(--color-yellow-03);
}
.fv_deco._sm {
  top: 29.4871794872vw;
  right: 13.5897435897vw;
  width: 13.3333333333vw;
  height: 13.3333333333vw;

  mix-blend-mode: multiply;
}
@media (min-width: 1024px) {
  .fv_deco._sm {
    top: min(5.5555555556vw, 80px);
    left: min(11.0416666667vw, 159px);
    width: min(4.1666666667vw, 60px);
    height: min(4.1666666667vw, 60px);
  }
}
.fv_deco._sm .inner {
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 50%;
  width: inherit;
  height: inherit;
  background-color: var(--color-ktn-yellow);

  mix-blend-mode: multiply;
}

.fv_inner {
  position: relative;
  margin: 0 auto;
  padding-top: 116px;
  padding-bottom: 320px;
  max-width: 1440px;
}
@media (min-width: 768px) {
  .fv_inner {
    padding-top: 162px;
  }
}
@media (min-width: 1024px) {
  .fv_inner {
    padding-bottom: 176px;
  }
}
@media (min-width: 1280px) {
  .fv_inner {
    padding-top: 272px;
  }
}

.fv_cont {
  position: relative;
  z-index: 2;
  margin: 0 auto;
  padding: 0 var(--inline-padding) 0 calc(var(--inline-padding) + 15px);
  max-width: 1368px;
}

.fv_ttl {
  font-size: 2.75rem;
  font-weight: var(--weight-bold);
  line-height: 1.3;

  font-feature-settings: "palt";
}
@media (min-width: 768px) {
  .fv_ttl {
    font-size: 3.75rem;
    line-height: 1.4;
  }
}

.fv_txt {
  margin-top: 16px;
  word-break: keep-all;
  font-size: 0.875rem;
  font-weight: var(--weight-bold);
  line-height: 1.85;
}
@media (min-width: 768px) {
  .fv_txt {
    margin-top: 23px;
    font-size: 1.125rem;
  }
}

.fv_btn_wrapper {
  display: flex;
  flex-wrap: wrap;
  margin-top: 50px;

  gap: 31px 16px;
}
@media (min-width: 768px) {
  .fv_btn_wrapper {
    flex-direction: column;
  }
}
@media (min-width: 1024px) {
  .fv_btn_wrapper {
    flex-direction: row;
    margin-top: 84px;
  }
}

.fv_btn {
  position: relative;
}

.fv_btn_label {
  position: absolute;
  top: -1.375rem;
  padding: 5px 8px 11px;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
  background-color: var(--color-ktn-yellow);
  letter-spacing: 0;
  font-size: 0.625rem;
  font-weight: var(--weight-bold);
  line-height: 1.2;
}
@media (min-width: 768px) {
  .fv_btn_label {
    top: -1.5rem;
    padding: 5px 8px 10px;
    font-size: 0.75rem;
  }
}

.fv_illust {
  position: absolute;
  z-index: 1;
  right: max(-19.4871794872vw, -76px);
  width: calc(min(369.2307692308vw, 1440px) * 0.375);
  height: calc(min(269.4871794872vw, 1051px) * 0.375);
}
@media (min-width: 768px) {
  .fv_illust {
    right: max(-11.1111111111vw, -160px);
    bottom: max(-13.8888888889vw, -200px);
    width: calc(min(100vw, 1440px) * 0.9);
    height: calc(min(72.9861111111vw, 1051px) * 0.9);
  }
}
@media (min-width: 1024px) {
  .fv_illust {
    right: max(-13.1944444444vw, -190px);
  }
}

.bnr {
  position: relative;
  z-index: 1;
  margin-top: calc(var(--slack) * -1 - 200px);
  padding: 250px var(--inline-padding) 0;
}
@media (min-width: 768px) {
  .bnr {
    margin-top: calc(var(--slack) * -1 - 100px);
    padding-top: 188px;
  }
}

.bnr_slide {
  overflow: hidden;
  padding: 12px;
  border-radius: 10px;
  background-color: var(--color-white);
}
@media (min-width: 768px) {
  .bnr_slide {
    margin: 0 auto;
    padding: 20px 20px 12px;
    border-radius: 16px;
    max-width: 1280px;
  }
}

.bnr_slide_item {
  width: 232px;
  height: 60px;
}
@media (min-width: 768px) {
  .bnr_slide_item {
    width: 279px;
    height: 72px;
  }
}
.bnr_slide_item > a {
  display: block;
  width: 100%;
  height: 100%;
}

.bnr_slide_pagination {
  display: flex;
  justify-content: center;
  position: relative;
  margin-top: 12px;
  padding: 0;

  inset: auto;
  gap: 4px 8px;
}
@media (min-width: 768px) {
  .bnr_slide_pagination {
    gap: 6px 12px;
  }
}
.bnr_slide_pagination > li {
  position: relative;
  width: 4px;
  height: 4px;
}
@media (min-width: 768px) {
  .bnr_slide_pagination > li {
    width: 6px;
    height: 6px;
  }
}
.bnr_slide_pagination > li .bnr_slide_pagination_page {
  opacity: 1;
  position: absolute;
  top: 0;
  left: 0;
  margin: 0;
  border-radius: 50%;
  width: inherit;
  height: inherit;
  min-height: auto;
  background-color: var(--color-line-solid);
}
.bnr_slide_pagination > li .bnr_slide_pagination_page.is-active {
  background-color: var(--color-black);
}

.bnr_slide_controller {
  position: absolute;
  top: 0;
  right: 0;
  border-left: 1px solid var(--color-line-solid);
  width: 48px;
  height: 100%;
  background-color: var(--color-white);
}
@media (min-width: 768px) {
  .bnr_slide_controller {
    display: grid;
    width: 88px;

    grid-template-rows: 56px 1fr;
  }
}

.bnr_slide_arrows {
  display: none;
}
@media (min-width: 768px) {
  .bnr_slide_arrows {
    display: grid;
    border-bottom: 1px solid var(--color-line-solid);

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

.bnr_slide_arrow_prev,
.bnr_slide_arrow_next {
  display: grid;

  place-items: center;
}
.bnr_slide_arrow_prev .icon,
.bnr_slide_arrow_next .icon {
  display: block;
  width: 12px;
  height: 12px;
  background-color: var(--color-black);

  -webkit-mask: url("/assets_2025/img/common/icon/arw.svg") no-repeat center/contain;

          mask: url("/assets_2025/img/common/icon/arw.svg") no-repeat center/contain;
}

.bnr_slide_arrow_prev {
  transform: scaleX(-1);
}

.bnr_slide_arrow_next {
  border-left: 1px solid var(--color-line-solid);
}

.bnr_slide_play_toggle {
  display: grid;
  width: 100%;
  height: 100%;

  place-items: center;
}
.bnr_slide_play_toggle .icon {
  width: 10px;
  height: 10px;
  background-color: var(--color-black);

  -webkit-mask: url("/assets_2025/img/common/icon/pause.svg") no-repeat center/contain;

          mask: url("/assets_2025/img/common/icon/pause.svg") no-repeat center/contain;
}
.bnr_slide_play_toggle.is-pause .icon {
  -webkit-mask-image: url("/assets_2025/img/common/icon/play.svg");
          mask-image: url("/assets_2025/img/common/icon/play.svg");
}

.intro {
  overflow-x: clip;
  position: relative;
  padding: 100px var(--inline-padding) calc(var(--slack) + 100px);
  background: linear-gradient(to bottom, transparent 0px, transparent calc(var(--slack) + var(--circle-position-01)), var(--color-ktn-yellow) calc(var(--slack) + var(--circle-position-01)), var(--color-ktn-yellow) 100%);
}
@media (min-width: 768px) {
  .intro {
    padding: 145px var(--inline-padding) calc(var(--slack) + 160px);
  }
}

.intro_circle_wrapper,
.intro_illust_wrapper {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  margin: auto;
  width: 100%;
  max-width: 1440px;
  height: calc(100% - var(--slack) - 100px);
  pointer-events: none;
}
@media (min-width: 768px) {
  .intro_circle_wrapper,
  .intro_illust_wrapper {
    height: calc(100% - var(--slack) - 160px);
  }
}

.intro_circle {
  position: absolute;
  border-radius: 50%;
}
.intro_circle._01 {
  right: -17.1794871795vw;
  bottom: calc((80vw + 46px) * -1);
  width: 80vw;
  height: 80vw;
  background-color: var(--color-yellow-02);

  mix-blend-mode: multiply;
}
@media (min-width: 1024px) {
  .intro_circle._01 {
    right: max(-21.3888888889vw, -308px);
    bottom: calc((min(60.3472222222vw, 869px) + 6px) * -1);
    width: min(60.3472222222vw, 869px);
    height: min(60.3472222222vw, 869px);
  }
}
@media (min-width: 768px) {
  .intro_circle._02 {
    top: min(5.9027777778vw, 85px);
    right: min(8.8888888889vw, 128px);
    width: min(5.5555555556vw, 80px);
    height: min(5.5555555556vw, 80px);
  }
}
@media (min-width: 768px) {
  .intro_circle._02 .inner {
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 50%;
    width: inherit;
    height: inherit;
    background-color: var(--color-yellow-04);
  }
}
@media (min-width: 768px) {
  .intro_circle._03 {
    top: min(8.0555555556vw, 116px);
    right: min(10.7638888889vw, 155px);
    width: min(12.7777777778vw, 184px);
    height: min(12.7777777778vw, 184px);

    mix-blend-mode: multiply;
  }
}
@media (min-width: 768px) {
  .intro_circle._03 .inner {
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 50%;
    width: inherit;
    height: inherit;
    background-color: var(--color-ktn-yellow);
  }
}

.intro_illust {
  position: absolute;
  z-index: 1;
  right: -1.2820512821vw;
  bottom: -20.5128205128vw;
  width: 56.4102564103vw;
  height: 25.3846153846vw;
}
@media (min-width: 1024px) {
  .intro_illust {
    right: max(-0.4166666667vw, -6px);
    bottom: max(-6.25vw, -90px);
    width: min(25.6944444444vw, 370px);
    height: min(12.7777777778vw, 184px);
  }
}
.intro_illust img {
  width: 100%;
  height: 100%;

  -o-object-fit: contain;

     object-fit: contain;
}

.intro_inner {
  margin: 0 auto;
  max-width: 1200px;
}

.intro_body {
  margin-top: 40px;
}
@media (min-width: 768px) {
  .intro_body {
    margin-top: 80px;
  }
}
@media (min-width: 1024px) {
  .intro_body {
    display: grid;

    grid-template-columns: repeat(2, 1fr);
    gap: 0 min(5.5555555556vw, 80px);
  }
}

.intro_lead {
  word-break: keep-all;
  font-size: 1.5rem;
  font-weight: var(--weight-bold);
  line-height: 1.6;
}
@media (min-width: 768px) {
  .intro_lead {
    font-size: 2rem;
  }
}

.intro_txt {
  margin-top: 20px;
  font-size: 0.9375rem;
  font-weight: var(--weight-medium);
  line-height: 1.8;
}
@media (min-width: 768px) {
  .intro_txt {
    margin-top: 28px;
    font-size: 1rem;
    line-height: 2;
  }
}

.intro_btn {
  margin: 32px auto 0;
  width: -moz-fit-content;
  width: fit-content;
}
@media (min-width: 768px) {
  .intro_btn {
    margin-top: 52px;
  }
}
@media (min-width: 1024px) {
  .intro_btn {
    margin-left: 0;
  }
}

.intro_movie {
  margin-top: 60px;
}
@media (min-width: 1024px) {
  .intro_movie {
    align-self: center;
  }
}

.intro_movie_thumb {
  display: block;
  overflow: hidden;
  position: relative;
  margin: 0 auto;
  border-radius: 6.43px;

  aspect-ratio: 16/9;
}
@media (min-width: 768px) {
  .intro_movie_thumb {
    margin: 0 auto;
    border-radius: 10px;
    width: 562px;
  }
}
@media (min-width: 1024px) {
  .intro_movie_thumb {
    width: 100%;
  }
}
.intro_movie_thumb img {
  width: 100%;
  height: 100%;

  -o-object-fit: cover;

     object-fit: cover;
}

.intro_movie_thumb_icon {
  position: absolute;
  z-index: 1;
  margin: auto;
  width: 40px;
  height: 40px;

  inset: 0;
}
@media (min-width: 768px) {
  .intro_movie_thumb_icon {
    width: 60px;
    height: 60px;
  }
}
.intro_movie_thumb_icon .icon {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.intro_movie_thumb_icon .icon._ov {
  visibility: hidden;
  opacity: 0;
  top: -1px;
  left: -1px;
  width: calc(100% + 2px);
  height: calc(100% + 2px);
}

.solutions {
  overflow: hidden;
  position: relative;
  margin-top: calc(var(--slack) * -1);
  padding: 100px var(--inline-padding) 100px;
  background: linear-gradient(to bottom, transparent 0px, transparent var(--slack), var(--color-bg) var(--slack), var(--color-bg) 100%);
}
@media (min-width: 768px) {
  .solutions {
    padding: 137px var(--inline-padding) 160px;
  }
}

.solutions_inner {
  position: relative;
  margin: 0 auto;
  max-width: 1200px;
}

.solutions_list_wrapper {
  margin-top: 32px;
}
@media (min-width: 768px) {
  .solutions_list_wrapper {
    margin-top: 52px;
  }
}

.solutions_list {
  display: grid;

  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 5px;
}
@media (min-width: 768px) {
  .solutions_list {
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 10px;
  }
}

.solutions_item > a {
  display: grid;
  justify-content: center;
  position: relative;
  padding: 12px;
  border: 1px solid var(--color-line-solid);
  border-radius: 10px;
  width: 100%;
  height: 100%;
  background-color: var(--color-white);
  text-decoration: none;

  grid-template-rows: subgrid;
  grid-row: span 2;
  gap: 10px 0;
}
@media (min-width: 768px) {
  .solutions_item > a {
    padding: 24px;

    gap: 26px 0;
  }
}
.solutions_item .item_ttl {
  align-self: center;
  text-align: center;
  letter-spacing: 0;
  word-break: keep-all;
  font-size: 0.875rem;
  font-weight: var(--weight-bold);
  line-height: 1.35;
}
@media (min-width: 768px) {
  .solutions_item .item_ttl {
    font-size: 1.25rem;
    line-height: 1.4;
  }
}
.solutions_item .item_ttl_sm {
  font-size: 0.8571em;
  line-height: inherit;
}
.solutions_item .item_illust {
  display: block;
  align-self: flex-end;
  width: 100px;
  height: 50px;

  justify-self: center;
}
@media (min-width: 768px) {
  .solutions_item .item_illust {
    margin: 0 auto;
    width: 180px;
    height: 90px;
  }
}
.solutions_item .item_illust img {
  display: block;
  margin: 0 auto;
  width: auto;
  height: 100%;
}
.solutions_item .item_icon {
  display: grid;
  position: absolute;
  right: 10px;
  bottom: 10px;
  border-radius: 3.2px;
  width: 16px;
  height: 16px;
  background-color: var(--color-black-btn);

  place-items: center;
}
@media (min-width: 768px) {
  .solutions_item .item_icon {
    border-radius: 4px;
    width: 20px;
    height: 20px;
  }
}
.solutions_item .item_icon > span {
  display: block;
  width: 7px;
  height: 7px;
  background-color: var(--color-white);

  -webkit-mask: url("/assets_2025/img/common/icon/arw.svg") no-repeat center/contain;

          mask: url("/assets_2025/img/common/icon/arw.svg") no-repeat center/contain;
}
@media (min-width: 768px) {
  .solutions_item .item_icon > span {
    width: 10px;
    height: 10px;
  }
}

.solutions_bottom {
  margin-top: 60px;
}
@media (min-width: 768px) {
  .solutions_bottom {
    margin-top: 100px;
  }
}

.solutions_bottom_ttl {
  position: relative;
  margin: 0 auto;
  padding: 0 calc(10px + 1em);
  width: -moz-fit-content;
  width: fit-content;
  text-align: center;
  font-size: 1.25rem;
  font-weight: var(--weight-bold);
  line-height: 1.5;
}
@media (min-width: 768px) {
  .solutions_bottom_ttl {
    padding: 0 calc(5px + 1em);
    font-size: 1.75rem;
  }
}
.solutions_bottom_ttl::before,
.solutions_bottom_ttl::after {
  content: "";
  position: absolute;
  bottom: calc((1lh - 1em) / 2);
  width: 1rem;
  height: 1.375rem;
}
@media (min-width: 768px) {
  .solutions_bottom_ttl::before,
  .solutions_bottom_ttl::after {
    width: 1.125rem;
    height: 1.5rem;
  }
}
.solutions_bottom_ttl::before {
  left: 0;
  background: url("/assets_2025/img/common/deco/txt_deco_left.svg") no-repeat center/contain;
}
.solutions_bottom_ttl::after {
  right: 0;
  background: url("/assets_2025/img/common/deco/txt_deco_right.svg") no-repeat center/contain;
}

.solutions_bottom_list {
  display: flex;
  flex-direction: column;
  margin-top: 32px;

  gap: 10px 20px;
}
@media (min-width: 768px) {
  .solutions_bottom_list {
    margin-top: 52px;
  }
}
@media (min-width: 1024px) {
  .solutions_bottom_list {
    display: grid;

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

.solutions_bottom_item > a {
  display: grid;
  align-items: center;
  position: relative;
  padding: 14px;
  border: 1px solid var(--color-line-solid);
  border-radius: 10px;
  width: 100%;
  height: 100%;
  background-color: var(--color-white);
  text-decoration: none;

  grid-template-columns: auto 1fr;
  gap: 0 14px;
}
@media (min-width: 768px) {
  .solutions_bottom_item > a {
    padding: 24px 20px;

    gap: 0 20px;
  }
}
.solutions_bottom_item .item_icon {
  display: grid;
  position: absolute;
  right: 10px;
  bottom: 10px;
  border-radius: 3.2px;
  width: 16px;
  height: 16px;
  background-color: var(--color-black-btn);

  place-items: center;
}
@media (min-width: 768px) {
  .solutions_bottom_item .item_icon {
    border-radius: 4px;
    width: 20px;
    height: 20px;
  }
}
.solutions_bottom_item .item_icon .icon {
  display: block;
  width: 7px;
  height: 7px;
  background-color: var(--color-white);

  -webkit-mask: url("/assets_2025/img/common/icon/arw.svg") no-repeat center/contain;

          mask: url("/assets_2025/img/common/icon/arw.svg") no-repeat center/contain;
}
@media (min-width: 768px) {
  .solutions_bottom_item .item_icon .icon {
    width: 10px;
    height: 10px;
  }
}

.solutions_bottom_item_txt {
  font-size: 1rem;
  font-weight: var(--weight-bold);
  line-height: 1.65;
}
@media (min-width: 768px) {
  .solutions_bottom_item_txt {
    font-size: 1.25rem;
  }
}

.service_cv {
  overflow: hidden;
  position: relative;
  padding: 0 var(--inline-padding);
  background: linear-gradient(to bottom, var(--color-bg) 0px, var(--color-bg) var(--circle-position-03), transparent var(--circle-position-03), transparent 100%);
}
@media (min-width: 768px) {
  .service_cv {
    margin-top: 0;
  }
}

.service_cv_inner {
  position: relative;
  margin: 0 auto;
  max-width: 1280px;
}

.service_cv_panel {
  overflow: hidden;
  position: relative;
  border-radius: 16px;
  background-color: var(--color-yellow-03);
}
@media (min-width: 768px) {
  .service_cv_panel {
    border-radius: 20px;
  }
}

.service_cv_panel_circle {
  position: absolute;
  top: -64px;
  right: -59px;
  border-radius: 50%;
  width: 143px;
  height: 143px;
  background-color: var(--color-yellow-02);
}
@media (min-width: 768px) {
  .service_cv_panel_circle {
    top: -341px;
    right: auto;
    left: -309px;
    width: 455px;
    height: 455px;
  }
}

.service_cv_cont {
  position: relative;
  padding: 24px;
}
@media (min-width: 1280px) {
  .service_cv_cont {
    padding: min(5.5555555556vw, 80px);
  }
}

.service_cv_txt {
  font-size: 20px;
  font-weight: var(--weight-bold);
  line-height: 1.55;
}
@media (min-width: 768px) {
  .service_cv_txt {
    font-size: 32px;
    line-height: 1.65;
  }
}
.service_cv_txt > span {
  font-size: 36px;
}
@media (min-width: 768px) {
  .service_cv_txt > span {
    font-size: 64px;
  }
}

.service_cv_btn {
  margin-top: 24px;
}
@media (min-width: 768px) {
  .service_cv_btn {
    margin-top: 42px;
  }
}

.service_cv_img {
  margin: 24px 0 auto auto;
  padding-bottom: 23px;
  width: 100%;
}
@media (min-width: 1024px) {
  .service_cv_img {
    position: absolute;
    right: 0;
    bottom: 0;
    margin: auto;
    width: 524px;
  }
}
@media (min-width: 1280px) {
  .service_cv_img {
    width: min(56.25vw, 810px);
  }
}
.service_cv_img > img {
  width: 100%;
}

.cs {
  overflow-x: clip;
  position: relative;
  padding: 100px var(--inline-padding) 0;

  --reversal-color: var(--color-panel);
}
@media (min-width: 768px) {
  .cs {
    padding-top: 160px;
  }
}

@media (min-width: 1024px) {
  .cs_inner {
    display: grid;
    margin: 0 auto;
    max-width: 1200px;

    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto 1fr;
  }
}

@media (min-width: 1024px) {
  .cs_heading_wrapper {
    grid-column: 1;
    grid-row: 1/span 2;
  }
}
@media (min-width: 1024px) {
  .cs_heading_wrapper .p-top_heading {
    display: grid;

    grid-template-columns: auto 1fr;
    grid-template-rows: auto 1fr;
    gap: 20px 40px;
  }
}
@media (min-width: 1024px) {
  .cs_heading_wrapper .p-top_heading_ruby {
    left: 0;
    margin: 0;

    grid-column: 1/span 2;
    grid-row: 1;
  }
}
@media (min-width: 1024px) {
  .cs_heading_wrapper .p-top_heading_txt {
    margin-top: 0;

    grid-column: 1;
    grid-row: 2;
  }
}
@media (min-width: 1024px) {
  .cs_heading_wrapper .p-top_lead {
    align-self: center;
    margin-top: 0;

    grid-column: 2;
    grid-row: 2;
  }
  .cs_heading_wrapper .p-top_lead > p {
    text-align: left;
  }
}

.cs_slide_wrapper {
  margin-top: 32px;
}
@media (min-width: 768px) {
  .cs_slide_wrapper {
    margin-top: 60px;
  }
}
@media (min-width: 1024px) {
  .cs_slide_wrapper {
    grid-column: 1/span 2;
    grid-row: 3;
  }
}

.cs_btn {
  margin: 32px auto 0;
  width: -moz-fit-content;
  width: fit-content;
}
@media (min-width: 1024px) {
  .cs_btn {
    align-self: center;
    margin: 0;

    grid-column: 2;
    grid-row: 2;
  }
}

.achievements {
  overflow-x: clip;
  padding: 60px 0 100px;
}
@media (min-width: 768px) {
  .achievements {
    padding: 100px 0 160px;
  }
}

.achievements_ttl {
  text-align: center;
  font-size: 1.25rem;
  font-weight: var(--weight-bold);
  line-height: 1.5;
}
@media (min-width: 768px) {
  .achievements_ttl {
    font-size: 1.75rem;
  }
}
.achievements_ttl > span {
  background-image: linear-gradient(180deg, transparent 0%, transparent 60%, var(--color-yellow-03) 60%, var(--color-yellow-03) 90%, transparent 90%, transparent);
  font-size: 1.8em;
  font-weight: var(--weight-semi-bold);
}

.achievements_marquee {
  margin-top: 32px;
}
@media (min-width: 768px) {
  .achievements_marquee {
    margin-top: 40px;
  }
}

.achievements_panel {
  margin-top: 60px;
  padding: 0 var(--inline-padding);
}
@media (min-width: 768px) {
  .achievements_panel {
    margin: 100px auto 0;
    max-width: 1280px;
  }
}

.achievements_panel_inner {
  padding: 32px 10px;
  border-radius: 16px;
  background-color: var(--color-panel);
}
@media (min-width: 768px) {
  .achievements_panel_inner {
    padding: 60px 40px;
    border-radius: 20px;
  }
}

.achievements_panel_ttl {
  position: relative;
  margin: 0 auto;
  padding: 0 calc(10px + 1em);
  width: -moz-fit-content;
  width: fit-content;
  text-align: center;
  font-size: 1.25rem;
  font-weight: var(--weight-bold);
  line-height: 1.5;
}
@media (min-width: 768px) {
  .achievements_panel_ttl {
    padding: 0 calc(5px + 1em);
    font-size: 1.75rem;
  }
}
.achievements_panel_ttl::before,
.achievements_panel_ttl::after {
  content: "";
  position: absolute;
  bottom: calc((1lh - 1em) / 2);
  width: 1rem;
  height: 1.375rem;
}
.achievements_panel_ttl::before {
  left: 0;
  background: url("/assets_2025/img/common/deco/txt_deco_left.svg") no-repeat center/contain;
}
.achievements_panel_ttl::after {
  right: 0;
  background: url("/assets_2025/img/common/deco/txt_deco_right.svg") no-repeat center/contain;
}

.achievements_panel_list {
  margin-top: 32px;
}
@media (min-width: 768px) {
  .achievements_panel_list {
    margin-top: 40px;
  }
}
@media (min-width: 1280px) {
  .achievements_panel_list {
    display: grid;

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

.achievements_panel_item {
  padding: 32px 14px;
}
@media (min-width: 768px) {
  .achievements_panel_item {
    display: grid;

    grid-template-columns: 1fr 2fr;
    grid-template-rows: auto 1fr;
    gap: 0 20px;
  }
}
@media (min-width: 1280px) {
  .achievements_panel_item {
    padding: 20px 32px;

    grid-template-columns: 1fr;
    grid-template-rows: subgrid;
    grid-row: span 3;
  }
}
.achievements_panel_item:first-child {
  padding-top: 0;
}
@media (min-width: 1280px) {
  .achievements_panel_item:first-child {
    padding-top: 20px;
  }
}
.achievements_panel_item:last-child {
  padding-bottom: 0;
}
@media (min-width: 1280px) {
  .achievements_panel_item:last-child {
    padding-bottom: 20px;
  }
}
.achievements_panel_item:not(:first-child) {
  border-top: 1px dashed var(--color-line-dashed);
}
@media (min-width: 1280px) {
  .achievements_panel_item:not(:first-child) {
    border-top: none;
    border-left: 1px dashed var(--color-line-dashed);
  }
}
.achievements_panel_item .item_thumb {
  overflow: hidden;
  border: 1px solid var(--color-line-solid);
  border-radius: 5px;

  aspect-ratio: 8/5;
}
@media (min-width: 768px) {
  .achievements_panel_item .item_thumb {
    grid-row: 1/span 2;
  }
}
@media (min-width: 1280px) {
  .achievements_panel_item .item_thumb {
    grid-row: 1;
  }
}
.achievements_panel_item .item_thumb img {
  width: 100%;
  height: 100%;

  -o-object-fit: cover;

     object-fit: cover;
}
.achievements_panel_item .item_ttl {
  margin-top: 20px;
  font-size: 1.125rem;
  font-weight: var(--weight-bold);
  line-height: 1.55;
}
@media (min-width: 768px) {
  .achievements_panel_item .item_ttl {
    margin-top: 0;
    font-size: 1.25rem;
  }
}
@media (min-width: 1280px) {
  .achievements_panel_item .item_ttl {
    margin-top: 32px;
  }
}
.achievements_panel_item .item_txt {
  margin-top: 8px;
  font-size: 0.9375rem;
  font-weight: var(--weight-medium);
  line-height: 1.65;
}
@media (min-width: 768px) {
  .achievements_panel_item .item_txt {
    font-size: 1rem;
    line-height: 1.75;
  }
}
@media (min-width: 1280px) {
  .achievements_panel_item .item_txt {
    margin-top: 12px;
  }
}

.cv {
  overflow: hidden;
  position: relative;
  padding: 100px var(--inline-padding) calc(var(--slack) + 80px);
  background: linear-gradient(to bottom, transparent 0px, transparent var(--slack), var(--color-ktn-yellow) var(--slack), var(--color-ktn-yellow) 100%);
}
@media (min-width: 768px) {
  .cv {
    padding: 200px var(--inline-padding) calc(var(--slack) + 100px);
  }
}

.cv_inner {
  position: relative;
  margin: 0 auto;
  max-width: 1200px;
}
@media (min-width: 1024px) {
  .cv_inner {
    display: grid;
    align-items: flex-end;

    grid-template-columns: repeat(2, 1fr);
    gap: 0 min(5.5555555556vw, 80px);
  }
}

.cv_heading {
  padding: 0 15px;
}
@media (min-width: 768px) {
  .cv_heading {
    padding: 0;
  }
}
@media (min-width: 1024px) {
  .cv_heading {
    grid-column: 1;
    grid-row: 1;
  }
}

.cv_ttl {
  letter-spacing: 0.02em;
  font-size: 2rem;
  font-weight: var(--weight-bold);
  line-height: 1.35;
}
@media (min-width: 768px) {
  .cv_ttl {
    font-size: 3rem;
    line-height: 1.4;
  }
}

.cv_txt {
  margin-top: 16px;
  font-size: 0.9375rem;
  font-weight: var(--weight-medium);
  line-height: 1.65;
}
@media (min-width: 768px) {
  .cv_txt {
    margin-top: 30px;
    font-size: 1rem;
    line-height: 1.75;
  }
}

.cv_illust {
  overflow: hidden;
  position: relative;
  margin: 28px auto 0;
  border-radius: 10px;
  width: -moz-fit-content;
  width: fit-content;

  aspect-ratio: 8/5;
}
@media (min-width: 1024px) {
  .cv_illust {
    margin: auto max(-13.1944444444vw, -190px) auto auto;
    border-radius: 20px;
    width: min(52.0833333333vw, 750px);

    grid-column: 2;
    grid-row: 1/span 2;
  }
}
.cv_illust::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 10px;
  width: 100%;
  height: 100%;
  background-color: #ff8f00;
}
@media (min-width: 768px) {
  .cv_illust::before {
    border-radius: 20px;
  }
}

.cv_btn_wrapper {
  display: flex;
  flex-wrap: wrap;
  margin: 54px auto 0;
  width: -moz-fit-content;
  width: fit-content;

  gap: 32px 16px;
}
@media (min-width: 1024px) {
  .cv_btn_wrapper {
    margin: 56px auto auto 0;

    grid-column: 1;
    grid-row: 2;
  }
}

.cv_btn {
  position: relative;
}

.cv_btn_label {
  position: absolute;
  top: -1.375rem;
  padding: 5px 8px 11px;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
  background-color: var(--color-white);
  letter-spacing: 0.02em;
  font-size: 0.625rem;
  font-weight: var(--weight-bold);
  line-height: 1.2;
}
@media (min-width: 768px) {
  .cv_btn_label {
    top: -1.5rem;
    padding: 5px 8px 10px;
    letter-spacing: normal;
    font-size: 0.75rem;
  }
}

.useful {
  overflow: hidden;
  position: relative;
  margin-top: calc(var(--slack) * -1);
  padding: 100px calc(var(--inline-padding) + 15px) calc(var(--slack) + 100px);
  background: linear-gradient(to bottom, transparent 0px, transparent var(--slack), var(--color-bg) var(--slack), var(--color-bg) 100%);
}
@media (min-width: 768px) {
  .useful {
    padding: 160px var(--inline-padding) calc(var(--slack) + 160px);
  }
}

.useful_illust_wrapper {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  margin: auto;
  width: 100%;
  max-width: 1440px;
  height: calc(100% - var(--slack) - 100px);
}
@media (min-width: 768px) {
  .useful_illust_wrapper {
    height: calc(100% - var(--slack) - 160px);
  }
}

.useful_illust {
  position: absolute;
  top: 0;
  left: 11.0256410256vw;
  width: 22.5641025641vw;
  height: 23.0769230769vw;
}
@media (min-width: 768px) {
  .useful_illust {
    top: 0;
    left: min(16.0416666667vw, 231px);
    width: 132px;
    height: 135px;
  }
}
.useful_illust img {
  width: 100%;
  height: 100%;

  -o-object-fit: contain;

     object-fit: contain;
}

.useful_inner {
  position: relative;
  margin: 0 auto;
  max-width: 1200px;
}

.useful_list_wrapper {
  margin-top: 32px;
}
@media (min-width: 768px) {
  .useful_list_wrapper {
    margin-top: 52px;
  }
}

.useful_list {
  display: flex;
  flex-direction: column;

  gap: 10px 20px;
}
@media (min-width: 1024px) {
  .useful_list {
    display: grid;

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

.useful_item {
  overflow: hidden;
  position: relative;
  padding: 24px 24px 204px;
  border-radius: 10px;
  background-color: var(--color-white);
}
@media (min-width: 768px) {
  .useful_item {
    padding: 32px 32px 212px;
  }
}
.useful_item:first-child .item_img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url("/assets_2025/img/top/useful_item_img_01.svg") no-repeat center bottom 32px/254px 140px;
  pointer-events: none;
}
@media (min-width: 768px) {
  .useful_item:first-child .item_img {
    background-position: right 25px bottom 18px;
    background-size: 276px 236px;
  }
}
@media (min-width: 1024px) {
  .useful_item:first-child .item_img {
    background-size: min(26.1111111111vw, 376px) min(16.3888888889vw, 236px);
  }
}
.useful_item:last-child .item_img {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background: url("/assets_2025/img/top/useful_item_img_02.webp") no-repeat center bottom -65px/632px 234px;
  pointer-events: none;
}
@media (min-width: 768px) {
  .useful_item:last-child .item_img {
    background-position: center bottom -72px;
    background-size: 697px 258px;
  }
}
@media (min-width: 1024px) {
  .useful_item:last-child .item_img {
    background-position: center bottom max(-5vw, -72px);
    background-size: min(48.4027777778vw, 697px) min(17.9166666667vw, 258px);
  }
}
.useful_item .item_ttl {
  display: grid;
  align-items: center;

  grid-template-columns: auto 1fr;
  gap: 0 12px;
}
@media (min-width: 768px) {
  .useful_item .item_ttl {
    gap: 0 20px;
  }
}
.useful_item .item_ttl .icon {
  display: block;
  width: 28px;
  height: 28px;
}
@media (min-width: 768px) {
  .useful_item .item_ttl .icon {
    width: 32px;
    height: 32px;
  }
}
.useful_item .item_ttl .txt {
  letter-spacing: 0.02em;
  font-size: 1.125rem;
  font-weight: var(--weight-bold);
  line-height: 1.35;
}
@media (min-width: 768px) {
  .useful_item .item_ttl .txt {
    font-size: 1.25rem;
  }
}
.useful_item .item_txt {
  margin-top: 8px;
  font-size: 0.9375rem;
  font-weight: var(--weight-medium);
  line-height: 1.65;
}
@media (min-width: 768px) {
  .useful_item .item_txt {
    margin-top: 14px;
    font-size: 1rem;
  }
}
.useful_item .item_btn {
  margin-top: 20px;
}
@media (min-width: 768px) {
  .useful_item .item_btn {
    margin-top: 24px;
  }
}
.useful_item .item_bg {
  position: absolute;
  right: -100%;
  bottom: -143px;
  left: -100%;
  margin: auto;
  border-radius: 50%;
  width: 914px;
  height: 219px;
  background-color: var(--color-panel);
}
@media (min-width: 768px) {
  .useful_item .item_bg {
    bottom: -119px;
  }
}

.useful_seminar_wrapper {
  margin-top: 57px;
}
@media (min-width: 768px) {
  .useful_seminar_wrapper {
    margin-top: 160px;
  }
}
@media (min-width: 1280px) {
  .useful_seminar_wrapper {
    display: grid;

    grid-template-columns: auto 1fr;
    gap: 0 min(8.3333333333vw, 120px);
  }
}

.useful_seminar_ttl h3 {
  font-size: 1.5rem;
  font-weight: var(--weight-bold);
  line-height: 1.45;
}
@media (min-width: 768px) {
  .useful_seminar_ttl h3 {
    font-size: 2rem;
  }
}

.useful_seminar_list_wrapper {
  margin-top: 32px;
}
@media (min-width: 768px) {
  .useful_seminar_list_wrapper {
    margin-top: 52px;
  }
}
@media (min-width: 1280px) {
  .useful_seminar_list_wrapper {
    margin-top: 11px;
  }
}

.useful_seminar_btn {
  margin: 32px auto 0;
  width: -moz-fit-content;
  width: fit-content;
}
@media (min-width: 768px) {
  .useful_seminar_btn {
    margin-top: 52px;
  }
}
@media (min-width: 1280px) {
  .useful_seminar_btn {
    margin-left: 0;
  }
}

.support {
  position: relative;
  margin-top: calc(var(--slack) * -1);
  padding: 100px calc(var(--inline-padding) + 15px);
}
@media (min-width: 768px) {
  .support {
    padding: 160px var(--inline-padding);
  }
}

.support_deco_wrapper {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  margin: auto;
  width: 100%;
  max-width: 1440px;
  height: calc(100% - var(--slack) - 100px);
}
@media (min-width: 768px) {
  .support_deco_wrapper {
    height: calc(100% - var(--slack) - 160px);
  }
}

.support_deco {
  position: absolute;
  top: -24px;
  left: 12px;
  width: 115px;
  height: 126px;
}
@media (min-width: 768px) {
  .support_deco {
    top: -16px;
    left: 111px;
    width: 183px;
    height: 200px;
  }
}

.support_inner {
  position: relative;
  margin: 0 auto;
  max-width: 1200px;
}

.support_list_wrapper {
  margin-top: 32px;
}
@media (min-width: 768px) {
  .support_list_wrapper {
    margin-top: 52px;
  }
}

.support_list {
  display: flex;
  flex-direction: column;

  gap: 10px;
}
@media (min-width: 1280px) {
  .support_list {
    display: grid;
    flex-direction: row;

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

.support_item {
  padding: 24px 24px 32px;
  border-radius: 10px;
  background-color: var(--color-panel);
}
@media (min-width: 768px) {
  .support_item {
    display: grid;

    grid-template-columns: 1fr 2fr;
    grid-template-rows: auto 1fr;
    gap: 0 20px;
  }
}
@media (min-width: 1280px) {
  .support_item {
    grid-template-columns: 1fr;
    grid-template-rows: subgrid;
    grid-row: span 3;
    gap: 0;
  }
}
.support_item .item_img {
  overflow: hidden;
  border: 1px solid var(--color-line-solid);
  border-radius: 5px;

  aspect-ratio: 345/248;
}
@media (min-width: 768px) {
  .support_item .item_img {
    grid-row: 1/span 2;
  }
}
@media (min-width: 1280px) {
  .support_item .item_img {
    grid-column: 1;
    grid-row: 1;
  }
}
.support_item .item_img img {
  width: 100%;
  height: 100%;

  -o-object-fit: cover;

     object-fit: cover;
}
.support_item .item_cont {
  margin-top: 20px;
}
@media (min-width: 768px) {
  .support_item .item_cont {
    margin-top: 0;

    grid-column: 2;
    grid-row: 1;
  }
}
@media (min-width: 1280px) {
  .support_item .item_cont {
    margin-top: 28px;

    grid-column: 1;
    grid-row: 2;
  }
}
.support_item .ttl {
  font-size: 1.125rem;
  font-weight: var(--weight-bold);
  line-height: 1.55;
}
@media (min-width: 768px) {
  .support_item .ttl {
    font-size: 1.25rem;
  }
}
.support_item .txt {
  margin-top: 8px;
  font-size: 0.9375rem;
  font-weight: var(--weight-medium);
  line-height: 1.65;
}
@media (min-width: 768px) {
  .support_item .txt {
    margin-top: 14px;
    font-size: 1rem;
  }
}
.support_item .item_btn {
  margin-top: 20px;
}
@media (min-width: 768px) {
  .support_item .item_btn {
    margin-top: 24px;

    grid-column: 2;
    grid-row: 2;
  }
}
@media (min-width: 1280px) {
  .support_item .item_btn {
    grid-column: 1;
    grid-row: 3;
  }
}

.enterprise {
  position: relative;
  padding: 0 var(--inline-padding) calc(100px + var(--cta-slack));
  background-color: var(--color-white);
}
@media (min-width: 768px) {
  .enterprise {
    padding: 0 var(--inline-padding) calc(160px + var(--cta-slack));
  }
}

.enterprise_inner {
  margin: 0 auto;
  max-width: 1280px;
}

.enterprise_panel {
  overflow: hidden;
  position: relative;
  z-index: 1;
  padding: 40px 24px 40px;
  border-radius: 16px;
  background-color: var(--color-panel);
}
@media (min-width: 1024px) {
  .enterprise_panel {
    display: grid;
    align-items: center;
    padding: 22px 40px 22px 60px;
    border-radius: 20px;

    grid-template-columns: 1fr 1fr;
    gap: 40px min(5.5555555556vw, 80px);
  }
}

.enterprise_panel_circle_wrapper {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.enterprise_panel_circle_wrapper .circle {
  position: absolute;
  border-radius: 50%;
}
.enterprise_panel_circle_wrapper .circle._01 {
  top: -39px;
  right: -42px;
  width: 103px;
  height: 103px;
  background-color: var(--color-ktn-yellow);
}
@media (min-width: 1024px) {
  .enterprise_panel_circle_wrapper .circle._01 {
    top: max(-4.6527777778vw, -67px);
    right: auto;
    left: max(-4.5833333333vw, -66px);
    width: min(11.5277777778vw, 166px);
    height: min(11.5277777778vw, 166px);
  }
}
@media (min-width: 1024px) {
  .enterprise_panel_circle_wrapper .circle._02 {
    top: max(-1.1805555556vw, -17px);
    left: min(5.5555555556vw, 80px);
    width: min(2.7777777778vw, 40px);
    height: min(2.7777777778vw, 40px);
    background-color: var(--color-ktn-yellow);

    mix-blend-mode: multiply;
  }
}
@media (min-width: 1024px) {
  .enterprise_panel_circle_wrapper .circle._03 {
    top: min(3.2638888889vw, 47px);
    left: min(46.7361111111vw, 673px);
    width: min(1.9444444444vw, 28px);
    height: min(1.9444444444vw, 28px);
    background-color: var(--color-yellow-02);
  }
}
@media (min-width: 1024px) {
  .enterprise_panel_circle_wrapper .circle._04 {
    bottom: max(-4.5138888889vw, -65px);
    left: min(30.9027777778vw, 445px);
    width: min(9.7222222222vw, 140px);
    height: min(9.7222222222vw, 140px);
    background-color: var(--color-yellow-02);
  }
}
@media (min-width: 1024px) {
  .enterprise_panel_circle_wrapper .circle._05 {
    right: max(-1.1111111111vw, -16px);
    bottom: min(3.125vw, 45px);
    width: min(2.9166666667vw, 42px);
    height: min(2.9166666667vw, 42px);
    background-color: var(--color-yellow-02);
  }
}

@media (min-width: 1024px) {
  .enterprise_panel_cont {
    align-self: flex-end;
    padding-top: 38px;
  }
}

.enterprise_panel_cont_ttl {
  word-break: keep-all;
  font-size: 1.5rem;
  font-weight: var(--weight-bold);
  line-height: 1.45;
}
@media (min-width: 768px) {
  .enterprise_panel_cont_ttl {
    font-size: 2.25rem;
    line-height: 1.55;
  }
}

.enterprise_panel_cont_txt {
  margin-top: 13px;
}
@media (min-width: 768px) {
  .enterprise_panel_cont_txt {
    margin-top: 20px;
  }
}

.enterprise_panel_cont_btn {
  margin-top: 24px;
}
@media (min-width: 768px) {
  .enterprise_panel_cont_btn {
    margin-top: 40px;
  }
}
@media (min-width: 1024px) {
  .enterprise_panel_cont_btn {
    align-self: flex-start;
    margin-top: 0;
    padding-bottom: 38px;
  }
}

.enterprise_img {
  margin: 32px auto 0;
  max-width: 500px;
}
@media (min-width: 1024px) {
  .enterprise_img {
    margin: 0;
    max-width: none;

    grid-row: 1/span 2;
    grid-column: 2;
  }
}
.enterprise_img > img {
  width: 100%;
}

.fv_deco._lg .inner {
  animation: blobLg 40s infinite linear;
}
.fv_deco._sm .inner {
  animation: blobSm 20s infinite linear;
}

.intro_circle._02 .inner {
  animation: blobIntroSm 30s infinite linear;
}
.intro_circle._03 .inner {
  animation: blobIntroLg 40s infinite linear;
}

@keyframes blobLg {
  0% {
    transform: translate(0, 0);
  }
  25% {
    transform: translate(40px, 40px);
  }
  50% {
    transform: translate(20px, -20px);
  }
  75% {
    transform: translate(-20px, 40px);
  }
  100% {
    transform: translate(0, 0);
  }
}
@keyframes blobSm {
  0% {
    transform: translate(0, 0);
  }
  25% {
    transform: translate(50px, 50px);
  }
  50% {
    transform: translate(-20px, 80px);
  }
  75% {
    transform: translate(-40px, 30px);
  }
  100% {
    transform: translate(0, 0);
  }
}
@keyframes blobIntroLg {
  0% {
    transform: translate(0, 0);
  }
  25% {
    transform: translate(20px, 40px);
  }
  50% {
    transform: translate(10px, -20px);
  }
  75% {
    transform: translate(-20px, 40px);
  }
  100% {
    transform: translate(0, 0);
  }
}
@keyframes blobIntroSm {
  0% {
    transform: translate(0, 0);
  }
  25% {
    transform: translate(50px, 50px);
  }
  50% {
    transform: translate(10px, 80px);
  }
  75% {
    transform: translate(0px, 30px);
  }
  100% {
    transform: translate(0, 0);
  }
}
.bnr_slide_item > a {
  overflow: hidden;
  overflow: hidden;
  position: relative;
  border: 1px solid var(--color-line-solid);
  border-radius: 8px;
}
.bnr_slide_item > a::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: background-color 0.16s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  background-color: transparent;
  pointer-events: none;

  mix-blend-mode: multiply;
}
.bnr_slide_item > a > img {
  transition: transform 0.16s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transform: scale(1) rotate(0.0001deg);
}
@media (hover: hover) and (pointer: fine) {
  .bnr_slide_item > a:hover::after {
    transition: background-color 0.28s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    background-color: var(--color-hover-gray);
  }
  .bnr_slide_item > a:hover > img {
    transition: transform 0.46s cubic-bezier(0.165, 0.84, 0.44, 1);
    transform: scale(1.04) rotate(0.0001deg);
  }
}

.bnr_slide_arrow_prev,
.bnr_slide_arrow_next,
.bnr_slide_play_toggle {
  transition: background-color 0.16s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
@media (hover: hover) and (pointer: fine) {
  .bnr_slide_arrow_prev:hover,
  .bnr_slide_arrow_next:hover,
  .bnr_slide_play_toggle:hover {
    transition: background-color 0.28s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    background-color: var(--color-hover-gray);
  }
}

.intro_movie_thumb {
  border: 1px solid var(--color-line-solid);
}
.intro_movie_thumb::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: background-color 0.16s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  background-color: transparent;
  pointer-events: none;

  mix-blend-mode: multiply;
}
.intro_movie_thumb > img {
  transition: transform 0.16s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transform: scale(1) rotate(0.0001deg);
}
.intro_movie_thumb .intro_movie_thumb_icon .icon._ov {
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.16s cubic-bezier(0.25, 0.46, 0.45, 0.94), visibility 0.16s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
@media (hover: hover) and (pointer: fine) {
  .intro_movie_thumb:hover::after {
    transition: background-color 0.28s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    background-color: var(--color-hover-gray);
  }
  .intro_movie_thumb:hover > img {
    transition: transform 0.61s cubic-bezier(0.165, 0.84, 0.44, 1);
    transform: scale(1.07) rotate(0.0001deg);
  }
  .intro_movie_thumb:hover .intro_movie_thumb_icon .icon._ov {
    visibility: visible;
    opacity: 1;
    transition: opacity 0.28s cubic-bezier(0.25, 0.46, 0.45, 0.94), visibility 0.28s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
}

.solutions_item > a {
  overflow: hidden;
  position: relative;
}
.solutions_item > a::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: background-color 0.16s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  background-color: transparent;
  pointer-events: none;

  mix-blend-mode: multiply;
}
.solutions_item > a .item_icon {
  z-index: 1;
  transition: background-color 0.16s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.solutions_item > a .item_icon > span {
  transition: background-color 0.16s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
@media (hover: hover) and (pointer: fine) {
  .solutions_item > a:hover::before {
    transition: background-color 0.28s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    background-color: var(--color-hover-gray);
  }
  .solutions_item > a:hover .item_icon {
    transition: background-color 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    background-color: var(--color-ktn-yellow);
  }
  .solutions_item > a:hover .item_icon > span {
    transition: background-color 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    background-color: var(--color-black);
  }
}

.solutions_bottom_item > a {
  overflow: hidden;
  position: relative;
}
.solutions_bottom_item > a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: background-color 0.16s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  background-color: transparent;
  pointer-events: none;

  mix-blend-mode: multiply;
}
.solutions_bottom_item > a .item_icon {
  z-index: 1;
  transition: background-color 0.16s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.solutions_bottom_item > a .item_icon > .icon {
  transition: background-color 0.16s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
@media (hover: hover) and (pointer: fine) {
  .solutions_bottom_item > a:hover::before {
    transition: background-color 0.28s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    background-color: var(--color-hover-gray);
  }
  .solutions_bottom_item > a:hover .item_icon {
    transition: background-color 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    background-color: var(--color-ktn-yellow);
  }
  .solutions_bottom_item > a:hover .item_icon > .icon {
    transition: background-color 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    background-color: var(--color-black);
  }
}