:root {
  --color-00: #d41c36;
  --color-01: #e78a67;
  --color-02: #92d050;
  --color-03: #169c9a;
  --color-04: #0f9fd5;
  --color-05: #e4754b;
  --leading-trim: calc((1em - 1lh) / 2);
  --duration: .25s;
  --rem-base: calc(1rem / 16);
  --nav: calc(var(--_nav) * var(--rem-base));
  --gap: calc(var(--_gap) * var(--rem-base));
  font-size: var(--font-size);
  font-family: "Noto Sans JP", sans-serif;
  /* scroll-behavior: smooth; */
}

@media (max-width: 767.98px) {
  :root {
    --_basis: 375;
    --_gap  : 24;
    --_max  : 767;
    --_nav  : 100;
    --max: 100vw;
    --font-size: calc(16 / var(--_basis) * 100vw);
  }
}

@media (min-width: 768px) {
  :root {
    --_basis: 1440;
    --_gap  : 80;
    --_max  : 1440;
    --_nav  : 205;
    --max: calc(var(--_max) * var(--rem-base));
    --font-size: min(16 / var(--_basis) * 100vw, 16px);
  }

  :target {
    scroll-margin-block-start: calc(80 * var(--rem-base));
  }
}





/* reset */
:is(body) > :not(footer) { line-height: initial; }

:is(body) {
  overflow: hidden;
  background-color: #f7f7f7;
}

.reset * {
  all: unset;
  display: revert;
  font-size: var(--font-size);
  font-family: "Noto Sans JP", sans-serif;
}

.reset a {
  text-decoration: none;
}

.reset :is(b, span) {
  font-weight: revert;
  font-size: revert;
}

.reset img {
  display: block;
  max-inline-size: 100%;
  block-size: auto;
  object-fit: cover;
}

.reset sub {
  bottom: revert;
  vertical-align: revert;
}

/* 新しいレイアウトに必須 */
#wrapper { z-index: initial; }
:is(header, footer) { margin: initial !important; max-width: revert !important; }





/* modules */
.m-container {
  display: flow-root;
  contain: layout;
  inline-size: calc(var(--max) - var(--gap) * 2);
  margin-inline: auto;
}

.m-sr-only {
  position: absolute;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  inline-size: 1px;
  block-size: 1px;
  margin: -1px;
  padding: 0;
  white-space: nowrap;
  border-width: 0;
}

.m-heading {
  display: flex;
  align-items: baseline;
  font-weight: 700;
}

.m-heading .\--1 {
  margin-block: var(--leading-trim);
  color: #596b77;
}

.m-heading :is(.\--2, .\--3) {
  margin-block: var(--leading-trim);
  color: #8aa7b7;
}

.m-lic-button {
  display: flex;
  justify-content: center;
  place-items: center;
  column-gap: .5em;
  padding-block-end: calc(2 * var(--rem-base));
  color: #fff !important;
  border: 5px solid #fff;
  border-radius: calc(infinity * 1px);
  background-color: var(--color-05);
}

.m-qa {
  border: 1px solid var(--color-05);
  border-radius: calc(9 * var(--rem-base));
  background-color: #fff;
}

.m-qa > h3 {
  font-weight: 600;
  color: var(--color-05);
}

.lic-heading {
  display: flex;
  margin-inline-start: -.5em;
  font-weight: 700;
  color: var(--color-05);
}
@media (max-width: 767.98px) {
  .m-lic-button {
    inline-size: 100%;
    block-size: calc(34 * var(--rem-base));
    margin-inline-start: calc(-5 * var(--rem-base));
    font-size: calc(16 * var(--rem-base));
  }

  .m-qa {
    display: grid;
    justify-content: center;
    inline-size: calc(100% + 1em);
    margin-inline: -.5em;
    padding-block: .5em;
    line-height: calc(23 / 12);
  }

  .m-qa * {
    font-size: calc(12 * var(--rem-base));
  }
}
@media (min-width: 768px) {
  .m-lic-button {
    inline-size: calc(440 * var(--rem-base));
    block-size: calc(48 * var(--rem-base));
    font-size: calc(24 * var(--rem-base));
  }

  .m-qa {
    inline-size: fit-content;
    margin-inline-start: calc(24 * var(--rem-base));
    padding: calc(16 * var(--rem-base)) calc(30 * var(--rem-base));
    line-height: calc(35 / 20);
  }

  .m-qa * {
    font-size: calc(20 * var(--rem-base));
  }

  .lic-heading {
    font-size: calc(32 * var(--rem-base));
  }
}

.m-d-ib { display: inline-block; }

.m-fw700 { font-weight: 700; }
.m-palt { font-feature-settings: "palt" 1; }
.m-ti_-05em { text-indent: -.5em; }
.m-blue1 { color: #0f9fd5; }
.m-blue2 { color: #8aa7b7; }
.m-blue3 { color: #596b77; }
.m-orange1 { color: #e4754b; }
.m-green1 { color: #92d050; }
.m-indent {
  padding-inline-start: 1em;
  text-indent: -1em;
}

@media (max-width: 767.98px) {
  .m-heading .\--1 { font-size: calc(60 * var(--rem-base)); }
  .m-heading .\--2 { translate: 0 calc(6 * var(--rem-base)); }
  .m-heading :is(.\--2, .\--3) { font-size: calc(16 * var(--rem-base)); }
  .m-palt_sm { font-feature-settings: "palt" 1; }
  .m-fz12_sm { font-size: calc(12 * var(--rem-base)); line-height: 1.57143; }
  .m-fz13_sm { font-size: calc(13 * var(--rem-base)); line-height: 1.57143; }
  .m-fz14_sm { font-size: calc(14 * var(--rem-base)); line-height: 1.57143; }
  .m-fz18_sm { font-size: calc(18 * var(--rem-base)); line-height: 180%; }
  .m-fz20_sm { font-size: calc(20 * var(--rem-base)); }
  .m-fz22_sm { font-size: calc(22 * var(--rem-base)); }
  .m-fz24_sm { font-size: calc(24 * var(--rem-base)); }
  .m-fz32_sm { font-size: calc(32 * var(--rem-base)); }
  .m-mbs24_sm { margin-block-start: calc(24 * var(--rem-base)); }
}

@media (min-width: 768px) {
  .m-heading .\--1 { font-size: calc(96 * var(--rem-base)); }
  .m-heading .\--2 { display: flex; translate: 0 calc(12 * var(--rem-base)); }
  .m-heading :is(.\--2, .\--3) { font-size: calc(32 * var(--rem-base)); }
  .m-fz20_md { font-size: calc(20 * var(--rem-base)); line-height: 180%; }
  .m-fz24_md { font-size: calc(24 * var(--rem-base)); }
  .m-fz28_md { font-size: calc(28 * var(--rem-base)); }
  .m-fz30_md { font-size: calc(30 * var(--rem-base)); }
  .m-fz32_md { font-size: calc(32 * var(--rem-base)); }
  .m-fz40_md { font-size: calc(40 * var(--rem-base)); line-height: 150%; }
  .m-fz78_md { font-size: calc(78 * var(--rem-base)); }
  .m-mbs48_md { margin-block-start: calc(48 * var(--rem-base)); }
}

@media (any-hover: hover) {
  [data-hover] {
    transition-duration: var(--duration);
    will-change: auto;
  }

  [data-hover="color"] {
    transition-property: color;
  }

  [data-hover="color"]:is(:hover, :focus-visible) {
    outline: none;
    color: var(--color-00);
    will-change: color;
  }

  [data-hover="opacity"] {
    transition-property: opacity;
  }

  [data-hover="opacity"]:is(:hover, :focus-visible) {
    outline: none;
    opacity: .5;
    will-change: opacity;
  }

  [data-hover="button"] {
    transition-property: color, background-color;
  }

  [data-hover="button"]:is(:hover, :focus-visible) {
    color: var(--_data-hover-color-2);
    background-color: var(--_data-hover-color-1);
    will-change: color, background-color;
  }
}

[data-hover="button"] {
  color: var(--_data-hover-color-1);
  border: 1px solid var(--_data-hover-color-2);
  background-color: var(--_data-hover-color-2);
}





/* header */
.header {
  position: sticky;
  z-index: 10;
  block-size: var(--nav);
}

.header_login {
  display: flex;
}

.header_login_button {
  --_data-hover-color-1: #fff;
  display: grid;
  place-content: center;
  font-weight: 500;
  border-radius: calc(8 * var(--rem-base));
}

.header_login_button.\--m {
  --_data-hover-color-2: var(--color-01);
}

.header_login_button.\--l {
  --_data-hover-color-2: var(--color-02);
}

@media (max-width: 767.98px) {
  .header {
    inset-block-start: 0;
  }

  .header_head-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-inline: calc(30 * var(--rem-base)) calc(22 * var(--rem-base));
    background-color: #fff;
    block-size: calc(56 * var(--rem-base));
  }

  .header_logo {
    inline-size: calc(190 * var(--rem-base));
    block-size: calc(40 * var(--rem-base));
  }

  .header_login {
    justify-content: space-between;
    align-items: center;
    block-size: calc(44 * var(--rem-base));
    padding-inline: calc(30 * var(--rem-base));
    background-color: #f1f2f8;
  }

  .header_login_button {
    box-sizing: border-box;
    inline-size: calc(150 * var(--rem-base));
    block-size: calc(28 * var(--rem-base));
    padding-block-end: calc(2 * var(--rem-base));
    font-size: calc(14 * var(--rem-base));
  }

  .header_hamburger {
    display: grid;
    align-content: space-between;
    block-size: calc(27 * var(--rem-base));
  }

  .header_hamburger-line {
    inline-size: calc(50 * var(--rem-base));
    block-size: calc(5 * var(--rem-base));
    background-color: #d9d9d9;
  }

  .header_hamburger.is-open > .\--1 {
    rotate: 45deg;
    translate: 0 calc(11 * var(--rem-base));
  }

  .header_hamburger.is-open > .\--2 {
    visibility: hidden;
  }

  .header_hamburger.is-open > .\--3 {
    rotate: -45deg;
    translate: 0 calc(-11 * var(--rem-base));
  }

  .header_nav {
    visibility: hidden;
    inline-size: 100%;
    block-size: calc(100dvh - var(--nav));
    background-color: #fff;
    translate: 20% 0;
    opacity: 0;
    transition-property: visibility, translate, opacity;
    transition-duration: calc(var(--duration) * 2);
    transition-delay: calc(var(--duration) * 2), 0s, 0s;
  }

  .header_nav.is-open {
    visibility: visible;
    translate: 0;
    opacity: 1;
    transition-delay: 0s;
  }

  .header_list {
    display: grid;
    row-gap: 1em;
    padding: calc(var(--gap) * 2) var(--gap);
    list-style: "";
  }

  .header_list_item {
    display: grid;
    padding: .25em .5em;
    border-bottom: 1px solid;
  }

  .header_list_link {
    padding-block: .5em;
  }
}

@media (min-width: 768px) {
  .header {
    inset-block-start: calc((60 * var(--rem-base)) - var(--nav));
    display: grid;
    grid-template-rows: 1fr max-content;
  }

  .header_head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    inline-size: min(100%, var(--max) - var(--gap) * 2);
    margin-inline: auto;
  }

  .header_logo {
    inline-size: calc(370 * var(--rem-base));
    block-size: calc(78 * var(--rem-base));
  }

  .header_login {
    column-gap: calc(18 * var(--rem-base));
  }

  .header_login_button {
    inline-size: calc(200 * var(--rem-base));
    block-size: calc(52 * var(--rem-base));
  }

  .header_nav {
    display: grid;
    inline-size: 100%;
    block-size: calc(60 * var(--rem-base));
    background-color: #fff;
  }

  .header_list {
    display: flex;
    grid-template-columns: repeat(6, 1fr);
    inline-size: min(100%, var(--max) - var(--gap) * 2);
    margin-inline: auto;
    padding-block: calc(8 * var(--rem-base));
  }

  .header_list_item {
    display: grid;
    flex: 1 1 auto;
    border-inline-start: 1px solid #8aa7b7;
    list-style-type: "";
  }

  .header_list_item:last-of-type {
    border-inline-end: 1px solid #8aa7b7;
  }

  .header_list_link {
    display: grid;
    place-items: center;
    color: #596B77;
  }

  .header_list_link.current {
    color: var(--color-00);
  }
}





/* hero */
.hero {
  inline-size: 100%;
}

.hero_wrapper {
  will-change: transform;
}

@media (max-width: 767.98px) {
  .hero {
    margin-block-end: calc(8 * var(--rem-base));
  }

  .hero_image {
    inline-size: 100%;
    block-size: calc(130 / 375 * 100vw);
  }
}

@media (min-width: 768px) {
  .hero {
    margin-block: calc(64 * var(--rem-base)) calc(48 * var(--rem-base));
  }

  .hero_swiper-slide {
    display: grid;
    padding-inline: calc(9 * var(--rem-base));
  }

  .hero_image {
    inline-size: calc(1180 / 1440 * 100vw);
    block-size: calc(330 / 1440 * 100vw);
    aspect-ratio: 118 / 33;
  }
}





/* sec01 */
@media (max-width: 767.98px) {
  .sec01 {
    margin-block-end: calc(40 * var(--rem-base));
  }

  .sec01_fluid {
    padding: calc(10 * var(--rem-base)) var(--gap);
    margin-inline: calc(50% - 50vw);
    background-color: #fff;
  }

  .sec01_list {
    display: grid;
    row-gap: .5em;
    padding-block: calc(10 * var(--rem-base));
  }

  .sec01_link-wrapper {
    display: grid;
    row-gap: calc(4 * var(--rem-base));
  }

  .sec01_image.\--1 {
    inline-size: calc(308 * var(--rem-base));
    margin-inline: auto;
  }
}

@media (min-width: 768px) {
  .sec01_inner {
    display: grid;
    gap: calc(24 * var(--rem-base)) calc(30 * var(--rem-base));
    padding-block-end: calc(80 * var(--rem-base));
    color: #596b77;
    font-size: calc(20 * var(--rem-base));
  }

  .sec01_start {
    display: grid;
    align-content: space-between;
    grid-area: 1 / 1;
    padding-block-start: calc(12 * var(--rem-base));
  }

  .sec01_end {
    display: grid;
    row-gap: calc(20 * var(--rem-base));
    grid-area: 1 / 2;
  }

  .sec01_foot {
    grid-area: 2 / span 2;
  }

  .sec01_link-wrapper {
    display: flex;
    justify-content: space-between;
    margin-block-end: calc(-8 * var(--rem-base));
  }

  .sec01_image.\--1 {
    inline-size: calc(413 * var(--rem-base));
  }

  .sec01_image.\--2 {
    inline-size: calc(194 * var(--rem-base));
  }

  .sec01_image.\--3 {
    overflow: clip;
    inline-size: calc(400 * var(--rem-base));
    border-radius: calc(8 * var(--rem-base));
  }
}





/* sec02 */
@media (max-width: 767.98px) {
  .sec02 {
    display: grid;
    row-gap: .5em;
    margin-block-end: calc(40 * var(--rem-base));
  }
}

@media (min-width: 768px) {
  .sec02 {
    margin-block-end: calc(80 * var(--rem-base));
  }

  .sec02_text-wrapper {
    display: grid;
    row-gap: .5em;
    margin-block-start: calc(32 * var(--rem-base));
  }
}





/* sec03 */
@media (max-width: 767.98px) {
  .sec03 {
    margin-block-end: calc(40 * var(--rem-base));
  }

  .sec03_row {
    display: grid;
    row-gap: .5em;
  }

  .sec03_text-image {
    inline-size: calc(285 * var(--rem-base));
    margin-inline: auto;
    margin-block: 1em;
  }

  .sec03_box {
    display: flex;
    column-gap: calc(4 * var(--rem-base));
    margin-inline: calc(-20 * var(--rem-base));
  }
}

@media (min-width: 768px) {
  .sec03 {
    margin-block-end: calc(80 * var(--rem-base));
  }

  .sec03_inner {
    display: grid;
    row-gap: calc(24 * var(--rem-base));
  }
  .sec03_row {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: flex-end;
  }

  .sec03_text-wrapper {
    display: grid;
    row-gap: .5em;
  }

  .sec03_text-image {
    inline-size: calc(1093 * var(--rem-base));
    margin-inline: auto;
  }

  .sec03_box {
    display: flex;
    justify-content: center;
    column-gap: calc(54 * var(--rem-base));
    padding-block: calc(32 * var(--rem-base));
    background-color: #fff;
  }

  .sec03_image {
    inline-size: calc(357 * var(--rem-base));
  }
}





/* sec04 */
@media (max-width: 767.98px) {
  .sec04 {
    margin-block-end: calc(20 * var(--rem-base));
  }

  .sec04_start {
    display: grid;
    row-gap: .5em;
  }
}

@media (min-width: 768px) {
  .sec04 {
    margin-block-end: calc(80 * var(--rem-base));
  }

  .sec04_inner {
    display: flex;
    justify-content: space-between;
  }

  .sec04_start {
    display: grid;
    grid-auto-rows: max-content;
    row-gap: calc(48 * var(--rem-base));
  }

  .sec04_text-wrapper {
    display: grid;
    row-gap: calc(50 * var(--rem-base));
  }

  .sec04_text-wrapper > .item {
    row-gap: calc(8 * var(--rem-base));
  }

  .sec04_text-wrapper * {
    line-height: 150%;
  }

  .sec04_image {
    inline-size: calc(576 * var(--rem-base));
  }
}





/* sec05 */
.sec05_item {
  position: relative;
}

.sec05_anchor {
  position: absolute;
}

.sec05_link:is(:link, :visited, :hover, :focus-visible) {
  color: #fff;
}

.sec05_link {
  display: grid;
  place-items: center;
  font-weight: 700;
  color: #fff;
  border: calc(5 * var(--rem-base)) solid #fff;
  border-radius: calc(infinity * 1px);
}

.sec05_link.\--m { background-color: var(--color-01); }
.sec05_link.\--l { background-color: var(--color-02); }
.sec05_link.\--x { background-color: var(--color-03); }

@media (max-width: 767.98px) {
  .sec05 {
    display: grid;
    row-gap: calc(20 * var(--rem-base));
    margin-block-end: calc(40 * var(--rem-base));
  }

  :is(.sec05_item, .sec05_row, .sec05_foot) {
    display: grid;
    row-gap: .5em;
  }

  .sec05_anchor {
    inset-block-start: calc(-110 * var(--rem-base));
  }

  .sec05_link {
    inline-size: calc(320 * var(--rem-base));
    block-size: calc(34 * var(--rem-base));
    padding-block-end: calc(2 * var(--rem-base));
  }
}

@media (min-width: 768px) {
  .sec05 {
    display: grid;
    row-gap: calc(40 * var(--rem-base));
    margin-block-end: calc(80 * var(--rem-base));
  }

  .sec05_item {
    display: grid;
    row-gap: calc(24 * var(--rem-base));
  }

  .sec05_anchor {
    inset-block-start: calc(-100 * var(--rem-base));
  }

  .sec05_row {
    display: flex;
    column-gap: calc(40 * var(--rem-base));
  }

  .sec05_row > a {
    flex-shrink: 0;
  }

  .sec05_banner {
    inline-size: calc(350 * var(--rem-base));
  }

  .sec05_foot {
    position: relative;
  }

  .sec05_list {
    display: grid;
    row-gap: .5em;
  }

  .sec05_ul {
    padding-inline-start: 1.75em;
  }

  .sec05_ul.\--row {
    display: grid;
    grid-template-columns: max-content max-content;
    column-gap: 6em;
  }

  .sec05_text-wrapper > p:first-of-type {
    margin-block-start: var(--leading-trim);
  }

  .sec05_text-wrapper > p:last-of-type {
    margin-inline-start: calc(24 * var(--rem-base));
  }

  .sec05_link {
    position: absolute;
    inset-inline-end: 0;
    inset-block-start: calc(100% - (61 * var(--rem-base)));
    inline-size: calc(440 * var(--rem-base));
    block-size: calc(48 * var(--rem-base));
    padding-block-end: calc(3 * var(--rem-base));
    font-size: calc(24 * var(--rem-base));
  }
}





/* sec06 */
@media (max-width: 767.98px) {
  .sec06 {
    margin-block-end: calc(40 * var(--rem-base));
  }

  :is(.sec06_container, .sec06_body) {
    display: grid;
    row-gap: .5em;
  }

  .sec06_item dd {
  }
}
@media (min-width: 768px) {
  .sec06 {
    padding-block: calc(80 * var(--rem-base));
    background-color: #fff;
  }

  .sec06_container {
    display: grid;
    row-gap: 1em;
  }

  .sec06_heading {
    display: flex;
    align-items: center;
    column-gap: 1em;
    margin-block-start: var(--leading-trim);
    white-space: nowrap;
  }

  .sec06_heading::after {
    inline-size: 100%;
    block-size: 1px;
    background-color: #8aa7b7;
    content: "";
  }

  .sec06_body {
    column-rule: 1px solid #8aa7b7;
    column-count: 3;
    column-gap: calc(20 * var(--rem-base));
  }

  .sec06_item :is(dt, dd) {
    line-height: 1.65;
    font-feature-settings: "palt" 1;
  }

  .sec06_item dt {
    display: flex;
    align-items: center;
    column-gap: .5em;
  }

  .sec06_item dt > span {
    line-height: 1;
    translate: 0 calc(-2 * var(--rem-base));
  }

  .sec06_item dd {
    block-size: calc(264 * var(--rem-base));    text-align: justify;
  }
}





/* sec07 */
@media (max-width: 767.98px) {
  .sec07 {
    display: grid;
    row-gap: .5em;
    margin-block-end: calc(40 * var(--rem-base));
  }

  .sec07_body {
    display: flex;
    column-gap: calc(8 * var(--rem-base));
  }

  .sec07_banner.\--4 {
    inline-size: calc(278 * var(--rem-base));
    margin-inline: auto;
  }
}

@media (min-width: 768px) {
  .sec07 {
    display: grid;
    row-gap: 1em;
    padding-block: calc(80 * var(--rem-base));
  }

  .sec07_heading {
    margin-block-start: var(--leading-trim);
  }

  .sec07_body {
    display: flex;
    justify-content: space-between;
  }

  img.sec07_banner {
    inline-size: auto;
    block-size: calc(168 * var(--rem-base));
  }
}





/* license sec01 */
.lic-sec01_heading {
  font-weight: 700;
  color: var(--color-05);
}

.lic-sec01_heading > span {
  letter-spacing: -.02em;
}

.lic-sec01 dl * {
  line-height: 1.8;
}

.lic-sec01_01 {
  margin-block-end: -1em;
}

.lic-sec01_list > li {
  padding-inline-start: 1em;
  text-indent: -1em;
  list-style-type: "";
}

@media (max-width: 767.98px) {
  .lic-sec01 {
    margin-block-start: calc(40 * var(--rem-base));
  }

  .lic-sec01 .m-lic-button {
    margin-block-start: -.5em;
  }

  .lic-sec01_inner {
    display: grid;
    row-gap: 1em;
  }

  .lic-sec01_heading {
    font-size: calc(20 * var(--rem-base));
  }

  .lic-sec01_heading > span {
    margin-inline: calc(-5 * var(--rem-base));
  }
}

@media (min-width: 768px) {
  .lic-sec01 {
    margin-block-start: calc(80 * var(--rem-base));
  }

  .lic-sec01_inner {
    display: grid;
    row-gap: 2em;
  }

  .lic-sec01_head {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .lic-sec01_heading {
    position: relative;
    font-size: calc(48 * var(--rem-base));
  }

  .lic-sec01_heading::before {
    position: absolute;
    inset-inline-start: calc(-20 * var(--rem-base));
    inline-size: calc(9 * var(--rem-base));
    block-size: calc(65 * var(--rem-base));
    background-color: #d9d9d9;
    content: "";
    translate: 0 calc(2 * var(--rem-base));
  }

  .lic-sec01_heading > span {
    display: inline-block;
    translate: 0 calc(-4 * var(--rem-base));
  }
}





/* license sec02 */
.lic-sec02_list {
  list-style-type: decimal;
}

.lic-sec02_table {
  inline-size: 100%;
  border-collapse: collapse;
}

.lic-sec02_table :is(td, th) {
  border-block-end: 1px solid;
}

.lic-sec02_table th {
  text-align-last: justify;
}

@media (max-width: 767.98px) {
  .m-fz12_sm {
    font-size: calc(12 * var(--rem-base)) !important;
  }

  .lic-sec02_list {
    padding-inline-start: 1.25em;
  }

  .lic-sec02_list > li {
    padding-block: .25em;
    font-size: calc(14 * var(--rem-base));
  }

  .lic-sec02_table {
    inline-size: calc(100% + 1em);
    margin-inline: -.5em;
  }

  .lic-sec02_table :is(td, th) {
    padding-block: calc(8 * var(--rem-base)) calc(6 * var(--rem-base));
    font-size: calc(14 * var(--rem-base));
  }

  .lic-sec02_table th {
    padding-inline-end: 1em;
    white-space: nowrap;
  }

  .lic-sec02_table td {
    font-feature-settings: "palt" 1;
  }
}

@media (min-width: 768px) {
  .lic-sec02_inner {
    display: flex;
    justify-content: space-between;
  }

  .lic-sec02_list {
    padding-inline-start: 1.75em;
  }

  .lic-sec02_list > li {
    padding-block: calc(.5em + .5px);
    font-size: calc(24 * var(--rem-base));
  }

  .lic-sec02_table :is(td, th) {
    padding-block: .5em;
    font-size: calc(24 * var(--rem-base));
  }

  .lic-sec02_table th {
    padding-inline: .5em 1.5em;
  }
}





/* license sec03 */
.lic-sec03_head {
  display: flex;
  align-items: baseline;
}

.lic-sec03_list {
  letter-spacing: -.02em;
}

.lic-sec03_list.\--row {
  display: flex;
  align-items: center;
}

.lic-sec03_list dt {
  font-weight: 700;
}

@media (max-width: 767.98px) {
  .lic-sec03_list {
    line-height: calc(24 / 12);
  }

  .lic-sec03_list dt {
    font-size: calc(14 * var(--rem-base));
  }

  .lic-sec03_list dd {
    font-size: calc(12 * var(--rem-base));
  }
}

@media (min-width: 768px) {
  .lic-sec03_list {
    line-height: calc(55 / 24);
  }

  .lic-sec03_list * {
    font-size: calc(24 * var(--rem-base));
  }
}





/* license sec04 */
.lic-sec04_list dt {
  font-weight: 700;
}

.lic-sec04_table {
  border-collapse: collapse;
  inline-size: 100%;
}

.lic-sec04_table * {
  line-height: 1.2;
  vertical-align: middle;
}

.lic-sec04_table caption {
  padding-block-end: .5em;
  font-weight: 700;
  text-align: center;
  color: var(--color-02);
}

.lic-sec04_table th:first-of-type {
  min-inline-size: 8em;
}

.lic-sec04_table tfoot td {
  font-weight: 600;
}

.lic-sec04_table :is(thead, tbody) :is(td, th) {
  border-block-end: 1px solid #596b77;
}

.lic-sec04_table.\--1 :is(thead th:not(:first-of-type), tbody td) {
  text-align: center;
  color: var(--color-05);
}

.lic-sec04_table.\--2 :is(thead th:not(:first-of-type), tbody td) {
  text-align: center;
  color: var(--color-02);
}

@media (max-width: 767.98px) {
  .lic-sec04 :is(.m-qa, .m-lic-button) {
    margin-block-start: calc(12 * var(--rem-base));
  }

  .lic-sec04_list {
    line-height: calc(24 / 12);
  }

  .lic-sec04_list dt {
    font-size: calc(14 * var(--rem-base));
  }

  .lic-sec04_list dd {
    padding-inline-start: calc(14 * var(--rem-base));
    font-size: calc(12 * var(--rem-base));
    font-feature-settings: "palt" 1;
  }

  .lic-sec04_table {
    inline-size: calc(100% + 1em);
    margin-inline: -.5em;
    margin-block-start: calc(12 * var(--rem-base));
  }

  .lic-sec04_table * {
    font-size: calc(10 * var(--rem-base));
    letter-spacing: -.02em;
  }

  .lic-sec04_table caption {
    font-size: calc(11 * var(--rem-base));
  }

  .lic-sec04_table.\--2 :is(td, th) {
    border-block-start: 2px solid #596B77;
  }

  .lic-sec04_table .thick :is(td, th) {
    border-block-end-width: 2px;
  }

  .lic-sec04_table :is(td, th):not(thead :is(td, th)) {
    padding-block: .5em;
  }

  .lic-sec04_table th:first-of-type {
    padding-inline: .5em;
  }

  .lic-sec04_table :is(
    thead th:nth-of-type(n + 1),
    tbody td,
    tfoot td
  ) {
    padding-inline: .25em;
  }
}

@media (min-width: 768px) {
  .lic-sec04 :is(.m-qa, .m-lic-button) {
    margin-block-start: calc(24 * var(--rem-base));
  }

  .lic-sec04_inner {
    display: flex;
    justify-content: space-between;
  }

  .lic-sec04_list dt {
    line-height: calc(55 / 24);
  }

  .lic-sec04_list dd {
    padding-inline-start: 1em;
    line-height: calc(38 / 24);
  }

  .lic-sec04_list * {
    font-size: calc(24 * var(--rem-base));
  }

  .lic-sec04_table.\--1 {
    margin-block-start: calc(-8 * var(--rem-base));
  }

  .lic-sec04_table ~ .lic-sec04_table {
    margin-block-start: calc(48 * var(--rem-base));
  }

  .lic-sec04_table * {
    font-size: calc(20 * var(--rem-base));
  }

  .lic-sec04_table.\--2 :is(td, th) {
    border-block-start: 3px solid #596B77;
  }

  .lic-sec04_table .thick :is(td, th) {
    border-block-end-width: 3px;
  }

  .lic-sec04_table :is(td, th):not(thead :is(td, th)) {
    padding-block: calc(12 * var(--rem-base));
  }

  .lic-sec04_table th:first-of-type {
    padding-inline: 1em;
  }

  .lic-sec04_table :is(
    thead th:nth-of-type(n + 1),
    tbody td,
    tfoot td
  ) {
    padding-inline: .5em;
  }
}





/* license sec05 */
.lic-sec05 {
  background-color: #fff;
}

.lic-sec05_media {
  display: block;
}

@media (max-width: 767.98px) {
  .lic-sec05 {
    padding-block: calc(24 * var(--rem-base));
  }

  .lic-sec05_01 {
    inline-size: calc(100% + 1.5em);
    letter-spacing: -.02em;
  }

  .lic-sec05_foot {
    display: grid;
    row-gap: calc(12 * var(--rem-base));
    margin-block-start: calc(12 * var(--rem-base));
  }
}

@media (min-width: 768px) {
  .lic-sec05 {
    padding-block: calc(48 * var(--rem-base));
  }

  .lic-sec05 .m-lic-button {
    margin-block-start: 8px;
  }

  .lic-sec05_media {
    inline-size: calc(100% + (28 * var(--rem-base)));
    margin-inline: calc(-28 * var(--rem-base));
    margin-block-start: calc(-50 * var(--rem-base));
  }

  .lic-sec05_foot {
    margin-block-start: calc(-148 * var(--rem-base));
  }
}






/* utilities */
.m-ib { display: inline-block; }
.m-df { display: flex; }
.m-dg { display: grid; }
@media (max-width: 767.98px) {
  .m-di_sm { display: inline; }
  .m-ib_sm { display: inline-block; }
  .m-db_sm { display: block; }
  .m-df_sm { display: flex; }
  .m-dg_sm { display: grid; }
  .m-dc_sm { display: contents; }
  :is(.m-di_md, .m-ib_md, .m-db_md, .m-df_md, .m-dg_md) { display: none !important; }

  .tac_sm { text-align: center; }
}

@media (min-width: 768px) {
  .m-di_md { display: inline; }
  .m-ib_md { display: inline-block; }
  .m-db_md { display: block; }
  .m-df_md { display: flex; }
  .m-dg_md { display: grid; }
  .m-dc_md { display: contents; }
  :is(.m-di_sm, .m-ib_sm, .m-db_sm, .m-df_sm, .m-dg_sm) { display: none !important; }
}
