header .header-logo span {
  color: #fff;
}

section.area-hero {
  position: relative;
}
section.area-hero .copy {
  position: absolute;
  top: 60%;
  right: 30rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  text-align: center;
}
section.area-hero .copy h1 {
  font-size: 45rem;
  display: -ms-grid;
  display: grid;
  gap: 4rem;
  text-align: left;
}
section.area-hero .copy h1 span {
  background: -webkit-gradient(linear, left top, right top, from(#00469b), to(#0085d0));
  background: linear-gradient(90deg, #00469b 0%, #0085d0 100%);
  color: #fff;
  padding: 2rem 10rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  line-height: 1;
}
section.area-hero .main-visual img {
  width: 100%;
  height: 78svh;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: -310rem 50%;
  object-position: -310rem 50%;
}

.area-btn-group {
  background: -webkit-gradient(linear, left top, right top, from(#01c380), to(#2773ff));
  background: linear-gradient(90deg, #01c380 0%, #2773ff 100%);
  padding: 60rem 0 40rem;
}
.area-btn-group .box-copy {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.area-btn-group .box-copy img {
  width: 90rem;
  margin-right: 20rem;
}
.area-btn-group .box-copy p {
  color: #fff;
  font-weight: bold;
  font-size: 29rem;
  line-height: 1.5;
}
.area-btn-group a.btn {
  margin-top: 30rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  font-weight: bold;
  font-size: 25rem;
}
.area-btn-group a.btn span.arrow {
  content: "";
  display: block;
  width: 60rem;
  height: 60rem;
  margin-right: 15rem;
  border: 1px solid #fff;
  border-radius: 50%;
  margin-right: 10rem;
  position: relative;
}
.area-btn-group a.btn span.arrow::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 46%;
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
          transform: translate(-50%, -50%) rotate(-45deg);
  width: 14rem;
  height: 14rem;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
}

.area-about {
  padding-top: 160rem;
  padding-bottom: 300rem;
  position: relative;
  overflow: hidden;
}
.area-about::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: url("../images/bg-dott.jpg") repeat;
  background-size: 6px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
.area-about::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: url("../images/bg-ribbon.png") repeat;
  background-size: contain;
  position: absolute;
  top: 10rem;
  left: 0;
  z-index: 1;
}
.area-about .inner {
  position: relative;
  z-index: 3;
}
.area-about .wrap-about-list {
  display: -ms-grid;
  display: grid;
  gap: 300rem;
}
.area-about section.about-item {
  width: 80%;
  margin: 0 auto;
}
.area-about section.about-item .box-desc {
  position: relative;
}
.area-about section.about-item .box-desc::before {
  content: "";
  display: block;
  width: 116%;
  height: 130%;
  background: #f4f4f4;
  position: absolute;
  top: 30rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: -1;
}
.area-about section.about-item .box-desc h3 {
  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;
  line-height: 1.5;
  padding: 0.2em 0.8em 0.1em;
  margin-bottom: 40rem;
  background: #fff;
  font-weight: bold;
  font-size: 38rem;
  border: 3px solid;
  -o-border-image: linear-gradient(90deg, #01c380 0%, #2773ff 100%) 1;
  border-image: -webkit-gradient(linear, left top, right top, from(#01c380), to(#2773ff)) 1;
  border-image: linear-gradient(90deg, #01c380 0%, #2773ff 100%) 1;
}
.area-about section.about-item .box-img {
  margin-top: 40rem;
  position: relative;
}
.area-about section.about-item .box-img img.sub {
  width: 300rem;
  position: absolute;
  bottom: -160rem;
  left: -60rem;
}
.area-about section.about-item .box-img::before {
  content: "";
  display: block;
  width: 200rem;
  height: 200rem;
  background: -webkit-gradient(linear, left bottom, left top, from(#62b1ff), to(#00d48b));
  background: linear-gradient(0deg, #62b1ff 0%, #00d48b 100%);
  position: absolute;
  bottom: -20rem;
  right: -20rem;
  z-index: -1;
}

section.area-business {
  background: -webkit-gradient(linear, left top, left bottom, from(#5edeb2), to(#62b1ff));
  background: linear-gradient(180deg, #5edeb2 0%, #62b1ff 100%);
  padding: 100rem 0 400rem;
}
section.area-business .hstyle-primary {
  color: #fff;
}
section.area-business .hstyle-primary span.en {
  background: none;
  background-clip: border-box;
  -webkit-background-clip: border-box;
  -webkit-text-fill-color: initial;
  color: inherit;
}
section.area-business .hstyle-primary span.en::after {
  background: #fff;
}
section.area-business .wrap-business-list {
  display: -ms-grid;
  display: grid;
  gap: 100rem;
  width: 90%;
  margin: 0 auto;
}
section.area-business .business-item {
  background: #fff;
  border: 3px solid #fff;
  border-radius: 30rem;
  overflow: hidden;
}
section.area-business .business-item .box-desc {
  padding: 40rem 30rem;
}
section.area-business .business-item .box-desc h3 {
  display: -ms-grid;
  display: grid;
  gap: 10rem;
  margin-bottom: 20rem;
}
section.area-business .business-item .box-desc h3 span.en {
  background: -webkit-gradient(linear, left bottom, left top, color-stop(19.23%, #2773ff), color-stop(90.87%, #00d48b));
  background: linear-gradient(0deg, #2773ff 19.23%, #00d48b 90.87%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-style: italic;
  line-height: 1;
  letter-spacing: 0.05em;
  margin-bottom: 5rem;
}
section.area-business .business-item .box-desc h3 span.ja {
  font-weight: bold;
  font-size: 42rem;
  line-height: 1;
}

.area-slider {
  margin-top: -180rem;
}
.area-slider #splide img {
  border-radius: 20rem;
}
.area-slider .splide__slide {
  width: 500rem !important;
}

table.style-01 {
  width: 100%;
}
table.style-01 th,
table.style-01 td {
  display: block;
}
table.style-01 th {
  color: var(--color-blue);
  border-bottom: 1px solid var(--color-blue);
  padding: 10rem 0;
}
table.style-01 td {
  padding: 20rem 0 30rem;
}
table.style-01 iframe {
  margin-top: 20rem;
  height: 400rem;
}

section.area-company {
  padding-top: 100rem;
  width: 90%;
  margin: 0 auto;
}
section.area-company .hstyle-primary span.en::after {
  display: none;
}

section.area-contact {
  width: 90%;
  margin: 100rem auto 0;
  padding-bottom: 200rem;
  background: -webkit-gradient(linear, left top, left bottom, from(#00d48b), to(#2773ff));
  background: linear-gradient(180deg, #00d48b 0%, #2773ff 100%);
  border-radius: 30rem;
  padding: 40rem 0 60rem;
}
section.area-contact .hstyle-primary {
  margin-bottom: 20rem;
}
section.area-contact .hstyle-primary span {
  color: #fff;
}
section.area-contact .hstyle-primary span.en {
  background: none;
  background-clip: border-box;
  -webkit-background-clip: border-box;
  -webkit-text-fill-color: initial;
  color: inherit;
}
section.area-contact .hstyle-primary span.en::after {
  display: none;
}
section.area-contact a,
section.area-contact p {
  color: #fff;
}
section.area-contact .box-tel {
  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;
}
section.area-contact .box-tel a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 60rem;
  line-height: 1;
  letter-spacing: 0.05em;
}
section.area-contact .box-tel a::before {
  content: "";
  display: block;
  width: 50rem;
  height: 50rem;
  background: url("../images/icon-tel.svg") no-repeat center;
  background-size: contain;
}
section.area-contact .box-tel p {
  font-size: 27rem;
  font-weight: bold;
}
section.area-contact p.bottom-tx {
  font-weight: bold;
  font-size: 28rem;
  text-align: center;
  margin-top: 20rem;
}

/**********************************************************************

 * Media Query For PC

 ***********************************************************************/
@media print, screen and (min-width: 768px) {
  header li a {
    color: #fff !important;
  }
  section.area-hero {
    position: relative;
  }
  section.area-hero .copy {
    position: absolute;
    top: 50%;
    right: 23.13vw;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    text-align: center;
  }
  section.area-hero .copy h1 {
    font-size: min(54px, 3.38vw);
    display: -ms-grid;
    display: grid;
    gap: min(4px, 0.25vw);
    text-align: left;
  }
  section.area-hero .copy h1 span {
    padding: min(7px, 0.44vw) min(16px, 1vw) min(0px, 0vw);
    font-weight: bold;
    letter-spacing: 0.08em;
    line-height: 1;
  }
  section.area-hero .main-visual img {
    width: 100%;
    height: 90vh;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
  }
  .area-btn-group {
    padding: min(40px, 2.5vw) 0 min(40px, 2.5vw);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .area-btn-group .box-copy {
    margin-right: min(44px, 2.75vw);
    border-right: 1px solid #fff;
    padding: min(10px, 0.63vw) min(44px, 2.75vw) min(10px, 0.63vw) 0;
  }
  .area-btn-group .box-copy img {
    width: min(110px, 6.88vw);
    margin-right: min(30px, 1.88vw);
  }
  .area-btn-group .box-copy p {
    font-size: min(30px, 1.88vw);
    line-height: 1.5;
    letter-spacing: 0.08em;
  }
  .area-btn-group a.btn {
    margin-top: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-size: min(16px, 1vw);
  }
  .area-btn-group a.btn:hover {
    opacity: 0.8;
  }
  .area-btn-group a.btn span.arrow {
    width: min(38px, 2.38vw);
    height: min(38px, 2.38vw);
    margin-right: min(10px, 0.63vw);
  }
  .area-btn-group a.btn span.arrow::before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 46%;
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
            transform: translate(-50%, -50%) rotate(-45deg);
    width: min(8px, 0.5vw);
    height: min(8px, 0.5vw);
  }
  .area-about {
    padding-top: min(160px, 10vw);
    padding-bottom: min(300px, 18.75vw);
    position: relative;
    overflow: hidden;
  }
  .area-about::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: url("../images/bg-dott.jpg") repeat;
    background-size: 11px;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
  }
  .area-about::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: url("../images/bg-ribbon.png") no-repeat;
    background-size: cover;
    position: absolute;
    top: min(10px, 0.63vw);
    left: 0;
    z-index: 1;
  }
  .area-about .wrap-about-list {
    display: -ms-grid;
    display: grid;
    gap: min(230px, 14.37vw);
  }
  .area-about section.about-item {
    width: 86%;
    max-width: min(1100px, 68.75vw);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .area-about section.about-item.rev {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .area-about section.about-item.rev .box-desc::before {
    left: 50%;
  }
  .area-about section.about-item.rev .box-img {
    position: relative;
    right: min(35px, 2.19vw);
  }
  .area-about section.about-item.rev .box-img img.sub {
    left: auto;
    right: min(-60px, -3.75vw);
  }
  .area-about section.about-item.rev .box-img::before {
    left: auto;
    right: min(-20px, -1.25vw);
  }
  .area-about section.about-item .box-desc {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding: 0 min(56px, 3.5vw);
  }
  .area-about section.about-item .box-desc::before {
    content: "";
    display: block;
    width: 107%;
    height: 107%;
    background: #f4f4f4;
    position: absolute;
    top: min(30px, 1.88vw);
    left: 44%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    z-index: -1;
  }
  .area-about section.about-item .box-desc h3 {
    line-height: 1.5;
    padding: 0.2em 0.8em 0.1em;
    margin-bottom: min(40px, 2.5vw);
    font-size: min(38px, 2.38vw);
    border: 4px solid;
    -o-border-image: linear-gradient(90deg, #01c380 0%, #2773ff 100%) 1;
    border-image: -webkit-gradient(linear, left top, right top, from(#01c380), to(#2773ff)) 1;
    border-image: linear-gradient(90deg, #01c380 0%, #2773ff 100%) 1;
  }
  .area-about section.about-item .box-img {
    margin-top: 0;
    width: min(510px, 31.87vw);
  }
  .area-about section.about-item .box-img img.sub {
    width: min(220px, 13.75vw);
    position: absolute;
    bottom: min(-50px, -3.13vw);
    left: min(-60px, -3.75vw);
  }
  .area-about section.about-item .box-img::before {
    content: "";
    display: block;
    width: min(168px, 10.5vw);
    height: min(168px, 10.5vw);
    background: -webkit-gradient(linear, left bottom, left top, from(#62b1ff), to(#00d48b));
    background: linear-gradient(0deg, #62b1ff 0%, #00d48b 100%);
    position: absolute;
    bottom: auto;
    right: auto;
    top: min(-20px, -1.25vw);
    left: min(-20px, -1.25vw);
    z-index: -1;
  }
  section.area-business {
    padding: min(200px, 12.5vw) 0 min(400px, 25vw);
  }
  section.area-business .hstyle-primary {
    margin-bottom: min(90px, 5.63vw);
  }
  section.area-business .wrap-business-list {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr min(34px, 2.13vw) 1fr min(34px, 2.13vw) 1fr;
    grid-template-columns: repeat(3, 1fr);
    gap: min(34px, 2.13vw);
    max-width: min(1100px, 68.75vw);
  }
  section.area-business .business-item {
    border: min(3px, 0.19vw) solid #fff;
    border-radius: min(20px, 1.25vw);
  }
  section.area-business .business-item .box-desc {
    padding: min(35px, 2.19vw) min(25px, 1.56vw) min(40px, 2.5vw);
  }
  section.area-business .business-item .box-desc h3 {
    display: -ms-grid;
    display: grid;
    gap: min(10px, 0.63vw);
    margin-bottom: min(20px, 1.25vw);
  }
  section.area-business .business-item .box-desc h3 span.en {
    margin-bottom: min(2px, 0.13vw);
    font-size: min(17px, 1.06vw);
  }
  section.area-business .business-item .box-desc h3 span.ja {
    font-size: min(25px, 1.56vw);
  }
  section.area-business .business-item .box-desc p {
    font-size: min(16px, 1vw);
    line-height: 1.6;
    letter-spacing: 0;
  }
  .area-slider {
    margin-top: min(-110px, -6.88vw);
  }
  .area-slider #splide img {
    border-radius: min(20px, 1.25vw);
  }
  .area-slider .splide__slide {
    width: min(465px, 29.06vw) !important;
  }
  table.style-01 {
    width: 100%;
  }
  table.style-01 th,
  table.style-01 td {
    display: table-cell;
    font-size: min(20px, 1.25vw);
  }
  table.style-01 tr:first-child th {
    border-top: 1px solid var(--color-blue);
  }
  table.style-01 tr:first-child td {
    border-top: 1px solid #bbb;
  }
  table.style-01 th {
    color: var(--color-blue);
    border-bottom: 1px solid var(--color-blue);
    padding: min(30px, 1.88vw) min(30px, 1.88vw);
    font-weight: normal;
    text-align: left;
    vertical-align: middle;
  }
  table.style-01 td {
    padding: min(30px, 1.88vw) min(30px, 1.88vw);
    border-bottom: 1px solid #bbb;
  }
  table.style-01 iframe {
    margin-top: min(20px, 1.25vw);
    height: min(400px, 25vw);
  }
  section.area-company {
    padding-top: min(200px, 12.5vw);
    width: 90%;
    max-width: min(1100px, 68.75vw);
    margin: 0 auto;
  }
  section.area-company .hstyle-primary {
    margin-bottom: min(100px, 6.25vw);
  }
  section.area-company p {
    font-size: min(20px, 1.25vw);
  }
  section.area-contact {
    width: 90%;
    max-width: min(1100px, 68.75vw);
    margin: min(160px, 10vw) auto 0;
    padding-bottom: min(200px, 12.5vw);
    border-radius: min(30px, 1.88vw);
    padding: min(60px, 3.75vw) 0 min(60px, 3.75vw);
  }
  section.area-contact .hstyle-primary {
    margin-bottom: min(10px, 0.63vw);
  }
  section.area-contact .hstyle-primary span.ja {
    font-size: min(23px, 1.44vw);
  }
  section.area-contact .hstyle-primary span.en {
    font-size: min(94px, 5.88vw);
  }
  section.area-contact .box-tel {
    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;
  }
  section.area-contact .box-tel a {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-size: min(65px, 4.06vw);
    line-height: 1;
    letter-spacing: 0.05em;
  }
  section.area-contact .box-tel a::before {
    content: "";
    display: block;
    width: min(50px, 3.13vw);
    height: min(50px, 3.13vw);
    background: url("../images/icon-tel.svg") no-repeat center;
    background-size: contain;
  }
  section.area-contact .box-tel p {
    font-size: min(31px, 1.94vw);
    font-weight: normal;
    margin-left: min(30px, 1.88vw);
  }
  section.area-contact p.bottom-tx {
    font-weight: bold;
    font-size: min(23px, 1.44vw);
    text-align: center;
    margin-top: min(20px, 1.25vw);
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  section.area-hero .main-visual img {
    height: 50vh;
  }
}
/*# sourceMappingURL=top.css.map */