.globalnav a,
.globalnav a:visited,
.globalnav a:link,
.globalfooter a,
.globalfooter a:visited,
.globalfooter a:link {
  color: inherit;
  @media (width >= 992px) {
      &:hover {
        color: var(--primary-color);
      }
  }
}

.layout_main {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  padding: 0 0 6rem;
  background: url(../images/bg-main-pc.svg) no-repeat center top / 100% auto, linear-gradient(0deg, #16A8A4 0%, #16A8A4 100%), linear-gradient(180deg, #16A8A4 0%, #51C7C5 23.08%);
  color: #242424;
  line-height: 1.7;
  a,
  a:visited,
  a:link {
    color: #4A8DE9;
  }

  .button,
  .button:visited,
  .button:link  {
    color: #fff;
  }
}


.inner {
  max-width: 75rem;
  margin: 0 auto;
}

section {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  border-radius: 1rem;
  background: #FFF;
  box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.10);
  padding: 4rem 5rem;
  width: 100%;
  max-width: 75rem;
  margin: 0 auto;
}

@media (width < 768px) {
  .layout_main {
    gap: 2rem;
  }
  section {
    gap: 1.5rem;
    width: auto;
    margin: 0 .5rem;
    padding: 2.5rem 1rem;
  }
}

/* contents */
.headline {
  display: flex;
  flex-direction: column;
  gap: .5rem;
  font-size: 2rem;
  line-height: 1.4;
  text-align: center;
}

.headline--cv {
  color: #FF6683;
}

.headline__label {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .25rem;
  font-size: 1.125rem;
  font-weight: 600;
  font-variation-settings: "wght" 600;
  color: #FF6683;

  &::before,
  &::after {
    content: "";
    display: block;
    width: 2px;
    height: 17px;
    background: #FF6683;
    border-radius: 2px;
  }
  &::before {
    transform: rotate(-27deg) translate(-5px, 0);
  }
  &::after {
    transform: rotate(27deg) translate(2px, 0px);
  }
}

@media (width < 768px) {
  .headline {
    font-size: 1.25rem;
  }

  .headline__label {
    font-size: 1rem;
  }
}

.footnote {
  font-size: .875rem;
  color: #4E4E4E;
}

.list {
  & li {
    padding: 0 0 0 1rem;
    position: relative;
    &::before {
      content: "・";
      position: absolute;
      left: 0;
    }
  }
}

.link {
  color: #4A8DE9;
  text-decoration: underline;
}

/* hero */

.hero {
  padding: 109px 0 3.125rem;
  background: url(../images/bg-hero.svg) no-repeat center 144px;
}

.hero__layout {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.hero__headline {
  line-height: 1;
  text-align: center;
  & img {
    transform: translateX(51px);
  }
}

.hero__button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: .625rem;
  padding: .7875rem 2.5rem;
  font-size: 1.5rem;
  font-weight: 700;
  font-variation-settings: "wght" 700;
  line-height: 1.7;
  background: linear-gradient(180deg, #FF728D 0%, #FF4F70 100%);
  box-shadow: 0 3px 8px 0 rgba(0, 0, 0, 0.25);
  border-radius: 2.5rem;
  color: #fff;
  margin: -9px auto 0;
  transition: .3s;
  &::after {
    content: "";
    display: block;
    width: 1.25rem;
    height: .6875rem;
    background: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="11" viewBox="0 0 20 11" fill="none"><path d="M1.5 1.5L10 9.5L18.5 1.5" stroke="white" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/></svg>') no-repeat center center / 100% auto;
  }
}

@media (992px <= width) {
  .hero__button:hover {
    background: linear-gradient(180deg, #FF4F70 0%, #FF4F70 100%);
    box-shadow: none;
  }
}

@media (width < 768px) {
  .hero {
    padding: 2.45rem 0 .8125rem;
  }
  .hero__headline {
    & img {
      transform: none;
    }
  }

  .hero__button {
    display: flex;
    margin: .875rem auto 0;
    width: 100%;
    max-width: 20.625rem;
    padding: 0.72125rem 1.20213rem;
    font-size: .875rem;
    &::after {
      width: .8125rem;
      height: .4375rem;
    }
  }
}

/*  */

.section-top {
  position: relative;
  &::before,
  &::after {
    content: "";
    display: block;
    width: 174px;
    height: 174px;
    background: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" width="174" height="174" viewBox="0 0 174 174" fill="none"><path d="M0.0147791 103.012L102.733 -4.35532e-06L173.871 7.9264e-05L-2.76384e-08 173.871L0.0147791 103.012Z" fill="%23FF6683"/></svg>') no-repeat center center / contain;
    position: absolute;
  }

  &::before {
    left: -5px;
    top: -5px;
  }
  &::after {
    bottom: -5px;
    right: -5px;
    transform: rotate(180deg);
  }
}

.overview {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.overview__list {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.overview__item {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 1.5rem;
  padding: 2.375rem 2.875rem 2.375rem 2rem;
  border-radius: 0.5rem;
  border: 2px solid;
  border-left-width: 1.5rem;
}

.overview__title {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  font-size: 1.75rem;
  line-height: 1.3;
}

.overview__coupon {
  display: flex;
  align-items: center;
  gap: 1rem;
  & li {
    line-height: 0;
  }
}

.overview__text {
  grid-column: 1 / span 2;
}

.overview__item--rs {
  border-color: #FF6683;
}

.overview__item--vps {
  border-color: #0E9794;
}

.overview__item--cloud {
  border-color: #579E64;
}

@media (width < 768px) {
  .section-top {
    padding-top: 3.625rem;
    &::before,
    &::after {
      width: 85px;
      height: 85px;
    }
    &::before {
      top: -3px;
      left: -3px;
    }
    &::after {
      bottom: -3px;
      right: -3px;
    }
  }

  .overview {
    gap: 1rem;
  }

  .overview__item {
    grid-template-columns: 1fr;
    gap: 1rem;
    padding: 1.5rem .875rem 1.375rem .875rem;
    border-left-width: 2px;
    border-top-width: 1.5rem;
  }

  .overview__title {
    gap: 1rem;
    font-size: 1.125rem;
    padding: 0 0 0 .5rem;
  }

  .overview__coupon {
    gap: .5rem;
    & li {
      flex: 1;
    }
  }

  .overview__text {
    grid-column: auto;
    padding-top: .5rem;
  }

  .overview__item--rs {
    & .logo-mark {
      & svg {
        width: 39px;
      }
    }
  }

  .overview__item--vps {
    & .logo-mark {
      & svg {
        width: 51px;
      }
    }
  }

  .overview__item--cloud {
    & .logo-mark {
      & svg {
        width: 34px;
      }
    }
  }
}

.table {
  & th {
    border: 1px solid #C5C5C5;
    background: #F0F0F0;
    width: 12.5rem;
    padding: 1.5rem;
    font-size: 1.125rem;
    font-weight: 700;
    font-variation-settings: "wght" 700;
  }

  & td {
    border: 1px solid #C5C5C5;
    padding: 1.5rem;

    & dl {
      display: flex;
      flex-direction: column;
      gap: .5rem;
      & dt {
        font-weight: 700;
        font-variation-settings: "wght" 700;
      }
      & dd {
        display: flex;
        flex-direction: column;
        gap: .5rem;
      }
    }
  }

  & .layout {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
  }
}

@media (width < 768px) {
  .table {
    margin: 0 -1rem;
    & th {
      padding: 1rem 0.5rem;
      width: 6.25rem;
      font-size: 1rem;
    }

    & td {
      padding: 1rem 0.75rem;
      font-size: .875rem;
    }
  }
}

.flow {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.flow__list {
  display: flex;
  gap: 1rem;
}

.flow__item {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  border-radius: 0.5rem;
  background: #F0F0F0;
  padding: 2rem 1rem 1rem 1rem;
  counter-increment: number;
  position: relative;

  & dt {
    font-size: 1.0625rem;
    line-height: 1.4;
    font-weight: 700;
    font-variation-settings: "wght" 700;
    font-feature-settings: 'halt' on;
    padding: 0 0 1rem;
    border-bottom: 1px solid #C5C5C5;
    &::before {
      display: flex;
      align-items: center;
      justify-content: center;
      content: counter(number, decimal-leading-zero);
      width: 2.5rem;
      height: 2.5rem;
      font-size: 1.25rem;
      font-weight: 600;
      font-variation-settings: "wght" 600;
      background: #FF6683;
      border-radius: 50%;
      color: #fff;
      position: absolute;
      left: 0;
      right: 0;
      top: -1.25rem;
      margin: 0 auto;
    }
  }
  & dd {
    line-height: 1.4;
  }
}

@media (width < 768px) {
  .flow__list {
    flex-direction: column;
    gap: .5rem;
  }

  .flow__item {
    gap: .75rem;
    padding: 1rem;
    & dt {
      display: flex;
      align-items: center;
      gap: 0.625rem;
      padding: 0 0 .75rem;
      &::before {
        position: static;
        margin: 0;
      }
    }
  }
}

.faq {
  & dl {
    display: flex;
    flex-direction: column;
    gap: .5rem;
    padding: 1.25rem 0;
    border-bottom: 1px solid #C5C5C5;
    &:last-child {
      border-bottom: none;
    }
    & dt {
      display: flex;
      align-items: center;
      gap: .5rem;
      font-size: 1.25rem;
      font-weight: 700;
      font-variation-settings: "wght" 700;
      line-height: 1.4;
      &::before {
        flex-shrink: 0;
        content: "Q";
        display: flex;
        align-items: center;
        justify-content: center;
        width: 1.9375rem;
        height: 1.9375rem;
        font-family: "MuseoModerno", sans-serif;
        font-size: 0.96875rem;
        font-weight: 600;
        font-variation-settings: "wght" 600;
        line-height: 1.4;
        background: #FF6683;
        border-radius: 50%;
        color: #fff;
      }
    }
  }
}

@media (width < 768px) {
  .faq {
    & dl {
      & dt {
        font-size: 1rem;
      }

      & dd {
        font-size: .875rem;
      }
    }
  }
}

/*
* マルケトフォーム移設
*/

.form {
  color: #333;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
  font-size: 14px;
  text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
}
@media screen and (max-width: 768px) {
  .form {
    font-size: 16px;
  }
}
.form .notice {
  text-align: center;
  color: #f00;
}

.form .form_in {
  width: 660px;
  margin: 30px auto 0;
}
.form .form_in * {
  box-sizing: border-box;
}
.form .form_in input::placeholder {
  color: #ccc;
}
.form .form_in input:focus {
  border-color: inherit;
  outline: none;
}
.form .form_in .mktoForm {
  margin-top: -10px;
}
.form .form_in .mktoFormRow {
  display: flex;
}
.form .form_in .mktoFormCol {
  width: 100%;
}
.form .form_in .mktoForm.mktoLayoutAbove .mktoRequiredField .mktoAsterix {
  color: #f00;
  font-weight: normal;
  font-size: 20px;
}
.form .form_in .mktoForm .mktoError {
  right: inherit!important;
  bottom: -44px!important;
}
.form .form_in .mktoForm .mktoError .mktoErrorArrow {
  background: #FD7C96;
  border: 0;
}
.form .form_in .mktoForm .mktoError .mktoErrorMsg {
  max-width: none;
  padding: 14px 15px;
  background: #FD7C96;
  border: 0;
  color: #fff;
  font-size: 15px;
  text-shadow: none;
  box-shadow: none;
  font-weight: bold;
}
.form .form_in .mktoOffset {
  display: none;
}
.form .form_in .mktoHasWidth {
  width: 100%!important;
}
.form .form_in .mktoForm .mktoRadioList, .form .form_in .mktoForm .mktoCheckboxList {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.form .form_in .mktoLabel {
  margin-top: 20px;
  padding: 0 0 5px;
  font-weight: bold;
}
.form .form_in .mktoField {
  padding: 13px 20px;
  border: 1px solid #C2CFE5;
  font-size: 15px;
}

.form .form_in .mktoForm input[type="checkbox"],
.form .form_in .mktoForm input[type="radio"] {
  appearance: auto;
  -webkit-appearance: auto;
}

.form .form_in .mktoForm .mktoRadioList > label,
.form .form_in .mktoForm .mktoCheckboxList > label {
  margin-left: 0;
  margin-top: 0;
  margin-bottom: 0;
  line-height: 1.5em;
  display: block;
  min-height: 12px;
  padding: 3px 0;
  width: 97%;
}
.form .form_in input[type="checkbox"].mktoField,
.form .form_in input[type="radio"].mktoField {
  width: 3%;
}
@media screen and (max-width: 768px) {
.form .form_in .mktoForm .mktoRadioList > label,
  .form .form_in .mktoForm .mktoCheckboxList > label {
    width: 93%;
  }
  .form .form_in input[type="checkbox"].mktoField,
  .form .form_in input[type="radio"].mktoField {
    width: 7%;
    transform: scale(1.3);
  }
}

.form .form_in select.mktoField {
  display: block;
  font-size: 16px;
  width: 100%;
  max-width: 100%;
  margin: 0;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  border-radius: 0;
  background-color: #fff;
  background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23007CB2%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E');
  background-repeat: no-repeat, repeat;
  background-position: right .7em top 50%, 0 0;
  background-size: .65em auto, 100%;
}
@media screen and (max-width: 768px) {
  .form .form_in select.mktoField {
    padding: 10px;
}
}
.form .form_in select.mktoField::-ms-expand {
  display: none;
}
.form .form_in .mktoFieldWrap {
  width: 100%;
  /* padding: 0 10px; */
}
.form .form_in .mktoButtonRow {
  margin-top: 20px;
  padding: 0 10px;
  display: block;
}
.form .form_in .mktoButtonWrap {
  display: block;
}
.form .form_in .mktoButtonWrap.mktoMinimal .mktoButton {
  width: 100%;
  padding: 23px 0;
  background: #FD7C96;
  border: 0;
  color: #fff;
  font: inherit;
  font-size: 17px;
  font-weight: bold;
  text-shadow: none;
  box-shadow: none;
  transition-property: background-color;
  transition-duration: .4s;
}
.form .form_in .mktoButtonWrap.mktoMinimal .mktoButton:hover {
  background: rgba(253, 124, 150, 0.8);
  color: #fff;
  box-shadow: none;
}
.form .form_in .mktoHtmlText {
  width: auto;
  margin: 5px 0 0;
  font-size: 11px;
  line-height: 1.8;
}
.form .form_in .mktoHtmlText a {
  text-decoration: underline;
}
.form .form_in .mktoHtmlText a:hover {
  text-decoration: none;
}
@media screen and (max-width: 768px) {
  .form .form_in {
    width: auto;
    margin: 0;
  }
  .form .form_in .mktoForm {
    /* margin-top: 15px; */
    padding: 0;
  }
  .form .form_in .mktoForm.mktoLayoutAbove .mktoRequiredField {
    /* padding: 0 5px; */
  }
  .form .form_in .mktoForm.mktoLayoutAbove .mktoRequiredField .mktoAsterix::before {
    font-size: 10px;
  }
  .form .form_in .mktoLabel {
    margin-top: 15px;
    /* font-size: 13px; */
  }
  .form .form_in .mktoField {
    padding: 20px 10px;
    font-size: 16px;
  }
  .form .form_in .mktoButtonWrap.mktoMinimal .mktoButton {
    padding: 22px 0;
    font-size: 15px;
  }
}

/* ----------------
送信前注意テキスト
---------------- */
.mktoForm span.submit-caution-txt {
  font-size: 14px;
  text-align: center;
  display: block;
  font-weight: bold;
  margin: 30px 0 0;
}

@media screen and (max-width: 768px) {
  .mktoForm span.submit-caution-txt {
    text-align: left;
  }
  .mktoForm span.submit-caution-txt br{
    display: none;
  }
}

/* ----------------
完了画面
---------------- */
.complete {
  line-height: 1.8;
  text-align: center;
  margin: 50px 0 100px;
}

.complete-txt {
  margin: 0 0 50px;
}

@media screen and (max-width: 768px) {
  .form {
    margin: 0 20px;
  }

  .complete {
    text-align: left;
    margin: 30px 0 60px;
  }

  .complete-txt {
    margin: 0 0 30px;
  }

  .for-pc {
    display: none;
  }

}

@media screen and (max-width: 480px) {
  .mktoForm, .mktoForm * {
    padding: 0 !important;
  }
}
