/* Japanese Styles */
html[lang="ja"] *:not(i) {
  font-family: 'Noto Sans JP';
  font-style: normal;
  letter-spacing: 0.8px;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  /* font-size: 20px; */
  /* line-height: 28px; */
}

html[lang="ja"] .h1-font,
html[lang="ja"] h1,
html[lang="ja"] h1 a {
  font-weight: 700;
  font-size: 46px;
  line-height: 60px;
  letter-spacing: 0.05em;
}

html[lang="ja"] .h2-font,
html[lang="ja"] h2,
html[lang="ja"] h2 * {
  font-weight: 700;
  font-size: 38px;
  line-height: 52px;
}

html[lang="ja"] .h3-font,
html[lang="ja"] h3,
html[lang="ja"] h3 a {
  font-weight: 700;
  font-size: 28px;
  line-height: 42px;
}

html[lang="ja"] .h4-font,
html[lang="ja"] h4,
html[lang="ja"] h4 a {
  font-weight: 700;
  font-size: 21px;
  line-height: 32px;
}

html[lang="ja"] .xl-txt,
html[lang="ja"] .xl-txt a {
  font-weight: 700;
  font-size: 20px;
  line-height: 28px;
}

html[lang="ja"] .l-txt,
html[lang="ja"] .l-txt a {
  font-weight: 700;
  font-size: 18px;
  line-height: 28px;
}

html[lang="ja"] .m-txt,
html[lang="ja"] p,
html[lang="ja"] li,
html[lang="ja"] a {
  font-weight: 400;
  font-size: 16px;
  line-height: 30px;
}

html[lang="ja"] .s-txt,
html[lang="ja"] .s-txt a {
  font-weight: 700;
  font-size: 14px;
  line-height: 24px;
  letter-spacing: 0.6px;
}

/* Japanese Styles - Mobile */
@media (max-width: 430px) {
  html[lang="ja"] .h1-font,
  html[lang="ja"] h1,
  html[lang="ja"] h1 a {
    font-weight: 700;
    font-size: 21px;
    line-height: 28px;
    letter-spacing: 0.6px;
  }

  html[lang="ja"] .h2-font,
  html[lang="ja"] h2,
  html[lang="ja"] h2 a {
    font-weight: 700;
    font-size: 20px;
    line-height: 25px;
  }

  html[lang="ja"] .h3-font,
  html[lang="ja"] h3,
  html[lang="ja"] h3 a {
    font-weight: 700;
    font-size: 16px;
    line-height: 24px;
  }

  html[lang="ja"] .h4-font,
  html[lang="ja"] h4,
  html[lang="ja"] h4 a {
    font-weight: 900;
    font-size: 14px;
    line-height: 24px;
  }

  html[lang="ja"] .xl-txt,
  html[lang="ja"] .xl-txt a {
    font-weight: 700;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0.6px;
  }

  html[lang="ja"] .l-txt,
  html[lang="ja"] .l-txt a {
    font-weight: 700;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0.6px;
  }

  html[lang="ja"] .m-txt,
  html[lang="ja"] p, 
  html[lang="ja"] li, 
  html[lang="ja"] a {
    font-weight: 500;
    font-size: 14px;
    line-height: 28px;
  }

  html[lang="ja"] .s-txt,
  html[lang="ja"] .s-txt a {
    font-weight: 500;
    font-size: 12px;
    line-height: 18px;
  }
}

/* English Styles */
html[lang="en"] *:not(i) {
  font-family: 'Avenir Next';
  font-style: normal;
  font-weight: 500;
  font-size: 18px;
  line-height: 28px;
  letter-spacing: 0.8px;
  -webkit-font-smoothing: antialiased;
}
html[lang="en"] .h1-font,
html[lang="en"] h1,
html[lang="en"] h1 a {
  font-weight: 600;
  font-size: 42.5px;
  line-height: 50px;
}

html[lang="en"] .h2-font,
html[lang="en"] h2,
html[lang="en"] h2 a {
  font-weight: 600;
  font-size: 38px;
  line-height: 50px;
}

html[lang="en"] .h3-font,
html[lang="en"] h3,
html[lang="en"] h3 a {
  font-weight: 600;
  font-size: 30px;
  line-height: 44px;
}

html[lang="en"] .h4-font,
html[lang="en"] h4,
html[lang="en"] h4 a {
  font-weight: 700;
  font-size: 24px;
  line-height: 28px;
  letter-spacing: 1px;
}

html[lang="en"] .xl-txt,
html[lang="en"] .xl-txt a {
  font-weight: 600;
  font-size: 24px;
  line-height: 28px;
}

html[lang="en"] .l-txt,
html[lang="en"] .l-txt a {
  font-weight: 600;
  font-size: 22px;
  line-height: 28px;
}

html[lang="en"] .m-txt,
html[lang="en"] p,
html[lang="en"] li,
html[lang="en"] a {
  font-weight: 500;
  font-size: 18px;
  line-height: 28px;
  letter-spacing: 0.6px;
}

html[lang="en"] .s-txt,
html[lang="en"] .sl-txt a {
  font-weight: 600;
  font-size: 15px;
  line-height: 28px;
}

@media (max-width: 430px) {
  html[lang="en"] *:not(i) {
    font-weight: 500;
    font-size: 15px;
    line-height: 24px;
  }
  html[lang="en"] .h1-font,
  html[lang="en"] h1,
  html[lang="en"] h1 a {
    font-weight: 600;
    font-size: 24px;
    line-height: 28px;
  }
  html[lang="en"] .h2-font,
  html[lang="en"] h2,
  html[lang="en"] h2 a {
    font-weight: 600;
    font-size: 22px;
    line-height: 28px;
  }
  html[lang="en"] .h3-font,
  html[lang="en"] h3,
  html[lang="en"] h3 a {
    font-weight: 600;
    font-size: 19px;
    line-height: 24px;
    letter-spacing: 0.6px;
  }
  html[lang="en"] .h4-font,
  html[lang="en"] h4,
  html[lang="en"] h4 a {
    font-weight: 700;
    font-size: 16px;
    line-height: 20px;
  }

  html[lang="en"] .xl-txt,
  html[lang="en"] .xl-txt a {
    font-weight: 600;
    font-size: 18px;
    line-height: 18px;
  }

  html[lang="en"] .l-txt,
  html[lang="en"] .l-txt a {
    font-weight: 600;
    font-size: 18px;
    line-height: 18px;
  }

  html[lang="en"] .m-txt,
  html[lang="en"] p,
  html[lang="en"] li,
  html[lang="en"] a {
    font-weight: 500;
    font-size: 15px;
    line-height: 24px;
  }

  html[lang="en"] .s-txt,
  html[lang="en"] .s-txt a {
    font-weight: 600;
    font-size: 13px;
    line-height: 18px;
  }
}


h2.cate_title_v2{
  border-bottom: 4px solid var(--Dandelion-Yellow, #EEE93A);
  width: fit-content;
  font-style: normal;
  margin: auto auto 48px;
  color: #14425A;
}
html[lang="ja"] h2.cate_title_v2{
  font-family: "Noto Sans JP";
  font-size: 38px;
  font-weight: 700;
  line-height: 52px; /* 136.842% */
  letter-spacing: 0.8px;
  padding-top: 112px;
}
html[lang="en"] h2.cate_title_v2{
  font-family: "Avenir Next";
  font-size: 42.5px;
  font-weight: 600;
  line-height: 44px; /* 103.529% */
  letter-spacing: 0.8px;
  padding-top: 120px;
}
@media (max-width: 599px) {
  h2.cate_title_v2{
    border-bottom: 3.5px solid var(--Dandelion-Yellow, #EEE93A);
    width: fit-content;
    font-style: normal;
    margin: auto auto 24px;
    max-width: calc(100vw - 20px);
  }
  html[lang="ja"] h2.cate_title_v2{
    font-family: "Noto Sans JP";
    font-size: 21px;
    font-weight: 700;
    line-height: 28px; /* 133.333% */
    letter-spacing: 0.6px;
    padding-top: 48px;
  }
  html[lang="en"] h2.cate_title_v2{
    font-family: "Avenir Next";
    font-size: 24px;
    font-weight: 600;
    line-height: 28px; /* 116.667% */
    letter-spacing: 0.8px;
    padding-top: 48px;
  }
}

h2.cate_title_v2.mzv-blue-font {
  color: #14425A;
}
h2.cate_title_v2.mzv-white-font {
  color: #FFF;
}