@charset "UTF-8";
html {
  font-size: 62.5%;
  line-height: 1.8; }

body {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  color: #333; }

img {
  width: 100%; }

@media (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none; }

  .sp\:view {
    display: none !important; } }
@media (max-width: 767px) {
  .pc\:view {
    display: none !important; } }
.wrapper {
  position: relative;
  overflow: hidden; }

.header-wrap {
  position: fixed;
  background: rgba(255, 255, 255, 0.8);
  top: 0;
  left: 0;
  z-index: 99999;
  width: 100%; }

noscript > div {
  max-width: 1280px;
  margin: 20px auto;
  padding: 30px;
  color: #DA7C00;
  text-align: center;
  border: 1px solid #DA7C00; }

.header {
  height: 102px;
  width: 100%; }
  .header__inner {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between; }
  .header__logo {
    width: 140px;
    margin-left: 40px;
    transition: 0.3s all; }
    .header__logo svg {
      width: 100%; }
    .header__logo:hover {
      opacity: 0.7; }
  .header__nav {
    display: flex;
    justify-content: flex-end;
    margin-right: 40px;
    gap: 48px;
    width: 100%;
    height: 100%; }
  .header__menu {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center; }
    .header__menu--list {
      display: flex;
      gap: 24px;
      font-weight: 500;
      font-size: 1.8rem; }
    .header__menu--item {
      padding-bottom: 4px;
      position: relative;
      transition: 0.3s all; }
      .header__menu--item:before {
        content: '';
        background: #DA7C00;
        width: 100%;
        height: 1px;
        position: absolute;
        left: 0;
        bottom: 0;
        transform-origin: right top;
        transform: scale(0, 1);
        transition: 0.3s transform; }
      .header__menu--item:hover {
        color: #DA7C00; }
        .header__menu--item:hover::before {
          transform-origin: left top;
          transform: scale(1, 1); }
  .header__btn {
    display: flex;
    gap: 16px;
    align-items: center; }
    .header__btn--item {
      display: flex;
      align-items: center;
      justify-content: center;
      border-radius: 5px;
      width: fit-content;
      padding: 10px 24px;
      font-weight: 500;
      font-size: 1.8rem;
      color: #FFF;
      position: relative;
      transition: 0.3s all; }
      .header__btn--item i {
        margin-right: 8px; }
      .header__btn--item.-inquiry {
        background: #849C00;
        border: 2px solid #849C00; }
        .header__btn--item.-inquiry:hover {
          background: #FFF;
          color: #849C00; }
      .header__btn--item.-mainsite {
        background: #DA7C00;
        border: 2px solid #DA7C00; }
        .header__btn--item.-mainsite:hover {
          background: #FFF;
          color: #DA7C00; }
  @media (max-width: 1366px) {
    .header__nav {
      gap: 34px; }
    .header__menu--list {
      font-size: 1.6rem; }
    .header__btn--item {
      padding: 10px 18px;
      font-size: 1.6rem; } }
  @media (max-width: 1200px) {
    .header__toggle {
      margin-right: 40px;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      width: 50px;
      height: 50px; }
      .header__toggle--icon {
        display: block;
        transition: 0.3s all;
        position: relative;
        width: 40px;
        height: 22px; }
      .header__toggle--line {
        display: inline-block;
        transition: 0.3s all;
        position: absolute;
        left: 0;
        width: 100%;
        height: 3px;
        background: #DA7C00; }
        .header__toggle--line:nth-of-type(1) {
          top: 0px; }
        .header__toggle--line:nth-of-type(2) {
          top: 9px; }
        .header__toggle--line:nth-of-type(3) {
          bottom: 0; }
      .header__toggle.-active .header__toggle--line:nth-of-type(1) {
        transform: translateY(10px) rotate(-45deg); }
      .header__toggle.-active .header__toggle--line:nth-of-type(2) {
        opacity: 0; }
      .header__toggle.-active .header__toggle--line:nth-of-type(3) {
        transform: translateY(-8px) rotate(45deg); }
    .header__nav {
      background: #FFF;
      display: none;
      position: fixed;
      height: fit-content;
      left: 50%;
      transform: translate(-50%, 0); }
      .header__nav.-active {
        display: flex;
        flex-direction: column;
        gap: 100px;
        padding: 48px 32px; }
    .header__menu {
      align-items: baseline; }
      .header__menu--list {
        flex-direction: column;
        font-weight: 600;
        font-size: 2rem; }
    .header__btn {
      display: flex;
      flex-direction: column;
      justify-content: center;
      gap: 8px; }
      .header__btn--item {
        width: 100%;
        max-width: 310px;
        justify-content: flex-start;
        position: relative; }
        .header__btn--item::after {
          content: '\e902';
          font-family: 'icomoon';
          position: absolute;
          top: 50%;
          right: 16px;
          transform: translateY(-50%);
          font-size: 2.6rem; } }
  @media (max-width: 767px) {
    .header {
      height: 50px; }
      .header__logo {
        width: 114px;
        margin-left: 12px; }
      .header__toggle {
        margin-right: 12px;
        width: 32px;
        height: 32px; }
        .header__toggle--icon {
          width: 24px;
          height: 16px; }
        .header__toggle--line:nth-of-type(1) {
          top: 0px; }
        .header__toggle--line:nth-of-type(2) {
          top: 6px; }
        .header__toggle--line:nth-of-type(3) {
          bottom: 0; }
        .header__toggle.-active .header__toggle--line:nth-of-type(1) {
          transform: translateY(5px) rotate(-45deg); }
        .header__toggle.-active .header__toggle--line:nth-of-type(2) {
          opacity: 0; }
        .header__toggle.-active .header__toggle--line:nth-of-type(3) {
          transform: translateY(-8px) rotate(45deg); } }

.mv {
  position: relative;
  margin-top: 102px;
  height: 665px;
  overflow: hidden;
  background: linear-gradient(to bottom, #FDFAF5, #FFEBD0); }
  .mv__inner {
    width: fit-content;
    position: absolute;
    width: 100%;
    max-width: 1280px;
    padding: 40px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }
  .mv__img {
    position: absolute;
    inset: 0;
    background: url(../img/img_mv-bg.jpg) no-repeat;
    background-position: top right;
    background-size: cover;
    clip-path: polygon(60% 0%, 100% 0, 100% 100%, 45% 100%); }
  .mv__heading {
    display: inline;
    -webkit-box-decoration-break: clone;
    /* iOS Safari 用 */
    box-decoration-break: clone;
    padding: 8px;
    line-height: 2.4;
    font-size: 3.2rem;
    font-weight: 600;
    color: #FFF;
    background: #DA7C00; }
  .mv__text {
    font-weight: 500;
    font-size: 2rem;
    margin-top: 16px;
    width: fit-content; }
    .mv__text span {
      display: block;
      margin-bottom: 6px;
      font-size: 5.4rem;
      font-weight: 600; }
  .mv__btn {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    max-width: 514px;
    padding: 26px 48px;
    background: linear-gradient(135deg, #DA7C00 0%, #FFD54F 100%);
    border: 2px solid rgba(165, 86, 0, 0.55);
    color: #fff;
    border-radius: 100px;
    font-size: 2.4rem;
    font-weight: 700;
    box-shadow: 0 0px 20px rgba(138, 78, 0, 0.2);
    margin-top: 48px;
    transition: 0.3s all; }
    .mv__btn i {
      font-size: 3.5rem; }
    .mv__btn:hover {
      color: #DA7C00;
      background: #fff; }
    .mv__btn::before {
      content: "";
      position: absolute;
      inset: 1px;
      border-radius: 999px;
      border: 2px solid #fff;
      pointer-events: none; }
  @media (max-width: 767px) {
    .mv {
      margin-top: 50px; } }

.btn {
  position: fixed;
  z-index: 9999;
  right: 16px;
  bottom: 16px;
  display: flex;
  flex-direction: column;
  gap: 32px; }
  .btn--item {
    position: relative;
    max-width: 330px;
    width: 100%;
    border-radius: 10px;
    padding: 20px 60px 20px 24px;
    color: #FFF;
    display: flex;
    align-items: center;
    line-height: 1.4;
    transition: 0.3s all; }
    .btn--item i {
      font-size: 2.4rem;
      margin-right: 8px; }
    .btn--item.-inquiry {
      background: #849C00;
      border: 2px solid #849C00;
      font-size: 1.8rem;
      font-weight: 700; }
      .btn--item.-inquiry:hover {
        background: #FFF;
        color: #849C00; }
    .btn--item.-download {
      background: #DA7C00;
      border: 2px solid #DA7C00;
      font-size: 1.6rem;
      font-weight: 500;
      position: relative; }
      .btn--item.-download span {
        font-size: 1.8rem;
        font-weight: 700; }
      .btn--item.-download div.-note {
        width: 96%;
        position: absolute;
        top: -24px;
        left: 50%;
        transform: translateX(-50%);
        display: block;
        border-radius: 16px;
        border: 2px solid #DA7C00;
        text-align: center;
        color: #DA7C00;
        background: #FFF;
        padding: 4px 16px;
        font-size: 1.6rem;
        font-weight: 500;
        transition: 0.3s all; }
      .btn--item.-download:hover {
        background: #FFF;
        color: #DA7C00; }
        .btn--item.-download:hover div.-note {
          color: #FFF;
          background: #DA7C00; }
    .btn--item::after {
      content: '\e902';
      font-family: 'icomoon';
      font-size: 3.2rem;
      font-weight: 400;
      position: absolute;
      right: 24px; }

.title {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: fit-content;
  margin: 0 auto 40px;
  text-align: center; }
  .title .-en {
    font-size: 2.4rem;
    font-weight: 600;
    font-family: "Montserrat", sans-serif;
    font-style: italic;
    color: #DA7C00;
    margin-bottom: 6px; }
    .title .-en::before {
      content: url(../img/img_title-deco.svg);
      margin-right: 16px; }
  .title .-jp {
    font-size: 4rem;
    font-weight: 500;
    line-height: 1.2; }
  .title.-white .-en {
    color: #FFF; }
    .title.-white .-en::before {
      content: url(../img/img_title-deco-w.svg); }
  .title.-white .-jp {
    color: #FFF; }
  .title.-baseline {
    align-items: baseline;
    text-align: left; }

.subtitle {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: fit-content;
  margin: 0 auto 32px;
  padding: 0 0 16px;
  position: relative;
  font-weight: 500;
  font-size: 3.2rem; }
  .subtitle::before {
    content: '';
    position: absolute;
    border-bottom: 3px solid #DA7C00;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    width: 110px; }
  .subtitle.-baseline {
    margin: 0 0 32px; }
    .subtitle.-baseline::before {
      left: 0;
      transform: none; }

.cta {
  background: linear-gradient(to bottom, #DA7C00, #F8BB69);
  border-radius: 20px;
  padding: 64px 40px 40px;
  text-align: center;
  color: #FFF;
  position: relative; }
  .cta-wrap {
    padding: 0 50px;
    width: 100%;
    max-width: 1140px;
    position: absolute;
    left: 50%;
    top: -134px;
    transform: translateX(-50%);
    z-index: 99; }
  .cta::before {
    content: 'Download';
    font-family: "Montserrat", sans-serif;
    font-style: italic;
    font-weight: 600;
    font-size: 4.8rem;
    position: absolute;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    opacity: 0.2;
    z-index: 2; }
  .cta__title {
    font-weight: 700;
    font-size: 2.4rem;
    z-index: 3; }
  .cta__btn {
    border: 2px solid #FFF;
    font-weight: 700;
    font-size: 2.4rem;
    display: flex;
    align-items: center;
    max-width: 552px;
    width: 100%;
    margin: 32px auto 0;
    border-radius: 50px;
    padding: 24px;
    position: relative;
    z-index: 3;
    transition: 0.3s all; }
    .cta__btn span.-note {
      color: #DA7C00;
      background: #FFF;
      display: inline-block;
      border-radius: 20px;
      font-size: 1.6rem;
      padding: 4px 24px;
      margin-right: 16px;
      transition: 0.3s all; }
    .cta__btn::after {
      content: '\e902';
      font-family: 'icomoon';
      font-size: 3.5rem;
      font-weight: 400;
      position: absolute;
      right: 24px; }
    .cta__btn:hover {
      background: #FFF;
      color: #DA7C00; }
      .cta__btn:hover span.-note {
        color: #FFF;
        background: #DA7C00; }

.modal {
  display: none; }
  .modal.is-open {
    display: block; }
  .modal__overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 99999; }
  .modal__container {
    padding: 0 20px;
    width: 80%;
    max-width: 900px; }
  .modal__content {
    background: #F7F7F7;
    border: 3px solid #DDDDDD;
    border-radius: 20px;
    padding: 40px 48px;
    position: relative;
    display: flex;
    align-items: center;
    gap: 42px;
    height: 100%;
    max-height: 600px; }
    .modal__content--img {
      background: #FFF;
      border-radius: 20px;
      height: 100%;
      width: 40%;
      max-width: 360px;
      display: flex;
      justify-content: center;
      align-items: center; }
    .modal__content--text {
      flex: 1;
      overflow-y: scroll;
      height: 100%;
      display: flex;
      flex-direction: column;
      justify-content: center; }
      .modal__content--text::-webkit-scrollbar {
        display: none; }
    .modal__content--title {
      font-size: 3.2rem;
      line-height: 1.6;
      font-weight: 500;
      padding: 0 0 10px;
      margin-bottom: 24px;
      position: relative; }
      .modal__content--title::after {
        content: '';
        position: absolute;
        background: #DA7C00;
        width: 60px;
        height: 3px;
        bottom: 0;
        left: 0; }
    .modal__content--main {
      font-size: 2rem;
      font-weight: 500; }
      .modal__content--main p + p {
        margin-top: 16px; }
    .modal__content--btn {
      display: flex;
      justify-content: flex-end; }
      .modal__content--btn a {
        font-weight: 500;
        margin-top: 4px;
        width: fit-content;
        display: flex;
        align-items: center;
        padding-bottom: 4px;
        position: relative;
        transition: 0.3s all; }
        .modal__content--btn a::after {
          content: '\e902';
          font-family: 'icomoon';
          margin-left: 8px;
          font-size: 2.4rem;
          color: #DA7C00; }
        .modal__content--btn a:before {
          content: '';
          background: #DA7C00;
          width: 100%;
          height: 1px;
          position: absolute;
          left: 0;
          bottom: 0;
          transform-origin: right top;
          transform: scale(0, 1);
          transition: 0.3s transform; }
        .modal__content--btn a:hover::before {
          transform-origin: left top;
          transform: scale(1, 1); }
  .modal__btn {
    position: absolute;
    top: 2px;
    right: 24px;
    font-size: 5rem;
    color: #DDDDDD; }

.section {
  padding: 0 60px; }

.overview {
  position: relative;
  background: #DA7C00;
  background-size: cover; }
  .overview__img {
    position: absolute;
    inset: 0;
    background: url(../img/img_overview-bg.jpg) no-repeat;
    background-position: center;
    background-size: cover;
    clip-path: polygon(45% 0%, 100% 0, 100% 100%, 32% 100%); }
  .overview__inner {
    padding: 120px 0 160px;
    max-width: 1040px;
    margin: auto;
    display: flex;
    justify-content: space-between;
    position: relative;
    z-index: 10; }
  .overview .title {
    margin: 0;
    width: 32%; }
  .overview__content {
    width: 58%; }
  .overview__title {
    font-weight: 700;
    font-size: 3.2rem; }
  .overview__text {
    margin-top: 32px;
    font-weight: 500; }

.features {
  position: relative;
  z-index: 20;
  background: #F7F7F7;
  border-radius: 50px 50px 0 0;
  margin-top: -40px; }
  .features__inner {
    padding: 120px 0 295px;
    max-width: 1040px;
    margin: auto; }
  .features__content {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px; }
  .features__card {
    border: 10px solid #FFF;
    background: #FFF;
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 4;
    gap: 0; }
    .features__card--no {
      width: 126px;
      margin: -20px auto 24px;
      color: #FFF;
      font-weight: 500;
      text-align: center;
      border-radius: 50px;
      padding: 2px; }
      .features__card--no span {
        font-family: "Montserrat", sans-serif;
        font-style: italic;
        font-weight: 600;
        font-size: 2.4rem; }
    .features__card--title {
      font-weight: 700;
      text-align: center;
      margin-bottom: 16px; }
    .features__card--img {
      max-width: 190px;
      margin: auto; }
    .features__card--main {
      margin-top: 16px;
      padding: 40px 24px 30px;
      position: relative; }
      .features__card--main p {
        font-weight: 500; }
      .features__card--main::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        aspect-ratio: 1/cos(30deg);
        clip-path: polygon(50% 23px, 100% 0, 0 0);
        background: #FFF; }
    .features__card--point {
      font-size: 2rem;
      font-weight: 700;
      text-align: center;
      margin-bottom: 16px;
      line-height: 1.6;
      display: flex;
      flex-direction: column;
      align-items: center; }
      .features__card--point::before {
        content: '\e900';
        font-family: 'icomoon';
        font-size: 2.4rem;
        font-weight: 400; }
    .features__card:nth-child(odd) .features__card--no {
      background: #849C00; }
    .features__card:nth-child(odd) .features__card--main {
      background: rgba(132, 156, 0, 0.2); }
    .features__card:nth-child(odd) .features__card--point {
      color: #849C00; }
    .features__card:nth-child(even) .features__card--no {
      background: #DA7C00; }
    .features__card:nth-child(even) .features__card--main {
      background: rgba(218, 124, 0, 0.2); }
    .features__card:nth-child(even) .features__card--point {
      color: #DA7C00; }
  .features__link {
    margin-top: 24px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    gap: 16px; }
    .features__link--item {
      display: flex;
      align-items: center;
      line-height: 1.6;
      font-weight: 500;
      padding-bottom: 4px;
      position: relative;
      transition: 0.3s all; }
      .features__link--item::after {
        content: '\e902';
        font-family: 'icomoon';
        font-size: 2.4rem;
        font-weight: 400;
        color: #849C00;
        margin-left: 8px; }
      .features__link--item:before {
        content: '';
        background: #849C00;
        width: 100%;
        height: 1px;
        position: absolute;
        left: 0;
        bottom: 0;
        transform-origin: right top;
        transform: scale(0, 1);
        transition: 0.3s transform; }
      .features__link--item:hover::before {
        transform-origin: left top;
        transform: scale(1, 1); }

.simulation {
  position: relative;
  z-index: 30;
  background: #FFF;
  border-radius: 50px 50px 0 0;
  margin-top: -40px; }
  .simulation__inner {
    padding: 240px 0 160px;
    max-width: 1040px;
    margin: auto; }
  .simulation__brief {
    text-align: center;
    margin-bottom: 32px; }
  .simulation__system--img {
    position: relative; }
  .simulation__system .modal-trigger {
    position: absolute;
    z-index: 50;
    transition: 0.3s all; }
    .simulation__system .modal-trigger:hover {
      opacity: 0.7; }
    .simulation__system .modal-trigger.-spot01 {
      top: 46%;
      left: 14%; }
    .simulation__system .modal-trigger.-spot02 {
      top: 34%;
      left: 38%; }
    .simulation__system .modal-trigger.-spot03 {
      top: 0%;
      right: 16%; }
    .simulation__system .modal-trigger.-spot04 {
      top: 36%;
      right: 16%; }
    .simulation__system .modal-trigger.-spot05 {
      bottom: 18%;
      right: 16%; }
  .simulation .subtitle {
    margin-top: 80px; }
  .simulation-calculation {
    text-align: center; }
    .simulation-calculation .error-text {
      color: #ff0000;
      font-size: 1.8rem; }
  .simulation__btn {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    max-width: 260px;
    padding: 12px 20px 12px 40px;
    margin: auto;
    background: #fff;
    border: 2px solid #DA7C00;
    color: #DA7C00;
    border-radius: 100px;
    font-size: 2.0rem;
    font-weight: 700;
    box-shadow: 0 0px 20px rgba(134, 134, 134, 0.2);
    margin-top: 12px;
    margin-bottom: 48px;
    transition: 0.3s all;
    cursor: pointer; }
    .simulation__btn i {
      font-size: 3.5rem; }
    .simulation__btn:hover {
      color: #fff;
      background: #DA7C00; }
    .simulation__btn.-error {
      background: #f3f3f3;
      border: 2px solid #868686;
      color: #868686;
      pointer-events: none; }
  .simulation .totals {
    display: none; }

.system__inner {
  margin-top: -40px;
  padding-top: 40px; }

.case {
  position: relative;
  z-index: 40;
  background: linear-gradient(to bottom, #FDFAF5, #FFEBD0);
  border-radius: 50px 50px 0 0;
  margin-top: -40px; }
  .case__inner {
    padding: 120px 0 290px;
    max-width: 1040px;
    margin: auto; }
  .case .subtitle span {
    font-size: 2.4rem; }
  .case__text {
    font-weight: 500; }
  .case__img {
    margin-top: 40px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px; }

.faq {
  position: relative;
  z-index: 50;
  background: #F7F7F7;
  border-radius: 50px 50px 0 0;
  margin-top: -40px; }
  .faq__inner {
    padding: 250px 0 160px;
    max-width: 1040px;
    margin: auto; }
  .faq__list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px; }
    .faq__list--accordion {
      background: #FFF; }
      .faq__list--accordion .-text {
        flex: 1; }
      .faq__list--accordion .-head::before,
      .faq__list--accordion .-body::before {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 42px;
        height: 42px;
        border-radius: 50%;
        font-weight: 600;
        font-family: "Montserrat", sans-serif;
        font-style: italic;
        font-size: 2rem;
        position: absolute;
        left: 32px;
        top: 18px; }
      .faq__list--accordion .-head {
        width: 100%;
        position: relative;
        padding: 24px 80px 24px 100px;
        display: flex;
        align-items: baseline;
        font-weight: 700;
        font-size: 1.8rem;
        color: #DA7C00; }
        .faq__list--accordion .-head::before {
          content: 'Q';
          background: #F8E5CC;
          color: #DA7C00; }
        .faq__list--accordion .-head span {
          display: block;
          width: 40px;
          height: 40px;
          border-radius: 50%;
          position: absolute;
          top: 18px;
          right: 32px; }
          .faq__list--accordion .-head span::before, .faq__list--accordion .-head span::after {
            content: "";
            display: block;
            width: 18px;
            height: 2px;
            border-radius: 3px;
            background: #DA7C00;
            position: absolute;
            top: 50%;
            left: 13px;
            transition: 0.3s all; }
          .faq__list--accordion .-head span::after {
            left: 14px;
            opacity: 1;
            transform: rotate(90deg) translate(0, 50%);
            transform-origin: center center; }
        .faq__list--accordion .-head.-active span::after {
          opacity: 0;
          transform: rotate(0) translate(0, 50%); }
      .faq__list--accordion .-body {
        padding: 24px 32px 24px 100px;
        display: flex;
        align-items: baseline;
        position: relative;
        display: none; }
        .faq__list--accordion .-body::before {
          content: 'A';
          background: #DA7C00;
          color: #FFF; }
        .faq__list--accordion .-body::after {
          content: '';
          position: absolute;
          top: 0;
          left: 50%;
          transform: translateX(-50%);
          width: calc(100% - 64px);
          height: 1px;
          background: #F7F7F7; }

.related {
  position: relative;
  z-index: 60;
  background: #FFF;
  border-radius: 50px 50px 0 0;
  margin-top: -40px; }
  .related__inner {
    padding: 120px 0 290px;
    max-width: 1040px;
    margin: auto; }
  .related__slider .splide__list {
    height: auto; }
  .related__slider .splide__slide:hover .related__slider--text {
    color: #DA7C00; }
  .related__slider .splide__slide:hover .related__slider--img img {
    transform: scale(1.1); }
  .related__slider .splide__arrow {
    background: none;
    color: #DA7C00;
    font-size: 3.2rem;
    transition: 0.3s all; }
    .related__slider .splide__arrow:not([disabled]) {
      opacity: 1; }
      .related__slider .splide__arrow:not([disabled]):hover {
        opacity: 0.7; }
    .related__slider .splide__arrow--prev {
      left: -2em; }
    .related__slider .splide__arrow--next {
      right: -2em; }
  .related__slider .splide__pagination {
    bottom: -3em; }
    .related__slider .splide__pagination__page {
      width: 16px;
      height: 16px;
      margin: 8px;
      opacity: 1; }
      .related__slider .splide__pagination__page.is-active {
        background: #DA7C00;
        transform: none; }
  .related__slider--img {
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
    overflow: hidden; }
    .related__slider--img img {
      object-fit: cover;
      aspect-ratio: 121 / 73;
      transition: 0.3s all; }
  .related__slider--text {
    margin-top: 16px;
    font-weight: 500;
    transition: 0.3s all; }

.footer {
  padding: 0 50px;
  position: relative;
  z-index: 70;
  background: linear-gradient(to bottom, #FDFAF5, #FFEBD0); }
  .footer__inner {
    padding: 190px 0 100px;
    max-width: 1040px;
    margin: auto; }
  .footer__nav {
    margin-top: 24px;
    padding: 32px 0 24px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    position: relative; }
    .footer__nav::before {
      content: '';
      width: 100%;
      height: 1px;
      background: #FFF;
      position: absolute;
      top: 0;
      left: 0; }
    .footer__nav--title {
      display: block;
      font-size: 1.8rem;
      font-weight: 700;
      margin-bottom: 8px;
      transition: 0.3s all; }
      .footer__nav--title:hover {
        color: #DA7C00; }
    .footer__nav--list {
      display: grid;
      grid-template-columns: repeat(1, 1fr);
      gap: 6px;
      font-size: 1.4rem; }
    .footer__nav--item {
      padding-left: 14px;
      position: relative;
      transition: 0.3s all; }
      .footer__nav--item::before {
        content: '';
        display: block;
        position: absolute;
        background: #DA7C00;
        width: 8px;
        height: 1px;
        top: 12px;
        left: 0; }
      .footer__nav--item:hover {
        color: #DA7C00; }
  .footer__badge {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 18px; }
    .footer__badge--item {
      max-width: 104px; }
  .footer__link {
    margin-top: 24px;
    padding: 16px 0;
    font-size: 1.4rem;
    font-weight: 700;
    display: flex;
    gap: 32px;
    justify-content: center; }
    .footer__link--item {
      transition: 0.3s all; }
      .footer__link--item:hover {
        color: #DA7C00; }
  .footer__copyright {
    padding: 16px 0 0;
    text-align: center;
    position: relative;
    color: #DA7C00;
    font-weight: 500;
    font-size: 1.4rem; }
    .footer__copyright::before {
      content: '';
      width: 100%;
      height: 1px;
      background: #FFF;
      position: absolute;
      top: 0;
      left: 0; }

.simulator {
  position: relative; }
  .simulator .heading {
    width: fit-content;
    position: absolute;
    top: 0;
    left: 52%; }
  .simulator .grid {
    width: fit-content;
    margin: 0 auto 40px;
    display: grid;
    grid-template-columns: 100px 200px 40px;
    gap: 16px;
    align-items: center;
    padding: 40px 12px 24px; }
    .simulator .grid label {
      color: #DA7C00;
      font-weight: 700;
      font-size: 1.8rem;
      display: flex;
      align-items: center; }
    .simulator .grid .unit {
      font-weight: 700;
      font-size: 1.8rem; }
    .simulator .grid input[type="text"] {
      width: 100%;
      padding: 16px 32px;
      border: 1px solid #DDDDDD;
      background: #fafafa;
      font-weight: 700;
      text-align: right; }
    .simulator .grid input[type="text"].-error {
      border: 1px solid #f75555;
      background: #ffefef; }
    .simulator .grid input[readonly] {
      background: #F4F4F4;
      cursor: not-allowed; }
    .simulator .grid input::placeholder {
      color: #DDDDDD; }
  .simulator .input-wrap {
    display: flex;
    align-items: center; }
  .simulator .panel {
    padding: 16px 40px;
    display: grid;
    grid-template-columns: 320px 1fr;
    align-items: center;
    font-weight: 700;
    font-size: 2.0rem;
    gap: 24px;
    width: 100%;
    max-width: 950px;
    margin: auto; }
    .simulator .panel.panel--1 {
      background: #F8E5CD; }
    .simulator .panel.panel--2 {
      background: #EFF2D8;
      margin-top: 16px; }
      .simulator .panel.panel--2 .value span#ipTotal {
        font-size: 4rem; }
    .simulator .panel .label {
      text-align: center; }
    .simulator .panel .info {
      display: flex;
      justify-content: center; }
    .simulator .panel .value span#ipTotal {
      font-size: 4.8rem;
      font-weight: 500; }
    .simulator .panel .value span#deTotal {
      font-size: 4.8rem;
      font-weight: 500; }
    .simulator .panel .value span.desc {
      font-size: 1.6rem; }
  .simulator .notes {
    font-size: 1.4rem;
    font-weight: 500;
    max-width: 780px;
    margin: 24px auto 0; }
    .simulator .notes li {
      padding-left: 14px;
      position: relative; }
      .simulator .notes li::before {
        content: '※';
        position: absolute;
        left: 0;
        top: 0; }

.c-link {
  display: inline-flex;
  line-height: 1.6;
  font-weight: 500;
  align-items: center;
  padding-bottom: 4px;
  position: relative;
  transition: 0.3s all; }
  .c-link::after {
    content: '\e902';
    font-family: 'icomoon';
    font-size: 2.4rem;
    font-weight: 400;
    color: #849C00;
    margin-left: 8px;
    margin-top: 3px; }
  .c-link:before {
    content: '';
    background: #849C00;
    width: 100%;
    height: 1px;
    position: absolute;
    left: 0;
    bottom: 0;
    transform-origin: right top;
    transform: scale(0, 1);
    transition: 0.3s transform; }
  .c-link:hover::before {
    transform-origin: left top;
    transform: scale(1, 1); }

@media (max-width: 767px) {
  .mv {
    height: 610px; }
    .mv__inner {
      padding: 40px 12px;
      position: relative;
      top: inherit;
      left: inherit;
      transform: inherit; }
    .mv__img {
      clip-path: polygon(0 50%, 100% 42%, 100% 100%, 0% 100%);
      background: url(../img/img_mv-bg_sp.jpg) no-repeat;
      background-size: cover;
      background-position: center; }
    .mv__heading {
      font-size: 1.8rem;
      padding: 6px;
      line-height: 2.3; }
    .mv__text {
      margin-top: 18px;
      font-size: 1.8rem; }
      .mv__text span {
        font-size: 3.0rem;
        margin-bottom: 2px; }
    .mv__btn {
      font-size: 1.6rem;
      padding: 16px 24px;
      width: 326px;
      margin-top: 24px; }
      .mv__btn i {
        font-size: 2.4rem; }

  .btn {
    position: absolute;
    padding: 0 12px;
    width: 100%;
    right: 0;
    align-items: flex-end; }
    .btn--item {
      width: 100%;
      max-width: 375px; }

  .title .-en {
    font-size: 1.6rem; }
    .title .-en::before {
      content: url(../img/img_title-deco_sp.svg);
      margin-right: 8px; }
  .title .-jp {
    font-size: 2.4rem; }

  .subtitle {
    font-size: 2.4rem;
    padding: 0 0 10px; }

  .cta {
    padding: 56px 16px 40px; }
    .cta-wrap {
      padding: 0 12px; }
    .cta::before {
      font-size: 4rem; }
    .cta__title {
      line-height: 1.4; }
    .cta__btn {
      padding: 20px 40px; }
      .cta__btn::after {
        font-size: 2.8rem; }
      .cta__btn span.-note {
        position: absolute;
        top: -16px;
        left: 50%;
        transform: translateX(-50%);
        margin: 0;
        width: 180px;
        padding: 2px 24px; }

  .section {
    padding: 0 12px; }

  .overview__inner {
    padding: 48px 0 80px;
    flex-direction: column;
    gap: 70px; }
  .overview__img {
    clip-path: polygon(0 30%, 100% 20%, 100% 100%, 0% 100%); }
  .overview .title {
    width: 100%; }
  .overview__content {
    width: 100%; }
  .overview__title {
    font-size: 2rem; }
  .overview__text {
    margin-top: 14px; }

  .features {
    margin-top: -25px;
    border-radius: 30px 30px 0 0; }
    .features__inner {
      padding: 64px 0 200px; }
    .features__content {
      grid-template-columns: 1fr;
      gap: 45px; }
    .features__link {
      align-items: flex-start;
      gap: 4px; }

  .simulator .grid {
    grid-template-columns: 100px 180px 40px; }
    .simulator .grid input[type=text] {
      padding: 16px 24px; }
  .simulator .panel {
    padding: 16px 32px;
    grid-template-columns: 1fr;
    font-size: 1.8rem;
    gap: 0px; }
    .simulator .panel .info {
      position: relative; }
    .simulator .panel .value {
      margin-top: -12px; }
      .simulator .panel .value span#ipTotal {
        font-size: 3.2rem; }
      .simulator .panel .value span.desc {
        display: block;
        position: absolute;
        right: 0;
        bottom: 2px; }
    .simulator .panel.panel--2 {
      padding: 16px 32px; }
      .simulator .panel.panel--2 .value span#deTotal {
        font-size: 3.2rem; }

  .simulation__inner {
    padding: 200px 0 90px; }
  .simulation .subtitle {
    margin-top: 64px; }
  .simulation__system .modal-trigger {
    display: none; }
  .simulation__system--list {
    margin-top: 32px;
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px; }
  .simulation__block {
    padding: 16px 16px 24px;
    background: #F7F7F7; }
    .simulation__block--img {
      background: #FFF;
      padding: 16px;
      margin-bottom: 24px; }
      .simulation__block--img img {
        object-fit: contain;
        aspect-ratio: 32 / 19; }
    .simulation__block--title {
      font-size: 2.4rem;
      font-weight: 500;
      padding-bottom: 14px;
      margin-bottom: 16px;
      position: relative;
      line-height: 1.6; }
      .simulation__block--title::after {
        content: '';
        position: absolute;
        width: 50px;
        height: 3px;
        background: #DA7C00;
        bottom: 0;
        left: 0; }
    .simulation__block--text {
      font-weight: 500; }
      .simulation__block--text p + p {
        margin-top: 6px; }
    .simulation__block--btn {
      display: flex;
      justify-content: flex-end; }
      .simulation__block--btn a {
        font-weight: 500;
        margin-top: 4px;
        width: fit-content;
        display: flex;
        align-items: center; }
        .simulation__block--btn a::after {
          content: '\e902';
          font-family: 'icomoon';
          margin-left: 8px;
          font-size: 2.4rem;
          color: #DA7C00; }

  .case {
    margin-top: -25px;
    border-radius: 30px 30px 0 0; }
    .case__inner {
      padding: 64px 0 230px; }
    .case .subtitle span {
      font-size: 1.8rem; }
    .case__img {
      margin-top: 24px;
      grid-template-columns: 1fr; }

  .faq {
    margin-top: -25px;
    border-radius: 30px 30px 0 0; }
    .faq__inner {
      padding: 200px 0 90px; }
    .faq__list--accordion .-head {
      padding: 24px 48px 24px 60px;
      font-size: 1.6rem; }
      .faq__list--accordion .-head::before {
        width: 40px;
        height: 40px;
        font-size: 1.8rem;
        left: 12px;
        top: 22px; }
      .faq__list--accordion .-head span {
        right: 5px; }
    .faq__list--accordion .-body {
      padding: 24px 18px 24px 60px; }
      .faq__list--accordion .-body::before {
        width: 40px;
        height: 40px;
        font-size: 1.8rem;
        left: 12px;
        top: 22px; }

  .related {
    margin-top: -25px;
    border-radius: 30px 30px 0 0; }
    .related__inner {
      padding: 64px 0 250px; }
    .related .splide__arrow {
      background: #FFF;
      border-radius: 50%;
      font-size: 4rem;
      width: 40px;
      height: 40px;
      top: 44%; }
      .related .splide__arrow--prev {
        left: 0; }
      .related .splide__arrow--next {
        right: 0; }
    .related .splide__pagination {
      bottom: -2.5em; }
      .related .splide__pagination__page {
        width: 12px;
        height: 12px;
        margin: 6px; }

  .footer {
    padding: 0 12px; }
    .footer__inner {
      padding: 190px 0 40px; }
    .footer__nav {
      grid-template-columns: repeat(2, 1fr); }
    .footer__badge {
      justify-content: center; }
    .footer__link {
      flex-wrap: wrap;
      gap: 4px 16px;
      margin-top: 16px;
      padding: 0 0 24px; } }
.c-color_bg--blackPale {
  background-color: #263238; }

.l-footer_inner {
  color: #fff;
  padding: 200px 2rem 5rem; }

.l-footer_logo_wrap {
  display: flex;
  justify-content: center;
  align-items: center; }

.l-footer_logo:last-child {
  margin-left: 5rem;
  padding-left: 5rem;
  position: relative; }

.l-footer_logo:last-child:before {
  background-color: #fff;
  content: "";
  height: 6.4rem;
  left: 0;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 0.1rem; }

.l-footer_logo a {
  display: block; }

.l-footer_logo.corporate {
  height: 4.3rem;
  width: 14.1rem; }

.l-footer_logo.hybrid {
  height: 5.5rem;
  width: 18.2rem;
  display: flex;
  align-items: center; }

.l-footer_cont {
  line-height: 1.8;
  margin-top: 5.5rem !important; }

.l-footer_cont--company h2 {
  font-size: 2rem; }

.l-footer_cont a {
  position: relative; }

.l-footer_cont a:after {
  background-color: #fff;
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  top: 95%;
  -webkit-transition: .4s;
  -o-transition: .4s;
  transition: .4s;
  width: 0; }

.l-footer_cont a:hover:after {
  width: 100%; }

.l-footer_copyright {
  color: #707070;
  font-size: 1.3rem;
  margin-top: 7rem;
  text-align: center; }

.l-wrap_cont {
  margin: 0 auto;
  max-width: 850px;
  width: 100%; }

@media screen and (max-width: 767px) {
  .l-footer {
    padding-bottom: 80px; }

  .l-footer_inner {
    padding: 200px 2rem 60px; }

  .l-footer_logo:last-child {
    margin-left: 3rem;
    padding-left: 3rem; }

  .l-footer_cont {
    margin-top: 3rem !important; }

  .l-footer_cont--company h2 {
    font-size: 1.8rem; }

  .l-footer_copyright {
    font-size: .8rem;
    margin-top: 2.5rem; } }

/*# sourceMappingURL=style.css.map */
