@charset "utf-8";

/* STYLE
 * ========================================================================== */

/**
 * variables
 */
:root {
  --theme-color-primary: #105fad;
  --theme-color-secondary: #f6ac0e;
  --theme-color-success: #447c5e;
  --theme-color-warning: #f6ac0e;
  --theme-color-danger: #be2727;
  --theme-color-subcolor: #2d3c9a;
  --theme-color-light: #fbfbfb;
  --theme-color-dark: #414141;
  --bp-sp: 767px;
  --bp-tab: 768px;
  --bp-pc: 1180px;
  --bp-pcx: 1475px;
  --gap: 16px;
  --font-ja: "Zen Kaku Gothic New", sans-serif;
  --font-en: "Bebas Neue", sans-serif;
  --font-e2: "Oswald", sans-serif;
}

* {
  font-family: inherit;
}

/* Base
 * ========================================================================== */

/**
 * setting
 */
body {
  font-family: var(--font-ja);
  font-weight: 500;
  line-height: 1.8;
  background-color: var(--theme-color-light);
}

.__en,
.__num {
  font-family: var(--font-en);
}

.__e2 {
  font-family: var(--font-e2);
}

.__ja {
  font-family: var(--font-ja);
}

body.is-fixed {
  position: fixed;
  width: 100%;
  height: 100%;
}

a {
  box-sizing: border-box;
  word-break: break-all;
  color: #222;
  text-decoration: underline;
  transition: opacity 0.1s ease-in-out 0s;
}

a:link {
  text-decoration: none;
}

a:visited {
  text-decoration: none;
}

a:hover {
  text-decoration: none;
}

li img,
li a,
li a img {
  vertical-align: bottom;
}

svg {
  max-width: 100%;
  height: auto;
}

summary,
[role="button"] {
  cursor: pointer;
}

summary {
  display: block;
  -webkit-tap-highlight-color: transparent;
}

summary::-webkit-details-marker {
  display: none !important;
}

sup {
  display: inline-block;
  font-size: 0.5em;
  transform: translateY(-0.5em);
}

@media screen and (max-width: 767px) {
  html {
    scroll-padding-top: clamp(48px, 15vw, 64px);
  }

  .sp {
    display: block;
  }

  .pc {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  html {
    scroll-padding-top: 96px;
  }

  body {
    min-width: var(--bp-pc);
  }

  .lnk-tel {
    pointer-events: none;
  }

  .sp {
    display: none;
  }

  .pc {
    display: block;
  }
}

@media screen and (min-width: 1601px) {
  body {
    font-size: 1.25rem;
  }
}

/* Layout
 * ========================================================================== */

/**
 * container
 */
.l-wrapper {
  position: relative;
  width: 100%;
  max-width: 2000px;
  margin-inline: auto;
  /*background-image: linear-gradient(
    0deg,
    var(--theme-color-light) 0%,
    var(--theme-color-secondary) 7.5%
  );
  background-color: var(--theme-color-light);*/
  box-shadow: 0 0 2em rgba(0, 0, 0, 0.15);
}

.l-wrapper::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  /*background-image: url(../images/mv-bg.svg);*/
  background-repeat: no-repeat;
  background-position: center top;
  opacity: 0;
  transition: 0.3s;
}

.is-loaded .l-wrapper::before {
  opacity: 1;
}

.l-main {
  position: relative;
  overflow: hidden;
  margin-bottom: 45px;
}

.l-section {
  position: relative;
  z-index: 101;
}

.l-container {
  margin-inline: auto;
  padding-inline: 5%;
}

.l-layer {
  position: relative;
  z-index: 999;
}

@media screen and (max-width: 767px) {
  .l-wrapper {
    background-size: 100% 150vh;
  }

  .l-wrapper::before {
    background-size: calc((1600 / 1366) * 380vw) auto;
  }
}

@media screen and (min-width: 768px) {
  .l-wrapper {
    background-size: 100% 72.5vw;
  }

  .l-wrapper::before {
    background-size: calc((1600 / 1366) * 100%) auto;
  }

  .l-main {
    margin-bottom: 90px;
  }

  .l-container {
    max-width: var(--bp-pc);
    padding: 0 3.125em;
  }
}

@media screen and (min-width: 1601px) {
  .l-wrapper::before {
    background-size: calc((1600 / 1366) * 100%) auto;
  }

  .l-container {
    max-width: var(--bp-pcx);
  }
}

/* Common
 * ========================================================================== */

/**
 * list
 */
.c-list__items {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0;
}

.c-list__item {
  position: relative;
  border-radius: 0 1em 1em 1em;
  background-color: var(--theme-color-light);
}

.c-list__item::before {
  pointer-events: none;
  position: absolute;
  top: -1.75em;
  left: 0;
  text-indent: -0.5em;
  font-family: var(--font-en);
  letter-spacing: 0.05em;
}

.c-list__wrp {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
}

.c-list__fig {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0;
  line-height: 1;
}
.c-list__fig img{
  width: 60%;
  margin:40px auto 0;
  text-align: center;
}

.c-list__sbj {
  margin: 0;
  padding: 0.75rem 0.75rem 0;
  font-size: 0.92em;
  font-weight: 700;
  line-height: 1.6;
}

.c-list__txt {
  font-size: 0.75em;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .prg-m {
    font-size: 1em;
    font-weight: 500;
    line-height: 1.7778;
  }
}

@media screen and (min-width: 768px) {
  .prg-m {
    font-size: 1.125em;
    font-weight: 500;
    line-height: 1.7778;
  }

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

/* Global
 * ========================================================================== */
.g-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 2000;
  width: 100%;
  background-color: #fff;
}

@media screen and (min-width: 768px) {
  .g-header {
    min-width: 1180px;
    max-width: 2000px;
  }
}

/**
 * header
 */
.h-container {
  display: flex;
  justify-content: space-between;
}

.h-logo {
  width: 50vw;
  max-width: 320px;
  margin: 0;
  aspect-ratio: 10 / 3;
  line-height: 1;
}

.g-address {
  width: 90%;
  margin-inline: auto;
}

.g-address__ttl {
  margin-bottom: 1em;
  line-height: 1.2;
}

.g-address__items,
.h-address__items {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
  padding: 0;
}

.g-address__items {
  overflow: hidden;
  border-radius: 1em;
  background-color: var(--theme-color-light);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.05);
}

.g-address__tel,
.h-address__tel {
  display: flex;
  justify-content: center;
  align-items: center;
}

.g-address__tel > .__txt,
.h-address__tel > .__txt {
  font-size: 0.75em;
  font-style: normal;
  font-weight: 700;
  color: var(--theme-color-secondary);
}

.g-address__tel > .__tel,
.h-address__tel > .__tel {
  line-height: 1;
}

.g-address__tel > .__tel::before,
.h-address__tel > .__tel::before,
.g-address__mail::before,
.h-address__mail::before {
  content: "";
  display: inline-block;
  width: 2em;
  height: 2em;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
}

.g-address__mail,
.h-address__mail {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: var(--theme-color-primary);
  color: var(--theme-color-light);
}

.g-address__mail > .__txt,
.h-address__mail > .__txt {
  font-weight: 700;
  line-height: 1;
}

.g-address__tel > .__tel::before,
.h-address__tel > .__tel::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2227.603%22%20height%3D%2236%22%20viewBox%3D%220%200%2027.603%2036%22%3E%20%3Cpath%20id%3D%22phone%22%20d%3D%22M62.18%2C1.525c-2.474%2C1.6-2.96%2C6.619-2.026%2C10.706A36.917%2C36.917%2C0%2C0%2C0%2C65.035%2C23.7a38.339%2C38.339%2C0%2C0%2C0%2C8.485%2C9.136c3.351%2C2.519%2C8.128%2C4.121%2C10.6%2C2.517a12.527%2C12.527%2C0%2C0%2C0%2C3.194-3.425l-1.329-2.049-3.654-5.634c-.272-.419-1.975-.036-2.84.454a8.237%2C8.237%2C0%2C0%2C0-2.242%2C2.435c-.8.462-1.47%2C0-2.871-.643-1.721-.792-3.656-3.252-5.2-5.481C67.777%2C18.7%2C66.32%2C15.928%2C66.3%2C14.033c-.017-1.541-.165-2.341.584-2.883A8.238%2C8.238%2C0%2C0%2C0%2C70.02%2C10.1c.8-.59%2C1.844-1.989%2C1.573-2.408L67.939%2C2.054%2C66.61.006A12.528%2C12.528%2C0%2C0%2C0%2C62.18%2C1.525Z%22%20transform%3D%22translate(-59.712%200.001)%22%20fill%3D%22%23105fad%22%2F%3E%3C%2Fsvg%3E");
}

.g-address__mail::before,
.h-address__mail::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2236%22%20height%3D%2227%22%20viewBox%3D%220%200%2036%2027%22%3E%20%3Cpath%20id%3D%22_email%22%20d%3D%22M21040%2C17027.262a4.069%2C4.069%2C0%2C0%2C1-2.371-.764l12.27-10.443%2C1.047.885a4.746%2C4.746%2C0%2C0%2C0%2C6.113%2C0l1.047-.885%2C12.27%2C10.443a4.086%2C4.086%2C0%2C0%2C1-2.375.764Zm20-12.824%2C12-10.207v19.125a3.929%2C3.929%2C0%2C0%2C1-.172%2C1.139Zm-24%2C8.918v-19.125l12%2C10.207-11.82%2C10.057A3.8%2C3.8%2C0%2C0%2C1%2C21036%2C17023.355Zm16.586-8.254-15.713-13.365a4.024%2C4.024%2C0%2C0%2C1%2C3.127-1.475h28a4.025%2C4.025%2C0%2C0%2C1%2C3.129%2C1.475l-15.715%2C13.365a2.184%2C2.184%2C0%2C0%2C1-2.828%2C0Z%22%20transform%3D%22translate(-21035.996%20-17000.262)%22%20fill%3D%22%23fefefe%22%2F%3E%3C%2Fsvg%3E");
}

@media screen and (max-width: 767px) {
  .h-logo {
    max-width: calc(320px * (2 / 3));
  }

  .h-nav {
    display: none;
  }

  .h-address__tel,
  .h-address__mail {
    width: 15vw;
    max-width: 63px;
    aspect-ratio: 1 / 1;
  }

  .h-address__tel {
    background-color: var(--theme-color-light);
  }

  .h-address__tel > .__txt,
  .h-address__tel > .__tel .__num {
    display: none;
  }

  .h-address__mail > .__txt {
    display: none;
  }

  .g-address {
    margin-block: 3em;
  }

  .g-address__ttl {
    display: block;
    font-size: 1.5em;
    line-height: 1.2;
  }

  .g-address__ttl > span {
    display: block;
    margin-block: 0.5em;
    font-size: 0.75em;
  }

  .g-address__items {
    flex-direction: column;
    box-shadow: -5px -5px 10px rgba(0, 0, 0, 0.05),
      0px 5px 10px rgba(0, 0, 0, 0.05);
  }

  .g-address__item {
    width: 100%;
  }

  .g-address__tel {
    flex-direction: column;
    padding: 1em;
  }

  .g-address__tel > .__txt {
    font-size: 16px;
  }

  .g-address__tel > .__tel {
    margin-top: 0.25em;
  }

  .g-address__tel > .__tel::before {
    width: 1.5em;
    height: 1.5em;
  }

  .g-address__tel > .__tel .__num {
    font-size: 2.75em;
    letter-spacing: 0.025em;
  }

  .g-address__mail {
    width: 100%;
    padding: 2.25em 0.5em;
  }

  .g-address__mail::before {
    margin-right: 0.75em;
    width: 2.25em;
    height: 2.25em;
  }

  .g-address__mail > .__txt {
    font-size: 1.25em;
  }
}

@media screen and (min-width: 768px) {
  .h-nav {
    margin-right: 0;
    margin-left: auto;
  }

  .h-nav__items {
    display: flex;
    margin: 4.5em 1em 1em;
    border-left: 1px solid var(--theme-color-dark);
    font-size: 0.8125em;
    line-height: 1;
  }

  .h-nav__item {
    padding-inline: 0.5em;
    border-right: 1px solid var(--theme-color-dark);
    line-height: 1;
  }

  .h-nav__lnk {
    position: relative;
    display: inline-block;
    margin-block: -0.5em;
    padding: 0.5em;
    font-weight: 700;
    line-height: 1;
    transition: 0.3s;
  }

  .h-nav__lnk::after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    width: 0;
    height: 1px;
    background-color: var(--theme-color-primary);
    transition: 0.3s;
  }

  .h-nav__lnk:hover {
    color: var(--theme-color-primary);
  }

  .h-nav__lnk:hover::after {
    width: calc(100% - 1em);
  }

  .g-address__tel,
  .h-address__tel {
    flex-direction: column;
    height: 96px;
    padding-inline: 1.5em;
  }

  .g-address__tel > .__tel,
  .h-address__tel > .__tel {
    margin-top: 0.25em;
  }

  .h-address__tel > .__tel::before {
    width: 1.5em;
    height: 1.5em;
  }

  .h-address__tel > .__tel .__num {
    font-size: 2em;
    letter-spacing: 0.025em;
  }

  .h-address__mail {
    height: 96px;
    padding-inline: 1.5em;
    transition: 0.3s;
  }

  .h-address__mail::before {
    margin-right: 0.75em;
    width: 2.25em;
    height: 2.25em;
  }

  .g-address__mail:hover,
  .h-address__mail:hover {
    background-color: hsl(210, 83%, 47%);
  }

  .g-address {
    width: 1080px;
    margin-block: 6em;
  }

  .g-address__ttl {
    display: block;
    margin-block: 1em;
    font-size: 2em;
    line-height: 1.5;
    text-align: center;
  }

  .g-address__ttl > span {
    display: inline-block;
    font-size: 0.5em;
    line-height: 1;
    transform: translateY(-0.333em);
  }

  .g-address__item {
    width: 50%;
    height: 100%;
  }

  .g-address__tel > .__txt,
  .g-address__tel > .__tel::before {
    font-size: 1.5em;
  }

  .g-address__tel > .__tel .__num {
    font-size: 4em;
    letter-spacing: 0.025em;
  }

  .g-address__mail {
    height: 180px;
    padding-inline: 1.5em;
    transition: 0.3s;
  }

  .g-address__mail::before {
    margin-right: 1.25em;
    width: 4.5em;
    height: 4.5em;
  }

  .g-address__mail > .__txt {
    font-size: 2em;
  }
}

@media screen and (min-width: 1366px) {
  .h-nav__items {
    margin-top: 3.5em;
    font-size: 1rem;
  }
}

@media screen and (min-width: 1601px) {
  .g-address {
    width: calc(1080px * 1.25);
  }
}

/**
 * footer
 */
.f-container {
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .f-container {
    padding: 0 0 4em;
  }
}

.f-inner {
  position: relative;
  width: 90%;
  max-width: 67.5em;
  margin-inline: auto;
}

.f-inner + .f-inner::before {
  content: "";
  position: absolute;
  top: 0;
  left: -25vw;
  margin: auto;
  width: 150vw;
  height: 1px;
  background-color: rgba(65, 65, 65, 0.15);
}

.f-logo__heading {
  width: 75%;
  max-width: 320px;
  margin: 0;
  line-height: 1;
}

.f-icons__items {
  display: flex;
  justify-content: center;
  align-items: center;
  list-style: none;
  margin: 1em 0 0;
  padding: 0;
}

.f-icons__item:nth-of-type(1) img {
  width: 100px;
}

.f-icons__item:nth-of-type(2) img {
  width: 116px;
}

@media screen and (max-width: 767px) {
  .copyright {
    display: block;
    margin-bottom: 1.5em;
    padding: 1em;
    text-align: center;
  }

  .f-logo__heading {
    margin-left: -2.5%;
  }

  .f-logo__txt {
    margin-block: 0.5em;
    font-size: 0.75em;
  }

  .f-logo__txt br {
    display: none;
  }

  .f-icons__item {
    width: 50%;
    margin: 1em 0;
    text-align: center;
  }

  .f-nav {
    margin-right: -5vw;
    margin-left: -5vw;
  }

  .f-nav__items {
    display: flex;
    flex-wrap: wrap;
    font-size: 0.75em;
    line-height: 1;
  }

  .f-nav__item {
    width: 50%;
    border-bottom: 1px solid rgba(65, 65, 65, 0.15);
  }

  .f-nav__item:nth-of-type(even) {
    border-left: 1px solid rgba(65, 65, 65, 0.15);
  }

  .f-nav__item:nth-child(3) {
    border-right: 1px solid rgba(65, 65, 65, 0.15);
  }

  .f-nav__lnk {
    display: block;
    padding: 2em 1em;
    font-weight: 500;
    line-height: 1.2;
  }
}

@media screen and (min-width: 768px) {
  .f-inner {
    display: flex;
    justify-content: space-between;
  }

  .f-inner:nth-of-type(1) {
    padding-bottom: 3em;
  }

  .f-inner:nth-of-type(2) {
    align-items: center;
  }

  .f-logo__heading {
    margin-left: -2.5%;
  }

  .f-logo__txt {
    margin-block: 0.25em;
    font-size: 0.875em;
  }

  .f-icons__items {
    justify-content: flex-end;
    align-items: center;
    gap: 2em;
  }

  .f-nav {
    margin-right: auto;
    margin-left: 0;
  }

  .f-nav__items {
    display: flex;
    margin: 2.5em 1em 2.5em -1em;
    font-size: 0.8125em;
    line-height: 1;
  }

  .f-nav__item {
    padding-inline: 0.5em;
  }

  .f-nav__item:not(:first-of-type) {
    border-left: 1px solid rgba(65, 65, 65, 0.15);
    line-height: 1;
  }

  .f-nav__lnk {
    position: relative;
    display: inline-block;
    margin-block: -0.5em;
    padding: 0.5em;
    font-weight: 500;
    line-height: 1;
    transition: 0.3s;
  }

  .f-nav__lnk::after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    width: 0;
    height: 1px;
    background-color: var(--theme-color-primary);
    transition: 0.3s;
  }

  .f-nav__lnk:hover {
    color: var(--theme-color-primary);
  }

  .f-nav__lnk:hover::after {
    width: calc(100% - 1em);
  }
}

.g-aside--fixed {
  position: fixed;
  right: 0;
  bottom: 0;
  z-index: 6000;
}

.g-aside__item {
  list-style-type: none;
}

.g-aside__item#fixed__bnr {
  display: block;
}

.g-aside__item#fixed__tel,
.g-aside__item#fixed__btn {
  display: none;
}

@media screen and (max-width: 767px) {
  .g-aside--fixed {
    left: 0;
    right: auto;
    width: 100%;
  }

  .g-aside__items {
    display: flex;
    margin: 0;
    padding: 0;
  }

  .g-aside__item {
    width: 50%;
  }

  .g-aside__item#fixed__bnr {
    display: none;
  }

  .g-aside__item#fixed__tel,
  .g-aside__item#fixed__btn {
    display: block;
  }

  .g-aside__item#fixed__tel {
    background: #f6ac0e;
  }

  .g-aside__item#fixed__btn {
    background: #105fad;
  }

  .g-aside__item a {
    display: block;
    padding: 4%;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    font-weight: bold;
    color: #ffffff;
  }

  .g-aside__item a img {
    margin: -0.1em 0.5em 0 0;
    vertical-align: middle;
  }

  .g-aside__item a.g-aside__tel span {
    font-size: 1.2em;
  }

  .g-aside__item a.g-aside__mail span {
    font-size: 0.9em;
  }
}

/* Project
 * ========================================================================== */

/**
  * mavinvisual
  */
.p-mv {
  z-index: 1000;
  position: relative;
  width: 100%;
  margin-inline: auto;
  min-height: 86vh;
}

.p-mv__ttl {
  margin: 0;
  padding: 0;
  font-size: 1em;
}

.p-mv__items {
  display: flex;
  position: relative;
  list-style: none;
  margin: 0;
  padding: 0;
}

@media screen and (max-width: 767px) {
  .p-mv {
    overflow: hidden;
    min-height: calc(100vw * (9 / 16));
    padding-top: clamp(48px, 15vw, 96px);
  }

  .p-mv__cont {
    position: relative;
    z-index: 2001;
  }

  .p-mv img {
    width: 100%;
    max-width: 100%;
  }

  .p-mv__ttl {
    z-index: 1401;
    position: relative;
    width: 100vw;
  }

  .p-mv__txt {
    z-index: 1201;
    position: absolute;
    top: 0;
    width: 100vw;
    margin-top: 50vw;
    margin-bottom: 50vw;
  }

  .p-mv__cont::after {
    content: "";
    z-index: 1301;
    position: relative;
    display: block;
    width: 100vw;
    height: 50vw;
    margin-top: -0.5em;
    background-image: url(../images/mv-img--mo.svg);
    background-size: cover;
    transition-duration: 0.75s;
    transition-delay: 0.5s;
  }

  .js-scrollin.p-mv__cont::after {
    transform: translateY(-25vw);
  }

  .is-scrollin.p-mv__cont::after {
    transform: translateY(0);
  }

  .p-mv__cont::before {
    content: "";
    z-index: 3000;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 100vw;
    background-image: url(../images/mv-stars--mo.svg);
    background-size: cover;
    background-repeat: no-repeat;
    aspect-ratio: 3 / 4;

    transition-delay: 3s;
    transition-duration: 0.5s;
    opacity: 0;
  }

  .is-scrollin.p-mv__cont::before {
    opacity: 1;
    animation: bgSwitch--mo 3s infinite;
    animation-delay: 3s;
  }

  .p-mv__36::before {
    z-index: 1001;
    content: "";
    display: block;
    position: absolute;
    top: -50vw;
    left: -25vw;
    right: -25vw;
    margin: auto;
    width: 150vw;
    height: 150vw;
    background-image: url(../images/mv-bg__red--mo.svg);
    background-size: cover;
  }

  .p-mv__36::before {
    opacity: 0;
  }

  .is-scrollin .p-mv__36::before {
    opacity: 1;
    transition: 0.5s;
    transition-delay: 1.5s;
    animation: scale-easeInElastic2 reverse 1.2s;
  }

  .p-mv__36 img {
    position: relative;
    z-index: 1501;
  }

  .p-mv__nc {
    z-index: 1301;
    position: absolute;
    top: -15vw;
    left: 0;
    width: 100%;
  }

  .p-mv__items {
    position: relative;
    z-index: 1601;
    justify-content: center;
    width: 100%;
  }

  .p-mv__item {
    width: 31.5vw;
  }
}

@media screen and (min-width: 768px) {
  .p-mv {
    padding-top: 96px;
  }

  .p-mv__cont::after {
    content: "";
    z-index: 3000;
    display: block;
    position: absolute;
    top: 96px;
    left: 0;
    right: 0;
    margin: auto;
    width: 75em;
    background-image: url(../images/mv-stars.svg);
    background-size: cover;
    background-repeat: no-repeat;
    aspect-ratio: 1200 / 600;

    transition-delay: 1s;
    transition-duration: 0.5s;
    opacity: 0;
  }

  .is-scrollin.p-mv__cont::after {
    opacity: 1;
    animation: bgSwitch 3s infinite;
    animation-delay: 1s;
  }

  .p-mv__ttl {
    position: absolute;
    top: 6.25em;
    left: -2.875em;
    margin: 0;
    font-size: 1em;
  }

  .p-mv__ttl img {
    width: calc(481em / 16);
    height: calc(518em / 16);
  }

  .p-mv__txt {
    position: relative;
  }

  .p-mv__txt::before {
    content: "";
    display: block;
    z-index: -1;
    position: absolute;
    top: -1.125em;
    left: -5.1875em;
    width: 85.375em;
    height: 37.1875em;
    background-image: url(../images/mv-bg__red.svg);
    background-size: cover;
  }

  .p-mv__txt::after {
    content: "";
    display: block;
    position: absolute;
    top: 23em;
    left: calc(50% + 12em);
    width: 30em;
    height: 22.5em;
    background-image: url(../images/mv-img.svg);
    background-size: cover;
  }

  .js-scrollin .p-mv__txt::after {
    left: calc(50% - 15em);
    transition-property: left;
    transition-duration: 0.75s;
  }

  .is-scrollin .p-mv__txt::after {
    left: calc(50% + 12em);
  }

  .p-mv__txt::before {
    opacity: 0;
  }

  .is-scrollin .p-mv__txt::before {
    opacity: 1;
    transition: 0.5s;
    transition-delay: 1s;
    animation: scale-easeInElastic2 reverse 1.2s;
    animation-delay: 1s;
  }

  .p-mv__36 {
    position: absolute;
    top: 7.25em;
    left: 17.375em;
    margin: 0;
  }

  .p-mv__36 img {
    width: calc(579em / 16);
    height: calc(348em / 16);
  }

  .p-mv__nc {
    position: absolute;
    top: -2.5em;
    left: calc(31.25em - 5.1875em);
    margin: 0;
  }

  .p-mv__nc img {
    width: calc(780em / 16);
    height: calc(256em / 16);
  }

  .p-mv__items {
    position: relative;

  }

}

.p-mv__items figure {
  margin: 0;
  position: relative;
}

.p-mv_slide1__wrp{
  position: relative;
}
.p-mv_slide1__wrp:before{
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url('../images/slide1_bg.webp') no-repeat top center;
  background-size: cover;
}

.p-mv_slide1__wrp .p-mv_slide1__wrp_inner{
  position: relative;
  height: 100%;
}

.p-mv_slide1__wrp .p-mv_slide1__wrp_inner .slide_pc,
.p-mv_slide2__wrp .p-mv_slide2__wrp_inner .slide_pc
{
  position: relative;
  width: 100%;
  height: 100%;
}

.p-mv_slide1__wrp .slide1_btn_box,
.p-mv_slide2__wrp .slide2_btn_box{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  min-height: 723px;
  min-width: 1700px;
}

.p-mv_slide1__wrp a.p-mv__btn1{
  position: absolute;
  right: 170px;
  bottom: 245px;
}
.p-mv_slide1__wrp a.p-mv__btn2{
  position: absolute;
  right: 170px;
  bottom: 175px;
}
.p-mv_slide1__wrp a.p-mv__btn1 img, .p-mv_slide1__wrp a.p-mv__btn2 img{
  width: 300px;
  height: 66px;
}

@media screen and (min-width: 768px) and (max-width: 1366px) {
  .p-mv_slide1__wrp .slide1_btn_box,
  .p-mv_slide2__wrp .slide2_btn_box{
    min-height: 459px;
    min-width: 1080px;
  }
  .p-mv_slide1__wrp a.p-mv__btn1{
    position: absolute;
    right: 105px;
    bottom: 155px;
  }
  .p-mv_slide1__wrp a.p-mv__btn2{
    position: absolute;
    right: 105px;
    bottom: 110px;
  }
  .p-mv_slide1__wrp a.p-mv__btn1 img, .p-mv_slide1__wrp a.p-mv__btn2 img{
    width: 205px;
    height: 45px;
  }
}
@media screen and (min-width: 1367px) and (max-width: 1500px) {
  .p-mv_slide1__wrp .slide1_btn_box,
  .p-mv_slide2__wrp .slide2_btn_box{
    min-height: 581px;
    min-width: 1366px;
  }
  .p-mv_slide1__wrp a.p-mv__btn1{
    position: absolute;
    right: 145px;
    bottom: 200px;
  }
  .p-mv_slide1__wrp a.p-mv__btn2{
    position: absolute;
    right: 145px;
    bottom: 145px;
  }
  .p-mv_slide1__wrp a.p-mv__btn1 img, .p-mv_slide1__wrp a.p-mv__btn2 img{
    width: 240px;
    height: 53px;
  }
}

.p-mv_slide1__wrp a:hover {
  opacity: 0.8
}

.p-mv_slide2__wrp{
  position: relative;
}

.p-mv_slide2__wrp:before{
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url('../images/slide2_bg.webp') no-repeat top center;
  background-size: cover;
}
.p-mv_slide2__wrp .p-mv_slide2__wrp_inner{
  position: relative;
  height: 100%;
}
.p-mv_slide2__wrp .p-mv_slide2__wrp_inner picture img{
  min-height: ;
  min-width: ;
}

.p-mv .slick-dots li{
  position: relative;
}
.p-mv .slick-dots li {
  background: none;
}
.p-mv .slick-dots li .slick-thumbnail {
    position: relative;
    width: 200px;
    height: 80px;
    background-size: cover;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #00000055;
    z-index: 100;
}
.p-mv .slick-dots li.slick-active .slick-thumbnail{
  background: none;
}
.p-mv .slick-dots li .slick-thumbnail-image {
  width: 90%;
  height: auto;
  z-index: 1;
  opacity: 0.5;
}
.p-mv .slick-dots li.slick-active .slick-thumbnail-image{
  opacity: 1;
}
.p-mv .slick-dots li .slick-thumbnail-image:hover {
  opacity: 0.8;
}
.p-mv .slick-dots li:nth-child(1):before{
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url('../images/slide1_bg.webp') no-repeat top center;
  background-size: cover;
  z-index: 0;
}
.p-mv .slick-dots li:nth-child(2):before{
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url('../images/slide2_bg.webp') no-repeat top center;
  background-size: cover;
  z-index: 0;
}
.p-mv .slick-dots li:nth-child(3):before{
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url('../images/slide2_bg.webp') no-repeat top center;
  background-size: cover;
  z-index: 0;
}


.disp_pc{ display: block !important;}
.disp_sp{ display: none !important;;}

@media screen and (max-width: 767px) {
  .p-mv_slide1__wrp .p-mv_slide1__wrp_inner .slide_sp,
  .p-mv_slide2__wrp .p-mv_slide2__wrp_inner .slide_sp{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding: 2%;
    width: 98vw;
    height: auto;
  }
  .p-mv_slide1__wrp{
    height: auto !important;
  }
  .p-mv_slide2__wrp{
    height: auto !important;
  }
  .p-mv_slide1__wrp .p-mv_slide1__wrp_inner{
    position: relative;
    width: 100%;
    height: 70vh;
  }
  .p-mv_slide2__wrp .p-mv_slide2__wrp_inner{
    position: relative;
    width: 100%;
    height: 70vh;
  }
  .p-mv_slide1__wrp_inner img.slide1_sp{
    width: 100vw;
    height: auto;
  }
  .p-mv_slide2__wrp_inner img.slide2_sp{
    width: 100vw;
    height: auto;
    max-height: 90%;
  }

  .p-mv_slide2__wrp .p-mv_slide2__wrp_inner picture img{
    min-width: 100%;
    min-height: auto;
  }
  .p-mv .slick-dots li .slick-thumbnail {
    width: 100%;
    height: auto;
  }

  .disp_pc{ display: none !important;;}
  .disp_sp{ display: block !important;;}
}

@media screen and (min-width: 1601px) {
  .p-mv__txt::after {
    top: 24.75em;
  }
}

.p-mv__movie {
  position: absolute;
  top: 16.65em;
  right: -1.875em;
  width: calc(380em / 16);
  margin: 0;
  z-index: 5000;
}

.p-mv__movie--frame {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
  overflow: hidden;
  margin: 0;
}

.p-mv__movie--frame iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.p-mv__movie--catch {
  text-align: center;
  font-weight: 700;
  font-size: 0.8em;
}

@media screen and (max-width: 767px) {
  .p-mv__movie {
    position: static;
    width: 90%;
    margin: 3vw auto;
  }

  .p-mv__movie--catch {
    font-size: 1em;
  }
}

/**
  * reason
  */
.p-reason {
  /*padding-top: 14em;*/
}
.p-reason > .l-section {
  position: relative;
}

.p-reason > .l-section::before {
  z-index: -1;
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  background-color: var(--theme-color-primary);
}

.p-reason__header {
  padding-top: 2em;
}

.p-reason__header::before {
  content: "";
  display: block;
  width: 2em;
  height: 2em;
  margin-inline: auto;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2235.992%22%20height%3D%2231.094%22%20viewBox%3D%220%200%2035.992%2031.094%22%3E%20%3Cpath%20id%3D%22%E3%83%91%E3%82%B9_1757%22%20data-name%3D%22%E3%83%91%E3%82%B9%201757%22%20d%3D%22M21613.98%2C16210.938h-11.732l-.562-4.5h24.635l-.592%2C4.5Zm-12.592-6.75-1.873-14.516%2C7.654%2C5.422%2C6.811-9.016%2C6.842%2C9.016%2C7.654-5.422-1.875%2C14.516Zm26.307-18.594a2.141%2C2.141%2C0%2C1%2C1%2C2.125%2C2.156A2.141%2C2.141%2C0%2C0%2C1%2C21627.7%2C16185.594Zm-31.711%2C0a2.156%2C2.156%2C0%2C1%2C1%2C2.156%2C2.156A2.147%2C2.147%2C0%2C0%2C1%2C21595.984%2C16185.594Zm15.84-3.594a2.171%2C2.171%2C0%2C0%2C1%2C2.156-2.156%2C2.148%2C2.148%2C0%2C1%2C1%2C0%2C4.3A2.167%2C2.167%2C0%2C0%2C1%2C21611.824%2C16182Z%22%20transform%3D%22translate(-21595.984%20-16179.844)%22%20fill%3D%22%23f6ac0e%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}

.p-reason__heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-weight: 900;
  color: var(--theme-color-light);
}

.p-reason__heading > .__main {
  font-size: 1.5em;
}

.p-reason__items {
  padding: 3em 0;
}

.p-reason__item {
  counter-increment: reasonCount;
  box-shadow: 0 0 0.75em #1e4063;
}

.p-reason__item::before {
  content: "- Reason " counter(reasonCount, decimal-leading-zero);
  color: var(--theme-color-secondary);
}

.p-reason__fig {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: calc((190 / 240) * 100%);
  background-image: url(../images/reason-bg.svg);
  background-size: cover;
}

:where(.p-reason__item:nth-of-type(2)) .p-reason__fig {
  background-image: url(../images/reason-bg002_1.svg),
    url(../images/reason-bg002_2.svg), url(../images/reason-bg002_3.svg);
}

:where(.p-reason__item:nth-of-type(3)) .p-reason__fig {
  background-image: url(../images/reason-bg003.svg);
}

.p-reason__fig > span {
  pointer-events: none;
  position: absolute;
  bottom: 0;
  left: 0;
  margin: auto;
  display: block;
  width: 100%;
  height: auto;
  transform-origin: center bottom;
}

.p-reason__fig img {
  width: 100%;
}

:where(.p-reason__item:nth-of-type(1), .p-reason__item:nth-of-type(2))
  .p-reason__fig
  > span {
  width: 120%;
  max-width: 120%;
  aspect-ratio: 288 / 209;
  left: -10%;
}

:where(.p-reason__item:nth-of-type(1)) .p-reason__fig > span {
  background-image: url(../images/reason-img001--back1.svg),
    url(../images/reason-img001--back2.svg),
    url(../images/reason-img001--back3.svg);
  background-size: cover;
}

@media screen and (max-width: 767px) {
  .p-reason {
    margin-top: -1.5em;
    padding-top: 0;
  }

  .p-reason > .l-section::before {
    width: 97.5vw;
    border-radius: 0 1.125em 1.125em 0;
  }

  .p-reason > .l-section::before {
    /*height: calc(100% + 25vw);
    top: -25vw;*/
    top: 0;
    transition-duration: 0.75s;
    transition-delay: 0.5s;
  }

  .is-loaded .p-reason > .l-section::before {
    height: 100%;
    top: 0;
  }

  .p-reason__heading {
    font-size: 1em;
    line-height: 1.5;
  }

  .p-reason__heading > .__sub {
    margin-bottom: 0.5em;
  }

  .p-reason__items {
    gap: 2em 4%;
  }

  .p-reason__item {
    width: 48%;
  }

  .p-reason__sbj br,
  .p-reason__txt br {
    display: none;
  }

  .p-reason__txt {
    padding: 0 0.75rem;
  }
}

@media screen and (min-width: 768px) {
  .p-reason > .l-section::before {
    width: calc(50% + 37.5em);
    min-width: 71.25em;
    border-radius: 0 2.25em 2.25em 0;
  }

  .p-reason__heading {
    font-size: 1.5em;
  }

  .p-reason__item {
    width: 15em;
  }

  .p-reason__fig > span {
    transition: 0.3s;
  }

  :where(.p-reason__lnk:hover) .p-reason__fig > span {
    transform: scale(1.05);
  }

  .p-reason__sbj {
    display: flex;
    flex-direction: column;
  }

  .p-reason__sbj.c-list__sbj {
    font-size: 1em;
  }

  .p-reason__txt {
    padding: 0 0.75rem 1.5em;
  }
}

@media screen and (min-width: 1601px) {
  .p-reason__items {
    justify-content: center;
    gap: 1.75em;
  }
}

/**
 * points
 */
.p-points {
  position: relative;
  background-image: url(../images/points-bg.svg);
  background-repeat: no-repeat;
  background-position: center top;
}

.p-points__section {
  position: relative;
}

.p-strength__header,
.p-points__sbj {
  width: 100%;
  margin-inline: auto;
}

.p-strength__headfig,
.p-strength__heading {
  position: relative;
}

.p-strength__headfig::before,
.p-strength__headfig::after,
.p-strength__heading::before,
.p-strength__heading::after {
  content: "";
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-size: cover;
}

.p-strength__headin {
  position: relative;
}

.p-strength__headfig > *,
.p-strength__heading > * {
  position: relative;
  z-index: 20;
}

.p-strength__heading::before {
  z-index: 11;
  background-image: url(../images/points-catch_sdw.svg);
  background-repeat: no-repeat;
  background-position: right top;
}

.p-points__sub {
  position: relative;
  padding-left: 1.5em;
  font-size: 1.3125em;
  font-weight: 900;
  line-height: 1.5;
  letter-spacing: -0.025em;
  color: var(--theme-color-primary);
}

.p-points__sub::before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 1em;
  height: 92.5%;
  background-image: linear-gradient(
    90deg,
    var(--theme-color-secondary) 50%,
    var(--theme-color-primary) 50%
  );
}

.p-points__sub > .__num {
  display: inline-block;
  font-size: 2em;
  font-weight: 500;
  line-height: 1;
  transform: translateY(0.05em);
}

.p-points__sub > .__num:first-child {
  margin-left: 0.05em;
}

.p-points__sub > .__num:nth-of-type(2) {
  margin-left: -0.05em;
}

.p-points__fxrev {
  display: flex;
}

.p-points__header,
.p-points__sbj {
  position: relative;
  font-size: 1em;
}

.p-points__header::before {
  content: "";
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 100em;
  position: absolute;
  background-repeat: no-repeat;
  background-position: center top;
}

:where(#rs002) .p-points__header::before {
  background-image: url(../images/points-bg002.svg);
}

:where(#rs003) .p-points__header::before {
  background-image: url(../images/points-bg003.svg);
}

:where(#rs004) .p-points__header::before {
  background-image: url(../images/points-bg004.svg);
}

.p-points__sbj > .__ttlin {
  display: inline-block;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

@media screen and (max-width: 767px) {
  .p-points {
    margin-top: -1.5em;
    background-size: auto 75vw;
    background-position: center top 15vw;
  }

  .p-points__fxrev {
    flex-direction: column-reverse;
  }

  .p-strength__headin {
    display: flex;
    flex-direction: column-reverse;
  }

  .p-strength__headfig {
    width: 100%;
    margin: 0 0 0;
    overflow: hidden;
  }

  .p-strength__heading {
    width: 110%;
    margin: -7.5% -5% 7.5%;
  }

  .p-strength__headfig::before {
    background-image: url(../images/strength-bg__sdw--mo.svg);
  }

  .p-strength__headfig::after {
    background-image: url(../images/strength-bg--mo.svg);
  }

  :where(#rs001) .p-points__fig {
    width: 100%;
    margin: 0;
    padding: 0;
  }

  .p-points__header::before {
    left: -100vw;
    width: 300vw;
  }

  :where(#rs002) .p-points__header::before,
  :where(#rs003) .p-points__header::before {
    background-size: 100em 21.875em;
    background-size: cover;
    aspect-ratio: 1600 / 350;
  }

  :where(#rs004) .p-points__header::before {
    background-size: 100em 17em;
    background-size: cover;
    aspect-ratio: 1600 / 272;
  }
}

@media screen and (min-width: 768px) {
  .p-points {
    background-size: 100em auto;
  }

  .p-strength__header,
  .p-points__sbj {
    width: var(--bp-pc);
    padding-inline: 3.125em;
  }

  .p-strength__header {
    padding-top: 2.5em;
  }

  .p-strength__heading {
    width: 75%;
    margin-left: 31.2%;
  }

  .p-strength__headfig {
    z-index: 30;
    position: absolute;
    top: -10%;
    left: -5%;
    width: 40%;
  }

  .p-strength__heading img,
  .p-strength__headfig img {
    width: 100%;
  }

  .p-strength__headfig::before {
    background-image: url(../images/strength-bg__sdw.svg);
  }

  .p-strength__headfig::after {
    background-image: url(../images/strength-bg.svg);
  }

  .p-points__sub {
    margin-left: 37.5%;
    margin-right: -7.5%;
    padding-left: 1em;
    font-size: 2.8125em;
  }

  .p-points__sub::before {
    width: 0.5em;
  }

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

  :where(#rs001) .p-points__fig {
    flex-shrink: 0;
    width: 50%;
    margin-top: -3em;
    margin-right: -7.5em;
  }

  :where(#rs001) .p-points__fig img {
    width: 100%;
  }

  :where(#rs001) .p-points__exp {
    flex-shrink: 0;
    width: 60%;
    margin-left: 2em;
    margin-right: -1em;
  }

  :where(#rs002) .p-points__header::before,
  :where(#rs003) .p-points__header::before {
    height: calc(350em / 16);
    background-size: 100em 21.875em;
  }

  :where(#rs004) .p-points__header::before {
    height: calc(272em / 16);
    background-size: 100em 17em;
  }
}

@media screen and (min-width: 1601px) {
  .p-strength__header,
  .p-points__sbj {
    width: var(--bp-pcx);
  }
}

/**
 * support
 */
@media screen and (max-width: 767px) {
  :where(#rs002) .l-section {
    padding-top: 25vw;
  }

  :where(#rs002) .p-points__header::before {
    top: -12.5vw;
    left: 0;
    width: 200vw;
  }

  :where(#rs002) .p-points__sbj {
    position: relative;
  }

  :where(#rs002) .p-points__sbj::after {
    content: "";
    display: block;
    position: absolute;
    bottom: -1.5em;
    left: 7.5vw;
    width: 25vw;
    background-image: url(../images/points-fig002.svg);
    background-size: cover;
    aspect-ratio: 236 / 590;
  }

  :where(#rs002) .p-points__sbj > .__ttlin {
    width: 110%;
    max-width: 110%;
    margin-left: -10%;
    background-image: url(../images/points-ttl002__sdw--mo.svg);
    background-position: right center;
  }
}

@media screen and (min-width: 768px) {
  :where(#rs002) .l-section {
    margin-top: -6.75em;
  }

  :where(#rs002) .p-points__header {
    padding-top: 6.75em;
  }

  :where(#rs002) .p-points__header::after {
    content: "";
    position: absolute;
    top: 1.5em;
    right: calc(50% + 20em);
    display: block;
    width: calc(236em / 16);
    height: calc(590em / 16);
    background-image: url(../images/points-fig002.svg);
    background-repeat: no-repeat;
    background-size: cover;
  }

  :where(#rs002) .p-points__sbj > .__ttlin {
    width: calc(826em / 16);
    margin-left: calc(22.22222% - 1em);
    background-image: url(../images/points-ttl002__sdw.svg);
  }

  :where(#rs002) .p-points__sbj img {
    width: 100%;
  }

  :where(#rs002) .p-points__exp {
    margin-left: 22.22222%;
  }
}

/**
 * comics
 */
.p-comics__section {
  z-index: 1000;
  position: relative;
  width: 100%;
  max-width: 75em;
  margin-inline: auto;
}

.p-comics__header {
  z-index: 200;
  position: relative;
  text-align: center;
}

.p-comics__heading {
  font-size: 1em;
}

.p-comics__items img {
  width: 100%;
  max-width: 100%;
}

.p-comics__items {
  z-index: 100;
  width: 100%;
  position: relative;
  background-repeat: no-repeat;
  background-size: 100% auto;
  list-style: none;
  margin: 0;
  padding: 0;
}

.p-comics__items::after {
  z-index: 200;
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-size: 100% auto;
}

.p-comics__item {
  position: absolute;
  left: 0;
  width: 100%;
}

.p-comics__item:not(:last-of-type) {
  overflow: hidden;
  height: 100%;
}

.p-comics__item:last-of-type {
  z-index: 300;
}

.p-comics__item:last-of-type span {
  display: block;
  background-image: url(../images/comic-catch__bg.svg);
  background-size: cover;
}

.p-comics__item img {
  width: 100%;
}

@media screen and (max-width: 767px) {
  .p-comics__header {
    position: relative;
    z-index: -1;
    margin: 0 0 -2em 0;
    transform: rotate(-5deg);
  }

  .p-comics__items {
    margin-bottom: 15vw;
    background-image: url(../images/comic-bg--mo.svg);
    aspect-ratio: 1200 / 1750;
  }

  .p-comics__items::after {
    background-image: url(../images/comic-frame--mo.svg);
  }

  .p-comics__item:last-of-type {
    bottom: -15vw;
  }

  .p-comics__item:last-of-type span {
    display: block;
    width: 168%;
    margin-left: -27.5%;
    max-width: 168%;
    background-image: url(../images/comic-catch__bg.svg);
  }
}

@media screen and (min-width: 768px) {
  .p-comics__header {
    margin-bottom: -6.5625em;
  }

  .p-comics__heading img {
    width: calc(800em / 16);
  }

  .p-comics__items {
    background-image: url(../images/comic-bg.svg);
    aspect-ratio: 1200 / 828;
  }

  .p-comics__items::after {
    background-image: url(../images/comic-frame.svg);
  }

  .p-comics__item,
  .p-comics__item img,
  .p-comics__item span {
    width: 100%;
  }

  .p-comics__item:last-of-type {
    bottom: calc((828em / 16) * -0.075);
  }
}

/**
 * consultant / toolsystem
 */
:where(#rs003) .p-points__sbj {
  margin-block: 0;
  font-size: 1em;
  text-align: left;
}

.p-points__insin {
  display: flex;
  justify-content: center;
  text-align: center;
  font-size: 1rem;
}

.p-consultant__subheader,
.p-toolsystem__subheader {
  position: relative;
}

.p-consultant__subheader::before,
.p-toolsystem__subheader::before {
  z-index: -1;
  position: absolute;
  top: 0;
  font-family: var(--font-en);
  line-height: 1;
  text-transform: uppercase;
  color: var(--theme-color-secondary);
}

.p-consultant__subheader::before {
  content: "Consultants";
  left: 1.5rem;
}

.p-toolsystem__subheader::before {
  content: "Tool & System";
  right: 1.5rem;
}

.p-consultant__header {
  color: var(--theme-color-light);
}

.p-consultant__subheading,
.p-toolsystem__subheading {
  margin: 0;
  padding: 1.25em 0 0;
  font-weight: 900;
  color: var(--theme-color-primary);
}

@media screen and (max-width: 767px) {
  :where(#rs003) .p-points__balloon {
    width: 60vw;
    margin-top: 0;
    margin-left: 0;
  }

  :where(#rs003) .p-points__header::before {
    top: -7.5vw;
  }

  :where(#rs003) .p-points__sbj > .__ttlin {
    background-image: url(../images/points-ttl003__sdw--mo.svg);
  }

  .p-points__ins {
    margin-bottom: -5vw;
  }

  .p-consultant__heading {
    z-index: 201;
    position: relative;
    margin-bottom: 0.5em;
    padding-top: 5vw;
    font-size: 1.5em;
    text-align: center;
    line-height: 1.5;
    color: var(--theme-color-light);
  }

  .p-consultant__item {
    width: 48%;
  }

  .p-consultant__sbj br,
  .p-consultant__txt br {
    display: none;
  }

  .p-consultant__txt {
    padding: 0 0.75rem;
  }

  .p-consultant__subheading,
  .p-toolsystem__subheading {
    font-size: 1.5em;
    line-height: 1.5;
  }

  .p-consultant__subheader::before,
  .p-toolsystem__subheader::before {
    font-size: 19.2vw;
  }

  .p-consultant__subheader::before {
    left: -0.366em;
  }

  .p-toolsystem__subheader::before {
    right: -0.366em;
  }

  .p-toolsystem__subheader {
    margin-top: 3em;
  }

  .p-consultant__exp::after {
    z-index: 200;
    content: "";
    display: block;
    position: relative;
    width: 1005;
    background-image: url(../images/mv-img--mo.svg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: auto 100%;
    aspect-ratio: 4 / 3;
  }

  .p-toolsystem__txt {
    padding-inline: 0.75em;
  }
}

@media screen and (min-width: 768px) {
  :where(#rs003) .p-points__balloon {
    margin-left: calc(50% - 36.875em);
    margin-top: 2em;
    margin-bottom: -2em;
  }

  :where(#rs003) .l-section:last-of-type {
    padding-bottom: 1.5em;
  }

  :where(#rs003) .p-points__header::before {
    top: 1.5em;
    left: -50%;
    right: -50%;
  }

  :where(#rs003) .p-points__balloon {
    width: calc(472em / 16);
  }

  :where(#rs003) .p-points__sbj > .__ttlin {
    width: 100%;
    background-image: url(../images/points-ttl003__sdw.svg);
  }

  :where(#rs003) .p-points__sbj > .__ttlin img {
    width: 100%;
  }

  .p-consultant .l-layer {
    margin-bottom: -1.5em;
  }

  .p-points__ins {
    margin-bottom: -3em;
  }

  .p-points__ins img {
    width: 73.75em;
  }

  .p-consultant__subheading,
  .p-toolsystem__subheading {
    font-size: 2em;
    line-height: 1.5;
  }

  .p-consultant__subheader::before,
  .p-toolsystem__subheader::before {
    font-size: 9em;
  }

  .p-consultant__subheader::after {
    z-index: 200;
    content: "";
    display: block;
    position: absolute;
    top: 2em;
    left: -7.5em;
    width: calc(600em / 16);
    background-image: url(../images/mv-img.svg);
    background-size: cover;
    aspect-ratio: 4 / 3;
  }

  .p-consultant__subheader,
  .p-consultant__exp {
    padding-left: 40%;
  }

  .p-consultant__subheading {
    font-size: 2em;
  }

  .p-consultant__exp {
    padding: 0 0.75rem 1.5em 40%;
  }

  .p-toolsystem__subheader,
  .p-toolsystem__exp {
    padding-inline: 1.5rem;
  }

  .p-toolsystem__subheader {
    margin-top: 4.5em;
  }

  .p-toolsystem__exp {
    margin-bottom: 3em;
    padding: 0 1.25em;
  }
}

/**
 * numbers / data
 */
:where(#rs004) .l-layer:first-child > .l-section {
  margin-block: 0;
  background-image: url(../images/points-bg003__end.svg);
  background-repeat: no-repeat;
  background-size: auto;
}

.p-numbers__heading {
  margin-top: 1.5em;
  margin-bottom: 0.5em;
  font-weight: 900;
  text-align: center;
  color: var(--theme-color-dark);
}

.p-numbers__heading::before {
  content: "・・・・・・・・・・";
  display: block;
  margin-inline: auto;
  text-align: left;
  color: var(--theme-color-secondary);
}

.p-numbers__items {
  position: relative;
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
}

.p-data__heading {
  margin-top: 1.5em;
  margin-bottom: 0.5em;
  font-size: 2em;
  font-weight: 900;
  text-align: center;
  color: var(--theme-color-dark);
}

.p-data__table {
  width: 100%;
  max-width: 56.25em;
  margin-inline: auto;
  margin-top: 4.5em;
  border-collapse: collapse;
  border: 0 none;
}

.p-data__table thead th {
  padding: 0.5em 1em;
  line-height: 1.2;
}

.p-data__table thead th div {
  position: relative;
}

.p-data__table thead th div img {
  position: absolute;
  bottom: -4.5em;
  right: 0;
  width: calc(197em / 16);
  height: calc(160em / 16);
}

.p-data__table thead th span {
  display: block;
  font-size: 1.5em;
  line-height: 1.2;
  text-align: center;
}

.p-data__table thead th:nth-of-type(2) {
  border-radius: 1em 0 0 0;
  background-color: var(--theme-color-primary);
  color: var(--theme-color-light);
}

.p-data__table thead th:nth-of-type(3) {
  border-radius: 0 1em 0 0;
  background-color: var(--theme-color-dark);
  background-color: rgba(65, 65, 65, 0.5);
  color: var(--theme-color-light);
}

.p-data__table tbody th {
  width: 18.125em;
  padding-top: 0.625em;
  padding-bottom: 0.625em;
}

.p-data__table tbody td {
  width: 19.375em;
  padding-top: 0.625em;
  padding-bottom: 0.625em;
  padding-left: 0.625em;
}

.p-data__table tbody td img {
  width: 2em;
}

.p-data__table tbody tr:not(:first-child) {
  border-top: 1px dashed var(--theme-color-dark);
}

.p-data__table tbody th div {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1em;
  text-align: center;
  vertical-align: middle;
  background-color: #ddd;
}

.p-data__table tbody td div {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 18.75em;
  min-height: 8em;
  padding: 1em;
  text-align: center;
  vertical-align: middle;
}

.p-data__table tbody tr td:first-of-type div {
  background-color: #105fad;
  background-color: rgba(16, 95, 173, 0.1);
}

.p-data__table tbody tr td:last-of-type div {
  background-color: #eee;
  background-color: rgba(238, 238, 238, 0.5);
}

.p-data__table tbody td br {
  display: none;
}

.p-data__table tbody td span {
  display: block;
  width: 100%;
  margin-top: 1em;
  font-size: 0.75em;
  line-height: 1.5;
  text-align: left;
}

.p-data__table tbody tr.p-data__wrp td:first-of-type div::before {
  content: "";
  display: block;
  z-index: 500;
  position: absolute;
  top: -1em;
  left: -1em;
  width: calc(100% + 2em);
  height: calc(100% + 2em);
  border-left: 0.625em solid var(--theme-color-secondary);
  border-right: 0.625em solid var(--theme-color-secondary);
}

.p-data__table tbody tr.p-data__wrp.__top td:first-of-type div::before {
  border-top: 0.625em solid var(--theme-color-secondary);
  border-radius: 0.625em;
}

.p-data__table tbody tr.p-data__wrp.__btm td:first-of-type div::before {
  border-bottom: 0.625em solid var(--theme-color-secondary);
  border-radius: 0.625em;
}

.p-data__table tbody tr.p-data__wrp.__top td:first-of-type div::after {
  content: "";
  z-index: 501;
  display: block;
  position: absolute;
  top: -7.5em;
  left: -2.5em;
  width: 9em;
  height: 9em;
  background-image: url(../images/points-table002.svg);
  background-size: contain;
}

@media screen and (max-width: 767px) {
  :where(#rs004) .l-layer:first-child > .l-section {
    padding-top: 4.5em;
    background-position: left top calc(4.5em - 32px);
  }

  :where(#rs004) .p-points__sbj {
    position: relative;
    margin: 0;
    padding-top: 5vw;
    padding-bottom: 2.5vw;
  }

  :where(#rs004) .p-points__sbj::after {
    content: "";
    display: block;
    position: absolute;
    bottom: -1.5em;
    left: 1.25vw;
    width: 27.5vw;
    background-image: url(../images/points-fig004.svg);
    background-size: cover;
    aspect-ratio: 295 / 590;
  }

  :where(#rs004) .p-points__sbj > .__ttlin {
    z-index: 10;
    position: relative;
    background-image: url(../images/points-ttl004__sdw--mo.svg);
    background-position: right center;
  }

  :where(#rs004) .p-points__sbj > .__ttlin img {
    width: 110%;
    max-width: 110%;
    margin-left: -10%;
  }

  .p-numbers__heading {
    font-size: 1.5em;
    line-height: 1.5;
  }

  .p-numbers__heading::before {
    width: 12em;
    margin-bottom: -0.5em;
  }

  .p-numbers__items {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-wrap: wrap;
    perspective: 2000px;
    transform-style: preserve-3d;
  }

  .p-numbers__item:first-child {
    order: 3;
    z-index: 101;
    position: relative;
    width: 100%;
    margin-top: -7.5vw;
    text-align: center;
  }

  .p-numbers__item:nth-of-type(2),
  .p-numbers__item:nth-of-type(3) {
    width: 50%;
  }

  .p-numbers__item:nth-of-type(2) {
    transform: rotateY(15deg);
    perspective-origin: 15% 50%;
  }

  .p-numbers__item:nth-of-type(3) {
    transform: rotateY(-15deg);
    perspective-origin: 15% 50%;
  }

  .p-numbers__item:first-child img {
    width: 60%;
  }

  .p-numbers__item:nth-of-type(2) img,
  .p-numbers__item:nth-of-type(3) img {
    width: 100%;
  }

  .p-data__heading {
    font-size: 1.5em;
    line-height: 1.5;
  }

  .p-data__table tr {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
  }

  .p-data__table thead th {
    width: calc(50% - 5px);
  }

  .p-data__table thead th:first-of-type {
    width: 100%;
  }

  .p-data__table thead th {
    padding: 0.5em 0;
    font-size: 0.75em;
  }

  .p-data__table thead th span {
    font-size: 2em;
  }

  .p-data__table tbody th {
    width: calc(100%);
    padding-bottom: 0;
  }

  .p-data__table tbody th div {
    border-radius: 0;
  }

  .p-data__table tbody td {
    width: calc(50% - 5px);
    padding-top: 0;
    padding-left: 0;
  }

  .p-data__table thead th:first-of-type {
    width: 100%;
  }

  .p-data__table thead th div img {
    position: absolute;
    bottom: -36px;
    right: 0;
    left: 0;
    margin: auto;
    width: calc(197px * 0.666);
    height: calc(160px * 0.666);
  }

  .p-data__table tbody td div {
    width: 100%;
    height: 100%;
  }

  .p-data__table tbody tr.p-data__wrp td:first-of-type div::before {
    border: 0.625em solid var(--theme-color-secondary) !important;
    border-radius: 0.625em !important;
  }

  .p-data__table tbody tr.p-data__wrp td:first-of-type div::after,
  .p-data__table tbody tr.p-data__wrp.__top td:first-of-type div::after {
    content: "";
    z-index: 501;
    display: block;
    position: absolute;
    top: -3.5em;
    left: -2em;
    width: 6em;
    height: 6em;
    background-image: url(../images/points-table002.svg);
    background-size: contain;
  }
}

@media screen and (min-width: 768px) {
  :where(#rs004) .l-layer:first-child > .l-section {
    padding-top: 6em;
    background-position: left top calc(6em - 32px);
  }

  :where(#rs004) .p-points__header {
    padding-top: 1.5em;
    padding-bottom: 0.5em;
  }

  :where(#rs004) .p-points__header::after {
    content: "";
    position: absolute;
    top: -6em;
    right: calc(50% + 20em);
    display: block;
    width: calc(295em / 16);
    height: calc(590em / 16);
    background-image: url(../images/points-fig004.svg);
    background-size: cover;
  }

  :where(#rs004) .p-points__sbj > .__ttlin {
    width: calc(994em / 16);
    margin-left: calc(22.2222% - 1em);
    margin-right: -6.25em;
    background-image: url(../images/points-ttl004__sdw.svg);
  }

  :where(#rs004) .p-points__sbj img {
    width: 100%;
  }

  :where(#rs004) .p-points__exp {
    margin-left: 22.2222%;
  }

  .p-numbers__heading {
    font-size: 2em;
  }

  .p-numbers__heading::before {
    width: 19em;
    margin-bottom: -1em;
  }

  .p-numbers__items {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    padding: 0 0 12em;
    perspective: 2000px;
    transform-style: preserve-3d;
  }

  .p-numbers__item:first-child {
    z-index: 101;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    text-align: center;
  }

  .p-numbers__item:nth-of-type(2) {
    transform: rotateY(15deg);
    perspective-origin: 15% 50%;
  }

  .p-numbers__item:nth-of-type(3) {
    transform: rotateY(-15deg);
    perspective-origin: 15% 50%;
  }

  .p-numbers__item:first-child img {
    width: calc(430em / 16);
  }

  .p-numbers__item:nth-of-type(2) img,
  .p-numbers__item:nth-of-type(3) img {
    width: calc(460em / 16);
  }

  .p-data__table tbody tr:first-of-type th:first-child div {
    border-radius: 1em 0 0 0;
  }

  .p-data__table tbody tr:last-of-type th:first-child div {
    border-radius: 0 0 0 1em;
  }

  .p-data__table tbody tr:last-of-type td:last-child div {
    border-radius: 0 0 1em 0;
  }

  .p-data__table tbody th {
    width: 18.125em;
  }

  .p-data__table tbody th div {
    min-height: 8em;
  }

  .p-data__table tbody td {
    width: 19.375em;
  }

  .p-data__table tbody td div {
    width: 18.75em;
    min-height: 8em;
  }
}

@media screen and (min-width: 1281px) {
  :where(#rs004) .p-points__exp {
    margin-right: -1.875em;
  }
}

@media screen and (min-width: 1601px) {
  :where(#rs004) .p-points__exp {
    margin-right: -3.75em;
  }
}

/**
 * price
 */
.p-price > .l-section {
  background-color: var(--theme-color-primary);
  background-image: url(../images/price-bg__upp.svg),
    url(../images/price-bg__btm.svg), url(../images/price-bg__dotted.svg);
  background-repeat: no-repeat;
  background-position: center top, center bottom -1px, center center;
  background-size: 100% auto, 100% auto, cover;
}

.p-price__header {
  margin-inline: auto;
}

.p-price__heading {
  font-size: 1em;
}

.p-plan__wrp {
  border-radius: 0 1em 0 0;
  box-shadow: 0.3125em 0.3125em 1em rgba(0, 0, 0, 0.3);
  border: 0.25em solid var(--theme-color-dark);
  background-color: var(--theme-color-light);
}

.p-plan__heading {
  margin: 0;
  padding: 0;
  font-size: 1em;
  text-align: center;
}

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

.p-plan__exp {
  margin: 0 0 0.5em;
  padding: 0;
  font-size: 1.125em;
  font-weight: 700;
  line-height: 1.77777;
  text-align: center;
}

.p-plan__exp > span {
  display: block;
}

.p-plan__ticket {
  display: flex;
  margin: 0;
  padding: 1rem;
  background-color: rgba(68, 68, 68, 0.1);
  color: var(--theme-color-dark);
}

.p-plan__ticket > dt {
  margin: 0;
  padding: 0;
  font-weight: 900;
  line-height: 1.5;
}

.p-plan__ticket > dd {
  margin: 0;
  padding: 0;
}

.p-plan__ticket em {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  font-size: 1.125em;
  font-style: normal;
  font-weight: 700;
}

.p-plan__ticket em span {
  font-weight: 700;
  line-height: 1;
}

.p-plan__ticket em span:first-of-type {
  margin-inline-start: 0;
  margin-inline-end: auto;
}

.p-plan__ticket em .__num {
  font-size: 2em;
  margin-right: 0.025em;
  font-weight: 500;
}

.p-plan__att {
  list-style: none;
  margin: 0 0 0.5em;
  padding: 0;
  font-size: 0.75em;
}

.p-plan__chk {
  list-style: none;
  margin: 0;
  padding: 0;
}

.p-plan__chk > li {
  margin-top: 0.25em;
  padding-left: 1.8333em;
  text-indent: -1.8333em;
  line-height: 1.333;
}

.p-plan__chk > li::before {
  content: "";
  display: inline-block;
  width: 1.333em;
  height: 1.333em;
  margin-right: 0.5em;
  background-image: url(../common_img/icon-check.svg);
  background-size: contain;
  transform: translateY(0.4em);
}

.p-plan__out {
  font-weight: 700;
}

@media screen and (max-width: 767px) {
  .p-price > .l-section {
    padding-bottom: 22.5vw;
  }

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

  .p-price__heading > span {
    display: block;
    margin-bottom: -0.5em;
    text-align: right;
  }

  .p-price__heading > img {
    max-width: 75%;
    margin-top: 0.5em;
  }

  .p-plan__wrp {
    margin-top: 15vw;
    padding: 1.5em;
  }

  .p-plan__heading {
    margin-top: -15vw;
    margin-bottom: 0;
  }

  .p-plan__heading img {
    width: 75vw;
  }

  .p-plan__num {
    margin: 0;
  }

  :where(.p-plan__item:nth-of-type(1)) .p-plan__num img {
    width: calc(89.2% * 1.1);
  }

  :where(.p-plan__item:nth-of-type(2)) .p-plan__num img {
    width: calc(81.2% * 1.1);
  }

  .p-plan__exp {
    margin-top: 0.25em;
    margin-bottom: 1em;
    line-height: 1.333;
  }

  .p-plan__ticket {
    flex-direction: column;
    padding: 0.5rem;
  }

  .p-plan__ticket > dt {
    margin: 0;
    padding: 0.5rem;
    font-size: 1.25em;
    font-weight: 900;
    line-height: 1.5;
  }

  .p-plan__ticket > dd {
    margin: 0;
    padding: 1rem 0.5rem;
    border-top: 1px dashed var(--theme-color-dark);
  }

  .p-plan__ticket > dd ul {
    width: 90%;
  }

  .p-plan__att {
    margin-bottom: 1.5em;
  }

  .p-plan__att > li {
    margin-top: 0.75em;
    padding-left: 1em;
    text-indent: -1em;
    line-height: 1.2;
  }

  .p-plan__out {
    margin-block: 0.25em;
    text-align: right;
  }
}

@media screen and (min-width: 768px) {
  .p-price > .l-section {
    padding-bottom: 15em;
  }

  .p-price__header {
    width: var(--bp-pc);
    padding-inline: 3.5em;
  }

  .p-price__heading > span {
    display: block;
    margin-bottom: -0.5em;
    text-align: right;
  }

  .p-price__heading img + img {
    margin-left: 2em;
  }

  .p-price__heading .__balloon {
    width: calc(767em / 16);
  }

  .p-price__heading .__main {
    width: calc(564em / 16);
  }

  .p-price__heading .__sub {
    width: calc(440em / 16);
  }

  .p-plan__items {
    display: flex;
  }

  .p-plan__item {
    position: relative;
    width: 31.25em;
    margin-top: 7.5em;
    margin-inline: 1.25em;
    padding-bottom: 2.5em;
  }

  .p-plan__wrp {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    padding: 2.5em;
  }

  .p-plan__heading {
    margin-top: -6em;
    margin-bottom: 0;
  }

  .p-plan__heading img {
    width: 24em;
  }

  :where(.p-plan__item:nth-of-type(1)) .p-plan__num img {
    width: 22.875em;
  }

  :where(.p-plan__item:nth-of-type(2)) .p-plan__num img {
    width: 25.375em;
  }

  .p-plan__ticket > dt {
    margin: 0;
    padding: 0.5rem 2rem 0.5rem 1rem;
    font-size: 1.5em;
    font-weight: 900;
    line-height: 1.5;
  }

  .p-plan__ticket > dd {
    min-height: 8rem;
    padding: 0.5rem 1rem;
    border-left: 1px dashed var(--theme-color-dark);
  }

  .p-plan__att,
  .p-plan__out {
    text-align: right;
  }

  .p-plan__chk {
    margin-top: auto;
    margin-bottom: 0;
    margin-right: -2em;
    font-size: 1.125em;
  }

  .p-plan__chk > li::before {
    transform: translateY(0.25em);
  }

  .p-plan__out {
    margin: 10px 0 0;
  }
}

@media screen and (min-width: 1601px) {
  .p-price__header {
    width: var(--bp-pcx);
  }
}

/**
 * voice
 */
@media screen and (max-width: 767px) {
  .p-voice__header {
    z-index: 11;
    position: relative;
    margin-bottom: -3.5em;
  }

  .p-voice__header::before {
    content: "";
    display: block;
    width: 100%;
    margin: -15vw 0 -3.5vw;
    background-image: url(../images/voice-bg--mo.svg);
    background-size: cover;
    background-position: left center;
    aspect-ratio: 1080 / 378;
  }

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

  .p-voice__heading img {
    width: 80%;
  }
}

@media screen and (min-width: 768px) {
  .p-voice {
    margin-top: -12.5em;
  }

  .p-voice__header {
    z-index: 11;
    position: relative;
    width: var(--bp-pc);
    margin-inline: auto;
    margin-bottom: -4.5em;
  }

  .p-voice__header::before {
    content: "";
    display: block;
    width: calc(1080em / 16);
    height: calc(486em / 16);
    margin-inline: auto;
    background-image: url(../images/voice-bg.svg);
    background-size: cover;
  }

  .p-voice__heading {
    position: absolute;
    left: 40%;
    bottom: 4.5em;
  }

  .p-voice__heading img {
    width: 33.875em;
  }
}

@media screen and (min-width: 1601px) {
  .p-voice__heading {
    left: 42.5%;
  }
}

/**
 * slider / items
 */
.p-consultant__slider,
.p-toolsystem__slider,
.p-voice__slider {
  position: relative;
}

.p-consultant__slider::before,
.p-toolsystem__slider::before,
.p-voice__slider::before {
  content: "";
  display: block;
  position: absolute;
  background-color: var(--theme-color-primary);
}

.p-consultant__slider::before {
  top: 0;
  left: 0;
  height: 100%;
}

.p-toolsystem__slider::before {
  right: 0;
  bottom: 0;
  height: calc(100% - 100px);
}

.p-voice__slider::before {
  top: 0;
  right: 0;
  height: 100%;
}

.p-consultant__items,
.p-toolsystem__items,
.p-voice__items {
  overflow: hidden;
  display: flex;
  justify-content: center;
  flex-wrap: nowrap;
  width: 100%;
}

:where(.p-consultant, .p-toolsystem, .p-voice) .c-list__items::after {
  content: "";
  position: absolute;
  display: block;
  top: 0;
  bottom: 0;
  height: 100%;
  width: 50%;
  background-color: var(--theme-color-light);
}

:where(.p-consultant__items, .p-toolsystem__items, .p-voice__items)
  .c-list__item {
  flex-shrink: 0;
}

:where(.p-consultant__item, .p-voice__item) .c-list__item {
  box-shadow: 0 0 0.75em #1e4063;
}

:where(.p-toolsystem__items) .c-list__item {
  box-shadow: 0 0 10px rgba(68, 68, 68, 0.1);
}

.c-list__items .slick-list {
  width: 100%;
}

.c-list__items .slick-track {
  display: flex;
  justify-content: center;
  padding-top: 2em;
}

:where(.p-consultant__items, .p-toolsystem__items, .p-voice__items)
  .c-list__item {
  display: flex !important;
  float: none !important;
  height: auto !important;
}

.p-consultant__item::before,
.p-voice__item::before {
  color: var(--theme-color-secondary);
  text-transform: uppercase;
}

.p-consultant__item::before {
  content: "- Consultant";
}

.p-voice__item::before {
  content: "- Customer's Voice";
}

.p-toolsystem__item::before {
  font-family: var(--font-e2);
  font-weight: 500;
  text-indent: 0;
  letter-spacing: -0.025em;
  text-transform: none;
}

.p-toolsystem__vc:before {
  content: "V-cloud";
}

.p-toolsystem__vc:before,
.p-toolsystem__vc .p-toolsystem__sbj {
  color: #00b9b2;
}

.p-toolsystem__vf:before {
  content: "V-folio";
}

.p-toolsystem__vf:before,
.p-toolsystem__vf .p-toolsystem__sbj {
  color: #b90a1b;
}

.p-toolsystem__vs:before {
  content: "V-study";
}

.p-toolsystem__vs:before,
.p-toolsystem__vs .p-toolsystem__sbj {
  color: #fbbe3d;
}

.p-consultant__sbj {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: var(--theme-color-primary);
  font-weight: 700;
  word-break: break-all;
}

.p-consultant__sbj strong {
  font-size: 1.414em;
  font-weight: 700;
}

.p-toolsystem__sbj {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: -1.5em;
}

.p-toolsystem__sbj > span {
  font-size: 1.3125em;
}

.p-voice__wrp dl {
  margin: 0;
  padding: 0;
}

.p-voice__sbj {
  display: block;
  color: var(--theme-color-primary);
  word-break: break-all;
}

.p-voice__txt {
  margin: 0;
  padding: 0.75rem 0.75rem 1.5rem;
}

:where(.p-consultant__slider, .p-toolsystem__slider, .p-voice__slider)
  .slick-prev {
  filter: drop-shadow(3px 3px 5px #000);
}

:where(.p-consultant__slider, .p-toolsystem__slider, .p-voice__slider)
  .slick-next {
  filter: drop-shadow(3px 3px 5px #000);
}

@media screen and (max-width: 767px) {
  .p-consultant__slider::before,
  .p-toolsystem__slider::before,
  .p-voice__slider::before {
    width: 97.5vw;
  }

  .p-consultant__slider::before {
    border-radius: 0 1.125em 1.125em 0;
  }

  .p-toolsystem__slider::before,
  .p-voice__slider::before {
    border-radius: 1.125em 0 0 1.125em;
  }

  .p-consultant__slider,
  .p-toolsystem__slider,
  .p-voice__slider {
    padding-bottom: 2em;
  }

  .p-consultant__slider {
    margin-top: -15vw;
  }

  .p-voice__slider {
    padding-top: 3.5em;
  }

  .p-consultant__items::after {
    left: 97.5vw;
  }

  .p-toolsystem__items::after,
  .p-voice__items::after {
    right: 97.5vw;
  }

  .c-list__items .slick-list {
    width: 100%;
  }

  .c-list__items .slick-track {
    gap: 14px;
  }

  :where(.p-consultant__items, .p-toolsystem__items, .p-voice__items)
    .c-list__item {
    width: 75vw !important;
    max-width: 20em;
  }

  .p-consultant__slider .slick-prev,
  .p-toolsystem__slider .slick-prev,
  .p-voice__slider .slick-prev {
    left: 0%;
  }

  .p-consultant__slider .slick-next,
  .p-toolsystem__slider .slick-next,
  .p-voice__slider .slick-next {
    right: 0%;
  }
}

@media screen and (min-width: 768px) {
  .p-consultant__slider::before,
  .p-toolsystem__slider::before,
  .p-voice__slider::before {
    width: calc(50% + 37.5em);
    min-width: 71.25em;
  }

  .p-consultant__slider::before {
    border-radius: 0 2.25em 2.25em 0;
  }

  .p-toolsystem__slider::before,
  .p-voice__slider::before {
    border-radius: 2.25em 0 0 2.25em;
  }

  .p-consultant__slider,
  .p-toolsystem__slider,
  .p-voice__slider {
    padding-bottom: 4em;
  }

  .p-voice__slider {
    padding-top: 4em;
  }

  .p-consultant__items,
  .p-toolsystem__items,
  .p-voice__items {
    min-width: 1140px;
  }

  .c-list__items .slick-list {
    width: 100%;
  }

  .c-list__items .slick-track {
    gap: 21px;
  }

  :where(.p-consultant__items, .p-toolsystem__items, .p-voice__items)
    .c-list__item {
    width: 20em !important;
  }

  .p-consultant__items::after {
    left: calc(50% + 37.5em);
  }

  .p-toolsystem__items::after,
  .p-voice__items::after {
    right: calc(50% + 37.5em);
  }

  .p-consultant__txt {
    padding: 0 0.75rem 1.5em 1.25em;
    font-size: 0.875em;
    line-height: 2;
  }

  .p-toolsystem__txt {
    padding: 0 1.25em 1.25em;
    font-size: 0.875em;
    line-height: 2;
  }

  .p-voice__sbj {
    font-size: 1.125em;
    height: 4em;
  }

  .p-voice__txt {
    font-size: 0.875em;
  }

  .p-consultant__slider .slick-prev,
  .p-toolsystem__slider .slick-prev,
  .p-voice__slider .slick-prev {
    left: calc(50% - 560px);
  }

  .p-consultant__slider .slick-next,
  .p-toolsystem__slider .slick-next,
  .p-voice__slider .slick-next {
    right: calc(50% - 560px);
  }
}

@media screen and (min-width: 1601px) {
  .p-consultant__slider .slick-prev,
  .p-toolsystem__slider .slick-prev,
  .p-voice__slider .slick-prev {
    left: calc(50% - 700px);
  }

  .p-consultant__slider .slick-next,
  .p-toolsystem__slider .slick-next,
  .p-voice__slider .slick-next {
    right: calc(50% - 700px);
  }
}

/**
 * form
 */
.p-form__heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-weight: 900;
  line-height: 1;
  font-feature-settings: "palt";
  letter-spacing: -0.025em;
  color: var(--theme-color-dark);
}

.p-form__heading::before {
  content: "";
  display: block;
  width: 1.75em;
  height: 1.75em;
  background-image: url(../images/form-ico.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}

.p-form__cont,
.p-overview__cont {
  background-color: #fff;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.05);
}

.p-form__sbj,
.p-overview__sbj {
  position: relative;
  padding-left: 1.25em;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -0.025em;
  color: var(--theme-color-dark);
}

.p-form__sbj::before,
.p-overview__sbj::before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 1.2rem;
  height: 92.5%;
  background-image: linear-gradient(
    90deg,
    var(--theme-color-secondary) 50%,
    var(--theme-color-primary) 50%
  );
}

.p-form__exp {
  margin-bottom: 2.5em;
}

@media screen and (max-width: 767px) {
  .p-form__cont,
  .p-overview__cont {
    padding: 0.75em;
    border-radius: 0.5em;
  }

  .p-form__heading {
    margin-top: 1.5em;
    margin-bottom: 0.5em;
    font-size: 3.25em;
  }

  :where(.p-form) .p-form__sbj,
  :where(.p-overview) .p-overview__sbj {
    margin-top: 0;
    padding-left: 1.75em;
    padding-right: 0.75em;
  }

  .p-form__exp.prg-m {
    font-size: 0.875em;
  }
}

@media screen and (min-width: 768px) {
  .p-form__heading {
    margin-top: 2em;
    margin-bottom: 1em;
    font-size: 4.5em;
  }

  .p-form__heading::before {
    content: "";
    display: block;
    width: 1.75em;
    height: 1.75em;
    background-image: url(../images/form-ico.svg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
  }

  .p-form__cont,
  .p-overview__cont {
    padding: 2.25em 3.75em;
    border-radius: 1em;
  }

  .p-form__sbj,
  .p-overview__sbj {
    font-size: 2em;
  }
}


/**
 * overview
 */

 #cp {
  margin-block-start: 3em;
  padding-block-end:  3em;
}

:where(.p-overview dl, .p-overview dt, .p-overview dd, .p-overview ul, .p-overview li) {
  list-style: none;
  margin: 0;
  padding: 0;
}

.p-overview__items {
  border-block-start: 1px dashed var(--theme-color-dark);
}
.p-overview__item {
  padding-block: .625em;
  border-block-end: 1px dashed var(--theme-color-dark);
}
.p-overview__head,
.p-overview__desc {
  padding: .625em;
}
.p-overview__head:not(.works > *) {
  background-color: #eee;
  font-weight: bold;
}
.p-overview__head:where(.works > *) {
  background-color: var(--theme-color-primary);
  background-image: linear-gradient(rgba(255,255,255,.85) 0%, rgba(255,255,255,.85) 100%);
}
.p-overview__desc .__inbox {
  & + & {
    margin-top: 1em;
  }
  & dt:not(.__da) {
    padding-inline-start: 1.25em;
    text-indent: -1.25em;
  }
  & dt:not(.__da)::before {
    content: "◆";
    color: var(--theme-color-primary);
    margin-inline-end: 0.25em;
  }
  & dt.__da::before {
    content: "▼";
    color: var(--theme-color-secondary);
    margin-inline-end: 0.25em;
  }
  & dd + dd {
    margin-block-start: 0.5em;
  }
  & a {
    color: var(--theme-color-primary);
    text-decoration: underline;
    @media screen and (any-hover: hover) {
      &:hover {
        text-decoration: none;
      }
    }
  }
}
.p-overview__desc .__inlist li {
  list-style: outside disc;
  margin-inline-start: 1.5em;
  &::marker {
    color: #a1a1a1;
  }
}


@media screen and (max-width: 767px) {
  .p-overview__items {
    font-size: 0.875em;
  }
}
@media screen and (min-width: 768px) {
  .p-overview__item {
    display: flex;
    padding-block: 1em;
    gap: 1.5em;
  }
  .p-overview__head {
    padding: 1.125em 1.5em;
  }
  .p-overview__desc {
    padding: 1.125em 0;
  }
  .p-overview__head {
    flex-shrink: 0;
    width: 15em;
    text-align: center;
  }
  .p-overview__desc {
    flex-grow: 1;
  }
  .p-overview__desc .__tel {
    display: flex;
    & > * + *::before {
      padding-inline: 0.5em;
      content: "/";
    }
  }
}


/**
 * Privacy mark
 */

#pmark-wrap {
  padding: 1em;
  position: absolute;
  top: 43.75em;
  left: 2em;
  list-style: none;
  margin-bottom: 3em;
  border: 6px solid #0082f0;
  background: white;
  border-radius: 24px;
  width: 820px;
}

.pmark-data__header h4 {
  margin: 0;
  color: var(--theme-color-primary);
  letter-spacing: 2px;

  font-size: 1.9em;
  line-height: 120%;
  font-weight: 900;
  text-align: center;
  font-size: 1.45em;
  padding: 0.2em;
  background: #e3ebf3;
  border-radius: 10px;
}

@media screen and (max-width: 767px) {
  #pmark-wrap {
    margin: 1em;
    padding: 1em;
    position: static;
    margin-bottom: 3em;
    border: 6px solid #0082f0;
    background: white;
    border-radius: 24px;
    width: inherit;
  }
}

@media screen and (min-width: 1601px) {
  .pmark-data__header h4 {
    font-size: 1.6rem;
  }
}

.pmark-sec {
  margin: 8px auto;
  padding: 2px 30px;
  display: flex;
  max-width: 56.25em;
  justify-content: space-around;
  align-items: flex-end;
  position: relative;
}
.pmark-sec__border {
  border-left: 1px dashed var(--theme-color-dark);
  padding-left: 1em;
}

.pmark-sec-block {
  flex-shrink: 1;
  display: flex;
  justify-content: center;
}
.pmark-sec-block > div {
  width: 180px;
}

.pmark-sec-block h3 {
  font-size: 28px;
  text-align: center;
}

.pmark-new-p {
  padding: 22px 0 0 6px;
}
.pmark-new-p a {
  display: block;
  margin: 0px;
  padding: 10px 16px;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.2;
  width: 100%;
  height: 100%;
  text-align: center;
  color: #fff;
  border-radius: 10px;
  box-shadow: 4px 4px 2px #856e6e;
}
.pmark-new-p a:hover {
  opacity: 0.6;
}
.pmark-new-p .blue {
  background: #105fad;
}
.pmark-new-p .yellow {
  background: #f7a91c;
}

@media screen and (max-width: 767px) {
  .pmark-sec {
    display: flex;
    padding: 0;
    align-items: center;
    flex-wrap: wrap;
    flex-direction: column;
  }
  .pmark-sec__border {
    border-top: 1px dashed var(--theme-color-dark);
    border-left: none;
    margin-top: 1em;
    padding-top: 1em;
    padding-left: 0;
  }
  .pmark-sec-block {
    flex-shrink: 1;
    display: flex;
    flex-direction: column;
  }

  .pmark-sec-block h3 {
    font-size: 20px;
  }
  .pmark-new-p {
    padding: 0;
  }
  p.pmark-new-p a {
    font-size: 1.2rem;
    max-height: 85px;
    min-width: 200px;
  }
  .pmark-sec-block > div {
    width: inherit;
  }
}


/**
 * loader
 */

.l-loader {
  overflow: hidden;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}

.l-loader__in {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 100%;
  height: 100%;
}

.l-loader__in::before {
  content: "";
  display: block;
  width: 30vw;
  max-width: 10em;
  aspect-ratio: 1 / 1;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22LOADER%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2264%22%20height%3D%2264%22%20viewBox%3D%220%200%2064%2064%22%3E%20%3Cpath%20id%3D%22VLC_logo-02%22%20d%3D%22M293.462%2C173.269l-3.354%2C0a.038.038%2C0%2C0%2C0-.038.025l-8.749%2C32.68q-.012.046-.023.005l-10.886-39.528a.028.028%2C0%2C0%2C1%2C.005-.025.031.031%2C0%2C0%2C1%2C.024-.011l6.754-.005a.052.052%2C0%2C0%2C1%2C.049.043l4.071%2C17.416q.017.072.032%2C0l3.491-17.2a.029.029%2C0%2C0%2C1%2C.029-.022h8.591a.028.028%2C0%2C0%2C0%2C.026-.029V153.526a.026.026%2C0%2C0%2C1%2C.026-.026h6.547c.021%2C0%2C.039.013.039.029v24.386a.026.026%2C0%2C0%2C0%2C.026.026h3.61a.03.03%2C0%2C0%2C0%2C.028-.022%2C11.75%2C11.75%2C0%2C0%2C1%2C20.374-4.15.041.041%2C0%2C0%2C1%2C.009.032.045.045%2C0%2C0%2C1-.017.029L319%2C177.911a.026.026%2C0%2C0%2C1-.036%2C0%2C5.142%2C5.142%2C0%2C1%2C0%2C.141%2C6.446.039.039%2C0%2C0%2C1%2C.054-.009l5.324%2C3.838a.027.027%2C0%2C0%2C1%2C.011.018.028.028%2C0%2C0%2C1-.005.021%2C11.751%2C11.751%2C0%2C0%2C1-20.7-3.628.056.056%2C0%2C0%2C0-.051-.041H293.507a.024.024%2C0%2C0%2C1-.023-.026V173.3A.025.025%2C0%2C0%2C0%2C293.462%2C173.269Z%22%20transform%3D%22translate(-265.41%20-147.5)%22%20fill%3D%22%23ffffff%22%2F%3E%3C%2Fsvg%3E");
  background-size: cover;

  /* animation: rotating 3s linear 0s infinite; */
  transition: 0.3s;
}

.is-loaded .l-loader__in::before {
  opacity: 0;
}

@media screen and (max-width: 767px) {
  .l-loader {
    height: 90dvh;
  }
}

@media screen and (min-width: 768px) {
  .l-loader {
    height: 60dvh;
  }
}

@media screen and (min-width: 1601px) {
  .l-loader {
    height: 75dvh;
  }
}

@keyframes rotating {
  from {
    transform: rotate3d(0, 0.5, 0, 360deg);
  }

  to {
    transform: rotate3d(0deg);
  }
}

/**
 * act
 */
[data-move*="fadeIn"] {
  opacity: 0;
  transition: opacity 1s ease, transform 1s ease;
}

.is-scrollin [data-move*="fadeIn"] {
  opacity: 1;
  transform: translate(0);
}

.iOsChrome [data-move*="fadeIn"] {
  opacity: 1;
  transition: none;
  transform: none;
}

[data-move="fadeInUp"] {
  transform: translateY(5vw);
}

[data-move="fadeInLeft"] {
  transform: translateX(-5vw);
}

[data-move="fadeInRight"] {
  transform: translateX(5vw);
}

[data-move="fadeInTop"] {
  transform: translateY(-10vw);
}

@media screen and (max-width: 767px) {
  [data-move="fadeInRL"] {
    transform: translateX(5vw);
  }

  [data-move="fadeInLR"] {
    transform: translateX(-5vw);
  }
}

@media screen and (min-width: 768px) {
  [data-move="fadeInRL"] {
    transform: translateX(-5vw);
  }

  [data-move="fadeInLR"] {
    transform: translateX(5vw);
  }
}

[data-move*="zoom"] {
  opacity: 0;
  transition: opacity 1s ease;
}

.is-scrollin [data-move*="zoom"] {
  opacity: 1;
  transform: scale(1);
}

.iOsChrome [data-move*="zoom"] {
  opacity: 1;
  transition: none;
}

[data-move="zoomInBounce"] {
  transform: scale(1);
}

[data-move="zoomOutBounce"] {
  transform: scale(2);
}

[data-move="zoomInElastic"] {
  transform: scale(0);
}

[data-move="zoomOutElastic"] {
  transform: scale(1);
}

.is-scrollin [data-move="zoomInBounce"] {
  animation: scale-easeInBounce reverse 1.2s;
}

.is-scrollin [data-move="zoomOutBounce"] {
  animation: scale-easeOutBounce 1.2s;
}

.is-scrollin [data-move="zoomInElastic"] {
  animation: scale-easeInElastic reverse 1.2s;
}

.is-scrollin [data-move="zoomOutElastic"] {
  animation: scale-easeOutElastic 1.2s;
}

[data-move="zoom"] {
  position: relative;
  overflow: hidden;
}

[data-move="zoom"] img {
  transform: scale(1);
  transition: transform 0.5s ease;
}

[data-move="zoom"]:hover img,
[data-move="zoom"].is-touch img {
  transform: scale(1.03);
}

[data-delay="delay00"] {
  transition-delay: 0s !important;
  animation-delay: 0s !important;
}

[data-delay="delay01"] {
  transition-delay: 0.1s !important;
  animation-delay: 0.1s !important;
}

[data-delay="delay02"] {
  transition-delay: 0.2s !important;
  animation-delay: 0.2s !important;
}

[data-delay="delay03"] {
  transition-delay: 0.3s !important;
  animation-delay: 0.3s !important;
}

[data-delay="delay04"] {
  transition-delay: 0.4s !important;
  animation-delay: 0.4s !important;
}

[data-delay="delay05"] {
  transition-delay: 0.5s !important;
  animation-delay: 0.5s !important;
}

[data-delay="delay06"] {
  transition-delay: 0.6s !important;
  animation-delay: 0.6s !important;
}

[data-delay="delay07"] {
  transition-delay: 0.7s !important;
  animation-delay: 0.7s !important;
}

[data-delay="delay08"] {
  transition-delay: 0.8s !important;
  animation-delay: 0.8s !important;
}

[data-delay="delay09"] {
  transition-delay: 0.9s !important;
  animation-delay: 0.9s !important;
}

[data-delay="delay10"] {
  transition-delay: 1s !important;
  animation-delay: 1s !important;
}

[data-delay="delay11"] {
  transition-delay: 1.1s !important;
  animation-delay: 1.1s !important;
}

[data-delay="delay12"] {
  transition-delay: 1.2s !important;
  animation-delay: 1.2s !important;
}

[data-delay="delay13"] {
  transition-delay: 1.3s !important;
  animation-delay: 1.3s !important;
}

[data-delay="delay14"] {
  transition-delay: 1.4s !important;
  animation-delay: 1.4s !important;
}

[data-delay="delay15"] {
  transition-delay: 1.5s !important;
  animation-delay: 1.5s !important;
}

[data-delay="delay16"] {
  transition-delay: 1.6s !important;
  animation-delay: 1.6s !important;
}

[data-delay="delay17"] {
  transition-delay: 1.7s !important;
  animation-delay: 1.7s !important;
}

[data-delay="delay18"] {
  transition-delay: 1.8s !important;
  animation-delay: 1.8s !important;
}

[data-delay="delay19"] {
  transition-delay: 1.9s !important;
  animation-delay: 1.9s !important;
}

[data-delay="delay20"] {
  transition-delay: 2s !important;
  animation-delay: 2s !important;
}

[data-delay="delay31"] {
  transition-delay: 2.1s !important;
  animation-delay: 2.1s !important;
}

[data-delay="delay32"] {
  transition-delay: 2.2s !important;
  animation-delay: 2.2s !important;
}

[data-delay="delay33"] {
  transition-delay: 2.3s !important;
  animation-delay: 2.3s !important;
}

[data-delay="delay34"] {
  transition-delay: 2.4s !important;
  animation-delay: 2.4s !important;
}

[data-delay="delay35"] {
  transition-delay: 2.5s !important;
  animation-delay: 2.5s !important;
}

[data-delay="delay36"] {
  transition-delay: 2.6s !important;
  animation-delay: 2.6s !important;
}

[data-delay="delay37"] {
  transition-delay: 2.7s !important;
  animation-delay: 2.7s !important;
}

[data-delay="delay38"] {
  transition-delay: 2.8s !important;
  animation-delay: 2.8s !important;
}

[data-delay="delay39"] {
  transition-delay: 2.9s !important;
  animation-delay: 2.9s !important;
}

[data-delay="delay30"] {
  transition-delay: 3s !important;
  animation-delay: 3s !important;
}

@keyframes scale-easeInBounce {
  0% {
    transform: scale(1);
  }

  4% {
    transform: scale(0.98);
  }

  8% {
    transform: scale(0.99);
  }

  18% {
    transform: scale(0.94);
  }

  26% {
    transform: scale(0.98);
  }

  46% {
    transform: scale(0.75);
  }

  64% {
    transform: scale(0.98);
  }

  76% {
    transform: scale(0.44);
  }

  88% {
    transform: scale(0.11);
  }

  100% {
    transform: scale(0);
  }
}

@keyframes scale-easeOutBounce {
  0% {
    transform: scale(2);
  }

  12% {
    transform: scale(1.89);
  }

  24% {
    transform: scale(1.56);
  }

  36% {
    transform: scale(1.02);
  }

  54% {
    transform: scale(1.25);
  }

  74% {
    transform: scale(1.02);
  }

  82% {
    transform: scale(1.06);
  }

  92% {
    transform: scale(1.01);
  }

  96% {
    transform: scale(1.02);
  }

  100% {
    transform: scale(1);
  }
}

@keyframes scale-easeInElastic {
  0% {
    transform: scale(1);
  }

  4% {
    transform: scale(1);
  }

  8% {
    transform: scale(1);
  }

  14% {
    transform: scale(1);
  }

  18% {
    transform: scale(1);
  }

  26% {
    transform: scale(1.01);
  }

  28% {
    transform: scale(1.01);
  }

  40% {
    transform: scale(0.98);
  }

  42% {
    transform: scale(0.98);
  }

  56% {
    transform: scale(1.05);
  }

  58% {
    transform: scale(1.04);
  }

  72% {
    transform: scale(0.87);
  }

  86% {
    transform: scale(1.37);
  }

  100% {
    transform: scale(0);
  }
}

@keyframes scale-easeInElastic2 {
  0% {
    transform: scale(1);
  }

  4% {
    transform: scale(1);
  }

  8% {
    transform: scale(1);
  }

  14% {
    transform: scale(1);
  }

  18% {
    transform: scale(1);
  }

  26% {
    transform: scale(1.01);
  }

  28% {
    transform: scale(1.01);
  }

  40% {
    transform: scale(0.98);
  }

  42% {
    transform: scale(0.98);
  }

  56% {
    transform: scale(1.03);
  }

  58% {
    transform: scale(1.02);
  }

  72% {
    transform: scale(0.92);
  }

  86% {
    transform: scale(1.18);
  }

  100% {
    transform: scale(0);
  }
}

@keyframes scale-easeOutElastic {
  0% {
    transform: scale(0);
  }

  16% {
    transform: scale(0.68);
  }

  28% {
    transform: scale(1.13);
  }

  44% {
    transform: scale(0.95);
  }

  59% {
    transform: scale(1.02);
  }

  73% {
    transform: scale(0.99);
  }

  88% {
    transform: scale(1);
  }

  100% {
    transform: scale(1);
  }
}

@keyframes bgSwitch {
  0% {
    background-image: url(../images/mv-stars.svg);
  }

  50% {
    background-image: url(../images/mv-stars2.svg);
  }

  100% {
    background-image: url(../images/mv-stars.svg);
  }
}

@keyframes bgSwitch--mo {
  0% {
    background-image: url(../images/mv-stars--mo.svg);
  }

  50% {
    background-image: url(../images/mv-stars2--mo.svg);
  }

  100% {
    background-image: url(../images/mv-stars--mo.svg);
  }
}

.p-form__link {
  color: hsl(210, 83%, 47%);
}

.p-form__link:link {
  text-decoration: underline;
}

.p-form__tag .check_list li {
  list-style-type: none;
}

.p-form__tag .check_list li input[type="checkbox"]{
  vertical-align: middle;
}

.p-form__tag .check_list li label {
  padding-left: .25em;
}

.p-form__tag .txt_c {
  text-align: center;
}

.p-form__tag input[type="submit"] {
    padding-inline: 1.5em;
    transition: .3s;
    color: var(--theme-color-light);
    text-align: center;
    border: none;
    background-color: var(--theme-color-primary);
    border-radius: 3px;
    cursor: pointer;
    min-width: 260px;
    padding: 0.65em;
    margin: 30px auto 0;
}

.p-form__tag #submitbtn[disabled] {
  border-color: #eee;
  background-color: #eee;
  color: #fff;
}

.p-form__tag .hissu {
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.5em;
  padding: 0.25em 0.5em;
  border-radius: 3px;
  font-size: 12px;
  color: #fff;
  background-color: #BE2727;
}

.p-form__tag .ninni {
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.5em;
  padding: 0.25em 0.5em;
  font-size: 12px;
  color: #fff;
  border-radius: 3px;
  background-color: hsl(210, 83%, 47%);
}

.p-form__tag textarea {
  width: 100%;
}


@media screen and (min-width: 768px) {
  .p-form__flex {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
  }
  .p-form__name {
    width: calc(50% - 30px);
  }
  .kairos_form .w70 {
    width: 70%;
  }
  .p-form__tag input[type="submit"]:hover {
    background-color: hsl(210, 83%, 47%);
  }

  .p-form__tag input[type="submit"] {
    padding-inline: 1.5em;
    transition: .3s;
    color: var(--theme-color-light);
    text-align: center;
    border: none;
    background-color: var(--theme-color-primary);
    border-radius: 3px;
    cursor: pointer;
    min-width: 260px;
    padding: 0.65em;
    margin: 60px auto 0;
}

}

.p-form__name input {
  width: 100%;
}

.kairos_form .w100 {
  width: 100%;
}

.kairos_form>div textarea {
  height: 170px;
}



.privacy_detail>div {
  background-color: var(--theme-color-light);
  font-size: 1rem;
  width: 100%;
  padding: 10px;
  max-height: 20em;
  overflow: auto;
  margin-top: 2rem;
}
.kairos_form>div p {
    font-weight: bold;
    padding-right: 10px;
}

.kairos_form .privacy_detail p {
  margin-bottom: 15px;
  color: #000;
}


.check_privacy{ margin-top:30px; }
.check_privacy label {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}

.check_privacy label input#privacy {
  width: auto;
  transform: scale(2);
  outline: 1.5px solid #105fad;
  outline-offset: -1px;
  margin-right: 16px;
}

@media screen and (max-width: 767px) {
  .kairos_form .privacy_detail p {
    width: 100%;
  }
}

.seminar_banner {
  margin-bottom: 3.125em;
}
.seminar_banner a {
  display: flex;
  justify-content: center;
}
.seminar_banner a:hover {
  opacity: 0.8;
}