/* LESS Document */
/* common上書き */
body {
  font-size: 1.7rem;
  color: #333;
}
@media screen and (max-width: 767px) {
  body {
    font-size: 3.4vw;
  }
}
/* fadein */
.fadein {
  opacity: 0;
  transition: transform 1s, opacity 1s;
}
.fadein.fadeRight {
  transform: translate(100px, 0);
}
.fadein.fadeLeft {
  transform: translate(-100px, 0);
}
.fadein.fadeBottom {
  transform: translate(0, 100px);
}
.fadein.fadeScroll {
  opacity: 1;
  transform: translate(0, 0);
}
/* header */
header {
  margin: 0;
  background: #FFF;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 2;
}
header .siteTitle img {
  mix-blend-mode: darken;
}
/* mv */
.mv {
  position: relative;
  background: url(../img/bg_mv.webp) no-repeat right bottom / cover;
}
.mv_eng {
  line-height: 1.4;
  white-space: nowrap;
  letter-spacing: -2.6px;
  font-size: 5.2rem;
  font-weight: bold;
  color: #CBE3F4;
  writing-mode: vertical-lr;
  position: absolute;
  top: 92px;
  left: 0;
  z-index: 3;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .mv_eng {
    font-size: 5vw;
  }
}
.mv_inner {
  max-height: 678px;
  height: 60vw;
  padding: 92px 0 0;
}
@media screen and (max-width: 767px) {
  .mv_inner {
    height: auto;
    padding-bottom: 20px;
  }
}
.mv_inner_header {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: nowrap;
  gap: 0;
  align-items: center;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 70px;
  position: relative;
  z-index: 3;
}
@media screen and (max-width: 767px) {
  .mv_inner_header {
    padding-left: 6vw;
    padding-right: 10px;
  }
}
.mv_text {
  margin-right: -40px;
  line-height: 1;
  font-size: clamp(1px, 7vw, 9.4rem);
  font-weight: bold;
  flex-shrink: 0;
  background: linear-gradient(120deg, #008DC2, #004E6B);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.mv .lNav {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: nowrap;
  gap: 0;
  flex-wrap: wrap;
  justify-content: center;
  max-width: 980px;
  margin: auto;
  padding: 0 20px;
  position: absolute;
  bottom: 100px;
  left: 0;
  right: 0;
  z-index: 4;
}
@media screen and (max-width: 1023px) {
  .mv .lNav {
    bottom: 3vw;
  }
}
@media screen and (max-width: 767px) {
  .mv .lNav {
    position: static;
    margin-top: 20px;
  }
}
.mv .lNav li {
  margin: 0 0 20px -1px;
  border-left: #333 1px solid;
  border-right: #333 1px solid;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .mv .lNav li {
    margin-bottom: 10px;
  }
}
.mv .lNav li:nth-of-type(1) {
  transition-delay: 0.1s;
}
.mv .lNav li:nth-of-type(2) {
  transition-delay: 0.2s;
}
.mv .lNav li:nth-of-type(3) {
  transition-delay: 0.3s;
}
.mv .lNav li:nth-of-type(4) {
  transition-delay: 0.4s;
}
.mv .lNav li:nth-of-type(5) {
  transition-delay: 0.5s;
}
.mv .lNav li:nth-of-type(6) {
  transition-delay: 0.6s;
}
.mv .lNav li a {
  display: block;
  padding: 2px 18px 1px 20px;
  text-decoration: none;
  color: #000;
}
@media screen and (max-width: 767px) {
  .mv .lNav li a {
    padding: 2px 10px 1px 12px;
    font-size: 2.4vw;
  }
}
.mv .lNav li a i {
  margin-right: 5px;
}
.mv .lNav li a[href$="1"]:hover {
  color: #E57A99;
}
.mv .lNav li a[href$="1"] i {
  color: #E57A99;
}
.mv .lNav li a[href$="2"]:hover {
  color: #F08539;
}
.mv .lNav li a[href$="2"] i {
  color: #F08539;
}
.mv .lNav li a[href$="3"]:hover {
  color: #ABC04B;
}
.mv .lNav li a[href$="3"] i {
  color: #ABC04B;
}
.mv .lNav li a[href$="4"]:hover {
  color: #5ED092;
}
.mv .lNav li a[href$="4"] i {
  color: #5ED092;
}
.mv .lNav li a[href$="5"]:hover {
  color: #55C5C9;
}
.mv .lNav li a[href$="5"] i {
  color: #55C5C9;
}
.mv .lNav li a[href$="6"]:hover {
  color: #A786D5;
}
.mv .lNav li a[href$="6"] i {
  color: #A786D5;
}
/* section */
section {
  padding: 93px 0;
}
@media screen and (max-width: 767px) {
  section {
    padding: 50px 0;
  }
}
section .hgroup_p {
  margin: 0 0 15px;
  text-align: center;
  font-size: 2.8rem;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  section .hgroup_p {
    font-size: 5.6vw;
  }
}
section h2 {
  margin: 0 0 50px;
  text-align: center;
  font-size: 4.2rem;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  section h2 {
    font-size: 8.4vw;
  }
}
section h3 {
  margin: 82px 0 20px;
  padding: 0 0 2px 26px;
  font-size: 3rem;
  line-height: 1.4;
  position: relative;
}
@media screen and (max-width: 767px) {
  section h3 {
    font-size: 6vw;
  }
}
section h3::before {
  content: '';
  display: block;
  width: 8px;
  height: 100%;
  border-radius: 10px;
  background: #635A4B;
  position: absolute;
  top: 0;
  left: 0;
}
section h4 {
  margin: 68px 0 20px;
  padding-left: 28px;
  font-size: 2.4rem;
  line-height: 1.4;
  position: relative;
}
@media screen and (max-width: 767px) {
  section h4 {
    font-size: 4.8vw;
  }
}
section h4::before {
  content: '\f192';
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  font-size: 1.8rem;
  position: absolute;
  top: 5px;
  left: 2px;
}
@media screen and (max-width: 767px) {
  section h4::before {
    font-size: 3.6vw;
  }
}
section h5 {
  margin: 0 0 10px;
  font-size: 2rem;
  border-bottom: #BBB 2px solid;
}
@media screen and (max-width: 767px) {
  section h5 {
    font-size: 4vw;
  }
}
/* box */
.box {
  background: #FFF;
  border-radius: 2px;
  box-shadow: 0 0 12px rgba(0, 0, 0, 0.06);
  overflow-x: auto;
  overflow-y: hidden;
}
.box2 {
  display: block;
  padding: 32px 24px;
  background: #F8F6F5;
  text-decoration: none;
  color: #333;
  position: relative;
}
@media screen and (max-width: 767px) {
  .box2 {
    padding: 32px 16px 16px;
  }
}
.box2:hover {
  background: #CCC;
}
.box2_tag {
  display: block;
  padding: 2px 16px;
  font-size: 1.6rem;
  background: #D82F2F;
  color: #FFF;
  position: absolute;
  top: 0;
  right: 0;
}
@media screen and (max-width: 767px) {
  .box2_tag {
    font-size: 3.2vw;
  }
}
.box2_tag.bg2 {
  background: #ff761b;
}
.box2_tag.bg3 {
  background: #079ad6;
}
.box2 h5 {
  border: none;
}
.box2 .cite {
  margin: 0;
  color: #666;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .box2 .flex {
    gap: 10px;
  }
  .box2 .flex h5 {
    order: -2;
  }
  .box2 .flex .flexImg {
    order: -1;
  }
}
/* btn */
.btn {
  margin: 30px 0 60px;
}
.btn a {
  max-width: max-content;
  width: 100%;
  min-width: 400px;
  min-height: 46px;
  margin: 0 auto;
  padding: 5px 45px;
  background: #635A4B;
  color: #FFF;
  border: none;
  border-radius: 50px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .btn a {
    min-width: 0;
    min-height: 0;
  }
}
.btn a:hover {
  opacity: 0.7;
}
.btn a[target] {
  padding-right: 65px;
}
.btn a[target]::after {
  content: '\f35d';
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translate(0, -50%);
}
/* introduction */
.introduction {
  background: linear-gradient(to bottom, #E7F0F5, #FFF 400px);
}
.introduction .hgroup_p {
  color: #3E9AD9;
}
.introduction .btn a {
  max-width: max-content;
  border: none;
  background: #3E9AD9;
  border-radius: 30px;
  color: #FFF;
  font-weight: bold;
}
/* chapter1 */
.chapter1 {
  background: linear-gradient(to bottom, #FDF2F5, #FFF 400px);
}
.chapter1 .hgroup_p {
  color: #E57A99;
}
.chapter1_img {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: nowrap;
  gap: 10px;
}
@media screen and (max-width: 767px) {
  .chapter1_img {
    flex-direction: column;
  }
}
.chapter1_img_item {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: nowrap;
  gap: 0;
  justify-content: center;
  align-items: center;
  max-width: 500px;
  width: 100%;
  position: relative;
}
@media screen and (max-width: 767px) {
  .chapter1_img_item {
    max-width: none;
  }
}
@media screen and (max-width: 767px) {
  .chapter1_img_item img {
    max-height: 66vw;
    object-fit: contain;
  }
}
/* chapter2 */
.chapter2 {
  background: linear-gradient(to bottom, #FFEFE4, #FFF 400px);
}
.chapter2 .hgroup_p {
  color: #F08539;
}
.chapter2 .box {
  padding: 15px;
}
.chapter2 .graf_h3 {
  margin: 0 0 30px;
  padding: 0;
  text-align: center;
  font-size: 2.4rem;
}
.chapter2 .graf_h3::before {
  content: none;
}
.chapter2 hr {
  border-top: #F08539 2px dotted;
}
.chapter2_graf1 {
  width: 980px;
  height: 400px;
  margin: 0 auto;
  position: relative;
}
.chapter2_graf1_line {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: nowrap;
  gap: 30px;
  height: calc(100% - 64px);
  position: absolute;
  top: 10px;
  left: 463px;
  pointer-events: none;
}
.chapter2_graf1_line_before,
.chapter2_graf1_line_after {
  width: 220px;
  flex-shrink: 0;
  font-size: 1.3rem;
  line-height: 1.2;
}
.chapter2_graf1_line_before::before,
.chapter2_graf1_line_after::before {
  content: '';
  display: block;
  width: 23px;
  height: 27px;
  background: #F08539;
  position: absolute;
  top: 18px;
}
.chapter2_graf1_line_before {
  padding: 20px 28px 0 0;
}
.chapter2_graf1_line_before::before {
  left: 200px;
  clip-path: polygon(100% 0, 0 50%, 100% 100%);
}
.chapter2_graf1_line_after {
  padding: 15px 0 0 28px;
}
.chapter2_graf1_line_after::before {
  right: 200px;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
}
.chapter2_graf1_line::before {
  content: '';
  display: block;
  height: 100%;
  border-left: #B3B3B3 5px dotted;
  position: absolute;
  left: calc(50% - 2.5px);
}
.chapter2_graf2 {
  width: 1050px;
  height: 500px;
  margin: 0 auto;
  padding-top: 50px;
  position: relative;
}
.chapter2_graf2 .chart-legend {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
.chapter2_graf3 {
  width: 1050px;
  height: 500px;
  margin: 0 auto;
}
.chapter2_graf4 {
  width: 1050px;
  height: 500px;
  margin: 0 auto;
  padding-top: 50px;
  position: relative;
}
.chapter2_graf4 .chart-legend {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
/* chapter3 */
.chapter3 {
  background: linear-gradient(to bottom, #EEF2DB, #FFF 400px);
}
.chapter3 .hgroup_p {
  color: #ABC04B;
}
.chapter3 h3::before {
  background: #ABC04B;
}
@media screen and (max-width: 767px) {
  .chapter3 .box {
    width: 100%;
  }
}
.chapter3 .box canvas {
  margin: 0 auto;
}
.chapter3 .flexImg .box {
  width: 567px;
}
/* chapter4 */
.chapter4 {
  background: linear-gradient(to bottom, #E7F6EE, #FFF 400px);
}
.chapter4 .hgroup_p {
  color: #5ED092;
}
.chapter4 h3::before {
  background-color: #5ED092;
}
.chapter4 h4::before {
  color: #5ED092;
}
.chapter4 .btn a {
  background: #5ED092;
}
/* chapter5 */
.chapter5 {
  background: linear-gradient(to bottom, #DAF3F4, #FFF 400px);
}
.chapter5 .hgroup_p {
  color: #55C5C9;
}
.chapter5 h3::before {
  background-color: #55C5C9;
}
.chapter5 h4::before {
  color: #55C5C9;
}
.chapter5 .btn a {
  background: #55C5C9;
}
.chapter5_img {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: nowrap;
  gap: 10px;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .chapter5_img {
    flex-direction: column;
  }
}
.chapter5_img_company {
  text-align: center;
}
.chapter5_img_company figure {
  width: 300px;
  height: 100px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .chapter5_img_company figure {
    height: auto;
  }
}
.chapter5_img_company figure img {
  width: 300px;
  height: 100px;
  object-fit: contain;
  object-position: center center;
}
@media screen and (max-width: 767px) {
  .chapter5_img_company figure img {
    height: auto;
  }
}
.chapter5_img_company .btn a {
  min-width: 0;
  padding: 5px 45px 5px 35px;
  font-size: 1.6rem;
}
.chapter5_img_x {
  font-size: 6rem;
  line-height: 1.2;
}
/* chapter6 */
.chapter6 {
  background: linear-gradient(to bottom, #E8E2EF, #FFF 400px);
}
.chapter6 .hgroup_p {
  color: #A786D5;
}
.chapter6 h3::before {
  background-color: #A786D5;
}
.chapter6 h4::before {
  color: #A786D5;
}
.chapter6 .btn a {
  background: #A786D5;
}
/* 汎用HTMLレジェンド */
.chart-legend {
  display: flex;
  gap: 18px;
  justify-content: center;
  align-items: center;
  margin: 6px 0;
  color: #333;
  font-family: "Oswald", sans-serif;
  font-size: 1.2rem;
}
.chart-legend .item {
  display: flex;
  align-items: center;
  gap: 4px;
  cursor: pointer;
  user-select: none;
}
.chart-legend .item.disabled {
  cursor: default;
  opacity: 1;
}
.chart-legend .swatch.bar {
  width: 24px;
  height: 12px;
  border-radius: 2px;
  background: var(--color);
}
.chart-legend .swatch.line {
  position: relative;
  width: 28px;
  height: 12px;
}
.chart-legend .swatch.line::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: 2px;
  background: var(--color);
  transform: translateY(-50%);
}
.chart-legend .swatch.line::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--color);
  transform: translate(-50%, -50%);
}
.cmsArea ul li::before {
  content: none !important;
}
