/**
 * パッケージページ専用のCSS
 * package
 * package/general-terms
 */

html {
  scroll-behavior: smooth;
  font-family: "Noto Sans JP", sans-serif;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

.editor-styles-wrapper {
  padding-inline: 20px;
  max-width: 717px;
}

.p-package-site {
  --pkg-primary: #173f73;
  --pkg-accent: #2e76d0;
  --pkg-pale: #edf5fc;
  --pkg-text: #172033;
  --pkg-muted: #647084;
  --pkg-border: #d8e1ec;
  --pkg-white: #fff;
  --pkg-width: 1180px
}

.p-package-site .p-package__inner,
.p-package-site .l-package-header__inner,
.p-package-site .l-package-footer__inner {
  width: min(calc(100% - 48px), var(--pkg-width));
  margin-inline: auto
}

.p-package-site .l-package-header {
    align-content: center;
    align-items: center;
    background: #ffffffff;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
    display: flex;
    flex: none;
    flex-direction: column;
    flex-wrap: nowrap;
    height: 80px;
    justify-content: center;
    left: 0px;
    margin: 0 0 0 0;
    position: fixed;
    right: 0px;
    top: 3px;
    width: 100%;
    z-index: 4;
    max-width: 100%;
}

.p-package-site .l-package-header__inner {
  display: flex;
  min-height: 80px;
  align-items: center;
  justify-content: space-between;
  gap: 32px
}

.p-package-site .l-package-header__logo {
  max-width: 179px;
  transition: opacity 0.3s ease;
}

.p-package-site .l-package-header__logo:hover {
  opacity: 0.7;
}

.p-package-site .l-package-header__logo + div {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 20px;
  margin-right: 50px;
}

.p-package-site .l-package-header .l-package-header__nav ul {
  list-style: none;
  padding: 0;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 20px;
}

.p-package-site .l-package-header .l-package-header__nav a {
  font-size: 14px;
  font-weight: 700;
  color: #333333ff;
  text-decoration: none;
  padding: 8px 16px;
  min-width: 70px;
  display: block;
  transition: background 0.3s ease;
  letter-spacing: 0.1rem;
}
.p-package-site .l-package-header .l-package-header__nav a:hover {
  background: #f6f6f6ff;;
}

.p-package-site .c-package-button {
    align-content: center;
    align-items: center;
    background: linear-gradient(var(--g-angle), var(--g-color-0) var(--g-position-0), var(--g-color-1) var(--g-position-1));
    border-radius: 0px 0px 0px 16px;
    bottom: -80px;
    display: flex;
    flex: none;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 12px;
    height: 126px;
    justify-content: center;
    left: auto;
    margin: 0 0 0 0;
    padding: 8px;
    position: absolute;
    right: 0px;
    top: 0px;
    transform-origin: center right;
    translate: 0px 0px;
    width: 126px;
    z-index: 5;
    --gap-h-6188f829-ce30-4af9-9fd8-e390488eaa12: 0px;
    --gap-v-6188f829-ce30-4af9-9fd8-e390488eaa12: 12px;
    --gap-uuid: 6188f829 -ce30-4af9-9fd8-e390488eaa12;
    max-width: 100%;
    --g-color-0: #71aaf9ff;
    --g-position-0: 0%;
    --g-color-1: #3373ccff;
    --g-position-1: 57%;
    --g-color-2: #3373ccff;
    --g-position-2: 57%;
    --g-color-3: #3373ccff;
    --g-position-3: 57%;
    --g-color-4: #3373ccff;
    --g-position-4: 57%;
    --g-color-5: #3373ccff;
    --g-position-5: 57%;
    --g-color-6: #3373ccff;
    --g-position-6: 57%;
    --g-color-7: #3373ccff;
    --g-position-7: 57%;
    --g-color-8: #3373ccff;
    --g-position-8: 57%;
    --g-color-9: #3373ccff;
    --g-position-9: 57%;
    --g-color-10: #3373ccff;
    --g-position-10: 57%;
    --g-color-11: #3373ccff;
    --g-position-11: 57%;
    --g-angle: 45deg;
    color: #FFFFFF;
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
    transition: opacity 0.3s ease;
}

.p-package-site .c-package-button:hover {
  opacity: 0.7;
}

.p-package-site .c-package-button img {
  width: 36px;
  filter: brightness(0) invert(1);
}

.p-package {
  margin-top: 80px;
  color: var(--pkg-text);
  background: var(--pkg-white)
}

.page-id-2032 .p-package__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 410px;
  gap: 48px;
  align-items: start;
  padding-block: 64px 100px;
}

.page-id-2032 .p-package__main>section+section {
  margin-top: 50px;
}

.page-id-2032 .p-package-introduction h2,
.page-id-2032 .c-package-heading {
  margin: 0 0 20px;
  color: #333333;
  font-size: 32px;
  line-height: 1.45
}

.page-id-2032 .p-package-introduction p {
  line-height: 2
}

.page-id-2032 .p-package-plan__image {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 32px;
  flex-wrap: wrap;
}

.page-id-2032 .p-package-feature__group h3 {
  margin-top: 30px;
  color: #333333;
  font-size: 20px;
}

.p-package-feature__group ul {
  margin-top: 20px;
  list-style: none;
  padding: 0;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  gap: 12px 20px;
  flex-wrap: wrap;
}

.p-package-feature__group ul li {
  border-radius: 4px;
  text-align: center;
  width: 31%;
  height: 72px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #eff1f6ff;
}

.page-id-2032 .p-package-schedule {
  margin-top: 50px;
}

.page-id-2032 .p-package-schedule__steps {
  margin: 26px 0 0 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  padding: 0;
  list-style: none
}

.page-id-2032 .p-package-schedule__steps>li {
    align-content: flex-start;
    align-items: flex-start;
    background: #eff1f6ff;
    border-bottom: 0px solid #3a82f3ff;
    border-left: 2px solid #3a82f3ff;
    border-right: 0px solid #3a82f3ff;
    border-top: 0px solid #3a82f3ff;
    flex: none;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 16px;
    height: calc(100% - (var(--gap-v-a2001361-d651-439d-ab7c-f31ae550dc2a) * 0));
    justify-content: flex-start;
    overflow-x: hidden;
    overflow-y: hidden;
    padding: 12px;
    width: calc(100% - (var(--gap-h-a2001361-d651-439d-ab7c-f31ae550dc2a) * 0));
    --gap-h-83a3131a-650e-4c20-bd8b-955e8d9dd753: 0px;
    --gap-v-83a3131a-650e-4c20-bd8b-955e8d9dd753: 16px;
    --gap-uuid: 83a3131a -650e-4c20 -bd8b-955e8d9dd753;
    max-width: calc(100% - (var(--gap-h-a2001361-d651-439d-ab7c-f31ae550dc2a) * 0));
}
.page-id-2032 .p-package-schedule__steps h3 {
  padding-bottom: 16px;
  border-bottom: 1px solid #d1d1d1ff;
  color: #222222;
  flex: none;
  font-size: 15px;
  font-weight: 700;
  height: auto;
  line-height: 1.5;
  text-align: left;
}
.page-id-2032 .p-package-schedule__steps h3 + p {
  margin-top: 16px;
    color: #222222ff;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;
    text-align: left;
}
.page-id-2032 .p-package-schedule__steps ul {
  padding: 0;
  list-style: none;
  margin-top: 10px;
}
.page-id-2032 .p-package-schedule__steps ul li {
  font-size: 12px;
  padding: 8px 0;
  border-bottom: 1px solid #e6e6e6;
}
.page-id-2032 .p-package-schedule__steps ul li img {
  display: inline-block;
  width: 12px;
  margin-right: 5px;
}

.page-id-2032 .p-package__side {
  position: sticky;
  top: 32px
}

.page-id-2032 .p-package-side-nav {
  padding: 26px;
  border-left: 3px solid var(--pkg-accent);
  background: var(--pkg-pale)
}

.page-id-2032 .p-package-side-nav ul {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none
}

.page-id-2032 .p-package-side-nav a {
  color: var(--pkg-primary);
  font-weight: 700;
  text-decoration: none
}

.p-package-site .p-package-terms__hero {
  padding-block: clamp(70px, 9vw, 120px);
  background: linear-gradient(135deg, var(--pkg-primary), #275f9e);
  color: var(--pkg-white)
}

.p-package-site .p-package-terms__document {
  max-width: 900px;
  margin-inline: auto;
  padding-block: clamp(70px, 9vw, 120px);
  line-height: 2
}

.p-package-site .p-package-terms__chapter+.p-package-terms__chapter {
  margin-top: 72px
}

.p-package-site .l-package-footer {
  background: #1d2f4e;
  padding-bottom: 24px;
}

.p-package-site .l-package-footer__inner {
  max-width: 1120px;
  margin: 0 auto;
}

.p-package-site .l-package-footer__inner > div {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  border-bottom: 1px solid #FFFFFF;
}

.p-package-site .l-package-footer__copyright {
  padding-top: 24px;
    color: #ffffffff;
    font-size: 12px;
    line-height: 1.4;
    text-align: right;
    width: auto;
}

.l-package-footer__inner img {
  max-width: 160px;
}

.l-package-footer__inner nav ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.l-package-footer__inner nav ul li a {
  padding: 6px 12px;
  text-decoration: none;
  display: block;
  color: #FFFFFF;
  font-size: 15px;
  transition: background 0.3s ease;
}
.l-package-footer__inner nav ul li a:hover {
  background: rgba(255,255,255,0.1);
}

@media(max-width:960px) {
  .page-id-2032 .p-package__layout {
    grid-template-columns: 1fr
  }

  .page-id-2032 .p-package__side {
    position: static;
    grid-row: 1
  }

  .page-id-2032 .p-package-schedule__steps {
    grid-template-columns: repeat(2, minmax(0, 1fr))
  }
}

.p-package__titlewrap {
  background: url(../images/package/title_image.webp) no-repeat center center;
  align-content: center;
  align-items: center;
  flex: none;
  flex-direction: column;
  flex-wrap: nowrap;
  height: 280px;
  justify-content: center;
  line-height: 1.5;
  width: 100%;
  max-width: 100%;
}

.p-package__title {
  margin: 0 auto;
  padding: 48px;
  width: 100%;
  max-width: 1280px;
}

.p-package__title h1 {
  color: #ffffffff;
  font-size: 64px;
  font-weight: 700;
  height: auto;
  text-align: left;
  width: auto;
  max-width: 100%;
  justify-content: flex-start;
}

.page-id-2034 .p-package__title h1 {
  line-height: 1.3;
}

.page-id-2034 .p-package__title h1 small {
  font-size:32px;
}

.p-package__main {
  width: calc(100% - 20px - (var(--gap-h-b1001a30-480b-4b64-9514-f144af18e458) * 0));
  max-width: calc(100% - 20px - (var(--gap-h-b1001a30-480b-4b64-9514-f144af18e458) * 0));
}

.p-package-side {
    position: sticky;
    top: 126px;
    align-self: start;
}

.p-package-side .p-package__aside-contact {
    background: linear-gradient(var(--g-angle), var(--g-color-0) var(--g-position-0), var(--g-color-1) var(--g-position-1));
    border-radius: 4px;
    padding: 24px 24px 28px 24px;
    --gap-h-8d226f1b-5459-46c7-97a7-a23d4fbf3991: 0px;
    --gap-v-8d226f1b-5459-46c7-97a7-a23d4fbf3991: 16px;
    --gap-uuid: 8d226f1b -5459 -46c7 -97a7 -a23d4fbf3991;
    --g-color-0: #71aaf9ff;
    --g-position-0: 0%;
    --g-color-1: #3373ccff;
    --g-position-1: 57%;
    --g-color-2: #3373ccff;
    --g-position-2: 57%;
    --g-color-3: #3373ccff;
    --g-position-3: 57%;
    --g-color-4: #3373ccff;
    --g-position-4: 57%;
    --g-color-5: #3373ccff;
    --g-position-5: 57%;
    --g-color-6: #3373ccff;
    --g-position-6: 57%;
    --g-color-7: #3373ccff;
    --g-position-7: 57%;
    --g-color-8: #3373ccff;
    --g-position-8: 57%;
    --g-color-9: #3373ccff;
    --g-position-9: 57%;
    --g-color-10: #3373ccff;
    --g-position-10: 57%;
    --g-color-11: #3373ccff;
    --g-position-11: 57%;
    --g-angle: 45deg;
}

.p-package__aside-contact .c-catch {
  color: #FFFFFF;
  font-size: 22px;
  font-weight: 600;
  line-height: 1.5;
  text-align: center;
  text-shadow: 3px 3px 3px rgba(0, 0, 0, 0.2);
}
.p-package__aside-contact .c-text {
  margin-top: 16px;
    color: #ffffffff;
    font-size: 16px;
    margin-inline: 10px;
    font-weight: 600;
    line-height: 1.5;
    text-align: center;
}
.p-package__aside-contact .c-text__2 {
  margin-top: 10px;
  color: #ffffffff;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
  text-align: center;
}
.p-package__aside-contact hr {
  margin-block: 16px;
  border: 1px solid #FFFFFF;
}

.p-package__aside-contact .c-btn-contact {
  position: relative;
  margin-top: 26px;
    background: #33455dff;
    border-radius: 999px;
    box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.2);
    height: 48px;
    padding: 0px 16px;
    display: flex;
    gap: 20px;
    justify-content: center;
    align-items: center;
    font-size: 18px;
    font-weight: 700;
    text-decoration: none;
    color: #FFFFFF;
    transition: translate 0.3s ease;
}
.p-package__aside-contact .c-btn-contact:hover {
    translate: 4px 4px;
}

.p-package__aside-contact .c-btn-contact .c-icon-email {
  width: 20px;
  filter: brightness(0) invert(1);
}

.p-package__aside-contact .c-btn-contact .c-icon-arrow {
  position: absolute;
  right: 16px;
  top: 35%;
  width: 16px;
  filter: brightness(0) invert(1);
}

.p-package__aside-about {
  margin-top: 48px;
    background: rgb(251, 251, 251);
    border-radius: 4px;
    padding: 24px;
}

.p-package__aside-about .c-about-title {
    color: #222222ff;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.4;
    text-align: left;
    width: auto;
}

.p-package__aside-about .c-about-ja-title {
    color: #222222ff;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.5;
    margin-top: 8px;
}
.p-package__aside-about .c-about-ja-title::after {
  margin-top: 20px;
  content: '';
  display: block;
  background: #555555ff;
  flex: none;
  height: 1px;
  width: 48px;
  max-width: 100%;
}
.p-package__aside-about .c-company-name__eng {
  margin-top: 20px;
  color: #9d9d9dff;
  font-size: 13px;
  font-weight: 400;
}

.p-package__aside-about .c-company-name {
    color: #222222ff;
    font-size: 18px;
    font-weight: 700;
}
.p-package__aside-about .c-company-url {
  color: #0053b3ff;
  font-size: 12px;
  font-weight: 400;
  text-decoration: none;
}
.p-package__aside-about .c-company-url + p {
  font-size: 14px;
  margin-top: 20px;
}
.p-package__aside-about .c-text-linkwrap {
  text-align: right;
}
.p-package__aside-about .c-text-link {
  font-size: 12px;
  margin: 20px 0 0 auto;
  display: inline-block;
  width: fit-content;
  color: #222222ff;
}

.p-package-introduction p {
  font-weight: 400;
}

.p-package-introduction p + p {
  margin-top: 16px;
}

.p-package-terms__chapter h2 {
  margin-top: 40px;
  text-align: center;
  font-size: 28px;
  font-weight: 700;
}
.p-package-terms__chapter .p-package-terms__articles {
  margin-top: 30px;
}
.p-package-terms__chapter .p-package-terms__articles ol {
  margin-top: 16px;
  padding-left: 20px;
}
.p-package-terms__chapter .p-package-terms__articles .c-sub-list {
  padding-left: 0;
  list-style-type: none;
}
.p-package-terms__chapter .p-package-terms__articles .c-sub-list > li {
  padding-left: 20px;
  counter-increment: terms-sub;
  position: relative;
  line-height: 1.6;
}
.p-package-terms__chapter .p-package-terms__articles .c-sub-list > li::before {
  content: "(" counter(terms-sub) ")";
  position: absolute;
  left: 0;
  top: 0;
}

@counter-style circled-number {
  system: fixed;
  symbols: "①" "②" "③" "④" "⑤" "⑥" "⑦" "⑧" "⑨" "⑩";
  suffix: " ";
}

.p-package-terms__chapter .c-sub-list__circle {
  padding-left: 20px;
  list-style-type: circled-number;
}
.p-package-terms__document .p-package-terms__bottom {
  margin-top: 30px;
  text-align: right;
}

@media(max-width: 767px) {
  .l-wrapper {
    overflow: hidden;
  }

  .page-id-2032 .p-package ,
  .page-id-2034 .p-package {
    margin-top: 60px;
  }
  .p-package__layout {
    align-content: center;
    align-items: center;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
    --gap-h-01302aa9-6f31-45be-8ec9-6f85e2853f7d: 0px;
    --gap-v-01302aa9-6f31-45be-8ec9-6f85e2853f7d: 48px;
  }

  .p-package__title {
    width: 100%;
  }

  .p-package__main {
    width: 100%;
    max-width: 100%;
  }

  .p-package-site .c-package-button {
    width: 96px;
    height: 80px;
    gap: 5px;
  }

  .p-package-site .c-package-button img {
    width: 28px;
  }

  .p-package-site .l-package-header__logo {
    max-width: 120px;
  }

  .p-package-site .l-package-header__logo + div {
    margin-right: 0;
  }

  .p-package-site .l-package-header {
    height: 60px;
  }

  .p-package-site .l-package-header .l-package-header__nav ul {
    gap: 10px;
  }

  .p-package-site .l-package-header__inner {
    min-height: 60px;
  }

  .p-package-site .l-package-header__inner,
  .p-package-site .l-package-footer__inner {
    width: min(calc(100% - 32px), var(--pkg-width))
  }

  .p-package-site .p-package__inner {
    width: 92%
  }

  .page-id-2032 .p-package-feature__groups,
  .page-id-2032 .p-package-schedule__steps,
  .p-package-site .l-package-footer__inner {
    grid-template-columns: 1fr
  }

  .p-package-site .l-package-footer ul {
    align-items: flex-start;
    flex-direction: column
  }

  .p-package-feature__group ul li {
    width: 100%;
  }

  .p-package__title h1 {
    font-size: 36px;
  }

  .page-id-2034 .p-package__title h1 small {
    font-size:26px;
  }

  .p-package-terms__chapter h2 {
    font-size: 20px;
    font-weight: 700;
  }
}