@charset "UTF-8";
/* Common */
.fc-white {
  color: #ffffff;
}

.fc-black {
  color: #1b1b1b;
}

.fc-orange {
  color: #eb7100;
}

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

.fw-bold {
  font-weight: 700;
}

.fw-medium {
  font-weight: 500;
}

.fw-semibold {
  font-weight: 600;
}

.mt-1rem {
  margin-top: 1rem;
}

.text-xs {
  font-size: 12px;
  line-height: 1.6;
}

.text-base {
  font-size: 15px;
  line-height: 1;
}

.text-lg {
  font-size: 18px;
  line-height: 1.7;
}

.text-h3 {
  font-size: 32px;
  line-height: 1.5;
}

.text-h2 {
  font-size: 48px;
  line-height: 1.2;
}

a.link-underline {
  text-decoration: underline;
}
a.btn-black {
  display: inline-block;
  padding: 8px 16px;
  border-radius: 9999px;
  background: #18181b;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  transition: all 0.3s ease;
}
a.btn-black > span {
  position: relative;
  font-size: 15px;
  padding-right: 24px;
  font-weight: 500;
  color: #fafafa;
  line-height: 1;
}
a.btn-black > span:after {
  position: absolute;
  top: calc((100% - 16px) / 2);
  right: 0;
  width: 16px;
  height: 16px;
  background-image: url("../images/common/icon-arrow_right.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  filter: brightness(0) saturate(100%) invert(1) sepia(0) saturate(0) hue-rotate(0deg) brightness(1) contrast(1);
  content: "";
}

/* A Modern CSS Reset */
*,
*::before,
*::after {
  box-sizing: border-box;
}

body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
  font-weight: 400;
}

ul[role=list],
ol[role=list] {
  list-style: none;
}

body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

a:not([class]) {
  text-decoration-skip-ink: auto;
}

img,
picture {
  max-width: 100%;
  display: block;
}

input,
button,
textarea,
select {
  font: inherit;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
@media (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}
body {
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  word-wrap: break-word;
  overflow-wrap: break-word;
  color: #1b1b1b;
  font-size: 16px;
  line-height: 1.75;
  background: #FFCC35;
}
@media only screen and (max-width: 1240px) {
  body {
    font-size: 14px;
  }
}
body::-webkit-scrollbar {
  display: none;
}

main {
  overflow: hidden;
}
main.lower {
  padding: 158px 0 0;
}

a {
  text-decoration: none;
  transition: all 0.4s;
  color: inherit;
}
@media (hover: hover) {
  a:hover {
    opacity: 0.8;
  }
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

ol.list-decimal {
  list-style-type: decimal;
  list-style-position: inside;
}
ol.list-brackets li {
  list-style-type: none;
  counter-increment: cnt;
}
ol.list-brackets li:before {
  content: "(" counter(cnt) ") ";
}

button {
  cursor: pointer;
  transition: all 0.3s;
  border: none;
}

a.txt-link {
  color: #4A88ED;
}
a.link-underline {
  text-decoration: underline;
}

.txt-link {
  color: #4A88ED;
}

b,
strong,
.bold {
  font-weight: 700;
}

ul,
ol {
  padding: 0;
  margin: 0;
  list-style: none;
}

.aligncenter {
  margin: 0 auto;
}

@media only screen and (max-width: 768px) {
  .sp-aligncenter {
    margin: 0 auto;
  }
}

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

_:lang(x)::-ms-backdrop,
body {
  font-family: "Segoe UI", Meiryo, sans-serif;
}

.spOnly {
  display: none;
}
@media only screen and (max-width: 768px) {
  .spOnly {
    display: block;
  }
}

.spTabOnly {
  display: none;
}
@media only screen and (max-width: 1300px) {
  .spTabOnly {
    display: block;
  }
}

@media only screen and (max-width: 1300px) {
  .pcOnly {
    display: none;
  }
}

@media only screen and (max-width: 768px) {
  .pcTabOnly {
    display: none;
  }
}

.js-anim {
  opacity: 0;
  transition: all 1s;
}
.js-anim.is-anim {
  opacity: 1;
}

.is-hidden {
  display: none;
}

/* Common */
input,
select,
textarea {
  max-width: 730px;
  width: 100%;
  padding: 8px 12px;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  cursor: pointer;
  color: inherit;
  font-size: 14px;
  box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.0509803922);
  border: 1px solid #E4E4E7;
  border-radius: 6px;
}
@media only screen and (min-width: 768px) {
  input,
  select,
  textarea {
    font-size: 16px;
  }
}
input:-webkit-autofill,
select:-webkit-autofill,
textarea:-webkit-autofill {
  box-shadow: 0 0 0 1000px white inset;
}
input:focus,
select:focus,
textarea:focus {
  outline: none;
}

input[type=text],
input[type=text],
input[type=email],
input[type=tel],
input[type=url],
select,
textarea {
  width: 100%;
  height: 36px;
  border: none;
  line-height: 1;
  background-color: #fff !important;
}

button[type=submit] {
  padding: 8px 40px 8px 16px !important;
  border: none !important;
  border-radius: 6px !important;
  background: #18181B !important;
  box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.1), 0px 1px 2px 0px rgba(0, 0, 0, 0.06);
  color: #FAFAFA !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 142.857% !important;
  background-image: url(../images/common/icon-arrow_right.svg) !important;
  background-size: 16px 16px !important;
  background-position: center right 16px !important;
  background-repeat: no-repeat !important;
}

textarea {
  border: 1px solid #E4E4E7;
  height: 128px !important;
  box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.0509803922);
}
@media only screen and (max-width: 768px) {
  textarea {
    height: 180px !important;
  }
}

input[type=radio] {
  opacity: 0;
  visibility: hidden;
  position: absolute;
}

.snow-monkey-form .wp-block-snow-monkey-forms-item + .wp-block-snow-monkey-forms-item {
  margin: 24px 0 0;
}
.snow-monkey-form .wp-block-snow-monkey-forms-item .smf-item__col + .smf-item__col {
  margin: 8px 0 0;
}
.snow-monkey-form .wp-block-snow-monkey-forms-item .smf-item__label {
  color: #18181B;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
}
.snow-monkey-form .smf-action {
  margin: 24px 0 0;
  text-align: center;
}
.snow-monkey-form .smf-item__label__text {
  position: relative;
}
.snow-monkey-form .smf-item:has([data-validations~=required]) .smf-item__label__text::after {
  position: absolute;
  top: 50%;
  right: -40px;
  transform: translateY(-50%);
  display: grid;
  place-items: center;
  width: 30px;
  height: 14px;
  content: "必須";
  font-size: 10px;
  color: #fff;
  border-radius: 4px;
  background: #1B1B1B;
}

/* Components */
/* Common */
header {
  position: fixed;
  width: 100%;
  padding: 0 12px;
  top: 24px;
  z-index: 999;
  transition: all 0.3s ease;
}
@media only screen and (max-width: 768px) {
  header {
    top: 16px;
  }
}
header .header-inner {
  max-width: 1184px;
  margin: 0 auto;
  padding: 12px 48px;
  display: flex;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.3) 100%);
  border-radius: 999px;
  justify-content: space-between;
  align-items: center;
}
@media only screen and (max-width: 768px) {
  header .header-inner {
    padding: 10px 16px 10px 27px;
  }
}
header .header-logo {
  width: 112px;
}
@media only screen and (max-width: 768px) {
  header .header-logo {
    width: 75px;
  }
}
header .header-contact > a {
  padding: 8px 16px;
  font-size: 14px;
  background: #18181B;
  line-height: 142.857%;
  color: #ffffff;
  border-radius: 999px;
  box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.1), 0px 1px 2px 0px rgba(0, 0, 0, 0.06);
}

/* Common */
footer {
  background: #ffffff;
}
footer .footer-inner {
  padding: 24px 0;
}
footer .footer-logo {
  width: 210.7161102295px;
  margin: 0 auto;
}
footer .footer-copyright {
  margin: 20px 0 0;
  font-weight: 400;
  font-size: 11px;
  line-height: 1.6;
  text-align: center;
  color: #000;
}

/* Common */
/**
 * お知らせ一覧コンポーネント
 */
.top-news {
  padding: 4rem 10rem;
}
.top-news__container {
  max-width: 100%;
}
.top-news__header {
  margin-bottom: 2rem;
}
.top-news__title {
  font-family: "Outfit", sans-serif;
  font-size: 3rem;
  font-weight: 600;
  color: #1b1b1b;
  line-height: 1.2;
  margin: 0;
}
.top-news__list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-bottom: 2rem;
}
.top-news__item {
  height: 4.5rem;
  border-radius: 1rem;
  transition: background-color 0.3s ease;
}
.top-news__item:hover {
  background-color: rgba(0, 0, 0, 0.05);
}
.top-news__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.5rem;
  text-decoration: none;
  color: inherit;
  height: 100%;
}
.top-news__item-content {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  flex: 1;
}
.top-news__date {
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-size: 0.9375rem;
  font-weight: 500;
  color: #737373;
  line-height: 1;
  width: 5.5rem;
}
.top-news__category {
  background-color: #eb7100;
  color: #ffffff;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1;
  padding: 0.25rem 0.75rem;
  border-radius: 9999px;
  white-space: nowrap;
}
.top-news__item-title {
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-size: 0.9375rem;
  font-weight: 500;
  color: #1b1b1b;
  line-height: 1.8;
  flex: 1;
}
.top-news__arrow {
  width: 20px;
  height: 20px;
  background-image: url("../images/common/icon-arrow_right.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  filter: brightness(0) saturate(100%) invert(0.1) sepia(0) saturate(0) hue-rotate(0deg) brightness(0.1) contrast(1);
  transition: transform 0.3s ease;
}
.top-news__link:hover .top-news__arrow {
  transform: translateX(0.25rem);
}
.top-news__more {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 8rem;
  height: 2.5rem;
  background-color: #18181b;
  color: #fafafa;
  text-decoration: none;
  border-radius: 9999px;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1;
  transition: all 0.3s ease;
  box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.05);
}
.top-news__more:hover {
  background-color: #000000;
  transform: translateY(-2px);
  box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.15);
}
.top-news__more::after {
  content: "";
  width: 16px;
  height: 16px;
  background-image: url("../images/common/icon-arrow_right.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  filter: brightness(0) saturate(100%) invert(1) sepia(0) saturate(0) hue-rotate(0deg) brightness(1) contrast(1);
  transition: transform 0.3s ease;
}
.top-news__more:hover::after {
  transform: translateX(0.25rem);
}
.top-news__empty {
  text-align: center;
  padding: 3rem 0;
}
.top-news__empty-text {
  color: #737373;
  font-size: 0.9375rem;
  margin: 0;
}

@media (max-width: 768px) {
  .top-news {
    padding: 2rem 1rem;
  }
  .top-news__title {
    font-size: 2rem;
  }
  .top-news__item {
    height: auto;
    min-height: 4rem;
  }
  .top-news__item-content {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }
  .top-news__date {
    width: auto;
  }
  .top-news__more {
    width: 100%;
  }
}
/* Common */
/**
 * ブログ一覧コンポーネント
 */
.top-blog {
  padding: 4rem 10rem;
  position: relative;
}
.top-blog__container {
  max-width: 100%;
}
.top-blog__header {
  margin-bottom: 2rem;
}
.top-blog__title {
  font-family: "Outfit", sans-serif;
  font-size: 3rem;
  font-weight: 600;
  color: #1b1b1b;
  line-height: 1.2;
  margin: 0;
  text-align: center;
}
.top-blog__list {
  position: relative;
  height: 408px;
  margin-bottom: 2rem;
}
.top-blog__item {
  position: absolute;
  width: 256px;
  height: 378px;
  border-radius: 1rem;
  overflow: hidden;
  transition: all 0.3s ease;
  box-shadow: -8px 8px 16px 0px rgba(255, 185, 36, 0.5);
}
.top-blog__item:nth-child(1) {
  left: 255px;
  top: 0.5px;
  transform: rotate(0deg);
  z-index: 1;
}
.top-blog__item:nth-child(2) {
  left: -3px;
  top: 31.21px;
  transform: rotate(-12deg);
  z-index: 2;
}
.top-blog__item:nth-child(3) {
  left: 446.69px;
  top: 30.5px;
  transform: rotate(12deg);
  z-index: 3;
}
.top-blog__item:nth-child(4) {
  left: 704px;
  top: 36.5px;
  transform: rotate(0deg);
  z-index: 4;
}
.top-blog__item:hover {
  z-index: 10;
  transform: rotate(0deg) scale(1.05);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
}
.top-blog__link {
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
  color: inherit;
  background: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(10px);
  transition: all 0.3s ease;
}
.top-blog__link:hover {
  background: #ffffff;
}
.top-blog__image {
  width: 100%;
  height: 144px;
  overflow: hidden;
}
.top-blog__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.top-blog__item-content {
  padding: 1.5rem 2rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.top-blog__date {
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  color: #737373;
  line-height: 1;
  margin: 0;
}
.top-blog__item-title {
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-size: 0.9375rem;
  font-weight: 500;
  color: #1b1b1b;
  line-height: 1.8;
  margin: 0;
  flex: 1;
}
.top-blog__categories {
  display: flex;
  gap: 0.25rem;
  flex-wrap: wrap;
}
.top-blog__category {
  background-color: #ffffff;
  color: #eb7100;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1;
  padding: 0.25rem 0.75rem;
  border: 1px solid #eb7100;
  border-radius: 9999px;
  white-space: nowrap;
}
.top-blog__more {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 8rem;
  height: 2.5rem;
  background-color: #18181b;
  color: #fafafa;
  text-decoration: none;
  border-radius: 9999px;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1;
  transition: all 0.3s ease;
  box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.05);
  margin-left: auto;
}
.top-blog__more:hover {
  background-color: #000000;
  transform: translateY(-2px);
  box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.15);
}
.top-blog__more-arrow {
  width: 16px;
  height: 16px;
  background-image: url("../images/common/icon-arrow_right.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  filter: brightness(0) saturate(100%) invert(1) sepia(0) saturate(0) hue-rotate(0deg) brightness(1) contrast(1);
  transition: transform 0.3s ease;
}
.top-blog__more:hover .top-blog__more-arrow {
  transform: translateX(0.25rem);
}

@media (max-width: 768px) {
  .top-blog {
    padding: 2rem 1rem;
  }
  .top-blog__title {
    font-size: 2rem;
  }
  .top-blog__list {
    height: auto;
    position: static;
  }
  .top-blog__item {
    position: static;
    width: 100%;
    height: auto;
    margin-bottom: 1rem;
    transform: none;
  }
  .top-blog__item:hover {
    transform: none;
  }
  .top-blog__more {
    width: 100%;
  }
}
/* Pages */
/* Common */
#top {
  padding: 104px 0 0;
}
@media only screen and (max-width: 768px) {
  #top {
    padding: 72px 0 0;
  }
}
#top .mv {
  position: relative;
  width: 100%;
  max-height: 720px;
  height: 100vh;
  padding: 110px 0;
}
@media only screen and (max-width: 768px) {
  #top .mv {
    padding: 56px 0;
  }
}
#top .mv .mv-spline {
  position: absolute;
  max-width: 1280px;
  width: 100%;
  height: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  overflow: hidden;
}
#top .mv .mv-spline > div {
  width: 100%;
  height: 100%;
}
#top .mv .mv-spline > div spline-viewer {
  width: 100%;
  height: 100%;
  display: block;
}
@media only screen and (max-width: 768px) {
  #top .mv .mv-spline > div spline-viewer {
    height: auto;
  }
}
#top .mv .mv-text {
  position: relative;
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 25px;
  z-index: 1;
  pointer-events: none;
}
#top .mv .mv-text__main {
  max-width: 339.78px;
}
@media only screen and (max-width: 768px) {
  #top .mv .mv-text__main {
    width: 62%;
  }
}
#top .mv .mv-text__sub {
  max-width: 294.07px;
  margin: 60px 0 0;
}
@media only screen and (max-width: 768px) {
  #top .mv .mv-text__sub {
    width: 60%;
    margin: 30px 0 0;
  }
}
#top .vision {
  padding: 64px 0;
}
#top .vision-inner {
  max-width: 1008px;
  margin: 0 auto;
  padding: 0 24px;
}
#top .vision-content {
  padding: 64px 84px;
  border-radius: 28px;
  background: linear-gradient(143deg, rgba(255, 255, 255, 0.4) 0.91%, rgba(255, 255, 255, 0.2) 99.97%);
  box-shadow: -8px 8px 16px 0 rgba(255, 185, 36, 0.5);
}
#top .vision-title {
  font-family: "Outfit", sans-serif;
  font-size: 48px;
  font-weight: 600;
  line-height: 1.2;
}
#top .vision-text {
  color: #000;
}
#top .vision-text.main {
  margin: 32px 0 0;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.6;
}
#top .vision-text.sub {
  margin: 24px 0 0;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.8;
}
#top .vision .btn-black {
  margin: 32px 0 0;
}
#top .lead {
  padding: 4rem 10rem;
  position: relative;
}
@media (max-width: 768px) {
  #top .lead {
    padding: 2rem 1rem;
  }
}
#top .lead-inner {
  max-width: 960px;
  margin: 0 auto;
}
@media (max-width: 768px) {
  #top .lead-inner {
    max-width: 100%;
  }
}
#top .lead-content {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  align-items: flex-start;
  width: 100%;
}
@media (max-width: 768px) {
  #top .lead-content {
    gap: 1.5rem;
  }
}
#top .lead-title {
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-size: 3rem;
  font-weight: 700;
  color: #1b1b1b;
  line-height: 1.2;
  margin: 0;
  text-align: left;
}
@media (max-width: 768px) {
  #top .lead-title {
    font-size: 2rem;
  }
}
#top .lead-text {
  position: relative;
  z-index: 1;
  width: 100%;
}
#top .lead-text p {
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-size: 0.9375rem;
  font-weight: 700;
  color: #1b1b1b;
  line-height: 1.8;
  margin: 0;
  text-align: left;
  white-space: pre-line;
}
@media (max-width: 768px) {
  #top .lead-text p {
    font-size: 0.875rem;
  }
}
@media (max-width: 768px) {
  #top .lead::before {
    display: none;
  }
}
#top .services {
  padding: 4rem 0;
}
#top .services-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 2rem;
}
#top .services-content {
  display: flex;
  flex-direction: column;
  gap: 3rem;
  align-items: center;
}
#top .services-title {
  font-family: "Outfit", sans-serif;
  font-size: 3rem;
  font-weight: 600;
  color: #1b1b1b;
  text-align: center;
  line-height: 1.2;
  margin: 0;
}
#top .services-list {
  display: flex;
  gap: 3rem;
  justify-content: center;
  width: 100%;
  list-style: none;
  padding: 0;
  margin: 0;
}
#top .services-item {
  position: relative;
  width: 456px;
  border-radius: 28px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  box-shadow: -8px 8px 16px 0px rgba(255, 185, 36, 0.5);
  transition: all 0.3s ease;
}
#top .services-item:hover {
  background: #ffffff;
  box-shadow: -12px 12px 24px 0px rgba(255, 185, 36, 0.3);
}
#top .services-item:hover .services-item__button {
  background-color: #18181b;
  color: #fafafa;
}
#top .services-item__image {
  aspect-ratio: 1920/1080;
  width: 100%;
  margin-bottom: -48px;
  transition: transform 0.3s ease;
  overflow: hidden;
}
#top .services-item__image spline-viewer {
  width: 100%;
  height: 100%;
}
#top .services-item__content {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 0 2rem 5rem;
  margin-bottom: -48px;
}
#top .services-item__number {
  position: relative;
  font-family: "Outfit", sans-serif;
  font-size: 4.375rem;
  font-weight: 500;
  color: #000000;
  line-height: 1;
  margin: 0;
  z-index: 1;
}
#top .services-item__text {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  width: 100%;
}
#top .services-item__category {
  font-size: 0.9375rem;
  font-weight: 700;
  color: #eb7100;
  line-height: 1;
  margin: 0;
}
#top .services-item__title {
  font-size: 2rem;
  font-weight: 700;
  color: #000000;
  line-height: 1.5;
  margin: 0;
}
#top .services-item__description {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
#top .services-item__main-text {
  font-size: 1.125rem;
  font-weight: 700;
  color: #1b1b1b;
  line-height: 1.7;
  margin: 0;
}
#top .services-item__sub-text {
  font-size: 0.75rem;
  font-weight: 500;
  color: #1b1b1b;
  line-height: 1.6;
  margin: 0;
}
#top .services-item__button {
  width: 8rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
#top .services-item__button:hover {
  transform: translateY(-2px);
  box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.15);
}
@media (max-width: 1024px) {
  #top .services {
    padding: 3rem 0;
  }
  #top .services-inner {
    padding: 0 1.5rem;
  }
  #top .services-list {
    flex-direction: column;
    align-items: center;
    gap: 2rem;
  }
  #top .services-item {
    width: 100%;
    max-width: 456px;
  }
}
@media (max-width: 768px) {
  #top .services {
    padding: 2rem 0;
  }
  #top .services-inner {
    padding: 0 1rem;
  }
  #top .services-title {
    font-size: 2.5rem;
  }
  #top .services-item__content {
    padding: 0 1.5rem 4rem;
  }
  #top .services-item__number {
    font-size: 3.5rem;
  }
  #top .services-item__title {
    font-size: 1.75rem;
  }
  #top .services-item__main-text {
    font-size: 1rem;
  }
}
#top .company {
  padding: 4rem 0;
}
@media (max-width: 768px) {
  #top .company {
    padding: 2rem 0;
  }
}
#top .company-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
}
@media only screen and (max-width: 768px) {
  #top .company-inner {
    padding: 0 24px;
  }
}
#top .company-title {
  font-family: "Outfit", sans-serif;
  font-size: 3rem;
  font-weight: 600;
  color: #1b1b1b;
  line-height: 1.2;
  text-align: center;
}
@media (max-width: 768px) {
  #top .company-title {
    font-size: 2rem;
  }
}
#top .company-content {
  max-width: 800px;
  margin: 4rem auto 0;
}
@media (max-width: 768px) {
  #top .company-content {
    margin: 2rem auto 0;
  }
}
#top .company-info {
  display: flex;
  gap: 0.5rem;
  max-width: 528px;
  margin: 0 auto;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media (max-width: 768px) {
  #top .company-info {
    gap: 0.25rem;
  }
}
#top .company-info__label, #top .company-info__value, #top .company-info__list li {
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-size: 0.9375rem;
  font-weight: 500;
  color: #1b1b1b;
  line-height: 1.8;
}
@media (max-width: 768px) {
  #top .company-info__label, #top .company-info__value, #top .company-info__list li {
    font-size: 0.875rem;
    line-height: 1.7;
  }
}
#top .company-info__label {
  width: 24.2424242424%;
}
@media (max-width: 768px) {
  #top .company-info__label {
    width: 17.5438596491%;
  }
}
#top .company-info__value {
  width: 66.2878787879%;
}
@media (max-width: 768px) {
  #top .company-info__value {
    width: 77.485380117%;
  }
}
#top .company-info__list {
  list-style: decimal;
  padding-left: 1rem;
}
#top .contact {
  padding: 114px 0 96px;
}
@media (max-width: 768px) {
  #top .contact {
    padding: 32px 0 48px;
  }
}
#top .contact-inner {
  display: flex;
  max-width: 1132px;
  margin: 0 auto;
  padding: 0 24px;
  justify-content: space-between;
  align-items: center;
}
@media only screen and (max-width: 768px) {
  #top .contact-inner {
    flex-direction: column;
    gap: 40px;
  }
}
#top .contact-text {
  width: 33.2103321033%;
}
@media only screen and (max-width: 768px) {
  #top .contact-text {
    width: 100%;
  }
}
#top .contact-text__title {
  font-family: "Outfit", sans-serif;
  font-weight: 500;
  font-style: Regular;
  font-size: 48px;
  leading-trim: NONE;
  line-height: 100%;
  letter-spacing: 0%;
  color: #1B1B1B;
}
@media only screen and (max-width: 768px) {
  #top .contact-text__title {
    font-size: 32px;
    text-align: center;
  }
}
#top .contact-text__main {
  margin: 49px 0 0;
  font-weight: 700;
  font-style: Bold;
  font-size: 24px;
}
@media only screen and (max-width: 768px) {
  #top .contact-text__main {
    margin: 24px 0 0;
    font-size: 18px;
    text-align: center;
  }
}
#top .contact-text__sub {
  margin: 24px 0 0;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.75;
}
@media only screen and (max-width: 768px) {
  #top .contact-text__sub {
    margin: 8px 0 0;
    font-size: 14px;
    text-align: center;
  }
}
#top .contact-form {
  width: 52.3985239852%;
  padding: 64px;
  background: linear-gradient(142.88deg, rgba(255, 255, 255, 0.4) 0.91%, rgba(255, 255, 255, 0.2) 99.97%);
  box-shadow: -8px 8px 16px 0px rgba(255, 185, 36, 0.5019607843);
  border-radius: 32px;
}
@media only screen and (max-width: 768px) {
  #top .contact-form {
    width: 100%;
    padding: 48px 24px;
  }
}

/*# sourceMappingURL=cloud-creative.css.map */
