
/* hero */

.ob-hero {
  display: flex;
  justify-content: center;
  position: relative;
  background-image: linear-gradient(90deg, #FFEC9F, #FFDC4C);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.ob-hero > .wp-block-group__inner-container {
  padding: 50px 20px 60px;
  width: 100%;
  max-width: 1500px;
}
.ob-hero .wp-block-columns {
  display: flex;
  gap: 91px;
  margin: 0;
}
.ob-hero .wp-block-columns > .wp-block-column {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  flex-basis: auto;
}
.ob-hero .wp-block-columns > .wp-block-column:first-child {
  flex-basis: 55%;
}
.ob-hero__logo {
  margin: 8px 0 0;
}
.ob-hero__copy {
  display: flex;
  align-items: center;
  gap: 16px;
  font-size: 28px;
  line-height: 1.4;
  font-weight: bold;
  margin-bottom: 16px;
  color: #000;
}

.ob-hero__copy span {
  font-size: 20px;
  background: #000;
  color: #fff;
  padding: 8px 16px;
}
.ob-hero__catch {
  margin-top: 32px;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.6;
  color: #000;
}
.ob-hero__button {
  width: 680px;
  max-width: 100%;
  margin-top: 32px;
}


/* problem */
.ob-problem {
  background: #fff;
  display: flex;
  justify-content: center;
  position: relative;
}
.ob-problem > .wp-block-group__inner-container {
  width: 100%;
  max-width: 1100px;
  padding: 64px 20px;
}
.ob-problem .wp-block-columns .wp-block-column {
  flex-basis: auto;
  flex-grow: 1;
  flex-shrink: 1;
}
.ob-problem .wp-block-columns .wp-block-column:last-child {
  flex-basis: 160px;
  flex-grow: 0;
}
.ob-problem__catch {
  font-size: 38px;
  font-weight: bold;
  line-height: 1.4;
  color: #000;
  text-align: center;
}
.ob-problem__catch span{
  color: #F28C00;
}
.ob-problem__list {
  font-size: 28px;
  line-height: 1.7;
  padding: 0;
}
.ob-problem__list strong {
  color: #F2705B;
  background: linear-gradient(transparent 60%, #FFF59D 60%);
}
.ob-problem__list li{
  list-style-type: none;
  display: flex;
}
.ob-problem__list li::before {
  content:url(../img/check.svg);
  display: inline-block;
  width: 30px;
  height: auto;
  margin-right: 10px;
  flex-grow: 0;
}

/* solution */

.ob-solution {
  position: relative;
  background: #F2F6E2;
}
.ob-solution::before {
  position: absolute;
  top: -15px;
  left: 50%;
  margin-left: -32px;
  border: 40px solid transparent;
  border-top: 32px solid #F28C00;
  content: "";
}
.ob-solution>.wp-block-group__inner-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: 1600px;
  padding: 64px 20px 44px;
}

.ob-solution__heading>.wp-block-group__inner-container {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.ob-solution__heading p {
  font-size: 24px;
  font-weight: bold;
  color: #000;
}
.ob-solution__heading .wp-block-columns {
  gap: 0;
}
.ob-solution__heading .wp-block-columns img {
  width: 380px;
}
.ob-solution__heading .wp-block-columns p {
  font-size: 32px;
}
.ob-solution__columns {
  justify-content: space-between;
  margin-top: 30px;
}
.ob-solution__columns > .wp-block-column:last-child {
  flex-basis: 540px;
}
.ob-solution__columns p{
  font-size: 24px;
}
.ob-solution #btn-top {
  position: relative;
  cursor: pointer;
}
.ob-solution #btn-top::after {
  position: absolute;
  content: url(../img/playicon.svg);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: transform 0.2s ease-in-out;
}
.ob-solution #btn-top:hover::after {
  transform: translate(-50%, -50%) scale(1.1);
}

/* features */

.ob-features {
  position: relative;
  background-image: linear-gradient(90deg, #FFEC9F, #FFDC4C);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  overflow: hidden;
}

.ob-features > .wp-block-group__inner-container {
  position: relative;
  display: flex;
  z-index: 1;
  flex-direction: column;
  align-items: center;
  padding: 48px 20px 60px;
  max-width: 1460px;
  margin-inline: auto;
}
.ob-features > .wp-block-group__inner-container>:first-child {
  margin-left: auto;
}

.ob-features__heading {
  position: relative;
  display: flex;
  align-items: center;
  font-weight: bold;
  font-size: 44px;
  line-height: 64px;
  color: #000;
  margin-right: 45px;
  margin-bottom: 35px;
  z-index: 1;
}
.ob-features__heading img {
  width: 440px;
}
.ob-features__heading strong {
  font-size: 90px;
  line-height: 81px;
  font-style: italic;
  color: #F28C00;
}
.ob-features__heading::after {
  content: "Feature";
  position: absolute;
  font-size: 60px;
  color: #FFF59D;
  font-weight: bold;
  font-style: italic;
  z-index: -1;
  top: -45px;
  right: -45px;
}
.ob-features__list {
  /* max-width: 1260px; */
  margin-block: 30px;
  padding: 0 30px;
}
.ob-features__list .wp-block-group__inner-container {
  display: flex;
  flex-direction: column;
  gap: 80px;
}
.ob-features__item {
  position: relative;
  align-items: center;
  justify-content: space-between;
  gap: 0;
  z-index: 1;
  border-radius: 10px;
}

.ob-features__item:nth-child(2n) {
  flex-direction: row-reverse;
}

.ob-features__item>.wp-block-column:first-child {
  flex-basis: 58%;
  padding: 63px 80px;
  background: #fff;
  margin-top: 60px;
  position: relative;
  z-index: 2;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
}
.ob-features__item>.wp-block-column:first-child::before {
  content: "01";
  font-size: 100px;
  font-weight: bold;
  line-height: 1;
  position: absolute;
  color: #FFF5CC;
  top: 0;
  left: 10px;
  z-index: -1;
  transform: matrix(1, 0, -0.29, 0.96, 0, 0);
}
.ob-features__item:nth-child(2)>.wp-block-column:first-child::before {
  content: "02";
}
.ob-features__item:nth-child(3)>.wp-block-column:first-child::before {
  content: "03";
}
.ob-features__item:nth-child(4)>.wp-block-column:first-child::before {
  content: "04";
}
.ob-features__item>.wp-block-column:nth-child(2) {
  position: absolute;
  width: 52%;
  height: auto;
  top: 0;
  right: 0;
}
.ob-features__item:nth-child(2n)>.wp-block-column:nth-child(2) {
  left: 0;
}

.ob-features__item .item-label {
  display: inline-block;
  font-weight: bold;
  font-size: 14px;
  color: #fff;
  background: #F28C00;
  flex-shrink: 0;
  padding: 4px 24px;
  border-radius: 20px;
}
.ob-features__item h3 {
  font-weight: bold;
  font-size: 28px;
  line-height: 38px;
  margin: 16px 0 24px;
}

.ob-features__item h3 strong{
  color: #F28C00;
}

.ob-features__item .wp-block-columns > .wp-block-column:nth-child(2) {
  flex-shrink: 0;
}
.ob-features__item ul li {
  position: relative;
  list-style: none;
}
.ob-features__item ul li::before {
  border-radius: 50%;
  width: 8px;
  height: 8px;
  display: block;
  position: absolute;
  left: -20px;
  top: 0.6em;
  content: "";
  background: #f3c521;
}

.ob-features__button {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: 800px;
  margin-top: 36px;
}


/* alignment */

.ob-alignment {
  position: relative;
  background: #f3f3f3;
}

.ob-alignment>.wp-block-group__inner-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: 1420px;
  padding: 64px 20px;
  margin-inline: auto;
}

.ob-alignment__heading {
  text-align: center;
  font-size: 38px;
  line-height: 1.6;
  color: #000;
}

.ob-alignment__heading img {
  width: 380px;
  height: auto;
  vertical-align: bottom;
}
.ob-alignment__description {
  text-align: center;
  margin-bottom: 32px;
}
.ob-alignment .vb-x-ob {
  position: relative;
  background-image: linear-gradient(45deg, #fff, #ddd);
  padding: 50px 50px 60px;
  border-radius: 10px;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
}
.ob-alignment .vb-x-ob::before,
.ob-alignment .vb-x-ob::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 6px;
  height: 200px;
  border-radius: 2.5px;
  background: #ccc;
}

.ob-alignment .vb-x-ob::before {
  transform: translate(-50%,-50%) rotate(45deg);
}

.ob-alignment .vb-x-ob::after {
  transform: translate(-50%,-50%) rotate(-45deg);
}
.ob-alignment .vb-x-ob h3 {
  font-size: 40px;
  font-weight: bold;
  color: #000;
  text-align: center;
  margin: 0 0 36px;
}

.ob-alignment__columns {
  display: flex;
  justify-content: space-between;
  width: 100%;
}
.ob-alignment__columns>.wp-block-column {
  flex-basis: 41%;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.ob-alignment__columns .balloon {
  color: #fff;
  font-size: 16px;
  width: 100%;
  text-align: center;
  border-radius: 50px;
  padding-block: 6px;
  font-weight: bold;
  margin-bottom: 32px;
  position: relative;
}
.ob-alignment__columns .balloon::after {
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -10px;
  border: 10px solid transparent;
  content: "";
}
.ob-alignment__columns .balloon-red {
  background: #e60012;
}
.ob-alignment__columns .balloon-red::after {
  border-top: 10px solid #e60012;
}
.ob-alignment__columns .balloon-yellow {
  background: #F3C521;
}
.ob-alignment__columns .balloon-yellow::after {
  border-top: 10px solid #F3C521;
}
.ob-alignment__columns .logo {
  width: 60%;
  margin-bottom: 16px;
}
.ob-alignment__columns .logo img {
  width: 100%;
}
.ob-alignment__columns .pc-img {
  width: 100%;
  margin-bottom: 32px;
}
.ob-alignment__columns .pc-img img {
  width: 100%;
  height: auto;
}
.ob-alignment__button {
  width: 85%;
}
/* client */

.ob-client {
  padding-top: 80px;
}
.ob-client > .wp-block-group__inner-container {
  width: 100%;
  max-width: 1600px;
  margin-inline: auto;
  padding: 0 15px;
}
.ob-client > .wp-block-group__inner-container h2 {
  font-weight: 700;
  font-size: 40px;
  line-height: 58px;
  text-align: center;
  color: #222;
}
.ob-client > .wp-block-group__inner-container .wp-block-gallery {
  gap: 0;
  margin-top: 28px;
  justify-content: center;
}
.ob-client > .wp-block-group__inner-container .wp-block-gallery figure {
  max-width: calc(100% / 5) !important;
  margin: 0 !important;
}

.ob-interview > .wp-block-group__inner-container,
.ob-functions > .wp-block-group__inner-container,
.ob-plan > .wp-block-group__inner-container,
.ob-qa > .wp-block-group__inner-container {
  width: 100%;
  max-width: 1440px;
  margin-inline: auto;
  padding: 0 32px;
}
.ob-interview .interview-article__link {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 32px;
  padding: 32px;
  margin-top: 32px;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
  transition: .2s all;
}
.ob-interview .interview-article__link:hover {
  background: #FFF59D;
}
.ob-interview .interview-article__thumbnail {
  flex-basis: 450px;
  aspect-ratio: 1.5/1;
  flex-shrink: 0;
}
.ob-interview .interview-article__thumbnail img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}
.ob-interview .interview-article__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 32px;
  justify-content: space-between;
}
.ob-interview .interview-article__text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
}
.ob-interview .interview-article__text .title {
  font-weight: 700;
  font-size: 26px;
  line-height: 38px;
}
.ob-interview .interview-article__bottom {
  display: flex;
  width: 100%;
  justify-content: space-between;
  flex-direction: row;
  align-items: flex-end;
  gap: 16px;
}
.ob-interview .interview-article__company {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 10px;
}
.ob-interview .interview-article__company .company-logo {
  height: 32px;
}
.ob-interview .interview-article__company .company-logo img {
  height: 100%;
}
.ob-interview .interview-article__company .company-name {
  font-size: 14px;
  line-height: 20px;
  color: #000000;
}

/* functions */

.ob-functions {
  position: relative;
  background: #fff;
}
.ob-functions > .wp-block-group__inner-container {
  width: 100%;
  max-width: 1440px;
  margin-inline: auto;
  padding: 100px 32px 48px;
}
.ob-functions__heading {
  position: relative;
  font-size: 42px;
  color: #000;
  margin-left: 45px;
  margin-top: 0;
  z-index: 1;
}
.ob-functions__heading::after {
  content: "Functions";
  position: absolute;
  font-size: 60px;
  color: #FAF6E2;
  font-weight: bold;
  font-style: italic;
  z-index: -1;
  top: -45px;
  left: -45px;
}
.ob-functions .tabs {
  position: relative;
  margin-top: 64px;
}
.ob-functions .tabs > .wp-block-group__inner-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: 1200px;
  margin-inline: auto;
}
.ob-functions .tabs .prevtab, .ob-functions .tabs .nexttab {
  position: absolute;
  cursor: pointer;
  top: 50%;
  bottom: 0;
  margin-block: auto;
  transition: .2s all;
}
.ob-functions .tabs .prevtab:hover, .ob-functions .tabs .nexttab:hover {
  opacity: .8;
}
.ob-functions .tabs .prevtab {
  left: 0;
}
.ob-functions .tabs .nexttab {
  right: 0;
}
.ob-functions .tab {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  padding: 0px;
  gap: 16px;
  width: 100%;
}
.ob-functions .tab li {
  flex: 1;
  list-style-type: none;
}
.ob-functions .tab li a {
  display: block;
  width: 100%;
  padding-block: 16px;
  border: 1px solid #DDDDDD;
  font-size: 20px;
  line-height: 29px;
  text-align: center;
  transition: .2s all;
  text-decoration: none;
  color: #222;
}
.ob-functions .tab li a:hover {
  background: #FFFDE7;
}
.ob-functions .tab li.active a {
  font-weight: bold;
  color: #F57F17;
  border: 1px solid #F57F17;
}
.ob-functions .area {
  display: none;
  width: 100%;
}
.ob-functions .area.is-active {
  display: block;
}
.ob-functions .area > .wp-block-group__inner-container {
  min-height: 400px;
  padding: 32px 40px 40px;
}
.ob-functions .area h3 {
  font-weight: 700;
  font-size: 28px;
  line-height: 41px;
  margin-bottom: 32px;
}
.ob-functions .items > .wp-block-group__inner-container {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
}
.ob-functions .items > .wp-block-group__inner-container .wp-block-columns {
  gap: 16px;
}
.ob-functions .items > .wp-block-group__inner-container .wp-block-columns .wp-block-column {
  flex: auto;
}
.ob-functions .items > .wp-block-group__inner-container .wp-block-columns .wp-block-column:has(figure) {
  flex-grow: 0;
}
.ob-functions .items > .wp-block-group__inner-container .wp-block-columns .wp-block-column h4 {
  font-weight: 700;
  font-size: 18px;
  line-height: 26px;
  margin-bottom: 8px;
}
.ob-functions .security {
  width: 100%;
  max-width: 1200px;
  margin: 48px auto 0;
  gap: 24px;
}
.ob-functions .security > .wp-block-column:first-child {
  flex-basis: auto;
  flex-shrink: 0;
}
.ob-functions .security > .wp-block-column:first-child .wp-block-columns {
  gap: 16px;
}
.ob-functions .security > .wp-block-column:first-child .wp-block-columns .wp-block-column {
  flex-grow: 1;
  flex-basis: auto;
}
.ob-functions .security > .wp-block-column:first-child .wp-block-columns .wp-block-image figcaption {
  font-size: 10px;
  line-height: 14px;
  margin: 8px 0 0;
  text-align: center;
}
.ob-functions .security > .wp-block-column:nth-child(2) {
  flex-basis: auto;
}
.ob-functions .security > .wp-block-column:nth-child(2) p {
  font-size: 12px;
  line-height: 17px;
}
.ob-functions .security > .wp-block-column:nth-child(2) p:has(strong) {
  font-weight: 700;
  font-size: 14px;
  line-height: 20px;
  margin-bottom: 8px;
}

/* case */

.ob-case {
  position: relative;
  background: #fff;
}

.ob-case>.wp-block-group__inner-container {
  max-width: 1420px;
  width: 100%;
  margin-inline: auto;
  padding: 10px 20px 48px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.ob-case__heading {
  position: relative;
  font-size: 42px;
  color: #000;
  width: 100%;
  text-align: right;
  margin-right: 60px;
  z-index: 1;
}
.ob-case__heading::after {
  content: "Case";
  position: absolute;
  font-size: 60px;
  color: #FAF6E2;
  font-weight: bold;
  font-style: italic;
  z-index: -1;
  top: -45px;
  right: -45px;
}
.ob-case h3 {
  font-size: 32px;
  color: #000;
  margin-bottom: 5px;
}
.ob-case .notes {
  font-size: 14px;
  color: #000;
  font-weight: bold;
}
.ob-case__interview {
  padding: 32px;
  box-shadow: 0px 0px 10px rgba(0,0,0,0.1);
  gap: 32px;
}
.ob-case__interview .wp-block-column:first-child {
  flex-basis: 37%;
  flex-shrink: 0;
}
.ob-case__interview h3 {
  font-size: 28px;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 16px;
}
.ob-case__interview .company-logo {
  text-align: right;
  margin-top: 10px;
}
.ob-case__interview .company-logo img {
  width: auto;
  height: 32px;
}
.ob-case__interview .company-name {
  font-size: 12px;
  text-align: right;
}

.ob-case__gallery.is-layout-flex {
  flex-wrap: wrap;
  justify-content: center;
  gap: 0 !important;
  margin-block: 30px;
}
.ob-case__gallery figure{
  flex-basis: 25%;
}
.ob-case__gallery figure img{
  width: 100%;
  height: auto;
}
/* plan */
.ob-plan {
  background: #F3F3F3;
}
.ob-plan > .wp-block-group__inner-container {
  max-width: 1500px;
  padding: 100px 32px 48px;
}
.ob-plan__heading {
  position: relative;
  font-size: 42px;
  color: #000;
  margin-left: 45px;
  margin-top: 0;
  z-index: 2;
}
.ob-plan__heading::after {
  content: "Plan";
  position: absolute;
  font-size: 60px;
  color: #fff;
  font-weight: bold;
  font-style: italic;
  z-index: -1;
  top: -45px;
  left: -45px;
}
.ob-plan .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table > table {
  margin-block: 32px;
}
.ob-plan figcaption {
  max-width: 1200px;
  margin-inline: auto;
  font-size: 14px;
  text-align: right;
}
.plan-table-pc table{
  width: 1200px;
  table-layout: fixed;
  border-collapse: collapse;
  margin-inline: auto;
}
.plan-table-pc thead{
  color: #fff;
}
.plan-table-pc thead tr th{
  border: 1px solid #ccc;
  padding-block: 12px;
}
.plan-table-pc thead tr th:first-child{
  background: #424242;
}
.plan-table-pc thead tr th:nth-child(2){
  background: #F3C521;
}
.plan-table-pc thead tr th:nth-child(3){
  background: #EEB800;
}
.plan-table-pc thead tr th:last-child{
  background: #F28A11;
}
.plan-table-pc tbody{
  text-align: center;
}
.plan-table-pc tbody tr td {
  background: #fff;
  border: 1px solid #ccc;
  font-weight: bold;
  padding-block: 12px;
}
.plan-table-pc tbody tr:nth-child(2n) td {
  background: #FAF6E2;
}
.plan-table-pc tbody tr td:first-child{
  background: #EFEFEF;
}
.plan-table-sp {
  display: none;
}

.ob-link {
  padding: 56px 0;
  background: #faf6e2;
}
.ob-link__paragraph {
  margin-bottom: 32px;
  font-size: 28px;
  font-weight: 700;
  line-height: 41px;
  text-align: center;
}
.ob-link .link-items {
  gap: 16px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  max-width: 1200px;
  margin: 0 auto;
}
.ob-link .link-items a.link-item {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: start;
  height: 6rem;
  padding: 0 2.4rem;
  border: 1px solid #424242;
  border-radius: 8px;
  background: #fff;
  color: #424242;
  font-size: 16px;
  font-weight: bold;
  line-height: 20px;
  text-decoration: none;
}
.ob-link .link-items a.link-item::before {
  z-index: 2;
  position: absolute;
  right: 14px;
  width: 10px;
  height: 10px;
  margin: 0 10px;
  transform: rotate(45deg);
  border-top: 2px solid #424242;
  border-right: 2px solid #424242;
  content: "";
  transition: .2s;
}
.ob-link .link-items a.link-item:hover::before {
  right: 6px;
}

.sticky__link {
  writing-mode: vertical-rl;
  font-weight: bold;
  color: #fff;
  text-decoration: none;
  /* background-image: linear-gradient(0deg, #0aa143, #0cba4d); */
  background: #e8380d;
  padding: 30px 15px;
  font-size: 20px;
  position: fixed;
  right: -5px;
  top: 50%;
  transform: translateY(-50%);
  border: 2px solid #fff;
  border-radius: 5px;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
  opacity: 0;
  transition: all .2s;
  opacity: 0;
  z-index: -1;
}
.sticky__link.scrolled {
  opacity: 1;
  z-index: 9;
}
.sticky__link.scrolled:hover {
  background: #ea4b25;
}

@media (min-width: 1280px) {
  .ob-problem::after {
    z-index: 2;
    position: absolute;
    bottom: -100px;
    right: 0;
    width: 8%;
    border-top: 100px solid #fff;
    border-left: 100px solid transparent;
    content: "";
  }
  .ob-solution::after {
    z-index: 2;
    position: absolute;
    bottom: -100px;
    left: -3%;
    width: 8%;
    transform: skew(-45deg);
    border-top: 100px solid #F2F6E2;
    content: "";
  }
  .ob-features > .wp-block-group__inner-container {
    margin-top: 50px;
    margin-bottom: 100px;
  }
  .ob-alignment>.wp-block-group__inner-container {
    padding-top: 0;
  }
  .ob-alignment__heading {
    margin-top: 0;
  }
  .ob-alignment::before {
    z-index: 2;
    position: absolute;
    top: -100px;
    left: 0;
    width: 98vw;
    content: "";
    border-bottom: 100px solid #f3f3f3;
    border-right: 100px solid transparent;
  }
  .ob-alignment::after {
    z-index: 2;
    position: absolute;
    bottom: -100px;
    left: -3%;
    width: 8%;
    transform: skew(-45deg);
    border-top: 100px solid #f3f3f3;
    content: "";
  }
  .ob-case::after {
    z-index: 2;
    position: absolute;
    bottom: -100px;
    right: 0;
    width: 8%;
    border-top: 100px solid #fff;
    border-left: 100px solid transparent;
    content: "";
  }
}

/* 1280px以下 */

@media (max-width: 1280px) {
  .ob-hero {
      padding: 32px 16px;
      background-position: 65% 50%;
  }
  .ob-hero > .wp-block-group__inner-container {
      padding: 0;
      max-width: 600px;
  }
  .ob-hero .wp-block-columns {
      flex-direction: column;
      gap: 16px;
      align-items: center;
  }
  .ob-hero .wp-block-columns > .wp-block-column {
      display: contents;
  }
  .ob-hero .wp-block-columns > .wp-block-column:first-child p.catch {
      font-size: 19px;
      line-height: 28px;
      text-align: center;
      width: fit-content;
      margin: 0;
      padding-bottom: 8px;
  }
  .ob-hero .wp-block-columns > .wp-block-column:first-child p.catch strong {
      font-size: 28px;
      line-height: 40px;
  }
  .ob-hero__button {
      order: 1;
      max-width: 100%;
      margin-top: 8px;
  }
  .ob-hero .wp-block-columns > .wp-block-column:first-child figure {
      margin: 0;
  }
  .ob-hero .wp-block-columns > .wp-block-column .wp-block-image {
      max-width: 343px;
      margin-top: 8px;
  }
  .ob-hero figure img {
    width: 100%;
    height: auto;
  }
  .ob-hero__catch {
    margin-top: 0;
  }
  .ob-hero__copy {
    font-size: 20px;
    line-height: 20px;
  }
  .ob-hero__copy span {
    font-size: 14px;
  }

  /* problem */
  .ob-problem .wp-block-columns {
    flex-direction: column;
  }
  .ob-problem__catch {
    font-size: 28px;
  }
  .ob-problem__list li {
    font-size: 20px;
  }

  /* solution */
  .ob-solution > .wp-block-group__inner-container {
      padding: 32px 16px;
      gap: 32px;
  }
  .ob-solution .wp-block-columns:first-child {
      flex-direction: column;
      align-items: center;
      max-width: 600px;
      gap: 16px;
  }
  .ob-solution .wp-block-columns:first-child .wp-block-column:first-child {
      align-items: center;
      gap: 16px;
      max-width: 332px;
  }
  .ob-solution .wp-block-columns:first-child .wp-block-column p {
      font-size: 16px;
      line-height: 23px;
  }
  .ob-solution .wp-block-columns:first-child .wp-block-column ul li {
      display: flex;
      align-items: center;
      font-size: 20px;
      line-height: 29px;
  }
  .ob-solution .wp-block-columns:first-child .wp-block-column ul li:first-child {
      margin-bottom: 16px;
  }
  .ob-solution .wp-block-columns:first-child .wp-block-column ul li::before {
      transform: scale(0.6) translateX(-10px);
      width: 30px;
      margin: 0;
  }
  .ob-solution .wp-block-columns {
      flex-direction: column;
      align-items: center;
      max-width: 600px;
  }
  .ob-solution__columns {
    margin-top: 0;}
  .ob-solution__columns p {
    font-size: 20px;
  }
  .ob-solution .wp-block-columns:nth-child(2)::before {
      top: -45px;
  }
  .ob-solution .wp-block-columns:nth-child(2) .wp-block-column {
      flex: auto;
  }
  .ob-solution .wp-block-columns:nth-child(2) .wp-block-column:first-child {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 16px;
  }
  .ob-solution .wp-block-columns:nth-child(2) .wp-block-column:first-child .wp-block-group__inner-container {
      flex-direction: column;
      height: auto;
      gap: 8px;
  }
  .ob-solution .wp-block-columns:nth-child(2) .wp-block-column:first-child .wp-block-group__inner-container p {
      font-size: 24px;
      line-height: 35px;
  }
  .ob-solution .wp-block-columns:nth-child(2) .wp-block-column:first-child .wp-block-group__inner-container figure {
      width: 280px;
  }
  .ob-solution .wp-block-columns:nth-child(2) .wp-block-column:nth-child(2) {
      position: relative;
  }
  .ob-solution .wp-block-columns:nth-child(2) .wp-block-column:nth-child(2) p {
      left: 225px;
      top: -58.41px;
  }
  .ob-solution .wp-block-columns:nth-child(2) .wp-block-column:nth-child(2) p span {
      width: 110px;
      height: 110px;
  }
  .ob-solution .wp-block-columns:nth-child(2) .wp-block-column:nth-child(2) p span strong {
      font-size: 14px;
      line-height: 20px;
  }
  .ob-solution .wp-block-columns:nth-child(2) .wp-block-column:nth-child(2) .wp-block-image {
      width: 360px;
  }

  /* features */
  .ob-features {
      padding: 32px 16px;
  }
  .ob-features::after {
      top: -577px;
      left: -50%;
      width: 563px;
      height: 563px;
      top: -273px;
  }
  .ob-features > .wp-block-group__inner-container {
      max-width: 600px;
      margin-inline: auto;
      padding: 0;
  }
  .ob-features__heading::after {
    top: -20px;
  }
  .ob-features__heading img {
    width: 280px;
  }
  .ob-features__heading strong {
    font-size: 47px;
  }
  .ob-features__list {
      padding: 0;
  }
  .ob-features__list .wp-block-group__inner-container {
    gap: 40px;
  }
  .ob-features__list .wp-block-columns {
      /* padding: 20px; */
      /* background: #fff; */
      /* gap: 16px; */
      flex-direction: column;
      position: relative;
      align-items: center;
  }
  .ob-features__list .wp-block-columns > .wp-block-column {
      flex: auto;
  }
  .ob-features__list .wp-block-columns > .wp-block-column:first-child {
    width: 100%;
    order: 2;
    margin-top: 0;
    padding: 20px;
  }
  .ob-features__item>.wp-block-column:first-child::before {
    left: auto;
    right: 0;
  }
  .ob-features__list .wp-block-columns > .wp-block-column:first-child .wp-block-group h3 {
      font-size: 22px;
      line-height: 32px;
      margin-bottom: 16px;
  }
  .ob-features__list .wp-block-columns > .wp-block-column:first-child .wp-block-group p:has(a) {
      margin-top: 24px;
      text-align: right;
  }
  .ob-features__list .wp-block-columns > .wp-block-column:nth-child(2) {
      position: relative;
      width: 100%;
  }
  .ob-features__item h3 {
    font-size: 22px;
  }
  /* alignment */

  .ob-alignment>.wp-block-group__inner-container {
    max-width: 600px;
    padding: 40px 0;
  }
  .ob-alignment__heading {
    font-size: 28px;
  }
  .ob-alignment__heading img {
    width: 280px;
    vertical-align: top;
  }
  .ob-alignment .vb-x-ob h3{
    font-size: 20px;
  }
  .ob-alignment__columns {
    flex-direction: column;
    gap: 150px;
  }
  .ob-alignment .vb-x-ob::before,
  .ob-alignment .vb-x-ob::after {
    height: 100px;
    top: 52%;
  }
  .ob-client {
      padding: 32px 16px;
  }
  .ob-client > .wp-block-group__inner-container {
      max-width: 600px;
      padding: 0;
  }
  .ob-client > .wp-block-group__inner-container h2 {
      font-size: 28px;
      line-height: 41px;
  }
  .ob-client > .wp-block-group__inner-container .wp-block-gallery {
      margin-top: 16px;
      padding-inline: 32px;
      gap: 0px;
  }
  .ob-client > .wp-block-group__inner-container .wp-block-gallery figure {
      width: calc(100% / 3) !important;
      max-width: calc(100% / 3) !important;
      margin: 0 !important;
  }
  .ob-interview,
  .ob-functions,
  .ob-plan,
  .ob-qa {
      margin: 0;
      padding: 0 16px 32px;
  }
  .ob-interview > .wp-block-group__inner-container,
  .ob-functions > .wp-block-group__inner-container,
  .ob-case > .wp-block-group__inner-container,
  .ob-plan > .wp-block-group__inner-container,
  .ob-qa > .wp-block-group__inner-container {
      max-width: 600px;
      padding: 0;
  }
  .ob-features__heading,
  .ob-functions__heading,
  .ob-case__heading,
  .ob-plan__heading {
    font-size: 32px;
  }
  .ob-interview .interview-article__link {
      flex-direction: column;
      padding: 16px;
      margin-top: 30px;
  }
  .ob-interview .interview-article__thumbnail {
      flex-basis: auto;
  }
  .ob-interview .interview-article__text .title {
      font-size: 18px;
      line-height: 26px;
  }
  .ob-functions {
    padding-top: 40px;
  }
  .ob-functions .tabs {
      margin-top: 24px;
  }
  .ob-functions .tab {
      display: none;
  }
  .ob-functions .area > .wp-block-group__inner-container {
      min-height: 550px;
      padding: 0 88px 36px;
  }
  .ob-functions .area h3 {
      font-size: 18px;
      line-height: 26px;
  }
  .ob-functions .items > .wp-block-group__inner-container {
      display: flex;
      flex-direction: column;
      gap: 24px;
  }
  .ob-functions .items > .wp-block-group__inner-container .wp-block-columns {
      gap: 16px;
  }
  .ob-functions .items > .wp-block-group__inner-container .wp-block-columns .wp-block-column {
      flex: auto;
  }
  .ob-functions .items > .wp-block-group__inner-container .wp-block-columns .wp-block-column:has(figure) {
      flex-basis: 56px;
      flex-shrink: 0;
  }
  .ob-functions .items > .wp-block-group__inner-container .wp-block-columns .wp-block-column h4 {
      font-size: 16px;
      line-height: 23px;
  }
  .ob-functions .security {
      flex-direction: column;
      align-items: flex-start;
  }
  .ob-functions .security > .wp-block-column .wp-block-columns {
      margin: 0;
  }
  .ob-functions .security > .wp-block-column .wp-block-columns figure {
      margin: 0;
  }
  /* case */
  .ob-case h3 {
    font-size: 22px;
  }
  .ob-case__interview h3 {
    font-size: 18px;
    margin-block-start: 0;
  }
  .ob-case__interview p {
    font-size: 14px;
  }
  .ob-case__interview.is-layout-flex {
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 16px;
  }
  .ob-case__interview .company-logo img {
    height: 32px;
    width: auto;
  }
  .ob-case__gallery figure{
    flex-basis: 50%;
  }
  /* plan */
  .ob-plan {
    padding-top: 40px;
  }
  .plan-table-pc {
    display: none;
  }
  .plan-table-sp {
    display: block;
  }
  .plan-table-sp.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr th,
  .plan-table-sp.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr td {
    text-align: center ;
    font-size: 16px;
    font-weight: bold;
    border: 1px solid #ccc;
  }
  .plan-table-sp.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr th {
    color: #fff;
  }
  .plan-table-sp.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr:nth-child(2n) td {
    background: #FAF6E2;
  }
  .plan-table-sp.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr td:first-child {
    background: #EFEFEF;
  }
  .plan-table-sp.basic-plan.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr th {
    background: #F3C521;
  }
  .plan-table-sp.business-plan.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr th {
    background: #EEB800;
  }
  .plan-table-sp.enterprise-plan.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr th {
    background: #F28A11;
  }
  .plan-table-sp.enterprise-plan.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table {
    margin-bottom: 0;
  }
  .ob-link {
    padding: 3.2rem 1.6rem;
  }
  .ob-link .link-items {
    gap: 0.8rem;
    grid-template-columns: repeat(1, 1fr);
    max-width: 600px;
  }
}
@media (max-width: 640px) {
  .ob-hero__copy {
    flex-direction: column;
    align-items: center;
    gap: 8px;
  }
  .ob-hero__copy span {
    margin-right: 0;
  }
  .ob-hero__logo {
    width: 280px;
  }
  .ob-problem>.wp-block-group__inner-container {
    padding-block: 32px;
  }
  .ob-problem__catch {
    font-size: 24px;
  }
  .ob-problem__list {
    font-size: 18px;
  }
  .ob-solution__heading .wp-block-columns img {
     width: 280px;
  }
  .ob-solution__heading .wp-block-columns p {
    font-size: 24px;
  }
  .ob-solution__columns p {
    font-size: 14px;
  }
  .ob-solution .wp-block-columns:first-child .wp-block-column:first-child {
      max-width: 100%;
  }
  .ob-features__heading,
  .ob-functions__heading,
  .ob-case__heading,
  .ob-plan__heading {
    margin-inline: 0;
  }
  .ob-features__heading::after,
  .ob-functions__heading::after,
  .ob-case__heading::after,
  .ob-plan__heading::after {
    right: 0;
    left: 0;
  }
  .ob-features__heading {
    flex-wrap: wrap;
    justify-content: center;
    line-height: 1;
  }
  .ob-features__heading::after {
    left: auto;
    right: 0;
  }
  .ob-features__heading img {
    width: 100%;
    transform: scale(0.8);
    height: auto;
  }
  .ob-features__heading strong {
    line-height: 1;
    margin-right: 5px;
  }
  .ob-alignment>.wp-block-group__inner-container {
    padding-inline: 16px;
  }
  .ob-alignment__heading {
    font-size: 22px;
  }
  .ob-alignment__heading img {
    width: 220px;
    vertical-align: bottom;
  }
  .ob-alignment .vb-x-ob {
    padding: 32px 16px;
  }
  .ob-alignment .vb-x-ob::before,
  .ob-alignment .vb-x-ob::after {
    top: 54%;
  }
  .ob-alignment__columns .balloon {
    font-size: 12px;
  }
  .ob-client > .wp-block-group__inner-container .wp-block-gallery {
      padding-inline: 0;
  }
  .ob-client > .wp-block-group__inner-container .wp-block-gallery figure {
      width: calc(100% / 2) !important;
      max-width: calc(100% / 2) !important;
  }
  .ob-interview .interview-article__bottom {
      flex-direction: column;
      align-items: flex-start;
  }
  .ob-interview .interview-article__bottom .arrow-link {
      width: 100%;
      text-align: right;
  }
  .ob-functions .tabs {
      margin-top: 24px;
  }
  .ob-functions .tabs .prevtab, .ob-functions .tabs .nexttab {
      top: 40%;
      opacity: .8;
  }
  .ob-functions .tabs .prevtab {
    left: -20px;
  }
  .ob-functions .tabs .nexttab {
    right: -20px;
  }
  .ob-functions .tabs .prevtab img,
  .ob-functions .tabs .nexttab img {
    display: none;
  }
  .ob-functions .tabs .prevtab::before,
  .ob-functions .tabs .nexttab::before {
    content: "";
    display: block;
    height: 50px;
    width: 25px;
    background-size: contain;
    background-repeat: no-repeat;
  }
  .ob-functions .tabs .prevtab::before {
    background-image: url(../img/arrow-left-sp.svg);
  }
  .ob-functions .tabs .nexttab::before {
    background-image: url(../img/arrow-right-sp.svg);
  }
  .ob-functions .area > .wp-block-group__inner-container {
      padding: 0;
      min-height: 512px;
  }
  .ob-functions .items > .wp-block-group__inner-container .wp-block-columns {
      flex-wrap: nowrap;
  }
  .ob-functions .items > .wp-block-group__inner-container .wp-block-columns .wp-block-column:has(figure) {
      flex-basis: 56px !important;
  }
  .ob-functions .security {
      align-items: center;
  }
  .ob-functions .security > .wp-block-column .wp-block-columns {
      flex-wrap: nowrap;
  }
  .ob-functions .security > .wp-block-column .wp-block-columns figure {
      margin: 0;
  }
  .ob-functions .security > .wp-block-column .wp-block-columns figure img {
      width: 100%;
  }
  .ob-case>.wp-block-group__inner-container {
    padding-inline: 16px;
  }
  .sticky {
    display: none;
  }
}


/* 以下追加 */
@media only screen and (min-width: 1280px) {
  section.kv {
    /* background: white; */
    /* background-image: url(../img/kv-bg.png); */
    background: linear-gradient(
      to bottom,
      #87cefa 0%,      /* 空色 */
      #fef3e2 40%,     /* 淡いクリーム色 */
      #ffffff 60%,     /* 白中心 */
      #ffe0dc 80%,     /* ピンク寄りの中間 */
      #fca5a5 100%     /* サーモンピンク */
    ); }
    section.kv.show .inner {
      opacity: 1.0; }
      section.kv.show .inner .left .left-inner .logo {
        opacity: 1.0;
        transform: translate(0px, 0px); }
      section.kv.show .inner .left .left-inner .desc {
        opacity: 1.0; }
      section.kv.show .inner .left .left-inner .img {
        opacity: 1.0; }
        section.kv.show .inner .left .left-inner .img .badge {
          opacity: 1.0;
          transform: scale(.8); }
        section.kv.show .inner .left .left-inner .img figure {
          opacity: 1.0; }
      section.kv.show .inner .left .left-inner .btn {
        opacity: 1.0; }
      section.kv.show .inner .right .right-inner .title {
        opacity: 1.0; }
      section.kv.show .inner .right .right-inner .panels {
        opacity: 1.0; }
    section.kv .inner {
      padding-bottom: 60px;
      display: flex;
      opacity: 0.0;
      transition: 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      section.kv .inner .left {
        position: relative;
        width: 50vw; }
        section.kv .inner .left .bg {
          position: absolute;
          width: 100%;
          height: 100%;
          top: 0px;
          left: 0px; }
          section.kv .inner .left .bg img {
            width: 100%;
            height: 100%; }
        section.kv .inner .left .left-inner {
          position: relative;
          padding-top: 190px;
          max-width: 800px;
          margin-left: auto;
          margin-right: 0px; }
          section.kv .inner .left .left-inner .logo {
            width: 80%;
            max-width: 576px;
            margin: 0 auto;
            margin-bottom: 30px;
            opacity: 0.0;
            transition: 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
            transition-delay: 0.5s;
            transform: translate(0px, 20px); }
            section.kv .inner .left .left-inner .logo img {
              width: 100%; }
          section.kv .inner .left .left-inner .desc {
            margin: 0 auto;
            width: calc(100% - 170px - 170px);
            min-width: 480px;
            font-size: 18px;
            font-style: normal;
            font-weight: 600;
            line-height: 154%;
            margin-bottom: 60px;
            /* 27.72px */
            letter-spacing: -0.45px;
            position: relative;
            z-index: 1;
            opacity: 0.0;
            transition: 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
            transition-delay: 0.5s; }
          section.kv .inner .left .left-inner .img {
            position: relative;
            margin-bottom: 14px; }
            section.kv .inner .left .left-inner .img .badge {
              position: absolute;
              width: calc(var(--cw) * 0.2);
              height: calc(var(--cw) * 0.2);
              right: 1%;
              top: -20%;
              opacity: 0.0;
              transform: scale(1.1);
              transition: 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
              transition-delay: 1.5s; }
              section.kv .inner .left .left-inner .img .badge img {
                width: 100%; }
            section.kv .inner .left .left-inner .img figure {
              opacity: 0.0;
              position: relative;
              transform: translate(2%, 0px);
              transition: 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
              transition-delay: 1.0s;
              position: relative; }
              section.kv .inner .left .left-inner .img figure video {
                pointer-events: none;
                position: absolute;
                top: 11%;
                left: 14.5%;
                width: 67.3%;
                height: 76%;
                /* opacity: 0.5; */
                -o-object-fit: cover;
                   object-fit: cover;
                background: black; }
          section.kv .inner .left .left-inner .btn {
            padding-bottom: 40px;
            opacity: 0.0;
            transition: 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
            transition-delay: 1.0s; }
            section.kv .inner .left .left-inner .btn a {
              margin: 0 auto;
              display: block;
              width: calc(100% - 100px - 100px);
              min-width: 480px;
              height: 70px;
              border-radius: 70px;
              background: #F14A4A;
              box-shadow: 0px 0px 31px 0px rgba(226, 0, 0, 0.29);
              display: flex;
              justify-content: center;
              align-items: center;
              position: relative; }
              section.kv .inner .left .left-inner .btn a .label {
                font-size: 26px;
                font-style: normal;
                font-weight: 500;
                line-height: 124%;
                letter-spacing: 1.56px;
                color: white; }
              section.kv .inner .left .left-inner .btn a .icon {
                position: absolute;
                display: block;
                width: 58px;
                height: 58px;
                border-radius: 58px;
                background: white;
                display: flex;
                justify-content: center;
                align-items: center;
                right: 8px; }
                section.kv .inner .left .left-inner .btn a .icon img {
                  filter: brightness(0) saturate(100%) invert(32%) sepia(41%) saturate(3959%) hue-rotate(340deg) brightness(117%) contrast(88%); }
      section.kv .inner .right {
        position: relative;
        width: 50vw;
        display: flex;
        align-items: center;
        padding-top: 190px;
        overflow: hidden; }
        section.kv .inner .right .right-inner {
          position: relative;
          text-align: center;
          width: 100%;
          max-width: 610px;
          margin: 0 auto;
          overflow: visible; }
          section.kv .inner .right .top-form .label{
            background: #F14A4A;
    font-size: 28px;
    line-height: 1.8;
    font-weight: bold;
    color: #fff;
    padding-block: 12px;
    border-radius: 16px 16px 0 0;
          }
          section.kv .inner .right .top-form iframe {
            background: #fff;
    border-radius: 0 0 16px 16px;
    height: 690px;
          }
          section.kv .inner .right .right-inner .title {
            display: inline-block;
            font-size: 26px;
            font-weight: 400;
            line-height: 186%;
            /* 48.36px */
            border-radius: 6px;
            background: #A3F4FF;
            padding: 11px 32px;
            margin-bottom: 24px;
            opacity: 0.0;
            transition: 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
            transition-delay: 2.2s; }
            section.kv .inner .right .right-inner .title span {
              font-weight: 700;
              display: inline-block; }
          section.kv .inner .right .right-inner .panels {
            padding-bottom: 40px;
            opacity: 0.0;
            transition: 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
            transition-delay: 2.7s; }
          section.kv .inner .right .right-inner .panel-line {
            margin-bottom: 24px;
            position: relative;
          }
          section.kv .inner .right .right-inner .slick-list {
            overflow: visible; }
          section.kv .inner .right .right-inner .panel {
            width: 590px;
            border-radius: 12px;
            overflow: hidden;
            margin: 0 11px; }
            section.kv .inner .right .right-inner .panel a {
              display: block; }
              section.kv .inner .right .right-inner .panel a:hover {
                opacity: 1.0; }
                section.kv .inner .right .right-inner .panel a:hover figure img {
                  transform: scale(1.05); }
            section.kv .inner .right .right-inner .panel figure img {
              transition: 0.2s;
              width: 100%; }
            section.kv .inner .right .right-inner .panel .txt {
              font-size: 20px;
              font-style: normal;
              font-weight: 700;
              line-height: 186%;
              /* 37.2px */
              letter-spacing: -0.5px;
              background: white;
              padding: 11px 0px; }
  section.logos {
    background: white;
    padding: 16px 0px;
    overflow: hidden; }
    section.logos .inner {
      display: flex;
      width: calc(225px * 19 * 2);
      animation: 25s linear infinite sliderAnimation; }
      section.logos .inner img {
        width: 225px; }
  section.about {
    padding-top: 80px;
    padding-bottom: 100px;
    position: relative; }
    section.about .bg {
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0px;
      left: 0px; }
      section.about .bg img {
        width: 100%;
        height: 100%; }
    section.about .inner {
      text-align: center;
      position: relative;
      max-width: 1600px;
      margin: 0 auto; }
      section.about .inner.show .lead .s1 {
        -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
                clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%); }
      section.about .inner.show .lead .s2 {
        opacity: 1.0; }
      section.about .inner.show .problem .item {
        opacity: 1.0;
        transform: scale(1); }
      section.about .inner .lead {
        color: white;
        font-size: 46px;
        font-style: normal;
        font-weight: 600;
        line-height: 186%;
        /* 85.56px */
        margin-bottom: 50px; }
        section.about .inner .lead .s1 {
          display: inline-block;
          border-bottom: 1px solid;
          -webkit-clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);
                  clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);
          transition: -webkit-clip-path 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
          transition: clip-path 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
          transition: clip-path 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-clip-path 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
        section.about .inner .lead .s2 {
          display: inline-block;
          opacity: 0.0;
          transition: 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
          transition-delay: 0.4s; }
      section.about .inner .problem {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        gap: 50px;
        margin-bottom: 50px; }
        section.about .inner .problem .item {
          border-radius: 12px;
          background: #DEF0FA;
          padding: 25px 0px;
          width: 600px;
          opacity: 0.0;
          transform: scale(1.05);
          transition: 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
          section.about .inner .problem .item:first-child {
            transition-delay: 0.8s; }
          section.about .inner .problem .item:last-child {
            transition-delay: 1.2s; }
          section.about .inner .problem .item .sub {
            font-size: 23px;
            font-style: normal;
            font-weight: 500;
            line-height: 186%;
            /* 42.78px */
            letter-spacing: -0.46px; }
          section.about .inner .problem .item .main {
            font-size: 39px;
            font-style: normal;
            font-weight: 700;
            line-height: 186%;
            /* 72.54px */
            letter-spacing: -1.17px; }
      section.about .inner .round {
        margin: 0 auto;
        margin-bottom: 40px;
        width: 231px;
        height: 70px;
        border-radius: 40px;
        background: #FFDD29;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 26px;
        font-style: normal;
        font-weight: 700;
        line-height: 1.0;
        letter-spacing: -0.65px; }
      section.about .inner .head {
        display: flex;
        align-items: flex-end;
        justify-content: center;
        margin-bottom: 32px; }
        section.about .inner .head.show .logo img {
          transform: translate(0px, 0px);
          opacity: 1.0; }
        section.about .inner .head .logo {
          height: 74px; }
          section.about .inner .head .logo img {
            transition: 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
            transform: translate(0px, 20px);
            opacity: 0.0;
            height: 100%; }
        section.about .inner .head .txt {
          font-size: 32px;
          font-style: normal;
          font-weight: 700;
          line-height: 186%;
          letter-spacing: 1.6px; }
      section.about .inner .desc {
        width: 790px;
        margin: 0 auto;
        margin-bottom: 80px;
        text-align: left;
        font-size: 15px;
        font-style: normal;
        font-weight: 500;
        line-height: 170%;
        /* 25.5px */
        letter-spacing: -0.225px; }
      section.about .inner .video {
        width: 640px;
        margin: 0 auto; }
        section.about .inner .video a.btn-video {
          display: block;
          position: relative;
          overflow: hidden; }
          section.about .inner .video a.btn-video:hover {
            opacity: 1.0; }
            section.about .inner .video a.btn-video:hover .thumb img {
              transform: scale(1.05); }
          section.about .inner .video a.btn-video .thumb img {
            transition: 0.2s;
            width: 100%; }
          section.about .inner .video a.btn-video .icon {
            display: block;
            width: 89px;
            height: 89px;
            background: rgba(255, 221, 41, 0.8);
            border-radius: 89px;
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%); }
            section.about .inner .video a.btn-video .icon:before {
              content: "";
              display: block;
              width: 0;
              height: 0;
              border-style: solid;
              border-width: 15px 0 15px 26.0px;
              border-color: transparent transparent transparent white;
              position: absolute;
              top: 50%;
              left: 50%;
              transform: translate(-40%, -50%); }
  section.feature {
    background: white;
    padding-top: 80px;
    padding-bottom: 100px; }
    section.feature .inner {
      max-width: 1000px;
      margin: 0 auto; }
      section.feature .inner > .title {
        width: 590px;
        display: flex;
        align-items: flex-end;
        justify-content: center;
        margin: 0 auto;
        margin-bottom: 46px;
        border-radius: 45px;
        background: #F6F6F6;
        padding: 20px 0px;
        -webkit-clip-path: polygon(50% 0%, 50% 0%, 50% 100%, 50% 100%);
                clip-path: polygon(50% 0%, 50% 0%, 50% 100%, 50% 100%);
        transition: -webkit-clip-path 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
        transition: clip-path 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
        transition: clip-path 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-clip-path 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
        section.feature .inner > .title.show {
          -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
                  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%); }
        section.feature .inner > .title .logo {
          height: 53px; }
          section.feature .inner > .title .logo img {
            height: 100%; }
        section.feature .inner > .title .txt {
          font-size: 34px;
          font-style: normal;
          font-weight: 600;
          letter-spacing: -0.9px;
          line-height: 53px; }
          section.feature .inner > .title .txt span {
            font-family: Poppins;
            font-size: 36px;
            font-style: normal;
            font-weight: 600;
            letter-spacing: -0.9px; }
          section.feature .inner > .description .txt {
            font-size: 20px;
            line-height: 32px;
            margin-bottom: 32px;
          }
      section.feature .inner > .items {
        display: flex;
        flex-direction: column;
        /* justify-content: center; */
        gap: 48px; }
        section.feature .inner > .items.show .item {
          opacity: 1.0; }
        section.feature .inner > .items .item {
          display: flex;
          border-radius: 12px;

          overflow: hidden;
          opacity: 0.0;
          transition: 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
          section.feature .inner > .items .item:nth-child(1) {
            transition-delay: 0.4s; }
          section.feature .inner > .items .item:nth-child(2) {
            transition-delay: 0.6s; }
          section.feature .inner > .items .item:nth-child(3) {
            transition-delay: 0.8s; }
          section.feature .inner > .items .item:nth-child(4) {
            transition-delay: 1.0s; }
          section.feature .inner > .items .item figure {
            flex-basis: 380px; }
            section.feature .inner > .items .item figure img {
              width: 100%; }
          section.feature .inner > .items .item .txt {
            flex-basis: 620px;
            padding: 20px;
            padding-bottom: 30px; }
            section.feature .inner > .items .item .txt .head {
              font-size: 20px;
              font-style: normal;
              font-weight: 700;
              line-height: 147.5%;
              /* 29.5px */
              letter-spacing: -0.5px;
              margin-bottom: 15px; }
            section.feature .inner > .items .item .txt .desc {
              font-size: 16px;
              font-style: normal;
              font-weight: 500;
              line-height: 169.5%;
              /* 27.12px */
              letter-spacing: -0.24px; }
              section.feature .inner > .items .item .txt .desc ul li {
                list-style-type: disc;
                margin-left: 1em; }
      section.feature .inner > .desc {
        text-align: center;
        margin-top: 70px;
        margin-bottom: 34px; }
        section.feature .inner > .desc .head.show .logo img {
          transform: translate(0px, 0px);
          opacity: 1.0; }
        section.feature .inner > .desc .logo {
          display: flex;
          align-items: flex-end;
          justify-content: center;
          height: 62px;
          font-size: 34px;
          font-style: normal;
          font-weight: 700;
          line-height: 62px; }
          section.feature .inner > .desc .logo img {
            height: 62px;
            transition: 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
            transform: translate(0px, 20px);
            opacity: 0.0; }
        section.feature .inner > .desc .txt {
          font-size: 34px;
          font-style: normal;
          font-weight: 700;
          line-height: 186%;
          /* 63.24px */
          letter-spacing: -0.85px;
          margin-bottom: 23px; }
        section.feature .inner > .desc .sub {
          max-width: 845px;
          margin: 0 auto;
          margin-bottom: 70px;
          font-family: Noto Sans JP;
          font-size: 15px;
          font-style: normal;
          font-weight: 500;
          line-height: 170%;
          /* 25.5px */
          letter-spacing: -0.225px; }
      section.feature .inner .head2 {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 930px;
        height: 90px;
        border-radius: 45px;
        margin: 0 auto;
        margin-bottom: 34px;
        background: #F6F6F6;
        font-size: 34px;
        font-style: normal;
        font-weight: 700;
        line-height: 186%;
        /* 63.24px */
        letter-spacing: -0.85px; }
      section.feature .inner .vb-ob {
        position: relative;
        overflow: hidden; }
        section.feature .inner .vb-ob.show:before {
          opacity: 1.0;
          transform: translate(-50%, -50%) rotate(45deg) scale(1); }
        section.feature .inner .vb-ob.show:after {
          opacity: 1.0;
          transform: translate(-50%, -50%) rotate(-45deg) scale(1); }
        section.feature .inner .vb-ob.show .items .item {
          opacity: 1.0; }
          section.feature .inner .vb-ob.show .items .item:first-child {
            transform: translate(0%, 0px); }
          section.feature .inner .vb-ob.show .items .item:last-child {
            transform: translate(0%, 0px); }
        section.feature .inner .vb-ob:before, section.feature .inner .vb-ob:after {
          content: "";
          display: block;
          width: 200px;
          height: 3px;
          background: black;
          position: absolute;
          left: 50%;
          top: 50%;
          z-index: 1;
          opacity: 0.0;
          transition: 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
          transition-delay: 0.5s; }
        section.feature .inner .vb-ob:before {
          transform: translate(-50%, -50%) rotate(45deg) scale(1.1); }
        section.feature .inner .vb-ob:after {
          transform: translate(-50%, -50%) rotate(-45deg) scale(1.1); }
        section.feature .inner .vb-ob .items {
          display: flex;
          gap: 80px; }
          section.feature .inner .vb-ob .items .item {
            text-align: center;
            padding-top: 43px;
            width: calc((100% - 80px) / 2);
            position: relative;
            transition: 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
            opacity: 0.0; }
            section.feature .inner .vb-ob .items .item:first-child {
              background: #E70012;
              border-radius: 0px 22px 22px 0px;
              transform: translate(-80px, 0px); }
            section.feature .inner .vb-ob .items .item:last-child {
              background: #F3C422;
              border-radius: 22px 0px 0px 22px;
              transform: translate(80px, 0px); }
            section.feature .inner .vb-ob .items .item .head {
              margin-bottom: 16px;
              width: 100%; }
              section.feature .inner .vb-ob .items .item .head .txt {
                font-size: 20px;
                font-style: normal;
                font-weight: 700;
                line-height: 142.5%;
                color: white; }
              section.feature .inner .vb-ob .items .item .head .logo {
                margin-bottom: 16px;
                height: 70px; }
                section.feature .inner .vb-ob .items .item .head .logo img {
                  margin: 0 auto; }
            section.feature .inner .vb-ob .items .item figure {
              height: 299px;
              margin: 0 auto;
              margin-bottom: 60px; }
              section.feature .inner .vb-ob .items .item figure img {
                display: inline;
                width: auto;
                height: 100%; }
            section.feature .inner .vb-ob .items .item > a {
              display: flex;
              justify-content: center;
              align-items: center;
              position: absolute;
              bottom: 0px;
              left: 0px;
              width: 100%;
              height: 60px;
              background: rgba(255, 255, 255, 0.75);
              font-size: 22px;
              font-style: normal;
              font-weight: 600;
              line-height: 186%;
              /* 40.92px */
              letter-spacing: -0.99px; }
  section.function {
    padding-top: 80px;
    padding-bottom: 100px;
    position: relative; }
    section.function .bg {
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0px;
      left: 0px; }
      section.function .bg img {
        width: 100%;
        height: 100%; }
    section.function .inner {
      position: relative;
      background: #fff;
      border-radius: 16px;
      max-width: 1000px;
      margin: 0 auto;
      padding: 48px;
     }
      section.function .inner .title {
        font-size: 32px;
        font-style: normal;
        font-weight: 600;
        line-height: 186%;
        /* 74.4px */
        text-align: center;
        margin-bottom: 50px; }
      section.function .inner .functions {
        display: flex;
        justify-content: center;
        align-items: flex-start;
        gap: 60px; }
        section.function .inner .functions nav {
          width: 304px;
          border-radius: 12px;
          background: #FFF;
          box-shadow: 0px 0px 35px 0px rgba(215, 194, 11, 0.25);
          padding: 35px 0px; }
          section.function .inner .functions nav li a {
            display: block;
            padding: 7.5 0px;
            text-align: center;
            font-size: 20px;
            font-style: normal;
            font-weight: 600;
            line-height: 186%;
            /* 37.2px */
            position: relative;
            transition: 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
            section.function .inner .functions nav li a:hover, section.function .inner .functions nav li a.current {
              opacity: 1.0;
              color: #0D55E4; }
              section.function .inner .functions nav li a:hover:after, section.function .inner .functions nav li a.current:after {
                right: 20px; }
            section.function .inner .functions nav li a:after {
              transition: 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
              display: block;
              content: "";
              width: 10px;
              height: 10px;
              border-right: 1px solid #0D55E4;
              border-bottom: 1px solid #0D55E4;
              position: absolute;
              right: 40px;
              top: 50%;
              transform: translate(0px, -50%) rotate(-45deg); }
        section.function .inner .functions .contents {
          max-width: 1000px; }
          section.function .inner .functions .contents .content .items {
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
            flex-wrap: wrap;
            gap: 32px; }
            section.function .inner .functions .contents .content .items .item {
              width: calc((100% - 32px) / 2);
              overflow: hidden;
              display: flex;
              justify-content: flex-start;
              align-items: center;
              }
              section.function .inner .functions .contents .content .items .item.show {
                transition: opacity 0.5s;
                opacity: 1.0; }
              section.function .inner .functions .contents .content .items .item:nth-child(1) {
                transition-delay: 0.1s; }
              section.function .inner .functions .contents .content .items .item:nth-child(2) {
                transition-delay: 0.2s; }
              section.function .inner .functions .contents .content .items .item:nth-child(3) {
                transition-delay: 0.3s; }
              section.function .inner .functions .contents .content .items .item:nth-child(4) {
                transition-delay: 0.4s; }
              section.function .inner .functions .contents .content .items .item figure {
                width: 100px;
                height: 80px;
                border-radius: 6px;
                -o-object-fit: cover;
                   object-fit: cover; }
              section.function .inner .functions .contents .content .items .item .txt {
                width: calc(100% - 80px);
                box-sizing: border-box;
                padding: 0px 20px; }
                section.function .inner .functions .contents .content .items .item .txt .head {
                  font-size: 20px;
                  font-style: normal;
                  font-weight: 700;
                  line-height: 147.5%;
                  /* 38.35px */
                  letter-spacing: -0.65px;
                  margin-bottom: 4px; }
                section.function .inner .functions .contents .content .items .item .txt .desc {
                  font-size: 16px;
                  font-style: normal;
                  font-weight: 500;
                  line-height: 169.5%;
                  /* 27.12px */
                  letter-spacing: -0.24px; }
  section.apps {
    background: #fff;
    padding: 60px 20px 48px;
  }
  section.apps .inner {
    max-width: 1000px;
    margin: 0 auto;
  }
  section.apps .inner h2 {
    font-size: 32px;
    line-height: 36px;
    font-weight: bold;
    text-align: center;
  }
  section.apps .inner .description {
    font-size: 20px;
    text-align: center;
    line-height: 32px;
    margin-top: 21px;
  }
  section.apps .inner .apps-items {
    display: flex;
    margin-top: 52px;
    gap: 22px;
  }
  section.apps .inner .apps-items figure {
    padding-inline: 40px;
  }
  section.casestudy {
    padding-top: 80px;
    padding-bottom: 130px;
    position: relative;
    overflow: hidden; }
    section.casestudy .bg {
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0px;
      left: 0px; }
      section.casestudy .bg img {
        width: 100%;
        height: 100%; }
    section.casestudy .inner {
      position: relative; }
      section.casestudy .inner .title {
        font-size: 40px;
        font-style: normal;
        font-weight: 600;
        line-height: 186%;
        /* 74.4px */
        letter-spacing: -1.6px;
        text-align: center;
        margin-bottom: 50px; }
      section.casestudy .inner .items .item {
        width: calc(100vw - 200px - 200px);
        max-width: 1200px;
        margin-left: 30px;
        margin-right: 30px;
        background: white;
        display: flex;
        align-items: center;
        border-radius: 12px;
        overflow: hidden;
        height: 526px;
        box-sizing: border-box; }
        section.casestudy .inner .items .item figure {
          width: 526px;
          height: 526px; }
          section.casestudy .inner .items .item figure img {
            width: 100%;
            height: 100%;
            -o-object-fit: cover;
               object-fit: cover; }
        section.casestudy .inner .items .item .txt {
          width: calc(100% - 526px);
          padding: 0px 50px;
          padding-bottom: 50px; }
          section.casestudy .inner .items .item .txt .logo {
            margin-left: -25px; }
            section.casestudy .inner .items .item .txt .logo img {
              width: 300px; }
          section.casestudy .inner .items .item .txt .head {
            font-size: 26px;
            font-style: normal;
            font-weight: 700;
            line-height: 152.5%;
            /* 39.65px */
            letter-spacing: -0.65px;
            margin-bottom: 20px; }
          section.casestudy .inner .items .item .txt .desc {
            font-size: 16px;
            font-style: normal;
            font-weight: 400;
            line-height: 173.5%;
            /* 27.76px */
            letter-spacing: -0.24px; }
  section.casestudy-logos {
    background: white;
    padding-top: 60px;
    padding-bottom: 50px;
    overflow: hidden; }
    section.casestudy-logos .text {
      margin-bottom: 34px;
      text-align: center; }
      section.casestudy-logos .text .head {
        font-size: 34px;
        font-style: normal;
        font-weight: 700;
        line-height: 186%;
        /* 63.24px */
        letter-spacing: -0.85px; }
      section.casestudy-logos .text .sub {
        font-size: 16px;
        font-style: normal;
        font-weight: 600;
        line-height: 186%;
        /* 29.76px */
        letter-spacing: -0.4px; }
    section.casestudy-logos .logos {
      display: flex;
      width: calc(225px * 19 * 2);
      animation: 30s linear infinite sliderAnimation; }
      section.casestudy-logos .logos img {
        width: 225px; }
  section.plan {
    background: #EEE;
    background: linear-gradient(
  to bottom,
  #eee 0%,       /* 明るいグレー */
  #eee 66.6%,    /* 3分の2までは維持 */
  #f9e08a 90%,      /* 中間の柔らかい黄色 */
  #f3c422 100%      /* 最後はしっかりした黄色 */
);


    padding-block: 60px; }
    section.plan .inner {
      position: relative; }
      section.plan .inner .title {
        font-size: 40px;
        font-style: normal;
        font-weight: 600;
        line-height: 186%;
        /* 74.4px */
        letter-spacing: -1.6px;
        text-align: center;
        margin-bottom: 50px; }
      section.plan .inner .table {
        max-width: 1100px;
        margin: 0 auto;
        }
        section.plan .inner .table table {
          font-size: 16px;
          font-style: normal;
          font-weight: 600;
          line-height: 186%;
          /* 29.76px */
          letter-spacing: -0.4px;
          width: 100%;
          border-radius: 12px;
          overflow: hidden; }
          section.plan .inner .table table thead tr th {
            background: #ffdd29;
            /* border-left: 1px solid white; */
            border-bottom: 0px solid #BEBEBE; }
            section.plan .inner .table table thead tr th.master {
              border-left: 0px solid;
              border-right: 1px solid white;
              background: #BDBDBD; }
          section.plan .inner .table table tr:last-child th {
            border-bottom: 0px; }
          section.plan .inner .table table tr:last-child td {
            border-bottom: 0px; }
          section.plan .inner .table table th {
            background: #fff;
            border-bottom: 1px solid #BEBEBE;
            padding: 15px 0px;
            vertical-align: middle; }
          section.plan .inner .table table td {
            padding: 15px 0px;
            background: #FFF;
            border-left: 1px solid #C6C6C6;
            border-bottom: 1px solid #BEBEBE;
            text-align: center;
          vertical-align: middle; }
      section.plan .inner .other {
        padding-top: 56px;
        padding-bottom: 76px;
        background: linear-gradient(0deg, #F3C422 -43.85%, #EEE 100%); }
        section.plan .inner .other .head {
          display: flex;
          align-items: flex-end;
          justify-content: center;
          margin-bottom: 32px; }
          section.plan .inner .other .head.show .logo img {
            transform: translate(0px, 0px);
            opacity: 1.0; }
          section.plan .inner .other .head .logo {
            height: 74px; }
            section.plan .inner .other .head .logo img {
              height: 100%; }
          section.plan .inner .other .head .txt {
            font-size: 32px;
            font-style: normal;
            font-weight: 700;
            line-height: 186%;
            letter-spacing: 1.6px; }
        section.plan .inner .other .items {
          display: flex;
          max-width: 1100px;
          margin: 0 auto;
          gap: 1px;
          background: #D6D6D6;
          border-radius: 20px;
          overflow: hidden; }
          section.plan .inner .other .items .item {
            width: 25%;
            height: 120px; }
            section.plan .inner .other .items .item a {
              width: 100%;
              height: 100%;
              display: block;
              background: #FFFFFF;
              display: flex;
              justify-content: flex-start;
              align-items: center;
              position: relative;
              padding-left: 20px;
              box-sizing: border-box; }
              section.plan .inner .other .items .item a:hover {
                opacity: 1.0;
                background: #F3C422; }
                section.plan .inner .other .items .item a:hover .label {
                  color: white; }
                section.plan .inner .other .items .item a:hover .icon {
                  background: white; }
                  section.plan .inner .other .items .item a:hover .icon img {
                    filter: brightness(0) saturate(100%) invert(89%) sepia(25%) saturate(2030%) hue-rotate(341deg) brightness(100%) contrast(91%); }
            section.plan .inner .other .items .item .label {
              font-size: 17px;
              font-style: normal;
              font-weight: 600;
              line-height: 186%;
              /* 31.62px */
              letter-spacing: -0.425px; }
            section.plan .inner .other .items .item .icon {
              position: absolute;
              width: 39px;
              height: 39px;
              background: #F3C422;
              border-radius: 39px;
              top: 50%;
              right: 20px;
              transform: translate(0px, -50%); }
              section.plan .inner .other .items .item .icon img {
                width: 15px;
                position: absolute;
                top: 50%;
                left: 50%;
                transform: translate(-50%, -50%) rotate(-90deg);
                filter: invert(1); }
}
@media only screen and (max-width: 1279px) {
  section.kv {
    background: white;
    background: linear-gradient(
      to bottom,
      #87cefa 0%,      /* 空色 */
      #fef3e2 40%,     /* 淡いクリーム色 */
      #ffffff 60%,     /* 白中心 */
      #ffe0dc 80%,     /* ピンク寄りの中間 */
      #fca5a5 100%     /* サーモンピンク */
    );  }
    section.kv.show .inner {
      opacity: 1.0; }
      section.kv.show .inner .left .left-inner .logo {
        opacity: 1.0;
        transform: translate(0px, 0px); }
      section.kv.show .inner .left .left-inner .desc {
        opacity: 1.0; }
      section.kv.show .inner .left .left-inner .btn {
        opacity: 1.0; }
      section.kv.show .inner .left .left-inner .img {
        opacity: 1.0; }
        section.kv.show .inner .left .left-inner .img .badge {
          opacity: 1.0;
          transform: scale(0.6); }
        section.kv.show .inner .left .left-inner .img figure {
          opacity: 1.0; }
      section.kv.show .inner .right .right-inner .title {
        opacity: 1.0; }
      section.kv.show .inner .right .right-inner .panels {
        opacity: 1.0; }
      section.kv.show .inner .right .right-inner .btn {
        opacity: 1.0; }
    section.kv .inner {
      opacity: 0.0;
      transition: 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      section.kv .inner .left {
        position: relative;
        width: 100vw;
        overflow: hidden; }
        section.kv .inner .left .bg {
          position: absolute;
          width: 100%;
          height: 100%;
          top: 0px;
          left: 0px; }
          section.kv .inner .left .bg img {
            width: 100%;
            height: 100%; }
        section.kv .inner .left .left-inner {
          position: relative;
          padding-top: 60px;
          max-width: 700px;
          margin: 0 auto; }
          section.kv .inner .left .left-inner .logo {
            width: calc(100% - 20px - 20px - 20px - 33px);
            max-width: 576px;
            margin-left: 20px;
            margin-bottom: 30px;
            opacity: 0.0;
            transition: 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
            transition-delay: 0.5s;
            transform: translate(0px, 20px); }
            section.kv .inner .left .left-inner .logo img {
              width: 100%; }
          section.kv .inner .left .left-inner .desc {
            padding: 0px 20px;
            font-size: clamp(1.3rem, -0.2rem + 3.125vw, 1.8rem);
            font-style: normal;
            font-weight: 600;
            line-height: 154%;
            /* 20.02px */
            letter-spacing: -0.325px;
            position: relative;
            z-index: 1;
            opacity: 0.0;
            transition: 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
            transition-delay: 0.5s;
            margin-bottom: 40px; }
          section.kv .inner .left .left-inner .img {
            position: relative;
            margin-bottom: 14px;
          padding-inline: 16px; }
            section.kv .inner .left .left-inner .img .badge {
              position: absolute;
              width: calc(var(--cw) * 0.3);
              height: calc(var(--cw) * 0.3);
              right: 14px;
              top: -32%;
              opacity: 0.0;
              transform: scale(0.5);
              transition: 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
              transition-delay: 1.5s; }
              section.kv .inner .left .left-inner .img .badge img {
                width: 100%; }
            section.kv .inner .left .left-inner .img figure {
              opacity: 0.0;
              position: relative;
              width: 100%;
              transition: 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
              transition-delay: 1.0s; }
              section.kv .inner .left .left-inner .img figure video {
                pointer-events: none;
                position: absolute;
                top: 11%;
                left: 14.5%;
                width: 67.3%;
                height: 76%;
                /* opacity: 0.5; */
                -o-object-fit: cover;
                   object-fit: cover;
                background: black; }
          section.kv .inner .left .left-inner .btn {
            z-index: 1;
            width: 100%;
            opacity: 0.0;
            transition: 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
            transition-delay: 1.2s;
            padding-bottom: 20px; }
            section.kv .inner .left .left-inner .btn a {
              margin: 0 auto;
              display: block;
              width: calc(100% - 20px - 20px);
              height: 43px;
              border-radius: 70px;
              background: #F14A4A;
              box-shadow: 0px 0px 31px 0px rgba(226, 0, 0, 0.29);
              display: flex;
              justify-content: center;
              align-items: center;
              position: relative; }
              section.kv .inner .left .left-inner .btn a .label {
                font-size: 16px;
                font-style: normal;
                font-weight: 500;
                line-height: 124%;
                letter-spacing: 0.96px;
                color: white; }
              section.kv .inner .left .left-inner .btn a .icon {
                position: absolute;
                display: block;
                width: 39px;
                height: 39px;
                border-radius: 39px;
                background: white;
                display: flex;
                justify-content: center;
                align-items: center;
                right: 2px; }
                section.kv .inner .left .left-inner .btn a .icon img {
                  width: 17.14px;
                  filter: brightness(0) saturate(100%) invert(32%) sepia(41%) saturate(3959%) hue-rotate(340deg) brightness(117%) contrast(88%); }
      section.kv .inner .right {
        position: relative;
        width: 100vw;
        display: flex;
        align-items: center;
        padding: 25px 20px 40px;
        overflow: hidden; }
        section.kv .inner .right .right-inner {
          position: relative;
          text-align: center;
          overflow: visible;
          width: 100%;
          max-width: 700px;
          margin: 0 auto; }
          section.kv .inner .right .top-form .label{
            background: #F14A4A;
    font-size: 28px;
    line-height: 1.8;
    font-weight: bold;
    color: #fff;
    padding-block: 12px;
    border-radius: 16px 16px 0 0;
          }
          section.kv .inner .right .top-form iframe {
            background: #fff;
    border-radius: 0 0 16px 16px;
    height: 670px;
          }
          section.kv .inner .right .right-inner .btn {
            position: absolute;
            top: calc(50%);
            left: 50%;
            z-index: 1;
            transform: translate(-50%, 100%);
            width: 100%;
            opacity: 0.0;
            transition: 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
            transition-delay: 2.7s; }
            section.kv .inner .right .right-inner .btn a {
              margin: 0 auto;
              display: block;
              width: calc(100% - 20px - 20px);
              height: 43px;
              border-radius: 70px;
              background: #F14A4A;
              box-shadow: 0px 0px 31px 0px rgba(226, 0, 0, 0.29);
              display: flex;
              justify-content: center;
              align-items: center;
              position: relative; }
              section.kv .inner .right .right-inner .btn a .label {
                font-size: 16px;
                font-style: normal;
                font-weight: 500;
                line-height: 124%;
                letter-spacing: 0.96px;
                color: white; }
              section.kv .inner .right .right-inner .btn a .icon {
                position: absolute;
                display: block;
                width: 39px;
                height: 39px;
                border-radius: 39px;
                background: white;
                display: flex;
                justify-content: center;
                align-items: center;
                right: 2px; }
                section.kv .inner .right .right-inner .btn a .icon img {
                  width: 17.14px;
                  filter: brightness(0) saturate(100%) invert(32%) sepia(41%) saturate(3959%) hue-rotate(340deg) brightness(117%) contrast(88%); }
          section.kv .inner .right .right-inner .title {
            font-size: 14px;
            font-style: normal;
            font-weight: 400;
            border-radius: 6px;
            background: #A3F4FF;
            padding: 11px 32px;
            margin-bottom: 24px;
            margin-left: 20px;
            margin-right: 20px;
            opacity: 0.0;
            transition: 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
            transition-delay: 2.2s; }
            section.kv .inner .right .right-inner .title span {
              font-weight: 700;
              display: inline-block; }
          section.kv .inner .right .right-inner .slick-list {
            overflow: visible; }
          section.kv .inner .right .right-inner .panels {
            padding-bottom: 40px;
            opacity: 0.0;
            transition: 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
            transition-delay: 2.7s; }
            section.kv .inner .right .right-inner .panels .panel-line {
              margin-bottom: 24px; }
              section.kv .inner .right .right-inner .panels .panel-line:last-child {
                margin-bottom: 0px; }
          section.kv .inner .right .right-inner .panel {
            width: calc(var(--cw) - 70px);
            border-radius: 12px;
            overflow: hidden;
            margin: 0 11px; }
            section.kv .inner .right .right-inner .panel figure img {
              width: 100%; }
            section.kv .inner .right .right-inner .panel .txt {
              font-size: 11px;
              font-style: normal;
              font-weight: 600;
              line-height: 125.5%;
              /* 13.805px */
              letter-spacing: -0.275px;
              background: white;
              padding: 11px 0px; }
  section.logos {
    background: white;
    padding: 16px 0px;
    overflow: hidden; }
    section.logos .inner {
      display: flex;
      width: calc(180px * 19 * 2);
      animation: 30s linear infinite sliderAnimation; }
      section.logos .inner img {
        width: 180px; }
  section.about {
    padding-top: 30px;
    padding-bottom: 100px;
    padding-left: 20px;
    padding-right: 20px;
    position: relative; }
    section.about .bg {
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0px;
      left: 0px; }
      section.about .bg img {
        width: 100%;
        height: 100%; }
    section.about .inner {
      text-align: center;
      position: relative;
      max-width: 700px;
      margin: 0 auto; }
      section.about .inner.show .lead .s1 {
        -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
                clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%); }
      section.about .inner.show .lead .s2 {
        opacity: 1.0; }
      section.about .inner.show .problem .item {
        opacity: 1.0;
        transform: scale(1); }
      section.about .inner .lead {
        color: white;
        font-size: 27px;
        font-style: normal;
        font-weight: 400;
        line-height: 158%;
        /* 42.66px */
        margin-bottom: 20px; }
        section.about .inner .lead .s1 {
          display: inline-block;
          border-bottom: 1px solid;
          -webkit-clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);
                  clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);
          transition: -webkit-clip-path 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
          transition: clip-path 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
          transition: clip-path 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-clip-path 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
        section.about .inner .lead .s2 {
          display: inline-block;
          opacity: 0.0;
          transition: 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
          transition-delay: 0.4s; }
      section.about .inner .problem {
        justify-content: center;
        flex-wrap: wrap;
        margin-bottom: 50px; }
        section.about .inner .problem .item {
          border-radius: 12px;
          background: #DEF0FA;
          padding: 10px 0px;
          margin-bottom: 13px;
          opacity: 0.0;
          transform: scale(1.05);
          transition: 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
          section.about .inner .problem .item:first-child {
            transition-delay: 0.8s; }
          section.about .inner .problem .item:last-child {
            transition-delay: 1.2s;
            margin-bottom: 0px; }
          section.about .inner .problem .item .sub {
            font-size: 15px;
            font-style: normal;
            font-weight: 500;
            line-height: 186%;
            /* 27.9px */
            letter-spacing: -0.3px; }
          section.about .inner .problem .item .main {
            font-size: 26px;
            font-style: normal;
            font-weight: 700;
            line-height: 186%;
            /* 48.36px */
            letter-spacing: -0.78px; }
      section.about .inner .round {
        margin: 0 auto;
        margin-bottom: 40px;
        width: 204px;
        height: 56px;
        border-radius: 40px;
        background: #FFDD29;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 20px;
        font-style: normal;
        font-weight: 700;
        line-height: 1.0;
        letter-spacing: -0.65px; }
      section.about .inner .head {
        text-align: center;
        margin-bottom: 20px; }
        section.about .inner .head.show .logo img {
          transform: translate(0px, 0px);
          opacity: 1.0; }
        section.about .inner .head .logo {
          height: 52px; }
          section.about .inner .head .logo img {
            transition: 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
            transform: translate(0px, 20px);
            opacity: 0.0;
            height: 100%;
            display: inline-block; }
        section.about .inner .head .txt {
          font-size: 26px;
          font-style: normal;
          font-weight: 700;
          line-height: 186%;
          /* 48.36px */
          letter-spacing: -0.65px; }
      section.about .inner .desc {
        margin-bottom: 80px;
        text-align: left;
        font-size: 13px;
        font-style: normal;
        font-weight: 500;
        line-height: 160.5%;
        /* 20.865px */
        letter-spacing: -0.195px; }
      section.about .inner .video {
        width: 100%;
        margin: 0 auto; }
        section.about .inner .video a.btn-video {
          display: block;
          position: relative;
          overflow: hidden; }
          section.about .inner .video a.btn-video:hover {
            opacity: 1.0; }
            section.about .inner .video a.btn-video:hover .thumb img {
              transform: scale(1.05); }
          section.about .inner .video a.btn-video .thumb img {
            transition: 0.2s;
            width: 100%; }
          section.about .inner .video a.btn-video .icon {
            display: block;
            width: 64px;
            height: 64px;
            background: rgba(255, 221, 41, 0.8);
            border-radius: 89px;
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%); }
            section.about .inner .video a.btn-video .icon:before {
              content: "";
              display: block;
              width: 0;
              height: 0;
              border-style: solid;
              border-width: 10px 0 10px 20.0px;
              border-color: transparent transparent transparent white;
              position: absolute;
              top: 50%;
              left: 50%;
              transform: translate(-40%, -50%); }
  section.feature {
    background: white;
    padding-top: 80px;
    padding-bottom: 100px;
    padding-left: 20px;
    padding-right: 20px; }
    section.feature .inner {
      max-width: 700px;
      margin: 0 auto; }
      section.feature .inner > .title {
        width: 100%;
        display: flex;
        align-items: flex-end;
        justify-content: center;
        margin: 0 auto;
        margin-bottom: 46px;
        border-radius: 45px;
        background: #F6F6F6;
        padding: 20px 0px;
        -webkit-clip-path: polygon(50% 0%, 50% 0%, 50% 100%, 50% 100%);
                clip-path: polygon(50% 0%, 50% 0%, 50% 100%, 50% 100%);
        transition: -webkit-clip-path 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
        transition: clip-path 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
        transition: clip-path 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-clip-path 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
        section.feature .inner > .title.show {
          -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
                  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%); }
        section.feature .inner > .title .logo {
          height: 33px; }
          section.feature .inner > .title .logo img {
            height: 100%; }
        section.feature .inner > .title .txt {
          font-size: 24px;
          font-style: normal;
          font-weight: 600;
          line-height: 35px;
          letter-spacing: -0.6px; }
          section.feature .inner > .description .txt {
            font-size: 14px;
            line-height: 20px;
            margin-bottom: 32px;
          }
      section.feature .inner > .items.show .item {
        opacity: 1.0; }
      section.feature .inner > .items .item {
        display: flex;
        flex-direction: column;
        border-radius: 12px;
        overflow: hidden;
        margin-bottom: 26px;
        opacity: 0.0;
        transition: 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
        section.feature .inner > .items .item:nth-child(1) {
          transition-delay: 0.4s; }
        section.feature .inner > .items .item:nth-child(2) {
          transition-delay: 0.6s; }
        section.feature .inner > .items .item:nth-child(3) {
          transition-delay: 0.8s; }
        section.feature .inner > .items .item:nth-child(4) {
          transition-delay: 1.0s; }
        section.feature .inner > .items .item:last-child {
          margin-bottom: 0px; }
        section.feature .inner > .items .item figure {
          order: 2;
          width: 100%;
          position: relative;
        margin-bottom: 8px; }
          section.feature .inner > .items .item figure img {
            position: relative;
            width: 100%;
            height: auto;
          }
        section.feature .inner > .items .item .txt {
          display: contents;
          padding-top: 16px; }
          section.feature .inner > .items .item .txt .head {
            order: 1;
            font-size: 15px;
            font-style: normal;
            font-weight: 700;
            line-height: 147.5%;
            letter-spacing: -0.375px;
            margin-bottom: 10px; }
          section.feature .inner > .items .item .txt .desc {
            order: 3;
            font-size: 12px;
            font-style: normal;
            font-weight: 500;
            line-height: 169.5%;
            /* 20.34px */
            letter-spacing: -0.18px; }
            section.feature .inner > .items .item .txt .desc ul li {
              list-style-type: disc;
              margin-left: 1em; }
      section.feature .inner > .desc {
        text-align: center;
        margin-top: 40px;
        margin-bottom: 20px; }
        section.feature .inner > .desc .head.show .logo img {
          transform: translate(0px, 0px);
          opacity: 1.0; }
        section.feature .inner > .desc .logo {
          display: flex;
          align-items: flex-end;
          justify-content: center;
          height: 36px;
          font-size: 17px;
          font-style: normal;
          font-weight: 700;
          line-height: 186%;
          /* 31.62px */
          letter-spacing: -0.425px; }
          section.feature .inner > .desc .logo img {
            height: 36px;
            transition: 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
            transform: translate(0px, 20px);
            opacity: 0.0; }
        section.feature .inner > .desc .txt {
          font-size: 17px;
          font-style: normal;
          font-weight: 700;
          line-height: 186%;
          /* 31.62px */
          letter-spacing: -0.425px;
          margin-bottom: 24px; }
        section.feature .inner > .desc .sub {
          margin-bottom: 56px;
          text-align: left;
          font-size: 13px;
          font-style: normal;
          font-weight: 500;
          line-height: 160.5%;
          /* 20.865px */
          letter-spacing: -0.195px; }
      section.feature .inner .head2 {
        padding: 11px 0px;
        text-align: center;
        border-radius: 45px;
        margin: 0 auto;
        margin-bottom: 34px;
        background: #F6F6F6;
        font-size: 20px;
        font-style: normal;
        font-weight: 600;
        line-height: 133%;
        /* 26.6px */
        letter-spacing: -0.5px; }
      section.feature .inner .vb-ob {
        position: relative;
        margin-left: -20px;
        margin-right: -20px;
        overflow: hidden; }
        section.feature .inner .vb-ob.show:before {
          opacity: 1.0;
          transform: translate(-50%, -50%) rotate(45deg) scale(1); }
        section.feature .inner .vb-ob.show:after {
          opacity: 1.0;
          transform: translate(-50%, -50%) rotate(-45deg) scale(1); }
        section.feature .inner .vb-ob.show .items .item {
          opacity: 1.0; }
          section.feature .inner .vb-ob.show .items .item:first-child {
            transform: translate(0%, 0px); }
          section.feature .inner .vb-ob.show .items .item:last-child {
            transform: translate(0%, 0px); }
        section.feature .inner .vb-ob:before, section.feature .inner .vb-ob:after {
          content: "";
          display: block;
          width: 70px;
          height: 2px;
          background: black;
          position: absolute;
          left: 50%;
          top: 30%;
          z-index: 1;
          opacity: 0.0;
          transition: 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
          transition-delay: 0.5s; }
        section.feature .inner .vb-ob:before {
          transform: translate(-50%, -50%) rotate(45deg) scale(1.1); }
        section.feature .inner .vb-ob:after {
          transform: translate(-50%, -50%) rotate(-45deg) scale(1.1); }
        section.feature .inner .vb-ob .items {
          display: flex;
          gap: 14px; }
          section.feature .inner .vb-ob .items .item {
            text-align: center;
            padding-top: 24px;
            width: calc((100% - 14px) / 2);
            position: relative;
            overflow: hidden;
            transition: 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
            opacity: 0.0; }
            section.feature .inner .vb-ob .items .item:first-child {
              background: #E70012;
              border-radius: 0px 22px 22px 0px;
              transform: translate(-80px, 0px); }
              section.feature .inner .vb-ob .items .item:first-child .head .txt {
                text-align: left; }
            section.feature .inner .vb-ob .items .item:last-child {
              background: #F3C422;
              border-radius: 22px 0px 0px 22px;
              transform: translate(80px, 0px); }
              section.feature .inner .vb-ob .items .item:last-child .head .txt {
                text-align: right; }
            section.feature .inner .vb-ob .items .item .head {
              margin-bottom: 16px;
              padding-left: 20px;
              padding-right: 20px; }
              section.feature .inner .vb-ob .items .item .head .txt {
                font-size: 13px;
                font-style: normal;
                font-weight: 700;
                line-height: 135%;
                /* 17.55px */
                letter-spacing: -0.325px;
                color: white; }
              section.feature .inner .vb-ob .items .item .head .logo {
                margin-bottom: 16px; }
                section.feature .inner .vb-ob .items .item .head .logo img {
                  width: 100%;
                  margin: 0 auto; }
            section.feature .inner .vb-ob .items .item figure {
              width: 100%;
              margin: 0 auto;
              margin-bottom: 34px;
              overflow: hidden; }
              section.feature .inner .vb-ob .items .item figure img {
                width: 100%; }
            section.feature .inner .vb-ob .items .item > a {
              display: flex;
              justify-content: center;
              align-items: center;
              position: absolute;
              bottom: 0px;
              left: 0px;
              width: 100%;
              height: 34px;
              background: rgba(255, 255, 255, 0.75);
              font-size: 14px;
              font-style: normal;
              font-weight: 600;
              line-height: 186%;
              /* 26.04px */
              letter-spacing: -0.63px; }
  section.function {
    padding-top: 40px;
    padding-bottom: 90px;
    padding-left: 20px;
    padding-right: 20px;
    position: relative; }
    section.function .bg {
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0px;
      left: 0px; }
      section.function .bg img {
        width: 100%;
        height: 100%; }
    section.function .inner {
      position: relative;
      background-color: #FFF;
      border-radius: 16px;
      padding: 24px 16px;
      max-width: 700px;
      margin: 0 auto; }
      section.function .inner .title {
        font-size: 18px;
        font-style: normal;
        font-weight: 600;
        line-height: 186%;
        /* 44.64px */
        letter-spacing: -0.6px;
        text-align: center;
        margin-bottom: 40px; }
      section.function .inner .functions nav {
        border-radius: 12px;
        background: #FFF;
        box-shadow: 0px 0px 35px 0px rgba(215, 194, 11, 0.25);
        padding: 10px 20px;
        margin-bottom: 18px; }
        section.function .inner .functions nav li {
          display: inline-block;
          position: relative;
          margin-right: 30px; }
          section.function .inner .functions nav li a {
            display: block;
            padding: 7.5 0px;
            padding-right: 24px;
            text-align: center;
            font-size: 13px;
            font-style: normal;
            font-weight: 600;
            line-height: 186%;
            /* 24.18px */
            position: relative; }
            section.function .inner .functions nav li a:active, section.function .inner .functions nav li a.current {
              opacity: 1.0;
              color: #0D55E4; }
              section.function .inner .functions nav li a:active:after, section.function .inner .functions nav li a.current:after {
                right: 0px;
                border-right: 1px solid #0D55E4;
                border-bottom: 1px solid #0D55E4; }
            section.function .inner .functions nav li a:after {
              display: block;
              content: "";
              width: 10px;
              height: 10px;
              border-right: 1px solid black;
              border-bottom: 1px solid black;
              position: absolute;
              right: 0px;
              top: 50%;
              transform: translate(0px, -80%) rotate(45deg); }
              section.function .inner .functions .contents .content .items {
                background: #FFF;
              }
      section.function .inner .functions .contents .content .items .item {
        overflow: hidden;
        display: flex;
        justify-content: flex-start;
        align-items: center;
        margin-bottom: 15px;
        }
        section.function .inner .functions .contents .content .items .item.show {
          transition: opacity 0.5s;
          opacity: 1.0; }
        section.function .inner .functions .contents .content .items .item:nth-child(1) {
          transition-delay: 0.1s; }
        section.function .inner .functions .contents .content .items .item:nth-child(2) {
          transition-delay: 0.2s; }
        section.function .inner .functions .contents .content .items .item:nth-child(3) {
          transition-delay: 0.3s; }
        section.function .inner .functions .contents .content .items .item:nth-child(4) {
          transition-delay: 0.4s; }
        section.function .inner .functions .contents .content .items .item:last-child {
          margin-bottom: 0px; }
        section.function .inner .functions .contents .content .items .item figure {
          width: 100px;
          height: 80px;
          -o-object-fit: cover;
             object-fit: cover; }
        section.function .inner .functions .contents .content .items .item .txt {
          width: calc(100% - 100px);
          box-sizing: border-box;
          padding-left: 20px; }
          section.function .inner .functions .contents .content .items .item .txt .head {
            font-size: 15px;
            font-style: normal;
            font-weight: 700;
            line-height: 147.5%;
            /* 22.125px */
            letter-spacing: -0.375px;
            margin-bottom: 6px; }
          section.function .inner .functions .contents .content .items .item .txt .desc {
            font-size: 13px;
            font-style: normal;
            font-weight: 500;
            line-height: 160.5%;
            /* 20.865px */
            letter-spacing: -0.195px; }

  section.apps {
    background: #fff;
    padding: 60px 20px 48px;
  }
  section.apps .inner {
    max-width: 1000px;
    margin: 0 auto;
  }
  section.apps .inner h2 {
    font-size: 32px;
    line-height: 36px;
    font-weight: bold;
    text-align: center;
  }
  section.apps .inner .description {
    font-size: 20px;
    text-align: center;
    line-height: 32px;
    margin-top: 21px;
  }
  section.apps .inner .apps-items {
    display: flex;
    margin-top: 52px;
    gap: 22px;
  }
  section.apps .inner .apps-items figure {
    padding-inline: 20px;
  }
  section.casestudy {
    padding-top: 40px;
    padding-bottom: 90px;
    position: relative;
    overflow: hidden; }
    section.casestudy .bg {
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0px;
      left: 0px; }
      section.casestudy .bg img {
        width: 100%;
        height: 100%; }
    section.casestudy .inner {
      position: relative;
      max-width: 700px;
      margin: 0 auto; }
      section.casestudy .inner .title {
        font-size: 24px;
        font-style: normal;
        font-weight: 600;
        line-height: 186%;
        /* 44.64px */
        letter-spacing: -0.6px;
        text-align: center;
        margin-bottom: 50px; }
      section.casestudy .inner .items .item {
        width: calc(var(--cw) - 20px - 20px);
        margin-left: 10px;
        margin-right: 10px;
        background: white;
        border-radius: 12px;
        overflow: hidden;
        box-sizing: border-box; }
        section.casestudy .inner .items .item figure {
          width: 100%; }
          section.casestudy .inner .items .item figure img {
            width: 100%; }
        section.casestudy .inner .items .item .txt {
          padding: 20px; }
          section.casestudy .inner .items .item .txt .logo {
            margin-top: -20px;
            margin-bottom: -20px;
            margin-left: -20px; }
            section.casestudy .inner .items .item .txt .logo img {
              width: 240px; }
          section.casestudy .inner .items .item .txt .head {
            font-size: 15px;
            font-style: normal;
            font-weight: 700;
            line-height: 147.5%;
            /* 22.125px */
            letter-spacing: -0.375px;
            margin-bottom: 20px; }
          section.casestudy .inner .items .item .txt .desc {
            font-size: 13px;
            font-style: normal;
            font-weight: 400;
            line-height: 160.5%;
            /* 20.865px */
            letter-spacing: -0.195px; }
  section.casestudy-logos {
    background: white;
    padding-top: 30px;
    padding-bottom: 30px;
    overflow: hidden; }
    section.casestudy-logos .text {
      margin-bottom: 34px;
      text-align: center; }
      section.casestudy-logos .text .head {
        font-size: 19px;
        font-style: normal;
        font-weight: 700;
        line-height: 152%;
        /* 28.88px */
        letter-spacing: -0.475px; }
      section.casestudy-logos .text .sub {
        font-size: 12px;
        font-style: normal;
        font-weight: 600;
        line-height: 186%;
        /* 22.32px */
        letter-spacing: -0.3px; }
    section.casestudy-logos .logos {
      display: flex;
      width: calc(180px * 19 * 2);
      animation: 30s linear infinite sliderAnimation; }
      section.casestudy-logos .logos img {
        width: 180px; }
        section.plan {
          padding-inline: 20px;
          background: #EEE;
          background: linear-gradient(
        to bottom,
        #eee 0%,       /* 明るいグレー */
        #eee 66.6%,    /* 3分の2までは維持 */
        #f9e08a 90%,      /* 中間の柔らかい黄色 */
        #f3c422 100%      /* 最後はしっかりした黄色 */
      );
    padding-block: 60px;}
    section.plan .inner {
      position: relative; }
      section.plan .inner .title {
        font-size: 24px;
        font-style: normal;
        font-weight: 600;
        line-height: 186%;
        /* 44.64px */
        letter-spacing: -0.6px;
        text-align: center;
        margin-bottom: 25px; }
      section.plan .inner .table {
        margin: 0 auto;
        max-width: 940px;
        margin-bottom: 40px;
        }
        section.plan .inner .table table {
          font-size: 12px;
          font-style: normal;
          font-weight: 600;
          line-height: 186%;
          /* 22.32px */
          letter-spacing: -0.3px;
          width: 100%;
          max-width: 900px;
          border-radius: 12px;
          overflow: hidden; }
          section.plan .inner .table table thead tr th {
            background: #ffdd29;
            /* border-left: 1px solid white; */
            border-bottom: 0px solid #BEBEBE; }
            section.plan .inner .table table thead tr th.master {
              border-left: 0px solid;
              border-right: 1px solid white;
              background: #BDBDBD; }
          section.plan .inner .table table tr.acc th {
            background: #FFDD29; }
          section.plan .inner .table table tr:last-child th {
            border-bottom: 0px; }
          section.plan .inner .table table tr:last-child td {
            border-bottom: 0px; }
          section.plan .inner .table table th {
            background: #F9F7F7;
            border-bottom: 1px solid #BEBEBE;
            padding: 15px 0px;
            vertical-align: middle; }
          section.plan .inner .table table td {
            padding: 15px 0px;
            background: #FFF;
            border-left: 1px solid #C6C6C6;
            border-bottom: 1px solid #BEBEBE;
            text-align: center;
            vertical-align: middle; }
      section.plan .inner .other {
        padding-top: 0px;
        padding-bottom: 76px;
        padding-left: 20px;
        padding-right: 20px;
        background: linear-gradient(0deg, #F3C422 -43.85%, #EEE 100%); }
        section.plan .inner .other .head {
          text-align: center;
          margin-bottom: 32px; }
          section.plan .inner .other .head.show .logo img {
            transform: translate(0px, 0px);
            opacity: 1.0; }
          section.plan .inner .other .head .logo span {
            font-size: 18px;
            font-style: normal;
            font-weight: 600;
            line-height: 42px;
            letter-spacing: -0.45px;
            transform: translate(0px, -20%);
            display: inline-block; }
          section.plan .inner .other .head .logo img {
            display: inline-block;
            height: 42px; }
          section.plan .inner .other .head .txt {
            font-size: 21px;
            font-style: normal;
            font-weight: 700;
            letter-spacing: -0.525px; }
        section.plan .inner .other .items {
          margin: 0 auto;
          gap: 1px;
          background: #D6D6D6;
          border-radius: 20px;
          overflow: hidden;
          max-width: 700px;
          margin: 0 auto;
          box-sizing: border-box; }
          section.plan .inner .other .items .item {
            height: 56px;
            background: #FFFFFF;
            display: flex;
            justify-content: center;
            align-items: center;
            position: relative;
            box-sizing: border-box;
            border-bottom: 1px solid #D6D6D6; }
            section.plan .inner .other .items .item:last-child {
              border-bottom: 0px; }
            section.plan .inner .other .items .item.acc {
              background: #F3C422; }
              section.plan .inner .other .items .item.acc .label {
                color: white; }
              section.plan .inner .other .items .item.acc .icon {
                background: white; }
                section.plan .inner .other .items .item.acc .icon img {
                  filter: brightness(0) saturate(100%) invert(89%) sepia(25%) saturate(2030%) hue-rotate(341deg) brightness(100%) contrast(91%); }
            section.plan .inner .other .items .item .label {
              text-align: center;
              font-size: 15px;
              font-style: normal;
              font-weight: 600;
              line-height: 186%;
              /* 27.9px */
              letter-spacing: -0.375px; }
            section.plan .inner .other .items .item .icon {
              position: absolute;
              width: 30px;
              height: 30px;
              background: #F3C422;
              border-radius: 39px;
              top: 50%;
              right: 20px;
              transform: translate(0px, -50%); }
              section.plan .inner .other .items .item .icon img {
                width: 13px;
                position: absolute;
                top: 50%;
                left: 50%;
                transform: translate(-50%, -50%) rotate(-90deg);
                filter: invert(1); }
}
@media only screen and (max-width: 767px) {
  section.kv .inner .right .top-form .label {
    font-size: 18px;
    padding-block: 10px;
  }
  section.kv .inner .right .top-form iframe {
    height: 770px;
  }
  .apps .inner .title h2 {
    font-size: 24px;
    line-height: 36px;
  }
  section.apps .inner .description {
    font-size: 14px;
    line-height: 20px;
    text-align: left;
  }
  section.apps .inner .description br {
    display: none;
  }
  .slider-wrapper {
    position: relative;
  }
  .apps-items {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    gap: 10px;
    padding: 10px;
    position: relative;
    white-space: nowrap;
    margin-top: 0;
  }

  /* スライド要素 */
  .apps-item {
    flex: 0 0 100%;
    scroll-snap-align: center;
    position: relative;
    white-space: normal;
    padding-inline: 20px;
  }

  .apps-item figure {
    padding-inline: 24px;
  }

  /* 矢印ナビゲーション */
  .apps-slider-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    cursor: pointer;
    transition: background 0.3s;
    z-index: 10;
  }


  .apps-slider-nav::before {
    content: "";
    display: block;
    width: 12px;
    height: 12px;
    border: solid black;
    border-width: 2px 2px 0 0;
  }

  /* 左矢印 */
  .apps-slider-prev {
    left: 0;
  }

  .apps-slider-prev::before {
    transform: rotate(-135deg);
  }

  /* 右矢印 */
  .apps-slider-next {
    right: 0;
  }

  .apps-slider-next::before {
    transform: rotate(45deg);
  }
  section.plan .table table tr>th:first-child {
    display: none;
  }
  section.plan .table table tr>td:not(:last-child) {
    background: #F9F7F7;
    border-left: 0;
  }
  section.plan .inner .table table td {
    padding-inline: 10px;
  }
}