@charset "UTF-8";
header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
}

body {
  overflow-x: hidden;
}

/* モバイルメニュー開いた時のスクロール禁止 */
body.opened {
  overflow: hidden;
}

p {
  text-align: justify;
}

h4 {
  padding-top: 12px;
}

.u-pc {
  display: block;
}
@media not screen and (min-width: 768px) {
  .u-pc {
    display: none;
  }
}

.u-sp {
  display: none;
}
@media not screen and (min-width: 768px) {
  .u-sp {
    display: block;
  }
}

.post-navigation-link-previous > a,
.post-navigation-link-next > a {
  text-decoration: none !important;
}

.wp-block-query-pagination-numbers {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
}

.wp-block-query-pagination-numbers > .page-numbers {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border: 1px solid var(--wp--preset--color--custom-d-purple);
  padding: 8px 12px;
  text-decoration: none;
}
.wp-block-query-pagination-numbers > .page-numbers:hover {
  background-color: var(--wp--preset--color--custom-d-purple);
  color: var(--wp--preset--color--custom-white);
}
.wp-block-query-pagination-numbers > .page-numbers.current {
  background-color: var(--wp--preset--color--custom-d-purple);
  color: var(--wp--preset--color--custom-white);
}

.wp-block-query-pagination-next,
.wp-block-query-pagination-previous {
  display: none;
}

.l-body__page--top-right {
  background: url(../image/bg_plum-l.png) no-repeat;
  background-position: calc(100% + 48px) calc(0% - 211px);
  background-size: 589px;
}
@media not screen and (min-width: 768px) {
  .l-body__page--top-right {
    background-position: calc(100% + 106px) calc(0% - 19px);
    background-size: 292px;
  }
}

.l-body__page--bottom-left {
  background: url(../image/bg_cherry-l.png) no-repeat;
  background-position: calc(0% - 49px) calc(100% + 150px);
  background-size: 566px;
}
@media not screen and (min-width: 768px) {
  .l-body__page--bottom-left {
    background-position: calc(0% - 13px) calc(100% + 96px);
    background-size: 227px;
  }
}

.l-body__404--top-right {
  background: url(../image/bg_plum-l.png) no-repeat;
  background-position: calc(100% - 101px) calc(0% - 33px);
  background-size: 483px;
}
@media not screen and (min-width: 768px) {
  .l-body__404--top-right {
    background: none;
  }
}

.l-body__404 {
  background: url(../image/bg_plum-s.png) no-repeat;
  background-position: calc(100% - 480px) calc(100% - 20px);
  background-size: 189px;
}
@media not screen and (min-width: 768px) {
  .l-body__404 {
    background-position: calc(100% + 20px) calc(100% + 20px);
  }
}

.l-body__page-thanks--top-right {
  background: url(../image/bg_cherry-l.png) no-repeat;
  background-position: calc(100% + 13px) calc(0% - 81px);
  background-size: 509px;
}
@media not screen and (min-width: 768px) {
  .l-body__page-thanks--top-right {
    background: none;
  }
}

.l-body__page-thanks {
  background: url(../image/bg_cherry-s.png) no-repeat;
  background-position: calc(100% - 480px) calc(100% - 20px);
  background-size: 212px;
}
@media not screen and (min-width: 768px) {
  .l-body__page-thanks {
    background-position: calc(100% + 20px) calc(100% + 20px);
  }
}

.l-fv__fv-area {
  height: 708px;
  position: relative;
}
@media not screen and (min-width: 768px) {
  .l-fv__fv-area {
    height: 630px;
  }
}

.l-fv__fv-space {
  height: 278px !important;
}
@media not screen and (min-width: 768px) {
  .l-fv__fv-space {
    height: 152px !important;
  }
}

.l-fv__textarea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media not screen and (min-width: 768px) {
  .l-fv__textarea {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    text-align: right;
  }
}

.l-fv__textarea--title {
  background: -webkit-gradient(linear, left top, right top, color-stop(-23.81%, #552556), color-stop(114.63%, #9e3b56));
  background: linear-gradient(90deg, #552556 -23.81%, #9e3b56 114.63%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  -webkit-filter: drop-shadow(-4px -4px 8px #fff) drop-shadow(4px 4px 8px #fff);
          filter: drop-shadow(-4px -4px 8px #fff) drop-shadow(4px 4px 8px #fff);
}

.l-fv__textarea--subtitle {
  padding-top: 24px;
  padding-left: 200px;
  background: -webkit-gradient(linear, left top, right top, color-stop(-23.81%, #552556), color-stop(114.63%, #9e3b56));
  background: linear-gradient(90deg, #552556 -23.81%, #9e3b56 114.63%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  -webkit-filter: drop-shadow(-4px -4px 8px #fff) drop-shadow(4px 4px 8px #fff);
          filter: drop-shadow(-4px -4px 8px #fff) drop-shadow(4px 4px 8px #fff);
}
@media not screen and (min-width: 768px) {
  .l-fv__textarea--subtitle {
    padding-top: 0;
    padding-bottom: 12px;
    padding-left: 0;
  }
}

.l-fv__textarea--subtitle span {
  font-size: 20px !important;
}
@media not screen and (min-width: 768px) {
  .l-fv__textarea--subtitle span {
    font-size: 12px !important;
  }
}

.l-fv__news-area {
  width: 658px;
  margin: 0 12.2916666667vw 0 auto;
  margin-top: 138px;
}
@media not screen and (min-width: 768px) {
  .l-fv__news-area {
    width: calc(100% - 49px);
    margin: 0 24.5px;
    margin-top: 200px;
  }
}

.l-section {
  padding-top: 80px;
  padding-bottom: 120px;
}
@media not screen and (min-width: 768px) {
  .l-section {
    padding-top: 64px;
    padding-bottom: 80px;
  }
}

.l-section--half {
  width: 100%;
  position: relative;
  background-color: var(--wp--preset--color--custom-p-lavender);
  padding-bottom: 216px;
}
.l-section--half::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 46%;
  height: calc(100% - 117px);
  background-color: var(--wp--preset--color--custom-d-purple);
}
@media not screen and (min-width: 768px) {
  .l-section--half {
    padding-bottom: 80px;
  }
  .l-section--half::before {
    top: 185px;
    height: calc(100% - 185px - 56px);
  }
}

.l-section--half .c-section-title__title--col {
  color: var(--wp--preset--color--custom-p-lavender);
}
@media not screen and (min-width: 768px) {
  .l-section--half .c-section-title__title--col {
    color: var(--wp--preset--color--custom-d-purple);
  }
}

.l-fp__works--card {
  display: block;
  width: 504px;
  padding: 24px 14px;
}
@media not screen and (min-width: 768px) {
  .l-fp__works--card {
    width: 100%;
  }
}

.l-fp__works--card-header {
  width: 250px;
  margin: 0 auto;
}

.works__swiper-container,
.works__swiper,
.works__swiper-wrapper,
.works__swiper-slide {
  position: relative;
}

.works__swiper-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}

.works__swiper-slide {
  width: 504px;
}
@media not screen and (min-width: 768px) {
  .works__swiper-slide {
    width: 100%;
  }
}

.swiper-button-prev,
.swiper-button-next,
.swiper-pagination-bullets.swiper-pagination-horizontal {
  top: unset;
  bottom: unset;
  left: unset;
  right: unset;
  margin: 0;
  padding: 0;
}

.swiper-button-prev::after,
.swiper-button-next::after {
  content: "";
}

.swiper-button-prev,
.swiper-button-next {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 40px;
  height: 40px;
  background-color: var(--wp--preset--color--custom-white);
  padding: 5px 10px 17px 10px;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.swiper-button-prev {
  left: 10px;
}

.swiper-button-next {
  right: 10px;
}

.swiper-pagination-progressbar.swiper-pagination-horizontal {
  position: relative;
  margin-top: 20px;
  width: 500px;
  left: 50%;
  translate: -50%;
  z-index: 10;
  background: var(--wp--preset--color--custom-p-lavender);
}
@media not screen and (min-width: 768px) {
  .swiper-pagination-progressbar.swiper-pagination-horizontal {
    width: 75%;
  }
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--wp--preset--color--custom-d-purple);
}

.l-fp__service--title {
  padding-bottom: 16px;
}
@media not screen and (min-width: 768px) {
  .l-fp__service--title {
    padding-bottom: 8px;
  }
}

.l-fp__service--text {
  padding-top: 16px;
  text-align: justify;
}
@media not screen and (min-width: 768px) {
  .l-fp__service--text {
    padding-top: 8px;
  }
}

.l-fp__service--content,
.l-fp__service--content-r {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 32px;
}
@media screen and (min-width: 768px) {
  .l-fp__service--content,
  .l-fp__service--content-r {
    padding-left: 40px !important;
    padding-right: 40px !important;
  }
}
@media not screen and (min-width: 768px) {
  .l-fp__service--content,
  .l-fp__service--content-r {
    gap: 8px;
  }
}

.l-fp__service--content {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}
@media not screen and (min-width: 768px) {
  .l-fp__service--content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}

.l-fp__service--content-r {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media not screen and (min-width: 768px) {
  .l-fp__service--content-r {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}

@media not screen and (min-width: 768px) {
  .l-fp__service--icon {
    max-width: 100px;
  }
}

.l-fp__flow--content {
  padding-top: 80px;
}
@media not screen and (min-width: 768px) {
  .l-fp__flow--content {
    padding-top: 0px;
  }
}

.l-fp__flow-list {
  padding: 40px;
}
@media not screen and (min-width: 768px) {
  .l-fp__flow-list {
    padding: 16px;
  }
}

.l-fp__flow--list-item {
  position: relative;
  padding-left: 21px;
}

.l-fp__flow--list-num {
  position: absolute;
  top: -5px;
  left: 0;
  z-index: 1;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 42px;
  height: 42px;
  color: var(--wp--preset--color--custom-white);
  background: url(../image/icon-list.png) no-repeat center/contain;
}

.l-fp__flow--insurance {
  gap: 40px;
  padding: 8px 32px;
  width: 512px;
  background-color: #f2f2f7;
  margin-left: 50px !important;
  margin-right: 0 !important;
}
@media not screen and (min-width: 768px) {
  .l-fp__flow--insurance {
    gap: 16px;
    padding: 8px 16px;
    width: 100%;
    margin: 24px auto !important;
  }
}

.l-fp__linkarea {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
@media not screen and (min-width: 768px) {
  .l-fp__linkarea {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 40px;
    padding: 80px 0;
    font-size: 14px;
  }
}
.l-fp__linkarea a {
  display: block;
  text-decoration: none;
  color: var(--wp--preset--color--custom-white);
  width: 100%;
  padding-top: 80px;
  padding-bottom: 80px;
  text-align: center;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}
@media screen and (min-width: 768px) {
  .l-fp__linkarea a:hover {
    background-color: var(--wp--preset--color--custom-d-purple);
  }
}
@media not screen and (min-width: 768px) {
  .l-fp__linkarea a {
    padding: 24px;
    width: 292px;
    border-radius: 68px;
    background-color: var(--wp--preset--color--custom-d-purple);
  }
}

.l-fp__linkarea-contact a {
  position: relative;
  padding-left: calc(50vw - 440px);
}
.l-fp__linkarea-contact a::after {
  position: absolute;
  content: "";
  background: url(../image/icon-arrow-r.png) no-repeat center/contain;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 16px;
  height: 16px;
  left: calc(50vw - 440px + 340px);
}
@media not screen and (min-width: 768px) {
  .l-fp__linkarea-contact a {
    padding-left: 24px;
  }
  .l-fp__linkarea-contact a::after {
    left: unset;
    right: 30px;
  }
}

.l-fp__linkarea-sns a {
  position: relative;
  padding-right: calc(50vw - 440px);
}
.l-fp__linkarea-sns a::after {
  position: absolute;
  content: "";
  background: url(../image/icon-link.png) no-repeat center/contain;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 16px;
  height: 16px;
  left: 340px;
}
@media not screen and (min-width: 768px) {
  .l-fp__linkarea-sns a {
    padding-right: 24px;
  }
  .l-fp__linkarea-sns a::after {
    left: unset;
    right: 30px;
  }
}

.l-fp__linkarea-line a {
  padding-left: calc(50vw - 440px);
  position: relative;
}
.l-fp__linkarea-line a::after {
  position: absolute;
  content: "";
  background: url(../image/icon-link.png) no-repeat center/contain;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 16px;
  height: 16px;
  left: calc(50vw - 440px + 340px);
}
@media not screen and (min-width: 768px) {
  .l-fp__linkarea-line a {
    padding-left: 24px;
  }
  .l-fp__linkarea-line a::after {
    left: unset;
    right: 30px;
  }
}

.l-fp__about--photo {
  width: 200px;
}
@media not screen and (min-width: 768px) {
  .l-fp__about--photo {
    width: 100%;
  }
}

.l-fp__about--skills {
  text-align: left;
}
@media not screen and (min-width: 768px) {
  .l-fp__about--skills {
    text-align: center;
  }
}

.l-fp__contact--container {
  padding: 56px 80px 80px 80px;
  max-width: 800px;
  margin: 0 auto;
}
@media not screen and (min-width: 768px) {
  .l-fp__contact--container {
    padding: 40px 40px 64px 40px;
  }
}

.l-fp__contact--header {
  font-size: 24px;
}
@media not screen and (min-width: 768px) {
  .l-fp__contact--header {
    font-size: 20px;
  }
}

.l-fp__contact--text {
  max-width: 468px;
  margin: 32px auto 0;
}
@media not screen and (min-width: 768px) {
  .l-fp__contact--text {
    margin-top: 24px;
  }
}

@media not screen and (min-width: 768px) {
  .l-page-thanks {
    padding-top: 48px !important;
    padding-bottom: 64px !important;
  }
}

.l-page-thanks__content {
  padding-top: 32px;
}
@media not screen and (min-width: 768px) {
  .l-page-thanks__content {
    padding-top: 40px;
  }
}

@media not screen and (min-width: 768px) {
  .l-footer__container {
    padding-top: 99px !important;
    padding-bottom: 33px !important;
  }
}

.l-footer__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media not screen and (min-width: 768px) {
  .l-footer__nav {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 32px !important;
  }
}
.l-footer__nav a {
  text-decoration: none;
}

.l-footer__privacy {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 40px;
  margin-top: 40px;
}
@media not screen and (min-width: 768px) {
  .l-footer__privacy {
    gap: 24px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.l-footer__privacy a {
  text-decoration: none;
}

@media not screen and (min-width: 768px) {
  .l-footer__space {
    height: 90px !important;
  }
}

@media not screen and (min-width: 768px) {
  .l-body__404 {
    padding-top: 48px !important;
    padding-bottom: 120px !important;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

@media not screen and (min-width: 768px) {
  .l-404__title {
    font-size: 48px !important;
  }
}

@media not screen and (min-width: 768px) {
  .l-404__text {
    text-align: center !important;
  }
}

.l-works-mockup {
  max-width: 564px;
}
@media not screen and (min-width: 768px) {
  .l-works-mockup {
    width: 100%;
  }
}

.l-works__tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
}
@media not screen and (min-width: 768px) {
  .l-works__tags {
    gap: 4px;
  }
}

.l-works__tags a {
  display: block;
  font-size: 14px;
  border: 0.5px solid var(--wp--preset--color--custom-d-purple);
  padding: 4px 8px;
  border-radius: 2px;
  text-decoration: none;
}
.l-works__tags a:hover {
  background-color: var(--wp--preset--color--custom-d-purple);
  color: var(--wp--preset--color--custom-white);
}
@media not screen and (min-width: 768px) {
  .l-works__tags a {
    font-size: 12px;
  }
}

.l-works__header__content {
  padding: 40px 0;
  margin: 0 auto;
  width: 384px;
}
@media not screen and (min-width: 768px) {
  .l-works__header__content {
    padding: 0px 0 24px 0;
    width: 100%;
  }
}

.l-works__items--p {
  padding-left: 35px;
  font-size: 14px;
}
.l-works__items--p h4:first-child {
  padding-top: 0;
}
.l-works__items--p p {
  padding-left: 20px;
}
.l-works__items--p ul, .l-works__items--p ol {
  padding-left: 30px;
}

.l-works__navi {
  position: relative;
  padding-top: 80px;
  padding-bottom: 120px;
}
@media not screen and (min-width: 768px) {
  .l-works__navi {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}

.l-works__navi--button {
  position: absolute;
  top: 60px;
  left: 50%;
  translate: -50% 0;
}
@media not screen and (min-width: 768px) {
  .l-works__navi--button {
    position: relative;
    top: 0;
    padding-top: 40px;
  }
}

.l-works__image {
  height: 340px !important;
}
@media not screen and (min-width: 768px) {
  .l-works__image {
    height: 140px !important;
  }
}

.l-woks__footer-img {
  width: 100%;
  height: 320px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media not screen and (min-width: 768px) {
  .l-woks__footer-img {
    height: 140px;
  }
}

.note {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: auto;
}
@media not screen and (min-width: 768px) {
  .note {
    grid-template-columns: repeat(1, 1fr);
    gap: 40px;
  }
}

.note-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 298px;
  text-decoration: none;
}
@media not screen and (min-width: 768px) {
  .note-item {
    width: 100%;
  }
}

.note-item img {
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.note-item__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 0px;
}

.note-item__date {
  font-size: 12px;
  font-weight: 700;
  line-height: 1.6; /* 19.2px */
}

.note-item__title {
  font-size: 17px;
  font-weight: 700;
  margin-top: 4px;
  margin-bottom: 12px;
}

.note-item__description {
  font-size: 13px;
  margin-top: 0;
}

.l-contact {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
  max-width: 632px;
  margin: 0 auto;
}

.smf-item {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4px;
}

.smf-item__col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: 8px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.smf-item__label {
  color: var(--wp--preset--color--custom-d-purple);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
}

.smf-item__description {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 2px 4px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 2px;
  background: var(--wp--preset--color--custom-d-purple);
  color: var(--wp--preset--color--custom-white);
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  margin-top: 4px;
}

.smf-item__controls {
  width: 100%;
}

input[type=text],
input[type=email],
textarea {
  width: 100%;
  padding: 14px 16px 12px !important;
  border-radius: 2px;
  border: none !important;
  background: var(--wp--preset--color--custom-white);
  font-family: "Noto Serif JP", serif;
  font-size: 16px;
}
input[type=text]::-webkit-input-placeholder, input[type=email]::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
  color: rgba(80, 67, 79, 0.3);
  font-family: "Noto Serif JP", serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
}
input[type=text]::-moz-placeholder, input[type=email]::-moz-placeholder, textarea::-moz-placeholder {
  color: rgba(80, 67, 79, 0.3);
  font-family: "Noto Serif JP", serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
}
input[type=text]:-ms-input-placeholder, input[type=email]:-ms-input-placeholder, textarea:-ms-input-placeholder {
  color: rgba(80, 67, 79, 0.3);
  font-family: "Noto Serif JP", serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
}
input[type=text]::-ms-input-placeholder, input[type=email]::-ms-input-placeholder, textarea::-ms-input-placeholder {
  color: rgba(80, 67, 79, 0.3);
  font-family: "Noto Serif JP", serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
}
input[type=text]::placeholder,
input[type=email]::placeholder,
textarea::placeholder {
  color: rgba(80, 67, 79, 0.3);
  font-family: "Noto Serif JP", serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
}

textarea {
  resize: vertical;
}

input[type=checkbox] {
  width: 1px !important;
  height: 1px !important;
  position: absolute !important;
  clip: rect(0, 0, 0, 0) !important;
}

input[type=checkbox]:checked + span::after {
  opacity: 1;
}

.smf-checkboxes-control--horizontal {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 56px;
}

.smf-checkbox-control {
  text-align: center;
}
.smf-checkbox-control span.smf-checkbox-control__label {
  display: inline-block;
  position: relative;
  padding-left: 26px;
  font-size: 13px;
}
.smf-checkbox-control span.smf-checkbox-control__label::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 18px;
  height: 18px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  border-radius: 2px;
  border: 1px solid var(--wp--preset--color--custom-d-purple);
  background: var(--wp--preset--color--custom-white);
}
.smf-checkbox-control span.smf-checkbox-control__label::after {
  content: "";
  position: absolute;
  background: url(../image/checked.svg) no-repeat center/contain;
  top: 50%;
  left: 2px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 14px;
  height: 10px;
  opacity: 0;
}

input[type=submit],
input[type=button] {
  border-radius: 0px;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
       appearance: button;
  border: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  cursor: pointer;
  background: transparent;
}

input[type=submit]::-webkit-search-decoration,
input[type=button]::-webkit-search-decoration {
  display: none;
}

.smf-action {
  text-align: center;
  padding-top: 40px;
}

.smf-button-control__control {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 16px 56px 16px 28px !important;
  -webkit-box-align: center !important;
      -ms-flex-align: center !important;
          align-items: center !important;
  color: var(--wp--preset--color--custom-white) !important;
  font-family: "Noto Serif JP", serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 160% !important;
  border-radius: 4px !important;
  border: none !important;
  background: var(--wp--preset--color--custom-d-purple) !important;
  -webkit-transition: background-color 0.3s ease !important;
  transition: background-color 0.3s ease !important;
}
@media screen and (min-width: 768px) {
  .smf-button-control__control:hover {
    background-color: rgba(85, 37, 86, 0.1) !important;
  }
}
.smf-button-control__control::after {
  content: "";
  position: absolute;
  background: url(../image/icon-arrow-r.png) no-repeat center/contain !important;
  top: 50%;
  -webkit-transform: translateY(-50%) !important;
          transform: translateY(-50%) !important;
  right: 24px !important;
  width: 16px !important;
  height: 16px !important;
}
.smf-button-control__control input[type=submit] {
  display: inline-block;
}

.wp-element-button {
  background-color: var(--wp--preset--color--custom-d-purple);
  color: var(--wp--preset--color--custom-white);
}
.wp-element-button:hover {
  background-color: var(--wp--preset--color--custom-purple);
  color: var(--wp--preset--color--custom-d-purple);
}

.is-style-outline > .wp-element-button {
  background-color: transparent;
  color: var(--wp--preset--color--custom-d-purple);
}
.is-style-outline > .wp-element-button:hover {
  background-color: var(--wp--preset--color--custom-lavender);
  border-color: var(--wp--preset--color--custom-d-purple);
}

.is-style-default-arrow-button > .wp-element-button {
  position: relative;
  padding-right: 56px;
}
.is-style-default-arrow-button > .wp-element-button::after {
  content: "";
  position: absolute;
  background: url(../image/arrow-r.svg) no-repeat center/contain;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 24px;
  width: 16px;
  height: 16px;
}
.is-style-default-arrow-button > .wp-element-button:hover::after {
  background-image: url(../image/arrow-r.png);
}

.is-style-outline-arrow-button > .wp-element-button {
  position: relative;
  padding: 8px 40px 8px 20px;
  border: 1px solid var(--wp--preset--color--custom-d-purple);
  color: var(--wp--preset--color--custom-d-purple);
  background-color: transparent;
  border-radius: 68px;
}
.is-style-outline-arrow-button > .wp-element-button::after {
  content: "";
  position: absolute;
  background: url(../image/arrow-r.png) no-repeat center/contain;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 20px;
  width: 16px;
  height: 16px;
}
.is-style-outline-arrow-button > .wp-element-button:hover {
  background-color: var(--wp--preset--color--custom-lavender);
}

.is-style-url-button > .wp-element-button {
  padding: 4px 16px 4px 8px;
  gap: 10px;
  -ms-flex-item-align: stretch;
      align-self: stretch;
  background-color: var(--wp--preset--color--custom-white);
  color: var(--wp--preset--color--custom-black);
  color: var(--, #3d333c);
  font-style: italic;
  font-weight: 400;
  border-radius: 66px;
  -webkit-box-shadow: 0 1px 6px 0 rgba(0, 0, 0, 0.25);
          box-shadow: 0 1px 6px 0 rgba(0, 0, 0, 0.25);
  width: 384px;
  margin-top: 24px;
  margin-bottom: 12px;
}
@media not screen and (min-width: 768px) {
  .is-style-url-button > .wp-element-button {
    width: 100%;
    margin-top: 16px;
    margin-bottom: 8px;
  }
}
.is-style-url-button > .wp-element-button::before {
  content: url(../image/icon-link.svg);
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  margin-right: 10px;
  width: 24px;
  height: 16px;
}
.is-style-url-button > .wp-element-button:hover {
  background-color: var(--wp--preset--color--custom-lavender);
}

.is-style-design-button > .wp-element-button {
  margin-left: 25px;
  font-size: 14px;
  background-color: transparent;
  padding: 0;
  color: var(--wp--preset--color--custom-black);
}
.is-style-design-button > .wp-element-button:hover {
  background-color: var(--wp--preset--color--custom-lavender);
}

.c-section-title {
  position: relative;
}
.c-section-title__icon {
  width: 112px;
  height: 112px;
}
@media not screen and (min-width: 768px) {
  .c-section-title__icon {
    width: 82px;
    height: 82px;
  }
}

.c-section-title__title--row {
  position: absolute;
  bottom: 4px;
  left: 61px;
}
@media not screen and (min-width: 768px) {
  .c-section-title__title--row {
    bottom: 13px;
    left: 74px;
  }
}

.c-section-title__title--col {
  position: absolute;
  top: 80px;
  left: 61px;
  height: 300px;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-orientation: mixed;
  letter-spacing: 0.1em;
}
@media not screen and (min-width: 768px) {
  .c-section-title__title--col {
    top: auto;
    bottom: 13px;
    left: 74px;
    -webkit-writing-mode: horizontal-tb;
        -ms-writing-mode: lr-tb;
            writing-mode: horizontal-tb;
    height: auto;
  }
}

.c-section-title__title--sns {
  position: absolute;
  top: 80px;
  left: 61px;
  height: 500px;
}
@media not screen and (min-width: 768px) {
  .c-section-title__title--sns {
    top: auto;
    bottom: 13px;
    left: 74px;
    height: auto;
  }
}

.c-section-title__title--sns > * {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-orientation: mixed;
  letter-spacing: 0.1em;
}
@media not screen and (min-width: 768px) {
  .c-section-title__title--sns > * {
    -webkit-writing-mode: horizontal-tb;
        -ms-writing-mode: lr-tb;
            writing-mode: horizontal-tb;
  }
}

.animated__fadeIn {
  opacity: 0;
  translate: 0 40px;
  -webkit-transition: opacity 0.5s ease, translate 0.5s ease;
  transition: opacity 0.5s ease, translate 0.5s ease;
}
.animated__fadeIn.js-show {
  opacity: 1;
  translate: 0 0;
}

.animated__fadeDown {
  opacity: 0;
  translate: 0 -20px;
  -webkit-transition: opacity 0.7s ease, translate 0.7s ease;
  transition: opacity 0.7s ease, translate 0.7s ease;
}
.animated__fadeDown.js-show {
  opacity: 1;
  translate: 0 0;
}

.animated__slideIn--left {
  opacity: 0;
  translate: -1000px;
  -webkit-transition: opacity 0.5s ease, translate 0.5s ease;
  transition: opacity 0.5s ease, translate 0.5s ease;
}
@media (max-width: 800px) {
  .animated__slideIn--left {
    opacity: 0;
    translate: 0 40px;
  }
}
.animated__slideIn--left.js-show {
  opacity: 1;
  translate: 0;
}

.animated__slideIn--right {
  opacity: 0;
  translate: 1000px;
  -webkit-transition: opacity 0.5s ease, translate 0.5s ease;
  transition: opacity 0.5s ease, translate 0.5s ease;
}
@media (max-width: 800px) {
  .animated__slideIn--right {
    opacity: 0;
    translate: 0 40px;
  }
}
.animated__slideIn--right.js-show {
  opacity: 1;
  translate: 0;
}

.animated__slideUp {
  overflow: hidden;
}
.animated__slideUp .char {
  translate: 0 100%;
}

.animated__rotate {
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
  -webkit-transition: -webkit-transform 1s ease;
  transition: -webkit-transform 1s ease;
  transition: transform 1s ease;
  transition: transform 1s ease, -webkit-transform 1s ease;
}
.animated__rotate.js-rotate {
  -webkit-transform: rotate(360deg);
          transform: rotate(360deg);
}

.animated__colorBox-relative {
  position: relative;
}

.animated__colorBox,
.animated__colorBox-relative {
  white-space: nowrap;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  -webkit-clip-path: inset(0 100% 0 0);
          clip-path: inset(0 100% 0 0);
}
.animated__colorBox::after,
.animated__colorBox-relative::after {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: var(--wp--preset--color--custom-d-purple);
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: 0 50%;
          transform-origin: 0 50%;
  pointer-events: none;
}
.animated__colorBox.js-show,
.animated__colorBox-relative.js-show {
  -webkit-animation: 1.2s forwards ease-in-out textView;
          animation: 1.2s forwards ease-in-out textView;
}
.animated__colorBox.js-show::after,
.animated__colorBox-relative.js-show::after {
  -webkit-animation: 1.2s forwards ease-in-out colorBox;
          animation: 1.2s forwards ease-in-out colorBox;
}

.animated__colorBox-title {
  position: relative;
  white-space: nowrap;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  -webkit-clip-path: inset(0 100% 0 0);
          clip-path: inset(0 100% 0 0);
  -webkit-animation: 1.2s forwards ease-in-out textView;
          animation: 1.2s forwards ease-in-out textView;
}
.animated__colorBox-title::after {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: var(--wp--preset--color--custom-d-purple);
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: 0 50%;
          transform-origin: 0 50%;
  pointer-events: none;
  -webkit-animation: 1.2s forwards ease-in-out colorBox;
          animation: 1.2s forwards ease-in-out colorBox;
}

@-webkit-keyframes textView {
  from {
    -webkit-clip-path: inset(0 100% 0 0);
            clip-path: inset(0 100% 0 0);
  }
  to {
    -webkit-clip-path: inset(0 0 0 0);
            clip-path: inset(0 0 0 0);
  }
}

@keyframes textView {
  from {
    -webkit-clip-path: inset(0 100% 0 0);
            clip-path: inset(0 100% 0 0);
  }
  to {
    -webkit-clip-path: inset(0 0 0 0);
            clip-path: inset(0 0 0 0);
  }
}
@-webkit-keyframes colorBox {
  0%, 50% {
    -webkit-transform-origin: 0 50%;
            transform-origin: 0 50%;
  }
  60%, 100% {
    -webkit-transform-origin: 100% 50%;
            transform-origin: 100% 50%;
  }
  60% {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }
  100% {
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
  }
}
@keyframes colorBox {
  0%, 50% {
    -webkit-transform-origin: 0 50%;
            transform-origin: 0 50%;
  }
  60%, 100% {
    -webkit-transform-origin: 100% 50%;
            transform-origin: 100% 50%;
  }
  60% {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }
  100% {
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
  }
}
.splash-screen {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: white;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 20px;
  color: black;
  z-index: 1000;
}
@media not screen and (min-width: 768px) {
  .splash-screen {
    width: 100vw;
    height: 100vh;
  }
}

#load {
  position: absolute;
  width: 600px;
  height: 36px;
  left: 50%;
  top: 55%;
  margin-left: -300px;
  overflow: visible;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  cursor: default;
}
@media not screen and (min-width: 768px) {
  #load {
    width: 90vw;
    max-width: 350px;
    margin-left: -45vw;
  }
}

#load .wp-block-image {
  position: absolute;
  width: 20px;
  height: 20px;
  opacity: 0;
  font-family: Helvetica, Arial, sans-serif;
  animation: move 2s linear infinite;
  -o-animation: move 2s linear infinite;
  -moz-animation: move 2s linear infinite;
  -webkit-animation: move 2s linear infinite;
  transform: rotate(180deg);
  -o-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  -webkit-transform: rotate(180deg);
}

#load .wp-block-image:nth-child(2) {
  animation-delay: 0.2s;
  -o-animation-delay: 0.2s;
  -moz-animation-delay: 0.2s;
  -webkit-animation-delay: 0.2s;
}

#load .wp-block-image:nth-child(3) {
  animation-delay: 0.4s;
  -o-animation-delay: 0.4s;
  -webkit-animation-delay: 0.4s;
  -webkit-animation-delay: 0.4s;
}

#load .wp-block-image:nth-child(4) {
  animation-delay: 0.6s;
  -o-animation-delay: 0.6s;
  -moz-animation-delay: 0.6s;
  -webkit-animation-delay: 0.6s;
}

#load .wp-block-image:nth-child(5) {
  animation-delay: 0.8s;
  -o-animation-delay: 0.8s;
  -moz-animation-delay: 0.8s;
  -webkit-animation-delay: 0.8s;
}

#load .wp-block-image:nth-child(6) {
  animation-delay: 1s;
  -o-animation-delay: 1s;
  -moz-animation-delay: 1s;
  -webkit-animation-delay: 1s;
}

#load .wp-block-image:nth-child(7) {
  animation-delay: 1.2s;
  -o-animation-delay: 1.2s;
  -moz-animation-delay: 1.2s;
  -webkit-animation-delay: 1.2s;
}

@keyframes move {
  0% {
    left: 0;
    opacity: 0;
  }
  35% {
    left: 41%;
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
    opacity: 1;
  }
  65% {
    left: 59%;
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
    opacity: 1;
  }
  100% {
    left: 100%;
    -webkit-transform: rotate(-180deg);
    transform: rotate(-180deg);
    opacity: 0;
  }
}
@-webkit-keyframes move {
  0% {
    left: 0;
    opacity: 0;
  }
  35% {
    left: 41%;
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
    opacity: 1;
  }
  65% {
    left: 59%;
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
    opacity: 1;
  }
  100% {
    left: 100%;
    -webkit-transform: rotate(-180deg);
    transform: rotate(-180deg);
    opacity: 0;
  }
}